工业控制系统漏洞补丁应用策略研究
2021-09-23姜双林饶志波
周 磊,姜双林,饶志波
(北京安帝科技有限公司,北京100125)
0 引言
典型的工业控制系统(ICS)网络资产和企业网络资产之间存在着关键的差异[1-2],这导致漏洞修复的流程在ICS网络中与企业网中也存在明显的不同。应用安全补丁是网络安全既定计划的一部分,也是风险管理的一个重要步骤。企业的目标不是拥有完全修复补丁的网络资产,而是将风险管理到一个可接受的水平。当安全补丁是将风险降低到可接受水平的最有效率和最有效果的方法时,应该安装这些补丁。
工业控制系统的漏洞修复因其自身的特点,在实践中面临复杂性和可行性的挑战。首先ICS资产存在天然的安全缺陷。许多ICS网络资产缺少安全设计,漏洞频出,应用安全补丁通常会降低风险。其次,ICS资产处于严格隔离的网络。对于攻击者来说,ICS网络资产通常比企业网络的资产更难访问。第三,ICS的攻击可能导致极其严重的物理后果。许多ICS控制的物理过程有可能对人的生命造成损害,对环境造成破坏。第四,ICS资产的生命周期相对较长。大多数ICS网络资产和ICS本身都有静态的特点,与典型的企业网络资产和企业网络相比,很少发生变化。
然而,数字化转型的加速,网络连接泛在化、工业设备数字化、生产流程智能化、大容量、低时延、高速率等数字时代的新兴技术特征,正在加速变革传统的漏洞管理态势。补丁应用作为ICS漏洞管理过程的关键环节,相比传统IT漏洞的修复面临更大的困难和更严峻的考验。
本文的主要贡献是总结了当前CVSS评估系统在工业场景下的不足,梳理了当前围绕ICS漏洞补丁应用研究的四种主要决策方法,最后结合工作实践,提出了实践中可行的ICS漏洞管理方法。
1 ICS漏洞管理流程回顾
在信息系统漏洞成为战略资源的当下,对漏洞的全生命周期管理也成为化解信息系统网络安全风险的重要手段。目前国际标准化组织、各国网络安全主管部门、各大研究机构和大型网络安全企业,均出台了相应漏洞管理的标准和指南,如ISO的《ISO/IEC 30111:2019信息技术-安全技术-漏洞处理流程》[3];美国NIST的《NIST SP 800-40第2版 创建补丁和漏洞管理程序》《NISTIR 8011(Volume 4)安全控制评估的自动化支持:软件漏洞管理》[4];英国国家网络安全中心发布的 《NCSC漏洞管理指南》[5];SANS发布的《实现漏洞管理过程》[6];卡耐基梅隆大学的《漏洞管理-V1.1》[7];美国能源部桑迪亚实验室的《关于进行安全漏洞评估的规范指南》[8];美国NIST下属国家网络空间安全卓越中心的《网络安全卫生:修补企业漏洞》[9];中国的《GB/T 30276-2020信息安全技术网络安全漏洞管理规范》标准等。这些标准规范对漏洞披露到漏洞修复补丁后的活动以及相关利益方给予了指导,具有积极的意义。但对于工业控制系统而言,这些漏洞管理的过程似乎无能为力,无法突显OT域漏洞管理的特殊性。而美国国土安全部下属CISA发布的漏洞管理流程,更加适合工业控制系统的漏洞管理。该流程分为以下四个阶段,漏洞修复是其重要一环。
(1)挖掘阶段:恶意的黑客(坏小子)、漏洞赏金猎人(私营机构的研究者)、官方的研究者(DHS研究人员)和设备厂商自己的研究人员分别进行的漏洞发现活动;
(2)初始披露阶段:各种形式的披露(涉及赏金计划者、会议演讲、邮件列表、产品安全响应团队、安全事件响应组织、CISA等官方机构),CVE编号组织分配编号等;
(3)分析和协调阶段:分配漏洞编号后,归类验证、正式披露或发布、严重性评估(CVSS评分)等;
(4)修复阶段:补丁或更新的发布、定位受影响系统、检测是否有在野利用、其他缓解措施公布等。
即使这个规范,对ICS漏洞的修复也不具有可操作性的指导。
2 通用漏洞评分系统(CVSS)的局限
CVSS[10]作为IT域漏洞的严重性评级指南,可以指导企业做出修复的决策。但在OT域是否可以同样应用CVSS这个标准评分系统存在疑问,在目前尚不存在用于漏洞评分的更科学的标准指标的情况下,需要明确管理IT和OT系统时CVSS评分系统的优缺点。
文献[11]对现行CVSS评分系统在ICS/OT域中的适用性进行了分析。CVSS明显的优势是其定义了一套漏洞的词汇、术语和评分准则,目前它是全球通用的为数不多用于实践的标准。一方面,在讨论漏洞时,可以据此以同一种语言进行交流,而不论漏洞所属的分类、应用和行业等。另一方面,CVSS提供需要缓解的现有风险的指标。无论是否有可能对任何提到的漏洞(CVE)进行补救,其存在都表明了不应忽略修复/修补,通过补偿性控制减轻风险,以及至少进行管理/记录风险。当将其运用于OT域时,CVSS的不足或局限性也逐渐暴露出来。
2.1 CVSS强调的是漏洞的技术严重性
用户关心的是脆弱性或漏洞给他们带来的风险,即漏洞被利用后产生的影响,或他们应对漏洞的速度。恰恰工业网络风险考量的一个重要因素就是影响。一般而言,严重性仅应作为漏洞响应优先级的一部分。人们可能还会考虑利用漏洞的可能性,或者是否可以公开利用漏洞。漏洞利用代码成熟度向量(以时间度量)试图解决漏洞利用的可能性,但默认情况下总是假设漏洞利用广泛,这是不现实的。
2.2 CVSS分数不考虑漏洞利用链
CVSS分数由三个度量标准组构成:基本指标、时间和环境。大多数已发布的CVSS分数仅报告基本指标,该指标描述了随时间变化的漏洞特征。时间组包括漏洞利用代码的成熟度和独立于特定环境的可用补救措施。环境指标只能使用对易受攻击的系统所在环境的了解来评估。为发现的漏洞创建CVSS的研究人员通常不考虑环境得分或将其标记为“零”,因为他们对每个单独的环境都不熟悉。为了考虑环境评分,每个受影响组织中的安全分析师都需要评估其环境并修正评分。
2.3 CVSS的度量标准组未关联资产价值
CVSS考评的是漏洞的严重等级,不是风险评分。环境分数可以通过考虑本地缓解因素和配置详细信息来修改基本分数。如果利用了此漏洞,它还可以调整对资产的机密性、完整性和可用性(CIA)的影响。但是,它仍然是衡量严重性的标准,并且没有考虑暴露资产对组织的价值,这是关键的风险因素。
2.4 CVSS无法支撑漏洞修复决策
更客观衡量标准的两个因素是漏洞利用的潜力和资产的关键性。使用CVSS对漏洞的响应进行优先级排序可能会看到这样的结果:CVSS得分为10的漏洞升至优先级列表的顶部,即使它们可能影响的资产只会造成很小的损失。如果它们受到损害,则会对业务产生影响。高分数也归因于漏洞,即使当时犯罪分子没有在野外利用漏洞。同时,CVSS分数为5的漏洞在优先级列表中排名较低,即使它们可以暴露高价值的资产并且正在被犯罪分子积极地用作武器。结果,首先修复了得分为10的漏洞,使犯罪分子有充裕的时间利用得分仅为5的漏洞。
修补问题过去通常由供应商及其批准此修补程序的能力来决定。如今,即使解决方案已经存在并且可以在许多关键环境中使用,从而在很大程度上解决了修补OT资产的技术难题,但是,ICS漏洞报告持续增加,如何对ICS漏洞管理活动进行分类和优先级排序,CVSS系统显然是无能为力的。
3 ICS漏洞补丁应用策略的研究
ICS漏洞逐年增加积累,是否需要修复、何时修复、修复顺序如何确定等问题依然困扰着ICS漏洞管理相关方。相关研究机构也进行了有益的尝试与探索,典型的就是基于决策树的ICS漏洞补丁应用方法。
3.1 SSVC方法
文献[12]提出了一个可测试的特定于利益相关者的漏洞分类方法——SSVC,它避免了通用漏洞评分系统(CVSS)的某些问题。SSVC采用针对不同漏洞管理社区的决策树的形式。应用SSVC的结果是得到一个优先级决策,如图1所示。文献[12]将漏洞修复分为四个优先级:推迟、排期/计划、带外和立即。各优先级下开发人员和应用者的决策如表1所示。
表1 各优先级下开发人员和应用者的决策
图1 为补丁应用者提出的漏洞优先级决策树[12]
SSVC方法是根据漏洞被利用带来的风险来对漏洞进行优先级排序。修补成本(风险方程的另一面)不在该文讨论的范围之内。但修补成本至少包括三个方面:首先也是最明显的是应用补丁的交易成本。向系统管理员付费以开发或应用补丁,并且这可能还需要其他交易成本,例如更新补丁需要停机时间。其次是失败的风险成本,如果补丁引入了新的错误或漏洞,同样会造成损失。回归测试是开发人员为此费用支付的一部分。最后应用补丁可能会产生运营成本,代表功能的不断变化或增加的开销。成本考量可能是决策者在一个优先级类别(计划的、带外的等)内安排工作的一种方式。
由于漏洞管理中有许多不同的利益相关者,因此文献[12]力求避免采用千篇一律的解决方案。在SSVC方法中,为两个利益相关者角色开发决策树:补丁开发人员和补丁应用者[12]。在CERT协调漏洞披露指南中,这些角色分别对应于供应商和部署者角色。
3.2 改进的SSVC方法
资深的ICS/SCADA网络安全专家、Digital Bond和S4 Events的创始人Peterson对SSVC方法进行了改进[13]。其创建了ICS-补丁项目以帮助ICS资产所有者决定何时修补漏洞,该项目有两个主要目标:一是根据每个安全补丁对降低风险的贡献,对ICS资产所有者的哪个资产在什么时间修补做出决策;二是实现决策的自动化,即不需要人工交互,只需要在设定好ICS补丁修复过程后,即可为每个可用的安全补丁提供推荐的修补决策。自动化并不意味着自动应用安全补丁,ICS资产所有者可以选择对选定的安全补丁实施进一步分析。ICS资产所有者变更控制过程应该驱动安全补丁的应用。
Peterson改进的ICS补丁修复方法使用决策树来选择“尽快(ASAP)”“推迟”“计划”应用ICS网络资产上的安全补丁。决策树中的每个节点/决策点将ICS补丁过程移动到更接近补丁应用程序决策的位置,如图2所示。
图2 产生直接影响的决策树[13]
除了ICS网络资产的一个决策点值之外,所有的决策点值都是静态的,当网络资产被放入资产库时,很少发生(如果有的话)更改。技术影响决策点与正在修补的漏洞有关,CVE的CVSS评分用于将其设置为高、中或低值。这使得何时修补、修补什么的自动化问题变得更简单。
此ICS补丁决策树可以在资产库/资产管理产品、漏洞管理应用程序或单独应用程序中执行。ICS补丁决策树将产生针对每个网络资产/安全补丁对的如下三个结果之一:
(1)推迟:不要应用或计划在网络资产上应用安全补丁以降低风险(资产所有者可以选择应用安全补丁作为网络维护的一部分,以保持系统的支持)。
(2)排期(计划):安全补丁应在下一个预定的补丁窗口期应用于网络资产。对于一些ICS,这可能是每年或每半年发生的计划中断。对于其他类型资产,可以选择按季度或月修补。
(3)尽快(ASAP):以安全的方式尽快在网络资产上应用安全补丁。
Peterson的改进方法中的决策结果有三类,而SSVC有四类。他将带外和立即的SSVC类别合并为尽快(ASAP)。相应地,对暴露、漏洞利用、任务影响、盗用、功能安全影响、安全态势改变等决策因素也作了简化。
3.3 基于IEC 62443-4-1标准的决策树方法
在IEC 62443-2-3中对补丁生命周期规范了11个不同的状态[14],不同的状态涉及资产所有者、产品供应商,分别是可用的、测试中、未批准、未应用、已批准、已发布、内部测试中、未获得授权、已授权、有效的和已安装。
漏洞的补丁开发完成后,就可以启动交付过程了,实际上就是系统地评估这个软件补丁,以确保它确实解决了所发现的安全缺陷。其次,保证它不会引入回归,也不会损害任何其他系统属性,例如安全性或可用性 (更新可能会导致严重的操作中断)。新软件与相关组件、操作系统的兼容性(包括操作系统更新包)也应进行评估。所有的软件补丁评估过程都应该被适当地记录下来。基于IEC 62443-4-1指定的软件更新交付因素,图3显示了一个建议的软件更新交付决策树[15]。
图3 软件补丁评估和交付策略决策树[15]
在实践中,企业通常对要评估的补丁进行分类,并在给定的时间段内交付。首先,对发现的漏洞的潜在影响进行检查。此时众所周知的常见漏洞评分系统(CVSS)可以派上用场。根据计算出的评分,确定潜在的影响。该分析已经在评估安全问题管理阶段执行。最后,应该考虑部署系统的数量。
根据文献[16]的研究,在超过10万台工业控制设备中,50%的设备在发现漏洞后60天内进行了修补。正如文献[17]的软件补丁测试所宣称的那样,优先级和时间安排经常是冲突的。
3.4 Scadafence的决策工具
以色列工业网络安全企业Scadafence[18-19]开发了一个基于决策树的工业漏洞决策工具,将漏洞和补丁对资产的影响程度,通过回答相应问题进行评分来综合判定。漏洞信息方面,设计了四个方面的问题:即时影响、其他影响、暴露情况、利用的可能性。每个问题对应三个答案,得分为1~3分,得分高就意味着不打补丁的风险高。而在补丁信息方面,设定了五个方面的问题:耗时、错误、稳定性、范围和恢复,每个问题有三个答案,分别计1~3分,得分高意味着修补的风险高,参见图4。
图4 软件补丁评估和交付策略决策树[18]
漏洞和补丁两项共计九个问题,分别累计评分。如漏洞项,暴露得分3,利用的可能性得分2或3,无论补丁项评分多少,都将得出现在修复的决策;如果漏洞项得分10,补丁项得分不超过7,则得出现在修复的决策;如果漏洞项得分4,而补丁项得分是7分及以上,则做出记录漏洞,不修复的决策。
3.5 几类决策策略/工具的比较
上述四种漏洞补丁修复决策的方法中,从决策要素、决策过程、复杂程度、决策结果以及最终的可操作性来看,都有各种的优点和不足。SSVC方法和改进的SSVC方法总体上看仍然属于定性的方法,决策结果的落实仍然存在不确定性。而基于IEC 62443国际标准的决策方法和Scadafence公司的决策树方法,总体上可归为定量的方法,结果是有明确的实现时限的。表2所示为四种ICS漏洞补丁修复决策方法的比较。
表2 四种ICS漏洞补丁修复决策方法比较
4 ICS漏洞修复的思考
在当前工业控制系统的网络安全探索和实践中,最困难的问题就是对OT域的设备,特别是那些控制系统设备(普渡模型中0级和1级的设备),不敢碰、不能动,即使明明知道存在各种老旧的、历史遗留的漏洞、脆弱点。其实这暴露出的是IT与OT/ICS之间巨大的人员、技术、过程和文化的差异。在当前数字化转型的驱动下,IT与OT融合加速,IT网络安全和OT网络安全也呈现融合发展之势。聚焦到OT域安全漏洞的修复问题上,核心问题就是ICS设备应用补丁通常伴随较高的成本和代价。比如应用补丁可能会导致设备被“砖化”或导致同步问题,还有可能导致停机,而这正是用户想要通过打补丁防止的。即使前述基于决策树的方法形成了在一个确定的时间给一个确定的设备打上安全补丁的决策,但现实中仍然会让应用者举棋不定。基于决策树的方法目前还处于理论探索,有待实践和时间的检验。鉴于此,在常态化的OT/ICS漏洞管理中,坚持一些业界公认的安全实践可能更加有效。
4.1 增强资产的可见性
最基本的管理,就是维护一个自动的、最新的、被动和主动的最全面的资产清单,即增强对OT资产的全面可见性。“你无法保护你看不到的东西”,资产清单应该不只是一份资产清单。一个强大的资产库管理解决方案是一个成功的漏洞管理程序的关键,需要掌握每个资产的详细概要数据(如资产对操作的关键性、资产所在的层、是否远程可访问等)。关于每个资产的关联信息越多,脆弱性分析和优先级划分就越强。
4.2 及时标识已知漏洞
优先考虑漏洞,了解设备对网络威胁的暴露程度,设备和漏洞的关键程度,以及补丁的有效性。漏洞扫描在OT中比在IT中面临更大的挑战,几乎不可行。代替漏洞扫描,利用基于代理的OT系统管理方法是最好的选择。实时覆盖资产及其漏洞,保护最关键的OT资产才会多一份保障。
4.3 建立漏洞与资产的映射
漏洞关联到资产,通过将漏洞披露源与资产清单匹配来将漏洞映射到资产。避免扫描漏洞,以防止因工业设备不稳定而停机。为了优先修复漏洞,组织需要进行360度的风险评估,包括超出CVE或CVSS的综合风险评分。不能仅停留在识别潜在的风险和弱点的层次,应以最有效的方式推动最大风险因素的缓解行动。
4.4 有效的隔离/微隔离
隔离脆弱的设备,在发现哪些设备易受攻击之后,考虑将它们放在防火墙后,将它们的接口限制在网络上,以减少攻击面。有效的物理或逻辑隔离措施/微隔离措施,可阻止可能的攻击者横向移动或攻击成果最大化的态势,从而遏制攻击行动,为防御者赢得时间。
4.5 监测已知漏洞的利用情况
由于漏洞披露、补丁开发、测试验证、应用补丁等几个关键阶段存在较大的时间差,预测和监测漏洞后利用也是一项重大考验[20]。检测漏洞利用,有些设备将暂时或永久地保持未修补的状态,需要部署技术手段方法来监测网络漏洞的利用,同时建立规则或策略来阻断漏洞利用的入口和通道。通过威胁情报共享、网络流量监测分析等手段,监测相关漏洞被利用的动态,及时调整和修正防范措施。
5 结论
工业控制系统的漏洞管理绝不是一个简单的过程,或者一个标准、规范或指南可以解决的。核心的本质问题——成本,无论是时间成本、空间成本、经济成本、声誉成本,都需要一个权衡过程。这也是上述漏洞修复策略无法回避的一个问题。无论是SSVC方法、改进的SSVC方法、基于IEC62443国际标准的方法,还是Scadafence的决策工具,均是提供一个可行的基线来改进和完善一个ICS漏洞应用补丁的优先排序方法。每种决策方法也都有其优势和局限性。当下,充分考量具体行业甚至业务应用的特殊性,坚持工业控制系统的一些最佳安全实践,不失为务实可行之策。未来关于ICS/OT漏洞补丁应用策略的研究,仍需关注于进一步的需求收集、决策过程可靠性的进一步测试,以及扩展到补丁应用程序和补丁开发人员之外的其他类型的利益相关者。特别是要借鉴长期以来OT侧系统工程的技术和管理实践,来推动网络安全融合态势下ICS漏洞的管理。