首席技术官办公室报告

采用零信任所需方法和技术的考虑因素

  • Share to Facebook
  • Share to Twitter
  • Share to Linkedin
  • Share to email
  • Share via AddThis
作者:Mudit Tyagi 和 Ken Arora
从采用零信任的 “原因”(指导原则1.扩展开来,下一个关注点是 “如何” 采用零信任,即用于贯彻这些原则的方法和技术。

从最广泛的角度来看,零信任原则可应用于整个应用开发生命周期,包括系统的设计、使用的硬件平台和采购程序。2.然而,本文讨论的是零信任的操作方面,以便在运行时保护应用程序和数据。

方法和技术

广义上讲,零信任安全使用技术来实现以下三个不同的目标之一:

  1. 执行交易约束:可以对对象什么
  2. 为人类系统操作者提供态势感知。
  3. 根据机器学习 (ML) 辅助的可疑指标和有关交易的风险报酬系数,执行更高级的风险降低/补救措施。

以下图表描述了整个的零信任安全交易模型,而后文将深入探讨每一类技术。

图 1:零信任安全交易模型。

执行:身份验证和访问控制

动机

身份验证和访问控制这前两种技术密切相关,并直接受到 “明确验证” 和 “最低权限” 原则的推动,因为这些技术是执行 “可以做什么” 的核心。实现更为复杂的身份验证涉及观察行为者的持续行为,捕捉到 “持续评估” 的思维。

身份验证

身份验证技术都是为了建立对已证明身份的信任:在交易中行事。身份验证过程有三个组成部分:

  1. 行为者提出证明或声明,说明行为者的身份。
  2. 有数据(通常由行为者提供)作为验证证明真实性的证据。
  3. 系统产生一个关于证明正确(行为者与他们所声称的身份一致)的可能性的结论或决定。以下图表描述了身份验证的不同方面以及每个方面的成熟度模型,并在后文对每个方面进行了详解。

图表

图 2:零信任安全身份验证成熟度模型

证明

最基本的证明形式通常称为 “用户” ,即希望执行交易的人类或代表人类行事的代理。然而,若在应用中使用零信任,则行为者可能是工作负载(如进程、服务或容器),所以身份的笼统概念应包括此类行为者。在其他情况下,的概念不仅包括人类或工作负载,还包括身份的其他考虑因素或维度。从这个角度来看,身份的其他维度可能包括用户/工作负载的设备或平台,或者用于交互的生态系统或代理的位置。例如,用户 “Alice” 可能在一台标记为 “ABC- 0001” 的个人电脑上,使用一个特定的、有指纹的浏览器实例,来源是 IPv4 地址 10.11.12.13。

验证身份的证据

一些系统允许未经身份验证的用户(有时称为 “访客” 或 “匿名” 用户)执行有限的交易。对于这样的系统,证明身份和系统作出结论的额外步骤没有意义。然而,对于特定的经证明身份,以下方法通常用于支持该证明:

  • 行为者是否了解密码等共享秘密。
  • 签名证书等凭证是否来自受信任的第三方。
  • 对用户、工作负载或平台进行自动(如设备指纹识别)或主动(如 CAPTCHA 挑战)的询问。
  • 地理位置、IP 信誉或访问时间等元数据是否与行为者有关。
  • 行为分析,如被动生物识别分析或应用程序互动的工作流模式。

如果需要高度信任,我们通常会使用多种方法。这在 Google BeyondCorp 模型3中得到了证明,该模型要求在允许进行较高价值的交易之前进行多重身份验证 (MFA)。更复杂的身份验证解决方案将 “信任度” 与每个身份联系起来,并根据交易的价值和风险,为每类交易指定一个最低的信任度水平。

静态身份验证与动态身份验证

最后,请注意,其中一些方法不是静态的、一次性的行为,根据 “持续评估” 的原则,它们可以且应该持续进行。在此类情况下,分配给身份证明的信任度分数会随着时间的推移而增加或减少。例如,浏览器指纹或 IP 地址可能在一个用户会话中发生变化,这可能被视为可疑,从而减少信任;或随着在一个会话中收集到关于行为者行为的数据增多,信任度分数可能增加或减少,这取决于当前行为与过去观察结果的对比。

在更高级的系统中,动态身份验证可与访问控制共同工作。如上文所述,作为本互动的第一层级,访问控制策略可为不同类别的交易指定一个最低信任度分数。互动的下一层级允许访问控制子系统向身份验证子系统提供反馈,通常要求额外的身份验证,以将信任度分数增至最低阈值。

访问控制

在使用身份验证方法确定在交易中行事之后,接下来的问题是:该行为者会获得做什么的批准?以及对象是谁?这就是访问控制技术的职责。

打个物理安全的类比。设想您希望参观一个军事基地。在警卫人员可以有把握地确定您是平民、政治家还是士兵之后,他们将利用这一判断来决定您可以进入哪些建筑物,以及您是否可以带着相机进入您可能获准进入的每座建筑物。管理这些选择的政策可能非常粗略并适用于所有建筑物(例如 “政治家可进入所有建筑物” ),也可能更细化(例如 “政治家只能进入建筑物 和 ,但只能带相机进入 ” )。

若应用于网络安全方面,访问控制方法应体现 “最低权限” 的零信任原则。换句话说,最佳访问控制策略只允许行为者拥有所需权限,而禁止其拥有所有其他权限。此外,一项理想、稳健的策略将取决于对行为者身份真实性的最低信任度,信任度的阈值在每种获批特权的粒度上都有规定。

因此,访问控制解决方案的价值可通过它与这些理想情况的符合程度来判断。具体来说,一个零信任安全解决方案必须包含访问控制,并且应该按照下文描述的维度评估访问控制技术。

图表

图 3:零信任安全访问控制成熟度模型
  1. 访问控制权限的细化程度如何?
  1. 行为(交易中的什么)的粒度如何?它是否有以下特点:
  1. 非黑即白:允许或不允许 “所有” 交易。在军事基地的比喻中,这相当于 “所有士兵可以进入所有建筑物,做所有他们想做的事情” ,而 “平民不能进入任何建筑物” 。
  2. 粗略的:细化到 API 端点或交易 “类型”(如文件 I/O、网络通信和进程控制措施)。在我们的例子中,这将允许获批的行为有一定程度的细微差别,如 “政治家可以进入建筑物,但不能拍照”。
  3. 细化的:在子 API(即取决于参数或 API 的版本)或交易的 “子类型”(如文件 I/O 只读或 TCP 只接收)中。在我们的类比中,这表示允许更细化的控制措施,例如 “平民只有在士兵的陪同下才能进入建筑物” 。
  1. 对于行为的目标(交易中的对象)是否有细化的规定?它是否有以下特点:
  1. 未细化至目标:访问控制策略不考虑行为的目标。在我们的例子中,这种方法对应的粒度是允许进入某些建筑物,但不允许进入其他建筑物。此时,建筑物是 “进入” 动作的目标。
  2. 细化至目标,基础设施级别:访问控制策略可以包括行为的目标,但使用一些基础设施特定的标记/标签,如目标的 IP 地址、DNS 名称或 Kubernetes (K8S) 容器名称。这将允许该策略细化至建筑物,但每个军事基地可能有不同的建筑命名惯例。
  3. 细化至目标,有身份意识:访问控制策略可以包括行为的目标,使用用于行为者(谁)的相同身份命名空间(例如 SPIFFE)来识别目标。与之前的方法相比,该方法的好处是所有军事基地都会使用一致的方案来识别建筑物,使该策略的适用范围更广。
  1. 访问控制解决方案如何处理较低风险行为与较高风险行为的概念?
  1. 没有风险意识:在决定是否授权时,访问控制解决方案对所有访问控制权限的处理相同。
  2. 通过 MFA 进行风险管理:访问控制解决方案管理风险的方法是允许策略规定一些获批的交易仍须使用多重身份验证,依据是交易中涉及的行为者()、行为(什么)或目标(对象)。
  3. 通过信任度进行风险管理:访问控制解决方案管理风险的方法是允许策略规定所有交易都可能仍须对行为者的真实性设置最低信任度水平,依据是交易中的行为(什么)和目标(对象)。MFA 可以增加信任度,但也可以使用其他手段;在其他情况下,如果交易价值高,行为者的真实性有足够的不确定性,则根本不会允许交易。

根据 “持续评估(和重新评估)” 的原则,任何对行为者真实性的信任度都应该随着时间的推移而调整。在一个简单的解决方案中,它可能只是一次超时;在更复杂的系统中,信任度可能根据对行为者的行为观察结果变化而变化。

态势感知:可视性和 ML 辅助的环境分析动机

如果身份验证和访问控制是 “始终验证” 和 “最低权限” 思维的实施,那么可视性和环境分析就是 “持续评估” 和 “假定失陷” 原则的基础。

可视性是分析的必要前提,毕竟系统无法降低不可见事物的负面影响。因此,零信任安全解决方案的效用将与可从系统操作和外部环境收集的遥测数据的深度和广度成正比。然而,现代可视性基础设施将能提供可能有用的数据、元数据和环境,其数量多于任何无辅助手段的正常人能够及时处理的数量。我们希望获取更多数据并能更快地将数据提炼成见解,因此,为人类操作者提供机器辅助是关键的要求。

这种辅助通常通过自动化算法实现,这些算法涵盖了基于规则的分析、统计方法和先进的机器学习算法。这些算法负责将原始数据转化为可使用的、可操作的态势感知,人类操作者可将此态势感知用于评估,并在必要时用于补救。出于这个原因,ML 辅助分析与可视性是相辅相成的。

从原始数据(可视性)到行为(补救)的普遍流水线如下所示:

图表

图 4:补救流水线的零信任可视性

可视性

可视性是 “持续评估” 零信任原则的实施,即 “如何” 。它包括保存一份可用的数据输入(目录)和实时遥测以及历史数据保留(收集)的清单。

零信任可视性实施的成熟度应考虑四个因素:

  1. 延迟数据的实时性如何?

延迟为响应潜在威胁的速度提供了下限。零信任解决方案的延迟单位最高应为秒,否则,无论多么准确的分析都可能无法及时阻止漏洞带来的影响,如数据外泄/加密或因资源耗尽而无法使用。更复杂的系统可能允许同步和异步的缓解措施。同步的缓解措施会阻止交易完成,直到完全可视性和分析完成。因为同步的缓解措施可能会增加交易的延迟时间,所以这种操作模式会保留给特别异常或有风险的交易,同时允许所有其他交易发送遥测信息并进行异步分析。


  1. 可使用性数据的可使用程度如何?

如果数据来自多个来源或类型的数据传感器(此为常见情况),这种担忧是有意义的。而这个因素通常又分为两个重要方面。

  • 在句法层面是如何提取和展示数据。例如,如果在一个来源的系统日志消息中,源 IP 信誉以文本字段(如 “恶意” 、“可疑” 、“未知” 等)的形式出现,而另一个来源的数据文件中则是数字、二进制编码字段,则应确定规范的表现形式。数据序列化是必须的,以便提取传入的数据并将其转换为该表现形式。
  • 在语义层面上,不同的来源不仅在句法和传输上有所不同,而且在语义上也有所不同。还是 IP 信誉的例子,一个供应商可能提供一个以数字表示的威胁评分,而另一个供应商可能将 IP 分类为 “TOR 节点” 、“DNS 控制” 或 “网络钓鱼” 。可视化解决方案还必须提供一种机制,将传入的数据规范为一致的句法。
  1. 完整性:可用数据的广度和深度如何?

从优质可视化解决方案中获得的一个关键价值是能够发现可疑活动作为潜在漏洞的标志。为了有效地做到这一点,该解决方案必须接收应用交付的所有相关 “层级” 的遥测数据,即应用本身,但也应包括应用基础设施、网络基础设施、适用于该应用或该应用使用的所有服务,甚至是客户端设备上的事件。例如,识别一个来自新设备的用户,这本身就可能略微可疑;若与网络信息(如来自外国的 GeoIP 映射)相结合时,可疑程度会更高。这种可疑程度表现为对用户身份的信任度分数降低。在零信任安全策略的背景下,当这个行为者试图进行高价值的交易(如向外国账户转移资金)时,访问控制解决方案可以根据低信任度选择阻止该交易。

由于涉及到零信任思维,可视性解决方案越深入、越完整,系统在适当限制交易和检测漏洞方面就越有效。

  1. 治理:数据使用的法定和许可要求的受支持程度如何?

最后,任何数据的收集都必须符合与数据的安全、保留和使用有关的法定和许可要求。因此,一个强大的可视性解决方案必须满足所有这些要求。零信任可视性解决方案必须包括了解治理所隐含的对数据使用的限制。例如,如果一个 IP 被认为是个人身份信息 (PII),那么为分析而使用和长期保留 IP 地址必须满足允许使用此类 IP 地址的要求。

有机器辅助的环境分析

除了可视性,实施 “持续评估” 所需的其他机制是进行有意义的评估所需的分析工具;也就是说,要有可以由零信任解决方案操作的评估。

分析的一个考虑因素是输入数据的范围和广度。分析算法的输入可能局限于来自单一来源的单一数据流,或者可能跨越多个数据流,包括来自基础设施及应用的各种数据源和所有层级。

  • 最基本的环境分析是在单一 “类型” 或数据 “流” 的范围内进行的(如 “带有时间和源 IP 地址的用户登录信息” 事件流),通常带有历史背景和/或多个用户的数据。这种分析可以产生一些基本的见解,例如 “用户 从未在一天中的这个时间段登录过” 或 “用户 似乎总是在用户 登录之后立即登录” 。前者可能会降低对身份的信任度,而后者可能表明了一些更高层次的模式,也许是恶意的。
  • 更高级的情境分析会考虑基于时间和多实例的范围,不仅仅是针对单一 “类型” 的数据,而且还会关联不同 “类型” 或 “流” 的数据之间的时间,例如将用户登录数据与应用层(如汇款或电子邮件联系人更新)或网络层(如基于 IP 的地理位置查询)的具体行动相关联。

零信任框架下关于分析的第二个特别重要的方面是处理摄入数据的数量和速度,它们将超过所有人类的处理能力。因此,需要某种机器辅助来形成人类可消化的见解。重申一次,辅助的复杂性可被描述为一种进步。

  • 仅有可视化:第一步是直观展示统计数据和事件,通常是通过管理门户上的仪表板。呈现的数据是基于收集的数据流(通常是一个时间序列或一个固定时间窗口内的用户/交易的纵剖面)。更高级的仪表板会提供对数据进行分类和分组以及通过过滤进行深入分析的功能。在这种模式下,人类能进行所有的数据探索、事件优先级排序、分析和补救,而自动化主要帮助数据探索。
  • 可视化加上可配置的静态规则:可视化最常见的下一个扩展是允许人类定义固定规则的功能,这种规则可能针对警报或补救措施。例如:“notify human <John> if <CPU load exceeds 80% for a 5-minute period>” 或 “require <MFA via email> if <API [Y] is invoked and country is not [United States]>”。这些规则可能仅限于解决方案提供商规定的预定义规则,或基于规则的更高级子系统也可能允许由 SecOps 工程师编写自定义规则。无论是哪种情况,任何应用的规则通常都是通过配置来控制的(如果需要,也可以定义)。
  • 可视化加上 ML 辅助:下一个层级会使用更先进的方法,找到行为异常和/或与先前确定的恶意交易模式相匹配的交易。虽然可使用的方法很多(本文不会深入讨论方法和业务的利弊),但有一些关键点需要考虑:
  • 需要人力:一些 ML 方法需要 “训练”(又称监督学习),这意味着必须使用一个可信、可靠的 “分类器” 对一些合理规模的数据集进行预先分类。通常情况下,为了获得可信的分类,“分类器” 是一个或一组人类。在这些情况下,所需的人力应该是一个考虑因素。其他方法(又称无监督学习)可以自行检测异常情况和/或识别模式,无需人力。
  • 可解释性:机器学习系统的输出是根据一个模型对输入数据进行评估的结果。这个模型可以基于一系列简单易答的问题,如 “在过去的一个月里,该用户是否曾使用这个设备登录?” 。它也可以基于一个容易解释的相似性,如 “据我了解,在工作时间内从不登录的用户有一套普遍登录模式,而该用户的登录模式与其相同” 。在其他情况下,该模型可能基于对输入数据应用一套复杂的矢量代数运算,而没有容易辨别的高水平逻辑。与前两个例子相比,最后这种情况显然不易解释,更像是一个 “黑盒子” 。在某些情况下,可解释性是人类理解或审计的一个重要因素。对于这些实例,可解释的模型会比难以理解的模型更受欢迎。
  • 信任度分数可用性:如上文所述,表明模型对决策的信任程度的指标(也是对假阳性或假阴性的相对可能性的感觉)往往非常有用。对于有些算法,信任度指标输出会自然而然出现;而对于基于规则的算法等其他算法,则需要明确指定信任度水平作为输出之一。无论是哪种情况,能够提供信任度分数的算法都比不能提供信任度分数的算法更强大。

与基于规则的方法一样,ML 辅助可以只用于检测,也可以与自动化补救措施并用。此外,ML 辅助还能与基于规则的系统一起使用,其中 Ml“结论”(或意见或信任度)可用作规则的输入,例如“do action if ”。

处理泄露:基于风险的自动化补救措施

零信任思维的最后一个原则是 “假定失陷” 。说白了,正确实施身份验证和访问控制方法可有效防止绝大多数的恶意交易。然而,人们仍应假设动机充足或幸运的对手将能破坏身份验证和访问控制的执行机制。及时应对此类泄露所需的漏洞检测必须有可视性和机器辅助分析。因此,正是因为其他执行机制有时会遭到破坏,所以具有可视化的 ML 辅助环境分析技术是一项关键需求,以支持基于风险的补救措施的零信任安全后盾解决方案。

图表

图 5:零信任风险意识补救措施

对于 “假阴性” 的情况,即实际的恶意交易确实破坏了身份验证和访问控制,基于风险的自动化补救机制应用于后盾。但是,由于这项技术是作为对通过先前执行检查的交易的后盾,所以对于错误地将事实上的 “真阴性”(有效的、理想的交易)标记为 “假阳性”(错误地标记为恶意交易),人们会有更大的担忧。为了减轻这种担忧,由于相信可能存在恶意行为(不知何故未被身份验证或访问控制发现)而引发的补救行为应该基于以下三个因素4

  • 交易的商业价值:不同的交易会有不同程度的风险和报酬。例如,查看银行账户的交易会比将资金转入外国账户的交易具有更低风险。同样,对于航空公司来说,比起列出当前航班延误的交易,购买机票这一交易可能有更高的商业报酬。商业价值是潜在的商业报酬与交易的风险状况相权衡的利益。与具有高商业价值的高报酬/低风险交易相比,容忍投机性补救措施对低报酬/高风险交易产生的 “假阳性” 影响都是更可接受的。
  • 认为交易为 “恶意” 的信心:当然,并不是所有的投机性补救建议都是同等的。具体来说,除了上文提到的风险报酬系数,另一个关键因素是对交易的信任度,比如对行为者的经证明身份的信任度。粗略地说,“假阴性” 的可能性(即执行机制没有启动但本应启动的概率)与对行为人的信任度成反比。因为减少 “假阴性” 次数是基于风险的补救措施的目标,信任度越低,系统就越偏向于应用补救措施。
  • 补救措施的影响:最后,并非所有的补救措施都是非允许即阻止的决策。事实上,各种降低风险的方法都是合理的,包括用户可见的方法(例如,要求额外的证书/MFA 和提供 CAPTCHA 等挑战)以及用户通常不可见的其他方法(执行 DLP 等更深入的流量检查或做一个更高级/计算密集型的分析)。因此,采取这些其他形式的风险缓解措施的影响是要考虑的第三个因素,此类影响通过用户经历的摩擦和应用程序(如 DLP 或计算密集型分析)的运营成本来衡量。低影响的、客户透明的补救措施比高影响的、客户可见的挑战更受欢迎,而直接阻止交易是最没有吸引力的选择。然而,当信心很高时,或者对于无法通过其他风险降低机制充分提高信任度的风险交易,阻止交易可能是合适的。

结论

零信任安全是对先前的安全方法(如深度防御)的更现代的看法,通过对安全采取以交易为中心的观点(试图对对象什么)来扩展先前的技术。这种方法不仅能保证应用程序的外部访问安全,而且也适用于保护应用程序的内部。5 鉴于这种基本交易观点,零信任安全植根于一套核心原则,此类原则用于在更复杂、更具挑战性的现代环境中保护应用程序,同时,零信任安全将这些原则映射到一套体现这些原则的子系统级解决方案或方法中。关于此类核心原则以及它们如何映射到解决方案的方法,总结如下。

图表

图 6:零信任安全的核心原则和安全方法

身份验证、访问控制、可视性、环境分析和风险意识补救措施是防御各类攻击的必要且充分的手段。

 

下载报告


资源

1 https://www.f5.com/services/resources/white-papers/why-zero-trust-matters-for-more-than-just-access

2零信任甚至可以且应该应用至 CI/CD 流水线的 “左侧” 。漏洞评估工具、静态分析、CVE 数据库、开源代码信誉数据库和供应链完整性监控系统等手段与零信任思维一致。

3https://cloud.google.com/beyondcorp-enterprise/docs/quickstart

4请注意,与环境有关的风险意识访问控制和风险意识补救措施的常规主题之间界限模糊,而且确实存在一些重叠。

5通常被称为 “东西向” 应用内保护,与 “北南向” 的应用外保护相对应。