“知己知彼,百战不殆。”——《孙子兵法·谋攻篇》。
最真实的对抗源于战争,古人已经在最经典的《孙子兵法》中诠释了洞察力的重要性。攻守双方从始至终应当掌握尽可能多的敌我信息,通过侦察兵“斥候”侦查敌方动向,借助“军需官”掌握己方各种资源,与“谋士”在沙盘上不断推演,于己方薄弱处查漏补缺,预测和应对敌方的下一步行动。从某种意义上,战争开场打的是情报收集能力与战备组织能力,有了这两种能力,主帅方能对战场态势洞若明火,运筹帷幄。
“昔之善战者,先为不可胜。”——《孙子兵法·军形篇》
“不战而屈人之兵,善之善者也。”——《孙子兵法·谋攻篇》
攻防无非是两方博弈,即攻守方的成本与收益之间的平衡。攻击者为了牟利,需要经过精心准备攻击工具和资源,才能找到一个适合的目标入侵。而防守者——企业的安全负责人——应当创造条件使自己变得“不可战胜”。如果能事前对战场了然于心,又能将战备做得足够充分,攻击者事先无处下手,事中又步步维艰。这种情况下,攻击成本远高于攻击收益,攻击者很可能自然就知难而退,或转向其他目标,此围自然便解。可见,情报和战备做得好,可以最小的成本实现不战而屈人之兵。当然,安全团队根据什么情报对战场态势进行测绘,做什么针对性的战备,将成为此役成败的重中之重。
在整个企业安全运营的过程中,企业的安全负责人应当有自己的“斥候”,面向企业风险进行全面测绘。可由信息安全的基本分类学开始,针对资产、脆弱性和威胁三个维度进行度量。接下来我们针对这三方面进行详述。
资产可视度(Asset Visibility)是指安全运营者对己方资产及其各类属性的了解程度,知己重于知彼,知己难于知彼。企业资产纷繁复杂,传统场景中主要包括主机、操作系统、软件等。而现在随着云计算的大量应用,这些资产扩展到了虚拟机、云原生应用,以及多云和混合云场景下的各类虚实融合的资产;今年的SolarWinds事件预示着攻击者关注的资产还扩展到第三方供应链上的各类软硬件,如果不对其进行有效管理,此类事件将会层出不穷;此外,从己方资源管理角度看,广义的资产除了传统硬软件外,还包括人的要素(Human Element),因为大量的攻击是从社会工程、钓鱼邮件开始的,因而企业人员理应纳入到广义资产管理的维度中。
只有对域内的所有资产进行有效梳理,才能避免Shadow IT被攻击者利用而己方不自知的情景;此外,未来的资产可视度将不仅仅限于“看到”资产,还将“看清”资产,即资产的各类属性。比如,资产是否暴露在互联网上,资产的软件版本,资产是否存在脆弱性,以及资产与资产之间的关系图谱等等。安全运营者只有对这些资产看得足够仔细,才有可能在风险测绘时及时发现问题,并有效管理风险。
资产不可避免地存在脆弱性或漏洞,随着安全事件的不断公开,漏洞也会持续不断地发布,过去企业常规的手段是定期或不定期地进行漏洞扫描,得到漏洞公开消息或发现漏洞后及时进行修复。
但这种方式存在两个问题:
1) 这种方法只适用于已知漏洞的修复,对于未知漏洞,特别是大量的未知非通用漏洞,无法及时发现并修复。
2) 即便面向已知漏洞,修复所有漏洞也是几乎不可能的。在一个大型生产环境的系统,会出现大量漏洞,将其全部修复从人力成本和时间开销来看是相当困难的,更不用说某些关键服务是无法中断升级的。
事实上,尽管每年公开的CVE漏洞整体呈现增长趋势,且每年公开漏洞已经达到可观的一万五千个以上,但其中可以被利用(Exploitable)的漏洞仅为其十分之一,其余大部分漏洞很难被利用,如图1所示。
图1 每年漏洞变化图[1]
图2 当天公开即可被利用的漏洞
漏洞是攻方的战略储备,但只有漏洞利用才能被组装成攻击武器。虽然每年只有1000个左右公开的漏洞可被利用,但图2可见一半左右的漏洞在公开的当天就出现了漏洞利用[1]。因而,这五六百个漏洞将成为攻击者的最有力武器,利用时间差攻击存在1day漏洞资产。
所以漏洞管理的要义在于在有限的资源中集中力量,及时发现可被利用的漏洞,并及时修复。而对于尚无法利用的漏洞,可暂时跟踪观察。
总体而言,在未来的企业风险测绘中,漏洞可利用性(Vulnerability Exploitability)将成为漏洞管理中重要的优先级排序维度。
网络攻防的实战特性就要求了攻击链中每一步都是真实有效的,哪怕某一步执行异常,都可能造成最终的攻击不成功。新型的风险测绘将不同于以往的风险评估,简单定性地分析系统存在哪些潜在风险无助于企业安全团队做好战备防护,我们需要“实锤”地给出一条真实的攻击路径,复现整个攻击过程,唯有此才能说服企业安全团队确实存在安全问题,并且可以有效地指导如何进行加固处置。
在企业风险测绘中,威胁真实性是通过威胁路径体现的,其预示了攻陷的可行性(Breach Feasibility)。与资产、脆弱性不同,这是站在攻击者的视角考虑企业风险,因而攻陷可行性大部分是通过模拟仿真、安全测试的方法度量的。例如,渗透测试(Pen-Testing)、突破攻击模拟(Breach Attack Simulation,BAS)均为评估威胁真实性的有效手段。
基于风险测绘的结果,应当构建面向风险的积极战备体系。该体系是一个持续的风险治理闭环,包含了风险测绘、风险预测与风险消减三个环节,如图3所示。
图3 矢安科技攻击面管理方法论
风险测绘包含攻击面测绘与风险评估两部分。
在攻击面(Attack Surface)测绘方面,需综合考虑企业规模、IT体系架构与业务。包括流程与业务梳理与画像、Shadow资产发现、敏感数据发现、API识别、基于指纹的设备识别、供应链发现、SCA(软件成分分析)等方面,广义的资产测绘还包括人的要素,如对人员组织架构、人员的安全意识等进行测绘。
随着业务的发展,企业会出现异构的IT系统和服务,以及大量未纳入安全管理的资产(即Shadow IT),某些资产可能因为各种原因直接连接在互联网上,或对外暴露,造成了暴露面(或攻击面),例如在暴露在互联网上的物联网设备、公有云上的错误配置、第三方的代码漏洞等等。而相当一部分情况下,系统运营者对此一无所知,但这些死角成为攻击者侦查的始发站。Gartner将这部分资产及脆弱性的管理称为“外部攻击面管理“(External Attack Surface Management,EASM),其定义是部署用于发现面向互联网的企业资产、系统与关联脆弱性的流程、技术与可管理服务[2]。有意思的是,Gartner将EASM列入了安全运营的成熟度曲线,位置在非常早期。当然其在公有云场景下的错误配置、凭证暴露检查,与云安全态势管理(Cloud Security Posture Management,CSPM)有很多重叠,有一些技术已经可用。
即便抛开暴露面管理,大型企业尚有大量的资产、脆弱性有待梳理,而现有的IT管理系统无法应对如此异构、碎片化的资产管理,资产可视度无法得到保证;此外,现有的脆弱性评估系统、威胁与脆弱性管理系统(Threat and Vulnerability Management,TVM)并没有考虑到脆弱性的可利用性,简单给出漏洞严重程度无助于让安全团队在短时间内完成关键资产的安全加固。因而,Gartner提出了另一个新兴技术:网络资产攻击面管理(Cyber asset attack surface management,CAASM),同样也将其列入了安全运营的成熟度曲线,位置比EASM更成熟一些。CAASM通过API将现有的EASM、资产管理、脆弱性评估、TVM、甚至终端管理等系统进行融合,以统一的方式对外呈现资产、资产间关联、资产各类属性(包括脆弱性)等信息,清晰地展现资产可视度与漏洞可利用性。
攻击面测绘主要是面向资产与其脆弱性,讨论风险则需要再引入威胁要素,当然在事前的风险评估阶段主要是通过各类模拟与测试实现的。
在传统的风险评估环节,安全人员可通过安全测试、近源攻击、意识测量、弱点扫描、安全评估等手段,通过人工测试或工具化的方式,按需地获得当前目标系统的风险度量值。
但要考虑到安全测试等形式存在机会性,即基于人工的测试只能发现某条攻击路径是可行的,但无法证明这条攻击路径处理之后就没有其他攻击路径了,哪怕第N次测试发现了新风险也不能证明第N+1次就安全了。此外,动态变化的IT环境与安全策略,也可能导致整个环境的风险值处于动态变化过程中。只有持续、一致的风险评估,才有可能彻底确保整个系统的风险可控。例如,近年兴起的突破模拟技术(BAS)在测试点部署探针,持续模拟各类攻击,探针监控攻击是否奏效,从而有效、及时地发现潜在的安全配置失效或系统安全漏洞。
至此,整个企业的资产图谱、资产脆弱性与面临风险分门别类地呈现到了安全团队的桌上,接下来需要决策在有限的人力、时间约束下,如何尽快消减当前风险,这就需要预测每种风险的急迫度与重要程度。
风险评估主要是就攻击链的某点或某个片段(典型如BAS检测得到的结果)得出风险值,但在大型的企业场景,这样的风险隐患依然很多,企业安全负责人应当评估这些风险点或风险片段,如果它们能被攻击者所利用形成完整攻击链,那这些点或片段一定能互连为路径或子图。那么安全负责人要做的就是“Connecting the dots”,得到“最小阻力路径”,也就是攻击者能得手的成本最小路径。
推导“最小阻力路径”是站在攻击者视角,首先使用如红蓝对抗、沙盘推演或自动化攻击框架等技术,验证真实的攻击路径。然后基于攻击成本与攻击收益的博弈均衡模型,计算所有可验证的攻击路径中阻力最小的路径列表,安全负责人应重点关注列表靠前的攻击路径。
掌握战场态势,获知企业的风险,其目的还是有效进行战备,消减企业所面临的关键风险。因而,风险消减就应在预测风险的基础上,对“最小阻力路径”上的资产脆弱性进行缓解。
如果脆弱性是IT资产,那最彻底地就是对其进行安全加固,或者在动态部署安全策略进行临时防护;如果脆弱性表现在人员意识,则应及时启动教育机制,宣贯安全意识,并适时进行安全测试;而如果脆弱性是因为制度或流程,则应当启动相应机制,健全相关制度与流程。
风险消减的关键在于在攻击者发现风险并实施攻击之前,就快速响应处置完毕,因而非常考验企业的快速动员和战备能力。特别是大规模IT环境中的修复和加固机制,靠人工是完全不现实的,应当考虑通过自动化手段,如安全编排自动化响应(SOAR)机制,动态调用相应的剧本(Playbook),及时加固或下发安全策略,从而在全局快速保持一致,避免有资产遗漏或不及时更新而被攻破。
Gartner在自适应安全模型中应用了CARTA(持续自适应的风险和信任评估)机制,强调了以风险为中心进行预测、预防、检测与响应,如图4所示。其中预测环节中包含了“风险优先的暴露面评估”、“威胁攻击预测”、“系统基线与安全态势”,对应前文的风险测绘与风险预测;在预防环节中包含了“加固系统”与“攻击预防”、响应环节的“修复”、“策略变更”对应了前文的“风险消减”。
图4 自适应安全
类似的,NIST提出的Cybersecurity Framework(CSF)包含了识别、保护、检测、响应和恢复[3],识别对应了风险测绘与风险预测,保护与响应对应了风险消减,在此不做赘述。
这两种模型都是以风险为中心的闭环形态,当风险被消减后,还应在运行时持续进行风险测绘与预测。以攻防为核心,当攻击者可用的“最小阻力路径”出现时,就应当继续消减风险。只要攻击者无从下手,即便存在某些难以被了利用风险或不足以连成线的单点风险,也不足为虑。
古希腊的帕提农神庙里,镌刻着苏格拉底的一句名言:“认识你自己”。
图5 认识你自己
认识自己是非常困难的,认识己方企业的风险也是非常困难的,但站在攻击者的角度认识己方风险是一种可行的思路。
通过暴露面、攻击面管理有效测绘企业风险,通过安全测试与模拟攻击验证风险真实性与紧急性,通过自动化编排快速消减关键风险。以风险为中心、以攻防为核心形成企业安全运营的闭环。
[1] Gartner's Strategic Vision for Vulnerability Management, Gartner Security & Risk Management Summit, 2019
[2] Gartner, Hype Cycle for Security Operations, 2021
[3] NIST, Cybersecurity Framework, https://www.nist.gov/cyberframework