首席技术官办公室报告

考虑采用零信任的技巧和技术


  • 分享至 Facebook
  • 分享到X
  • 分享至 Linkedin
  • 分享至电子邮件
  • 通过 AddThis 分享
作者:穆迪特·泰吉 (Mudit Tyagi) 和肯·阿罗拉 (Ken Arora)
从“为什么”出发——指导原则1—零信任,下一个关注点就是“如何”——用来实现这些原则的技术。

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

技巧和技术

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

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

下图描述了整个零信任安全交易模型,以下部分将深入探讨每类技术。

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

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

动机

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

验证

身份验证技术都是为了建立对已证明身份的信心: 在参与交易。 身份验证过程包含三个部分: 

  1. 有行为人作出的证明或声明,表明行为人的身份。
  2. 有一些数据通常由演员提供,可以证明证明的真实性。
  3. 系统会对该证明是否正确(行为人是否是他们所自称的那个人)做出裁决或决定。 下图描述了身份验证的不同方面、每个方面的成熟度模型,然后对每个方面进行了更深入的讨论。 

图表

图 2: 零信任安全认证成熟度模型 

证明

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

身份证明

一些系统允许未经身份验证的用户(有时称为“访客”或“匿名”用户)执行有限的交易。 对于这样的系统,证明身份的额外步骤和系统作出裁决的步骤并不相关。 但是,对于任何特定的证明身份,通常使用以下方法来支持该证明:

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

通常,如果需要高度的置信度,则会使用多种方法。 Google BeyondCorp 模型就体现了这一点,3在允许更高价值的交易之前,需要进行多因素身份验证 (MFA)。 更复杂的身份验证解决方案将“信任度”与每个身份相关联,并根据交易的价值和风险为每种交易类型指定最低信任度水平。

静态与 动态身份验证

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

在更先进的系统中,动态身份验证可以与访问控制协同工作。 作为这种交互的第一级,访问控制策略可以为不同类别的交易指定最低置信度分数,如前所述。 下一级别的交互允许访问控制子系统向身份验证子系统提供反馈,通常要求进行额外的身份验证以将置信度分数提高到最低阈值。

访问控制

在使用身份验证技术确定在参与交易之后,接下来的问题是: 什么 那位演员可以这么做吗? 对来说? 这是访问控制技术的范围。

打个物理安全的比方,假设你想参观一个军事基地。 在警卫确信您是平民、政客还是士兵后,他们会根据这一判断来决定您可以进入哪些建筑物,以及您是否可以携带相机进入每栋允许您进入的建筑物。 管理这些选择的政策可能非常粗略,适用于所有建筑物(例如,“政客可以进入任何建筑物”),或者可能更细粒度(例如“政客只能进入建筑物<A>和<B>,但只能将相机带入<A>”)。

应用于网络安全环境,访问控制技术应该体现“最小特权”的零信任原则。 换句话说,最佳访问控制策略只会允许参与者所需的权限,而不允许所有其他权限。 此外,理想的稳健策略将以对参与者身份真实性的特定最低置信度为条件,并在每个允许特权的粒度上指定置信度阈值。

因此,可以通过访问控制解决方案与这些理想的契合程度来判断其价值。 具体来说,零信任安全解决方案必须包括访问控制,并应按照下面所示和之后描述的维度评估访问控制技术。 

图表

图 3: 零信任安全访问控制成熟度模型 
  1. 访问控制权限有多细粒度?
  1. 操作的粒度是多少(交易中的内容是什么) ? 是吗:
  1. 二进制: 允许“所有”交易或“无”。 在军事基地的类比中,这相当于“所有士兵可以进入任何建筑物并做任何他们想做的事情”而“平民不能进入任何建筑物”。
  2. : 细粒度到 API 端点或交易“类型”(例如文件 I/O、网络通信和流程控制)。 在我们的例子中,这将允许在允许的行为方面有一定程度的细微差别,例如“政客可以进入建筑物但不能拍照”。 
  3. 美好的: 在子 API(即依赖于 API 的参数或版本)或事务的“子类型”(例如文件 I/O 只读或 TCP 只接收)。 再次使用我们的类比,这将允许更细粒度的控制,例如“平民只有在士兵的陪同下才能进入建筑物”。 
  1. 关于行动的目标(交易中涉及的对象)是否有粒度? 是吗:
  1. 不针对目标: 访问控制策略没有考虑操作的目标。 在我们的示例中,这种方法将映射到允许进入某些建筑物但不允许进入其他建筑物的粒度——建筑物是“进入”动作的目标。
  2. 目标粒度、基础设施级别: 访问控制策略可以包括操作的目标,但使用一些特定于基础设施的标签,例如目标的 IP 地址、DNS 名称或 Kubernetes (K8S) 容器名称。 这将允许该政策具有建筑物粒度,但每个军事基地可能对建筑物有不同的命名约定。
  3. 目标细粒度、身份感知: 访问控制策略可以包括动作的目标,使用与参与者(Who)相同的身份名称空间(例如,SPIFFE)来识别目标。 与之前的方法相比,其好处是,所有军事基地都将使用一致的建筑物识别方案,从而使该政策更具可移植性。
  1. 访问控制解决方案如何处理较小风险行动与较大风险行动的概念?
  1. 缺乏风险意识: 访问控制解决方案在允许或禁止操作的决定方面,对所有访问控制权限都一视同仁。
  2. 通过 MFA 进行风险管理: 访问控制解决方案通过允许策略指定某些允许的交易仍然需要使用多因素身份验证来管理风险,这些策略基于交易中涉及的参与者()、动作(什么)或目标()。
  3. 通过信心进行风险管理: 访问控制解决方案通过允许策略指定任何交易仍可能需要对参与者的真实性具有最低限度的置信度来管理风险,此置信度基于交易中的动作( “什么” )和目标( “谁” )。 尽管也可以使用其他方法,但 MFA 可能会增加信心;在其他情况下,如果交易价值很高并且参与者的真实性足够不确定,则可能根本不允许交易。

注意“不断评估(并重新评估)”的原则,对演员真实性的任何信念都应随着时间的推移进行调整。 在简单的解决方案中,它可能只是一个超时;在更复杂的系统中,信心可能会根据对参与者随时间的行为的观察而变化。

态势感知: 可见性和机器学习辅助情境分析动机

如果身份验证和访问控制是“始终验证”和“最小特权”思维方式的实现,那么可见性和上下文分析就是“持续评估”和“假设违规”原则的基础。

可见性是分析的必要前提——系统无法缓解它看不到的东西。 因此,零信任安全解决方案的有效性将与可从系统操作和外部环境收集的遥测数据的深度和广度成正比。 然而,现代可视化基础设施将能够提供比任何合理的无人协助的人类能够及时处理的更多的潜在有用数据、元数据和背景。 由于对更多数据以及更快地将数据提炼为见解的能力的需求,机器对人类操作员的协助是一个关键要求。

这种帮助通常使用自动化算法来实现,这些算法涵盖从基于规则的分析到统计方法再到先进的机器学习算法。 这些算法负责将原始数据转换成可消耗且可操作的态势感知,可供人类操作员进行评估,并在必要时进行补救。 因此,机器学习辅助分析与可见性密切相关。

从原始数据(可见性)到操作(补救)的通用流程如下所示: 

图表

图 4: 修复管道的零信任可见性

可见性

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

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

  1. 延时数据与实时数据有多接近?

延迟为响应潜在威胁的速度提供了下限。 零信任解决方案的延迟应以秒或更短为单位;否则,任何分析(无论多么准确)都很可能为时已晚,无法防止漏洞的影响,例如数据泄露/加密或由于资源耗尽而导致的不可用。 更复杂的系统可能允许同步和异步缓解。 同步缓解将阻止交易的完成,直到完成全面的可见性和分析为止。 由于同步缓解可能会增加交易的延迟,因此这种操作模式将保留用于特别异常或有风险的交易,同时允许所有其他交易发送遥测并进行异步分析。


  1. 消耗量这些数据能被多么轻易地消费掉?

如果数据来自多个来源或多种类型的数据传感器,则这种担忧是相关的,这是一种常见的情况。 这一因素通常分为两个子问题。 

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

高质量可视性解决方案的一个关键价值是能够发现可疑活动作为可能违规的指标。 为了有效地做到这一点,解决方案必须接收应用交付的所有相关“层”的遥测:当然是应用本身,还有应用基础设施、网络基础设施、任何应用于或由应用使用的服务,甚至客户端设备上的事件。 例如,识别从从未见过的新设备进入的用户本身可能有点可疑;但是当与网络信息(例如来自外国的 GeoIP 映射)结合时,怀疑级别就会更高。 这种怀疑级别表现为对用户身份的信心分数较低。 在零信任安全策略的背景下,当该参与者尝试进行高价值交易(例如将资金转移到国外账户)时,访问控制解决方案可以根据低置信度选择阻止该交易。

就零信任思维而言,可见性解决方案越深入、越完整,系统就越能有效地适当限制交易和检测违规行为

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

最后,任何数据的收集都必须符合与数据安全、保留和使用相关的法定和许可要求。 因此,强大的可视性解决方案必须满足每个需求。 理解治理所隐含的数据使用限制必须被纳入零信任可视性解决方案之中。 例如,如果 IP 被视为个人身份信息 (PII),则使用和长期保留 IP 地址进行分析必须符合 IP 地址的允许使用。 

机器辅助的上下文分析

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

分析时要考虑的一个问题是输入数据的范围和广度。 分析算法的输入可以限制为来自单一来源的单一数据流,也可以查看多个流,包括来自各种数据源和基础设施与应用的所有层。 

  • 最基本的语境化是在单一“类型”或“流”数据(例如“带有时间和源 IP 地址的用户登录信息”事件流)的范围内,通常具有跨多个用户的历史语境和/或数据。 通过这种分析可以得出一些基本的见解,例如“此用户<X>从未在一天中的这个时间登录过”或“此用户<X>似乎总是在其他用户<Y>之后立即登录”。 前者可能会降低对身份的信心;后者可能表明某种更高层次的模式,甚至是恶意的。
  • 更高级的情境化不仅考虑单一“类型”的数据的基于时间和多实例的范围,而且还跨不同“类型”或“流”的数据执行时间关联。 一个例子是将用户登录数据与应用层(例如转账或电子邮件联系人更新)或网络层(例如基于 IP 的地理位置查找)的特定操作相关联。 

零信任框架分析的第二个特别相关的方面是处理摄取的数据量和速率,这将超出任何人的消化能力。 因此,需要某种机器辅助来形成人类可消化的见解。 再次,助攻的精细化可谓是进步了。

  • 仅可视化: 第一步是简单呈现统计数据和事件,通常通过管理门户上的仪表板进行呈现。 所呈现的数据基于收集的数据流(通常是时间序列或固定时间窗口内跨用户/交易的纵向横截面)。 更高级的仪表板提供对数据进行排序和分组以及通过过滤进行深入挖掘的功能。 在这种模型中,人类完成所有数据探索、事件优先级排序、分析和补救工作,而自动化主要帮助数据探索。
  • 可视化加上可配置的静态规则: 可视化最常见的下一个扩展是允许人类定义静态指定的规则,用于警报或补救。 此类规则的示例包括“如果 < CPU 负载在 5 分钟内超过 80% >,则通知人类 < John >”或“如果调用 < API [Y] 且国家/地区不是 [美国] >,则需要 <通过电子邮件进行 MFA >”。 这些规则可能仅限于解决方案提供商指定的预定义规则,或者更高级的基于规则的子系统也可能允许 SecOps 工程师编写的自定义规则。 无论哪种情况,任何应用的规则通常都通过配置进行控制(并进行定义,如果需要)。 
  • 可视化加上机器学习辅助: 下一级别使用更先进的技术来查找行为异常和/或与先前识别的恶意交易模式相匹配的交易。 虽然使用了许多技术(对技术和业务权衡的深入讨论超出了本文的范围),但仍有一些关键点需要考虑: 
  • 所需人力: 一些机器学习技术需要“训练”(又名监督学习),这意味着必须使用可信、可靠的“分类器”对一些合理大小的数据进行预先分类。 通常,为了获得可信的分类,“分类者”最终是一个人或一群人。 在这些情况下,应该考虑所需的人力。 其他技术(又称无监督学习)可以自行检测异常和/或识别模式,无需人工干预。 
  • 可解释性: 机器学习系统的输出是根据模型对输入数据的评估而得出的。 该模型可以基于一系列简单且易于回答的问题,例如“过去一个月内是否在该设备上见过此用户?” 它也可以基于容易解释的相似性,例如“这个用户符合我所见过的在工作时间从不登录的用户的一般模式”。 在其他情况下,模型可能基于对输入数据应用一组复杂的向量代数运算,而没有易于辨别的高级逻辑。 与前两个例子相比,最后一个案例显然更难解释,更像是一个“黑匣子”。 在某些情况下,可解释性是人类理解或可审计性的重要因素。 对于这些情况,可解释的模型会比难以理解的模型更受欢迎。 
  • 置信度得分可用性: 如前所述,表示模型对于决策的信心程度的指标(换句话说,表示假阳性或假阴性的相对可能性)通常非常有用。 在某些算法中,置信度度量输出会自然产生;而对于其他算法(例如基于规则的算法),则需要明确指定置信度水平作为输出之一。 无论哪种情况,能够提供置信度分数的算法都比不能提供置信度分数的算法更为稳健。 

与基于规则的方法一样,机器学习辅助可以仅用于检测,也可以与自动补救相结合。 此外,机器学习辅助可与基于规则的系统结合使用,其中机器学习“判决”(或意见或信心)可用作规则的输入,例如“如果<ML 评估器 [bot_detector_A] 报告机器人的置信度大于 90%>,则执行操作<X>”。 

处理逃逸: 基于风险的自动化补救措施

零生锈思维的最后一个原则是“承担违约”。 明确地说并提供观点,正确实施的身份验证和访问控制方法可以有效防止绝大多数恶意交易。 然而,出于过度的偏执,人们应该假设身份验证和访问控制的执行机制被一些有足够动机或幸运的对手击败。 为了及时应对这些逃逸行为,有必要检测违规行为,这需要可视性和机器辅助分析。 因此,正是因为其他执行机制有时会被击败,可见性提供 ML 辅助上下文分析的技术才成为基于风险的补救的零信任安全后盾解决方案的关键需求。 

图表

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

对于实际恶意交易确实破坏了身份验证和访问控制的“假阴性”情况,应使用基于风险的自动补救机制作为后盾。 但由于这项技术是作为已通过先前强制检查的交易的后盾而应用的,因此人们更担心错误地将实际上是“真阴性”(有效的、可取的交易)标记为“假阳性”(错误地标记为恶意交易)。 为了减轻这种担忧,任何因怀疑存在恶意而引发的补救措施,如果以某种方式未被身份验证或访问控制捕获,都应基于以下三个因素:4

  • 交易的商业价值: 不同的交易具有不同程度的风险和回报。 例如,查看银行账户的交易比将钱转入外国账户的交易风险要小。 类似地,对于航空公司而言,与列出当前航班延误的交易相比,购买机票可能是一种具有更高商业回报的交易。 商业价值是潜在商业回报与交易风险状况之间的权衡。 与具有高商业价值的高回报/低风险交易相比,对低回报/高风险交易的推测性补救措施产生的任何“假阳性”效应更容易被接受。 
  • 对“恶意”信念的信心: 当然,并非所有推测性补救建议都是相同的。 具体来说,除了上面提到的风险回报之外,另一个关键因素是对该交易的信念的信心,例如对行为者的证明身份的信心。 粗略地说,“假阴性”的可能性——即执法机制没有触发但应该触发的概率——与对行为者的信心成反比。 由于减少“假阴性”是基于风险的补救措施的目标,因此置信度越低,系统就越倾向于采取补救措施。
  • 修复效果: 最后,并非所有补救措施都是二元决策——允许或阻止。 事实上,有多种可能的风险降低技术,包括一些用户可见的技术(例如,要求提供额外的凭证/ MFA,提供诸如验证码之类的挑战),以及其他对用户来说几乎不可见的技术(执行更深层次的流量检查,如 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通常被称为“东西”应用程序内保护,而不是“南北”应用程序保护。