数据之舞:安全度量体系设计方法初探
引言
数字化转型的浪潮正推动企业对自身的商业模式、业务流程、组织架构进行变革与迭代升级,信息安全团队在数字化转型背景下如何向公司高层准确量化呈现自身工作价值,如何回答安全“投资回报率”等灵魂拷问?本文尝试探讨一种安全度量体系的设计方法,通过度量指标呈现安全团队工作成绩、短板和问题,辅助安全人员作出精准安全决策。
一、背景
1、数字化转型对安全团队的意义
数字化转型对企业的商业模式、组织形态等产生了颠覆性的影响,只有积极探索数字化转型的途径,才能满足不断变化的客户需求,在机遇与挑战中保持增长和创新,在新时代保持竞争优势。信息安全团队身处企业数字化转型浪潮中,同样需要积极响应变化与挑战,运用好数据价值,通过构建并落地安全度量体系,量化复杂的安全活动,挖掘系统优势与劣势,客观分析系统安全性,形成管理闭环,建设更可靠、更具韧性的数字生态环境,为企业的数字化转型战略和业务持续发展保驾护航。
1)用数据呈现团队的业务价值
信息安全团队采购了大量的安全设备和服务,各项投入越来越大,却难以讲清类似投资回报率的商业故事。在过往我们或许可以说“善战者无赫赫之功”、“系统安全稳定运行就是最大的价值”,但在数字化转型的场景下,我们更需要通过数据呈现工作成果,准确描述工作价值。
诚然,信息安全工作有其本身的系统性、复杂性、牵涉范围广的特点,或许我们永远无法像商业项目一样准确指出每项安全决策、每个安全项目的投资回报率等直接与投入相关的指标,但我们可以通过数字化度量准确描述安全工作的现状,以及我们对未来安全形势的判断,探索一条适合信息安全团队的价值呈现方法。
2)用数据提升运营能效
开展数字化度量也是对信息安全团队工作模式本身的“数字化转型”。我们一直强调信息安全工作的核心是管控风险:采取各种措施努力降低风险发生的概率,减小风险造成的影响。以往我们以安全事件和漏洞为中心,围绕SOC/SIEM开展工作并作出决策。在数字化时代,我们可以转变思维,以数字化度量数据为抓手,将指标深入安全工作的各个领域,全盘评估安全管理工作的运行态势,帮助我们理解和评估每项工作的能效,更精准作出决策,持续优化改进,不断提升团队的运营能力和效率。
2、落地实施的难点
安全度量是一项精细化的运营管理工作,是帮助信息安全团队判断形势、发现问题、提出对策的基础,其实施的难点在于所面对信息系统的复杂性、不确定性以及攻防双方信息的极大不对称性;同时,信息安全工作涉及多种安全设备、团队和流程,这其中可以产生海量的指标,我们不可能简单地堆砌罗列指标,按照何种原则选取指标、按照何种结构组织指标是构建指标体系的一道难关。我们认为适合数字化转型的信息安全度量指标体系需要解决两个关键问题,一是可落地,必须基于客观可获取的数据统计度量指标;二是有意义,能为决策者提供论据支持。在本文中我们将尝试探索一种满足上述要求的度量体系设计方法,以期能为信息安全团队的数字化转型提供有力支持。
二、现有度量体系的研究和回顾
历年来,国内外深入研究安全度量方法论,已构建了多套度量模型,尝试实现全局且客观的量化方法,以下进行简要介绍。
1、基于关联分析的模型
关联分析将属于同一攻击行为的多个步骤前后关联,复现原始攻击场景,可看作以“攻击者视角”的多步行为来度量系统安全性。基于先验知识基础,如根据网络入侵检测系统后门文件上传告警动态生成关联,进而关联主机入侵检测系统存在木马文件落地并运行的告警,扩展地可关联网段内其他主机是否存在被探测告警,完善权值计算。
关联分析依赖于多节点大量数据感知,结合威胁情报,以多步威胁的严重程度、频率、持续时间等指标来进行全局度量,并具备一定的趋势预测能力。
2、基于数学原理的模型
以数学方法为基础将全局度量进行抽象并实施精准计算,追求更准确客观地度量目标。
有研究基于欧式空间向量投影的思想设计了向量投影分解算法,将攻击所利用的漏洞信息与节点包含的漏洞信息相关联,结合余弦相似度计算公式,在多个漏洞信度组成的矢量之间计算近似程度,以此来度量哪些应用被攻陷的置信度更高。
其他研究诸如将安全要素转化为Petri网状态函数进行离散度量等方法等,数学方法有助于挖掘安全要素内在联系,有化繁为简的功用。
3、基于攻击图模型
攻击图模型采用图论方法描述攻击方利用漏洞违反安全策略的方式与深入程度,近年热门的用于分析已知对抗行为、检测、防范与打击的ATT&CK战术矩阵则基于攻击图。最短路径、路径数量、路径长度是三种基于攻击图常用的度量方式,最短路径能体现攻击者触碰安全策略的方式与效率,路径数量与路径长度均值则能体现其攻击成本。
当攻击方处于:“初始访问-执行-特权提升-防御绕过-凭据访问-收集-横向移动-命令与控制-数据泄露-造成影响”链路中任一节点时,可结合博弈论模型算法,如纳什均衡策略等,考虑防守成本、收益与损失等参数,实时度量调整攻防均衡策略。
三、安全度量体系设计方法
1、基于GQM的安全度量指标探索
在实践落地的过程中,我们发现软件工程领域的GQM方法是一个合适的理论工具。GQM方法(Goal/Question/Metric,目标-问题-度量方法)由Victor Basili等在20世纪70年代提出,是软件工程领域用于测量和改进软件质量的指标设计方法,其基本思想如图1所示,以开展度量项目的目标为导向,自上而下逐层分解设计指标。具体操作方法是:
- 首先确定开展度量要达成的目标
- 再将目标分解落地到可具体回答问题上
- 最后依据问题设计度量指标

图3-1 GQM方法实施过程
GQM方法具有三大优点:一是自顶向下设计指标,使得所产生的指标含义明确,并且与度量目标强相关;二是紧密围绕目标设计度量指标,确保指标在实现过程中不失焦、不泛化,避免指标泛滥难以维护;三是通用性,通过调整度量目标可以产出不同的度量指标,以适应不同度量项目的需求。
GQM方法是一套简单而优雅的框架,很大程度上帮助我们解决了上文提及的设计指标必须有意义的需求,但在应用GQM方法时,在实践层面上还需要解决两个问题:
1)如何设定合适的目标
目标是整个GQM方法的核心关键,选取的目标是否有效、是否精准契合需求将决定整个度量体系能否经得住外部用户的检验。
2)如何将目标转化为可实操的具体问题
2、一种改进的安全度量指标设计方法
我们基于GQM方法提出了一种改进的安全度量指标设计方法,以期能解决上述GQM方法的局限性,并设计出满足数字化转型要求的安全度量指标体系。我们将新方法称为结构化指标设计,其核心在于将GQM的三个步骤按一定结构拆解、重组,如图3-2所示:

图3-2 结构化指标设计过程
1)目标场景化
一个好的度量指标体系需要紧密贴合工作目标,通过将目标置于一定的场景上下文中,能让目标的指向更明确,也更容易设计相关的度量指标。例如“提高员工的安全意识”是一个通用且相对抽象的目标,如果放在一个更具体的场景下,如“近期开展钓鱼邮件演练,有不少员工中招,需要提高员工的反钓鱼意识”,将目标设定为“提高员工的反钓鱼邮件意识”,就比前者更加清晰准确,也更容易设计出一系列的指标来进行度量,如钓鱼邮件中招人群构成、中招数量变化趋势等。
目标场景的构建可以从内外两个视角来考虑,如图3-3所示:

图3-3 构建场景的两个视角
1.外部视角:从信息安全工作的相关方、利益方视角出发,根据每个受众的岗位角色和技术知识储备情况,分析其对安全团队工作的预期,关心的主要问题,进而提取相应的度量目标。例如公司CIO关注是否存在安全风险,那么我们的目标可以设定为“向CIO呈现整体的安全风险,特别是监管关注或正在遭受攻击的风险敞口”。
2.内部视角:从信息安全团队自身的利益诉求出发,我们希望通过度量指标向受众传递何种信息、证明何种观点,例如展现工作成绩、获取相关资源等契合团队利益的场景。
2)场景系统化
基于设定的目标,我们需要将场景进一步拆解重组,通过场景系统化构造出相应的度量体系。在这个过程中,我们可以把度量场景看做是一个简单结构的软件系统,仅由输入、输出及内部的处理逻辑构成,如图3-4所示。系统化的好处是便于我们在计算指标时选取合适的指标,组成最终度量的场景。

图3-4 场景系统化
我们以上文描述的“向CIO呈现整体信息安全风险的场景”作为例子,现在想象我们是一名软件开发工程师,我们需要设计实现一个信息安全风险概览系统,业务需求如下:

表3-1
我们将把业务需求拆解成特性和开发需求,从系统的目标、要素、关系三个维度分析,明确具体的“开发”任务,确定系统输入和处理逻辑。首先是确定系统要达成的目标,这在“目标场景化”环节已经明确,即“向CIO呈现整体的安全风险,特别是监管关注或正在遭受攻击的风险敞口”。接下来,我们需要分析场景中存在哪些要素,以及它们之间的关系。根据需求说明书,我们可以画出思维导图3-5:

图3-5 信息安全风险概览系统的构成要素
我们将风险划分内部应用漏洞风险、外部威胁风险,可以看出风险最终都关联到漏洞,因此我们可以确定系统的一个输入数据源是漏洞工单。对于内部应用漏洞,我们认为只有暴露在互联网上的应用系统漏洞风险更高、更需要重点关注,因此应用系统信息也需要作为系统的输入源。对于外部威胁情报,我们作为防守方,所关注的是在外部已有在野利用且我方受其影响的漏洞。综上所述,系统的要素和关系如表3-2所示:

表3-2
从上述分析来看,风险敞口主要由未修复且暴露在外的漏洞造成,基于此我们可以提出以下开发需求:
1.风险水平高低
2.风险敞口是否在逐步收敛
3.未收敛风险集中在哪些应用系统
3)系统算法化
在上一步中我们将度量场景视为一个软件系统,分析构成系统的要素及要素之间的关系,并得出相应的开发需求,在此我们将根据开发需求确定具体的指标及其计算公式,最终推导出整个指标体系。算法化意味着明确的输入输出以及一系列确定的、可重复的步骤,即我们的开发需求需要落实到具体可计算的指标。在上一步中我们已经确定了系统的输入源有漏洞工单数据、应用资产清单数据和威胁情报清单,且风险等同于未修复且暴露在外的漏洞,相应的指标及其公式很容易根据开发需求推导而出,如表3-3所示:

表3-3
值得一提的是,算法化同样意味着指标必须可以自动化地计算,避免人工重复计算出错、效率低等问题,在此我们选定的输入数据源是漏洞工单、应用系统、威胁情报等基础安全数据,且意图计算的指标都紧密关联,因此自动化地计算指标是具备可行性的。
总结结构化指标设计法的核心思想,一是要围绕度量的目标构建场景,确定场景的受众及其利益关切点,二是将度量场景视为一个软件系统,分析构成系统的要素和要素间的关系,分析系统的开发需求,三是将系统以算法化实现,即根据开发需求确定度量需要的输入数据源、具体指标及其计算公式,最终构建完整的信息安全度量指标体系。
回顾在背景与挑战中提出的设计安全度量指标体系的困难和目标,结构化指标设计法可以从以下角度解决相应的问题:

表3-4
四、实践:以SDLC能效度量为例
在上一章节中我们介绍了结构化指标设计法的核心思想和关键步骤,接下来我们将以SDLC能效的度量来介绍开展安全度量的实践过程。
开展SDLC能效度量的基础,是漏洞分级分类和修复要求明确、人员职责清晰、安全管控工具平台完善、制度流程体系完整,相关的安全工具设备如SAST/IAST/DAST/SCA等已全流程覆盖研发环节,SDLC全流程管控已进入运营阶段。我们将评估整体运营的效果以发现短板持续改进作为度量目的,开展安全度量的过程如图4-1所示:

图4-1 SDLC能效度量实施过程
首要步骤是按照结构化指标设计法分析度量的场景、系统和具体指标,分析的结果如下表所示,每个指标详细的推导过程同上一章关于呈现整体安全风险的过程类似,在此不再赘述。

表4-1 SDLC能效度量指标的结构化设计结果
根据结构化指标设计法初步选定指标后,需要根据历史运营数据,进行指标的实际测算,以检验其是否可满足可计算、有意义的要求,同时,这一步也可能直接产生效果,引导我们重新调整优化指标体系、或发现运营工作中的盲点、痛点,可能导出的结果和下一步行动如下:

表4-2 历史数据测算可能的产出结果及优化行动
经过对历史数据的测算,我们已经完成了整个度量指标体系的设计,可以进入后续的工程实现阶段,从数据采集基础数据,根据公式加工计算指标,最终以可视化报表的形式向用户展示完整的指标体系。
五、总结与展望
本篇中我们提出了一种结构化的指标设计方法,借此构建出可计算、可支持用户决策的安全度量指标体系,该指标体系可以帮助安全团队评估整体安全工作的成效,及时发现短板进行改进。未来我们期望继续探索完善基于度量的数字化工作模式以及安全基础数据的治理与运营优化,探索更智能、更高效的信息安全团队工作模式。
作者:王方凯

本网站信息来源于网络,如有侵权,请联系删除。
本网站不保证信息真实性、有效性,仅供参考。请以最新法律法规和相关标准要求为准。