【牛人访谈】工业控制系统威胁建模的探索与实践
星期一, 六月 1, 2020
了解威胁建模框架、方法和工具可以帮企业更好地识别、量化和排序面临的威胁。如今,市场上已经拥有各种各样的威胁建模框架和方法,这些模型侧重点不同,其中一些模型针对特定安全技术领域,例如,工业控制系统。
为此,我们有幸邀请到了多年来专注工控安全领域研究的天地和兴工控安全研究院院长来和大家详细讨论下工业控制系统威胁建模的现有水平、各个建模方法的共同点,以及威胁建模在工业控制领域如何发挥作用等问题,旨在为读者采购或者构建威胁模型时有所参考。以下为天地和兴研究院院长的经验分享。
摘要:本文概述了威胁建模的概念、方法、主要成果和目的;对OT场景下围绕工业控制系统的威胁建模技术进行了分析和比较;最后从ICS威胁建模的实践应用角度进行了深入思考。
1.威胁建模的概念
威胁建模是一种结构化方法,用来识别、量化并应对威胁,利用抽象的方法来帮助防御者思考、评估、呈现风险。威胁建模允许系统安全人员向管理层传达安全漏洞的破坏力,然后定义防范或减轻系统威胁的对策,并按轻重缓急实施补救措施。
威胁建模是一个识别、枚举潜在威胁的过程,例如结构漏洞或缺少适当的防护措施,并可以确定缓解威胁的优先级。根据系统的性质,威胁建模的目的可能是列举攻击者的信息,最可能的攻击向量以及攻击者最需要的资源,为防御者提供需要哪些控制或什么样防御的系统分析。
2. 威胁建模的主要方法
从概念上讲,威胁建模实践来自一种方法。通常,威胁建模可使用以下几种方法之一独立实现:以资产为中心、以攻击者为中心、以风险为中心和以软件为中心。常见的威胁建模方法有,STRIDE方法、PASTA方法、Trike方法、VAST方法、CTSA方法、OCTAVE方法、安全卡方法、hTMM方法、LINDDUN方法、CVSS方法、攻击树方法、量化威胁建模方法等。威胁建模方法用于创建系统的抽象,潜在攻击者的概况,包括他们的目标和方法以及可能出现的潜在威胁的目录。目前已经开发了许多威胁建模方法,当然并不是所有的方法都是全面的。有些专注于抽象并倡导更细的粒度,有些则以人为中心。有些方法专门针对风险或隐私问题。综合使用威胁建模方法有利于创建更强大、更全面的潜在威胁视图。
3. 威胁建模的主要成果
早期的基于IT的威胁建模方法基于克里斯托弗·亚历山大(Christopher Alexander)于1977年首次提出的架构模式概念。1994年,爱德华·阿莫罗索(Edward Amoroso)在他的《计算机安全技术基础》一书中提出了“威胁树”的概念。同一时期,NSA和DARPA独立进行了类似的工作,以结构化的图形来表示如何对IT系统进行特定攻击。1998年,知名密码学家布鲁斯·施耐尔(Bruce Schneier)在他的题为“迈向安全系统的工程方法”的论文中发表了他利用攻击树对网络风险进行的分析。1999年,Microsoft网络安全专业人员Loren Kohnfelder和Praerit Garg开发了一种模型STRIDE(分别表示欺骗身份、篡改数据、抵赖、信息泄露、拒绝服务和特权提升),用于考虑与Microsoft Windows开发环境有关的攻击。2003年,引入了以运营为中心的威胁建模方法OCTAVE (运营关键威胁、资产和漏洞评估)方法,重点是组织的风险管理。2004年,Frank Swiderski和Window Snyder撰写了Microsoft的“威胁模型”,他们在其中提出了使用威胁模型创建安全应用程序的概念。MITRE公司2013年开发的一个威胁分析项目ATT@CK,此后每3-6个月对ATT&CK更新一次,经过持续的更新,ATT&CK已经成为一个威胁模型或威胁的知识库。2014年,Ryan Stillions提出了以不同的语义级别来表达网络威胁的想法,并提出了DML(检测成熟度级别)模型。2018年3月,美国国家安全局/网空安全产品与共享部门(NSA/CSS)发布网络威胁框架第1版 (NTCTF_v1),作为国家情报总监网空威胁框架的技术扩展。其中尤以ATT@CK和NSA/CS框架最为业界关注和认可,这两个威胁框架均继承并扩展了网络攻杀链的要义,形成了相对完备的知识库体系。
4. 威胁建模的目的
威胁建模的结果提供了一种通用语言,来描述和传达网络威胁活动相关信息,通过对威胁动作的细粒度分解,实现对威胁的标准化的描述,从而使网络威胁分析和相关信息的分享更高效。作为刻画威胁活动的有效方法,可辅助对威胁行为体、攻击战术、技术和过程(TTPs)进行描述和评价,从攻击视角为防御体系建设提供比较全面和抽象的参考。
威胁建模可以回答诸如“可能针对特定资产的潜在威胁有哪些?”,“为什么针对特定资产存在威胁?”,“最有可能受到威胁并使用威胁进行攻击的资产在何处?”,“这种威胁如何发生”,“何时这样的威胁可以成功地瞄准资产?”和“谁可能对资产感兴趣?”这样的问题。威胁建模就是寻找可能的“不良事件”。
随着ICS威胁态势的变化,研究者发现IT场景下的威胁模型明显不适合描述OT场景的威胁,ICS威胁建模的驱动力不断增加。一方面威胁模型作为风险模型的基础,威胁标识是风险评估的前提,这也是满足合规需求的动因。另一方面,对威胁进行量化或测量的需求,特别是OT场景下可能对财产、人员造成的损失,这是与IT安全风险完全不同的后果。但是面临的挑战依然艰巨,缺少合适的工具、相关的资源(时间、资金)和专业的指导等等。ICS威胁建模的并不是那么被接受并实施,存在一定的不确定性(如何体系化、如何可扩展、用什么样的工具(微软的建模工具,威胁矩阵) ),加之过程的时间成本极高,所以ICS威胁建模需要在持续的威胁猎杀和特定方法的研究中不断演进、成熟和完善。
1. STRIDEPP(ICS-STRIDE)
工业网络安全厂商Dragos的研究人员对STRIDE模型进行改造,增加“物理上的拒绝服务“和”物理损害”两个维度的描述,以适配工业网络的场景,由此形成了STRIDEPP模型。
2. DREADE (ICS-DREAD)
DREAD是用于风险评估的计算机安全威胁系统的一部分,该系统以前曾在Microsoft使用,尽管OpenStack和其他公司目前正在使用,但DREAD已被其创建者放弃。在工业网络场景下,安全研究人员增加了“环境影响”维度的描述,形成了DREADE模型。
3. PERA模型(Purdue企业参考架构)
PERA模型是大多数主要ICS系统的纯功能描述。每个级别可能对应一个安全区域,该安全区域具有系统、网络和应用程序安全控件的某些边界。而且,PERA清楚地定义了在不同级别之内和之间使用的协议类型,这使得对系统、网络和应用程序的所有上述组件的行为进行规范化变得更加容易。 PERA适用于小型ICS系统,也可以应用于ICS系统的重复单元中。 PERA存在明显局限性,原因就是它通用的高级模型,很难依靠PERA来进行ICS系统的完整过程建模。
4. BLACKBOX-layered(ICS-SANS)
威胁建模是供应商和客户可能需要但又可能避免的冗长而复杂的过程。业务利益相关者可能会提出一个尖锐的问题,即“流程已经存在很长时间了,并且一切都很好,为什么我们需要经历这些复杂且代价高昂的威胁建模流程?”最终的答案将是让他们看到威胁演变为事件所造成的后果或损害的代价!通过回答约定问题以识别任何威胁“什么,为什么,如何,谁,何时,何地”,能够使用更简单的方法创建威胁模型。下图显示了建议的威胁建模步骤和详细信息。
图1 系统建模与攻击面
威胁建模步骤如下:
威胁矩阵=使用的攻击域(Z)||生命周期阶段(Y)||威胁瞄准的目标(系统/层级/组件X)
由于ICS系统复杂且难以进行全面的威胁建模,而Blackbox分层方法的价值在于减少研究攻击的无限组合,并且仅关注在任何目标区域中可能到达的攻击面。威胁建模非常灵活,并且在许多类别中都很有帮助,可以根据威胁的目标选择三类威胁建模,并确定威胁的级别是高还是中。确定威胁的类别是基于目标的,目标可以是完整的体系结构,特定的服务或一个系统(组件)。因此,将能够确定所使用的方法,是否需要更改原理、战术或技术。根据Blackbox和STRIDEPP方法,发现威胁的重点将放在攻击面(初始突破)上,仅选择适用于目标或非目标攻击的S(欺骗)和T(篡改)。威胁建模配置应包含构建Blackbox的系统模型、范围和生命周期。通过定义威胁级别,最终可以创建威胁矩阵。
5. MITRE的ICS威胁模型(ATT@CK for ICS)
MITRE的ATT&CK框架正在成为网络安全行业针对攻击者行为进行分类的标准。ATT&CK作为组织机构内不同部门间共享信息、协同工作和构建必要检测与响应流程的统一分类方法,也是认知和理解网络威胁的框架、工具和方法论。2020年1月初,MITRE为其ATT&CK提出一个针对ICS系统的知识库。ATT&CK™for ICS是一个知识库,用于描述攻击者在ICS网络中活动时可能采取的行动。该知识库可更好地呈现和描述目标被攻陷的对手的行为。ATT&CK for ICS的核心是威胁矩阵,该矩阵提供了与ICS系统进行攻击的已知威胁行为体相关的TTP概述。该威胁矩阵概述了适用于ICS的ATT&CK知识库中描述的TTP相关的7类资产、10个攻击组织、17个恶意软件、11项战术和81项技术,旨在帮助关键基础设施和其他使用ICS的组织评估网络安全风险。ATT&CK™for ICS最大的优势是它把ICS攻击者可能造成的损害结果及其达成手段做了全面展示,这也正是ICS系统不同于IT网络的特别之处。
MITRE首席网路安全工程师Otis Alexander认为,ATT&CK™for ICS试图利用ATT&CK for Enterprise对攻击者的行为进行分类,并强调不能忽视攻击者经由IT或企业系统入侵的实际。而对于ATT&CK™for ICS框架的使用,他提到可用于攻击模拟、行为分析、网络威胁情报、防御差距评估、SOC成熟度评估、故障场景开发、攻击溯源以及安全教育培训。
表1 ICS的ATT&CK的威胁矩阵
表2 不同威胁模型的主要特点
选择哪种方法最适合项目,需要考虑是否要针对任何特定领域(风险,安全性,隐私),执行威胁建模的时间,在威胁建模方面的经验,利益相关者的参与程度。表2总结了每种威胁建模方法的主要特点。这些方法都可以在敏捷环境中使用,具体取决于运用的时间范围和重复建模的频率。
1. ICS威胁建模成果的主要应用对象
ICS威胁建模的直接受益对象,主要有四类角色,分别威胁情报分析师、威胁狩猎者和IR小组、红队和CISO。威胁情报分析师利用此标准语言进行报告和分析。例如,在ATT&CK for ICS之前,对于描述APT33与MAGNALLIUM,只以说二者相关联,无法准确清晰表示这种关联。ATT&CK for ICS建立了一种通用语言来帮助分析师更好地理解威胁行为,而不是特定的指标或网络异常。威胁狩猎者和IR小组利用枚举的威胁行为库作为ICS搜索和ICS应急响应工作的一部分,大大提高工作效率。红队可模拟已知组织的威胁行为,以支持蓝队网络防御的开发、测试和验证。这些活动增加了防御者的信心,也发现可能需要额外关注的缺陷。CISO或者SOC负责人利用红蓝对抗的结果来帮助制定防御策略并确定网络安全计划的优先级,同时也有利于与管理层进行积极有效的沟通。
2. ICS威胁建模逐渐得到业界的价值认可
威胁建模专家Adam Shostack指出,“威胁建模是集中建设安全防御的关键。如果没有威胁建模,您将永远在玩“打地鼠”的游戏”。不同的威胁建模方法,有些通常单独使用,有些可以与其他方法结合使用。作为ICS威胁建模的主要成果,ATT&CK for ICS一经推出,就得到像CyberX、Dragos、Otorio、Fireeye等安全厂商的积极评价和认可,目前在他们的相关威胁分析报告中得以应用。ICS威胁模型的直接价值体现在三个方面。
标识威胁。协助识别、枚举、交流和了解威胁和缓解措施,以保护应用程序资产。它有助于产生安全性改进的优先列表。威胁建模可以在计划、设计和/或以后的功能实现阶段进行。威胁建模不仅使团队可以更好地了解产品,而且还可以帮助团队更好地了解应用程序正在使用的各种组件。这些知识有助于了解对产品的正面和负面影响。
管理风险。风险可以采取不同的形式,并且可以来自组织内部或外部。IT安全是推动大公司战略的关注点之一,其中包括违规风险,数据泄露,基础设施中断,法律处罚等。信息安全法规法规,无论国外还是国内,现在比以往任何时间都严格。例如,欧盟实施的通用数据保护条例(GDPR)。不合规的组织可能面临巨额罚款。威胁建模就可以发挥作用,以解决所有潜在的威胁和更高级别威胁的根本原因。
辅助决策。威胁建模可以帮助使产品安全可靠,可据此提出防御技术改进建议。利用流程中所有可用的信息,威胁模型可以做出合理的安全决策。如果按照规范进行操作,它可以为所有安全产品提供清晰的视图。至于威胁模型是否有助于产品能力的改进有待实践检验,但相关厂商的尝试已经展开,这主要取决于组织内部如何综合考量安全性以及产品团队的目标。
3. ICS威胁建模方法的“殊途同归”
前述五种ICS威胁建模方法,其关键步骤均是要精准描述目标系统、明确目标的范围、确定模型的类别、找出所有威胁、创建威胁矩阵,在这一过程中就是要解决“WHAT”、“WHERE”、“WHEN”、“WHO”、“HOW”的问题。通过表示上下文来帮助防御者识别系统,回答“ WHAT”的问题,从而可以确定威胁建模的目标对象,然后限制范围以确定弱点是否在自动化过程中,系统、子系统或供应商,网络协议甚至组件。下一步将以“黑盒子”的身份来划定界限,以回答“ WHERE”问题,这将有助于识别包括通信、人员、硬件、供应链和物理组件在内的交互。有时,范围可能仅集中于系统生命周期的一个阶段来定义威胁建模中的“WHEN”问题,这将导致“ WHO”正在执行每个步骤。“ HOW”的安全专家将确定每个级别的深度,最后创建所需的威胁矩阵。正所谓殊途同归,黑盒分层的方法和ATT@CK的方法,均输出了细颗粒度的威胁矩阵。
而从评价建模方法的优劣指标来看,以威胁呈现、可扩展性、适用性等来观测,黑盒分层的方法和ATT@CK的方法已经相差无已。从体系化防御的角度来看,找到威胁只是第一步,要防御威胁的发生或者检测到正在进行的威胁,仍然是一项复杂物系统工程。内部团队可以管理ICS系统运行环境中的许多威胁。但是,更复杂的程序需要特殊的技能、能力和人员,特别是内部入侵者的威胁才是真正的挑战,需要对概念、操作和技术有特别的理解。
4. ICS威胁建模具备“双刃剑”特性
值得一提的是,ICS威胁建模的方法论,成为防御者认知ICS威胁、解构ICS威胁向量、发现威胁、呈现威胁的有力武器,其作用和价值为业界所高度认可。作为防御者,这个模型对攻击TTP的细粒度分解,特别适合威胁检测产品的特征标定、检测点位设定和策略规划。站在攻击者的视角,这个建模过程涉及的方法和输出结果,同样为其提供了完善攻击链、丰富武器库、逃避检测机制、对抗追踪溯源等活动的有力支撑。这种持续对抗博弈的能力较量,必然会加剧双方技术制高点的争夺态势。从目前的实践来看,在IT域的威胁模型,MITRE的ATT@CK框架和NSA的威胁框架为主导的趋势已经比较明显,相关安全厂商的产品和服务已经适配了这种威胁模型。而在OT域,MITRE刚刚推出的ATT@CK for ICS也得到了部分工业安全厂商的认可与跟随,未来相应产品的适配肯定会跟进。
5. ICS威胁建模的开放性和动态性
ICS威胁建模不是一个包含任何人都可以开始到结束的有明确步骤的程序过程,但它具有开放、动态的属性。开放性体现在威胁模型可吸纳安全厂商、设施运营方、供应链等多个渠道的知识库更新和追加,比如ATT@CK for ICS已经得到Dragos、GE、Otorio及一些研究人员的支持,对相关的TTP进行补充和完善。动态属性归因于技术的发展变化,比如AI/ML、5G、IT与OT的加速融合,根本在于新技术被攻击方和防御者同时都积极应用而对攻防态势、力量对比带来的变化。这种变化必然催生威胁模型的修正、更新和演进。比如,AI/ML在企业目标系统中的应用,就必然考虑对AI/ML系统进行威胁建模,这提出了新思维方式和新问题。数据科学家和安全工程师都应对此进行评估,因为这将成为他们进行威胁建模讨论和缓解优先级划分的指南。另一方面,如果攻击者采用了融合AI/ML技术的TTP,那在呈现和找出融合了AI/ML的TTP并提供缓解措施时,则需要提供有关特定攻击TTP的详细信息以及用于保护产品和服务免受这些威胁影响的缓解步骤。这对威胁建模也提出了新的挑战。
6. ICS威胁模型存在明显的局限性
无论是ICS的哪一个威胁模型均有其优点与不足,而且其与行业(特别是关键信息基础设施领域)场景产生关联,实际使用时可能需要裁剪。威胁模型是风险模型的输入,是风险度量的关键。威胁模型是依据保护对象的系统模型构建的。如何评价威胁模型?有什么标准?据此提出的防御技术有效性如何?还有待实践的检验。比如,用规范性、覆盖度、具象性评价ICS威胁模型是否足够?ICS威胁模型在支撑风险度量的评估和定义方面,需要用适用性、可行性、可采纳性、可扩展性、信息共享能力等维度来评价。在ICS威胁模型用于支撑网络攻防演练方面,桌面推演、红蓝对抗、混合演习对复杂度、严谨性、完整性、覆盖度的要求不尽相同。特别是在评估所提出的防御技术方面,其有效性即对组织网络安全能力的增强,需要通过抽象或概念模型、建模和模拟事件、网络靶场、桌面推演、模拟实验、操作实验和欺骗环境等手段来检验。