零信任架构通过上下文相关的细粒度访问控制,在企业IT网络实施“永不信任、持续验证”的安全理念。NIST在《零信任架构》中指出,企业持续监控和测量所有IT资产的安全状态,以便对处于不同安全态势下的资源采用不同的安全策略。为了确保动态安全策略的正确实施,企业需尽可能收集IT资产的实时状态数据(如终端设备情况、网络流量、访问请求的元数据等),评估网络的安全态势,为零信任的细粒度访问控制决策提供依据。


为了建立能反映企业IT安全态势的安全指标体系,为零信任访问控制上下文提供科学、合理的安全属性,我们研究了与态势评估相关的风险管理理论、安全指标体系、量化评估模型、合规测试、内容自动化和安全控制等方面的最新技术发展,近期将陆续在本公众号发布“零信任态势评估”系列文章,供大家研究讨论。


摘要:本文主要讨论了在安全态势评估时,如何建立、选择科学合理的评估指标,并为其设计适当的量化表达方法,使安全指标成为用户可理解的安全决策依据。


关键字:零信任   态势评估   安全指标



零信任态势评估:安全指标的构建原则_数据

一、态势评估的基本内涵


信任、风险、态势是讨论网络安全问题时常用的术语,它们的真正含义是什么呢?有什么关联?下面首先探讨一下这些基本概念,帮助我们理解态势评估的内涵、目标和意义。


信任(Trust)是人类社会中广泛存在的一种关系,现实世界也形成了以身份为中心的信任评估体系,为人们参与各种社会活动提供信用基础。在计算机网络环境中,安全专家一直致力于在各个网络实体间建立起某种信任关系,以便能够维持互联网世界的安全、可信运行。可信计算便是该领域中的典型技术,但因为软件厂商的冷眼旁观和技术成熟度不足的问题,目前仍缺少实际的应用基础。


风险(Risk)是指受保护目标在特定威胁中暴露的可能性,通常按照目标暴露后所带来的资产损失来对其进行评估,以便在安全投入和风险损失之间寻找“可接受风险”这一平衡点。


态势(Posture)是指在现有信息安全资源(如人员、硬件、软件、策略)和能力条件下,企业网络、系统和信息的安全状态,通常需要在一定的时空范围内识别安全风险,并对未来的发展趋势进行预测,以管理企业安全防御,适时做出响应。



零信任态势评估:安全指标的构建原则_访问控制_02

二、态势评估的度量标度



尽管在描述系统安全问题的时候有很多可以使用的指标,但试图使用这些指标来精确地度量安全的时候,由于不同安全指标所刻画的问题可能非常复杂且微妙,有时甚至很难确定它是否适合于特定的评估。此时,厘清指标的本质含义就显得特别重要,也就是要明确每个量化刻度的物理意义。


本质上,安全评估是一个测度问题。测度论(Measurement Theory)针对不同的测量目标提供了不同的测量标度(Scale),而为不同安全指标选择适用的标度是建立安全指标、实施态势评估所面临的第一个问题。表1给出了工程实践中测量/评估常用的标度类型,下文将会讨论如何使用这些不同的标度。


表1 工程实践中常用的测量/评估标度

标度类型

说明

比率型

如物理测量(如长度、体积、时间等)中常用的标度,其单位可以用乘法运算进行转换。

间距型

如温度(摄氏温度和华氏温度)的标度,其刻度具有特定的物理意义,但其刻度零点是任意的。

排序型

如销量排名,标度值是一组排序(分级)的数值(无单位),其差值不具有任何物理意义。

标定型

命名或分类法使用的标度,标度值没有顺序和量级意义,如常见的二值/分标定(yes/no或true/false)。



零信任态势评估:安全指标的构建原则_访问控制_03

三、态势评估的指标构建



01

准确描述态势评估的内涵



《国际计量学词汇——基础和通用概念及相关术语》通过“要测量的量”来说明“测量”这一概念,“量”是物体、物质或现象的⼀种属性,其大小可以⽤数值进行表示或引用。例如,“5m”表示一个标准度量单位(即米)的5倍。


认为“态势/安全评估是对安全本身的度量”是安全评估的第一个认知误区。安全是否是一个需要(或可以)被度量的量?


首先,安全并不是IT资产的固有属性,这一点与“质量是物体的一种属性”不同。在任何系统中,安全性需要围绕特定环境中的威胁、保护能力来进行定义,还要考虑系统面临的潜在攻击强度和未来技术发展,而这些都是未知的。


其次,“X比Y安全5倍”这种表述是毫无意义的,除非对其中的“安全”给出明确的解释,比如“X比Y安全5倍,因为攻破X所需时间是Y的5倍”。此时,“安全”已经具备了一个标准的计量单位(以攻破Y所需的时间为单位)。


最后,物理测量是从系统的当前状态提取度量信息,而安全评估则蕴含着对未来的预测,只有在缺乏安全保障的情况下,它才可能成为一种可观测的现实状态。


综上,要准确地描述安全评估,关键是要表达和传达哪些事实是可测量的,同时在没有标准计量单位的情况下,需要对测量本身(测量内容、方法)进行准确描述,而不是对测量结果进行解释。




02

合理设计安全指标的标度



不同的标度适合于表达不同的测量目标,并向用户传递不同的信息。显然,误导性的标度也会引导用户得出不合理甚至虚假的结论。例如,排序型标度是一种具有分级排序意义的值,但其值域范围本质上并没有任何意义,如名次1,2,3,……有时,人们在使用这种标度时,有意无意地将其视为最大值为10或100的量,误导用户以为这些值与概率或比例相关,错误地将其作为比率型标度来使用。


另外,排序型指标通常以特定的视角(如销量)来对目标进行排序,视角差异导致不同的排名序列不具有可比性,这也是排序型指标不适合用于安全决策的主要原因。例如,表2、表3分别给出了对A、B两个杀软引擎进行产品比较所使用的评估指标和结果。


表2 杀软引擎的产品评估指标(示例)

指标项

描述

标度类型

检出率

针对同一组测试样本的恶意代码检出率

比率型

速度排名

扫描速度的排名(1:最快,2:次快,……)

排序型


表3 杀软引擎的产品评估结果(示例)


产品型号

检出率

速度排名

价格

A

83%

1

¥10,000

B

82%

2

免费


从速度排名来看,虽然产品A要优于B,但它⽆法刻画性能优势的大小,也没有合理的方法来判断它是否物有所值。可见,排序型指标因为不能传递名次的差异程度,并不适合用于评估安全性与成本之间的关系,而这些因素在现实安全规划中却至关重要。


另一种常见的标度误用是将安全违规计数或不合规项计数作为表达“坏/差”程度的指标来使用。这种用法存在一个误导性的假设前提:N次违规比单次违规要坏N倍,或者N条不同的违规比单条违规要坏N倍。计数在比率型标度中是合理的,但也仅限于从字面上将其解释为次数,一旦将其引申为“坏/差的程度”,就产生了误导性的作用。


例如,有2条针对不同攻击的防御规则,违背其中任一条都会导致攻击者能以高概率、低代价攻入系统,那么同时违反这2条规则,是否就比只违反其中的1条坏2倍呢?这与常量和无穷大值做乘法的情况有点相似。


因此,在设计指标体系时,需要精心考虑每一个指标的标度,以客观反映它的实际意义。适当使用二分标定替代不合理的计数型指标,以“是/否”的形式陈述评估结果,可以防止评估结果被滥⽤(即认为存在两个漏洞比存在一个漏洞严重2倍)。例如,对于“系统是否有已知的漏洞可以被利⽤来破坏当前项目”这个指标,当答案为“否”时,该结论基本上是⼀个NULL性质的安全结论(既不承认也不反对系统“足够安全”的假设),但如果答案为“是”,那么项目实施可能会被推迟到漏洞得以修复。该指标的价值在于避免使用⼀个已知不安全的系统。




03

正确理解指标量化的精度

显而易见,表3给出的数据非常精确,不存在任何不确定性问题。或许有人认为这组数据足够精确,以至于可以用在任何决策场景中,这显然是错误的。尽管“速度排名”不存在任何不确定性信息,但我们没有理由相信产品之间的明显性能差异。通常,正确的产品测试方法一般需要用多个测试样本进行多次测试,最终得出一个具有置信区间的平均结果(如表4)。置信区间可以表达出“产品性能差异并不显著”这一事实,可见确定的结论有时比不确定性的结论更糟糕,因为可能导致用户得出错误的决策结果。


表4 具有置信区间的产品评测结果(示例)

产品型号

检出率

速度排名

价格

A

(83±3)%

1~2

¥10,000

B

(82±5)%

1~2

免费




04

科学处理指标融合的效度




对多指标的综合计算通常会采用权重和算法或更复杂的融合算法,特别是当多个指标来自不同的观测维度而不具备可比性的时候,但问题在于,没有相关理论或原则来证明这些融合算法的科学性。


形式化的表达方法可能会使用户以为这些算法公式是通过合理的数学推导而来,但更多时候,算法公式可能仅仅是为了掩盖或掩饰一些事实真相,或者只是为了使特定的测试能产生设计者所期望的结果而设计的。


鉴于安全评估的复杂性,试图通过融合计算得到一个有效的综合性指标是非常困难的。通常,安全性需要从机密性、完整性和可⽤性等多个层面进行描述和评估,勉强对来自不同层面的指标进行融合计算,最终将会导致结果的有效性(即效度)问题。


同时,从安全实践经验来看,系统安全面临的最大风险往往不是学术上讨论的各种复杂攻击,而是因为组织和个人未能采取一些简单基本的保护措施。


因此,最实用的安全指标可能是简单、易于表达、便于观测的指标。在面临复杂的评估目标时,不必武断地去追求一个简单漂亮的评估结果,而是在不同的评估维度使用不同的指标,从不同的角度去刻画系统的安全态势,仅在不同指标具有可比性时,才进行适度的融合以简化指标体系的结构。




05

零信任网络访问(ZTNA)


在安全评估过程中,评估者的主观因素会导致评估结果的严重失真。例如,在采用5分制对某件事物进行评测时,有人可能将5分制视为大小间隔不等的五个等级,甚至基于个人对结果数学分布的理解而产生曲线式的等级体系。


为了解决主观因素带来的测量失真问题,社会学家采用一般采用更鲁棒的评估模型,例如多级反应模型(Graded Response Model),但这种模型目前还没有在IT风险评估中的成熟应用案例。


因此,当态势数据的来源并非客观测量的,⽽是由人为确定时,需要可靠地收集、处理这些数据,以便它们与自动测试得到的安全数据保持一致的客观性。



安全态势评估是一个持续、复杂的过程,本文从安全指标的标度、精度、效度等方面讨论了态势评估的目的意义和指标构建原则,为零信任安全评估指标体系的建设提出了一些指导建议。