笔记作者:CDra90n@SecQuan

原文作者:Rock Stevens, Daniel Votipka, Elissa M. Redmiles, Michelle L. Mazurek

原文标题:The Battle for New York:A Case Study of Applied Digital Threat Modeling at the Enterprise Level

原文来源:USENIX 2018

原文链接:https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-stevens.pdf

数字安全专业人员使用威胁建模( threat-modeling)来评估和改进组织或产品的安全态势。然而在现实的企业环境中,还没有对威胁建模技术进行系统的评估。在本案例研究中将正式的威胁建模引入纽约网络司令部(New York City Cyber Command):美国人口最多的各城市的主要数字防御组织,并展示了威胁建模的效果。

一、威胁建模框架

威胁建模是一种结构化方法,用于评估风险并制定缓解这些风险的计划。许多威胁建模框架旨在提高从业人员的态势感知,并为他们提供复杂问题的决策过程。一些框架侧重于像攻击者一样思考,帮助实践者识别和阻止可能导致成功攻击的基本任务。其他框架帮助用户根据过去的数据和持续的趋势自动或手动识别对特定系统的可能威胁。

1、重心框架Center of Gravity

在这项研究中向NYC3的员工引入了重心(CoG)框架,作为一种威胁建模方法,COG侧重于识别和保护中心资源。这种方法适用于任何有争议的领域。CoG支持规划进攻性网络空间行动[8]和优先考虑数字防御。

之所以选择CoG,是因为它包含了来自更普遍框架的许多关键特性:CoG为参与者提供了一种自上而下的方法来识别内部弱点,类似于STRIDE;它还帮助从敌对的角度评估漏洞,类似于攻击树、安全卡、不受欢迎的角色和网络杀伤链( attack trees, security cards, persona non grata, and cyber kill chain)。在流行的威胁建模方法中,它允许组织根据风险优先级确定防御工作的优先级。

2、CoG步骤

下图以参与者P17的响应为例展示使用CoG进行威胁建模的每一步过程。要开始使用COG,参与者必须首先将长期的组织目标或防御措施“最终状态(end state)”编译成代码。最终状态提供了实施防御的原因,并允许参与者了解他们自己对组织的特定安全目标。

一旦参与者理解了他们的目标,下一步就是确定目前使用的支持实现目标的所有资产。在本文中,资产可以是系统、服务、工具或与实现目标相关的任何东西(不仅仅是特定于安全性的资产)。参与者然后将CoG识别为实现目标所依赖的所有其他资产所依赖的关键资产。

一旦参与者确定了CoG,他们就可以将其解构为三个部分:关键能力、关键需求和关键脆弱点。关键能力(CC,Critical capabilities )有两个关键特征:它们支持参与者的目标,如果没有它们CoG将停止工作。

对于每个CC,有一个或多个关键需求(CR,critical requirements),定义为支持资源,使CC能够运行。如果CoG做了一些事情,那就是一种能力,如果它使用了一些东西,那就是需求。关键脆弱点(CV,Critical vulnerabilities)与关键需求直接相关;CV是减弱CR使CoG无法实施的界限。参与者通过向每个CR问以下问题来识别CV:是什么导致此要求不再按预期工作?有些CV是二分的,例如CR的完全丧失,但另一些CV可能会导致功能减少超过某个界限,从而阻止COG实现目标。

建立一个完整的关键脆弱点列表可以让参与者了解他们的目标是如何受到威胁的。参与者应考虑恶意威胁和意外威胁,共同描述其组织和目标的最坏情况。CoG方法利用一种独特、统一的驱动对所有威胁建模:利用关键脆弱点。这使得参与者可以制定一份威胁列表,其中包括国家黑客、内部人士、训练有素的用户和其他人。

参与者遍历关键脆弱点列表,以开发相应的威胁能力列表(TC,threat capabilities)。对于每一个CV,他们都会问:什么能利用这种脆弱的状况呢?在TC列表中,他们列举了支持每个能力所需的所有威胁需求(TR,threat requirements)。

COG分析过程中的最后一步是建立一个可操作的防御计划(ADP,actionable defense plan),它可以消除已确定的威胁能力和要求,缓解关键脆弱点,以及保护被识别的CoG。ADP的每个组成部分都被称为缓解策略,其目的是降低或消除一个或多个潜在风险。

二、案例研究:NYC3威胁建模

为了评估将威胁建模引入以前没有使用它的组织的影响,本项目与NYC3合作引入了一个特定的威胁建模框架(CoG)并观察。NYC3负责保护美国人口最多的城市及其政府免受网络攻击。纽约市政府(GoNYC)包括143个独立的部门、机构和办事处,拥有30多万名雇员,支持860万居民和每年6 000万次的访问 。它维护了近200000个外部IP地址,并有自己的网络业务提供商,拥有数百英里的光纤电缆和数十个主要场所。此外,该市还负责维护工业控制和主机系统。本项目从直接与NYC合作的公务员和私营部门承包商那里吸引了项目的参与者。

在整个研究过程中,本文关注威胁建模的有效性,在此背景下将其定义为实现预期结果的能力。有效性、成功实现结果的能力和效率、减少实现结果努力的能力,都包括效能。研究包括六个组成部分:

1、参与者

定性研究最佳做法建议对12-20名参与者进行访谈,以实现专题分析中的数据饱和。为了考虑到因工作紧迫而需要退出这项研究的雇员,本项目参与者招募了28名参与者参加这项研究。其中,25名参与者完成了上述定性建议的研究(下表),绩效评估课程也达到饱和。在本文的其余部分,所有的结果都提到了完成研究的25位参与者。这个样本代表了截至2017年8月8日NYC3员工的37%。如下图:

2、所需时间

本文用所需时间来衡量CoG效率,这是效能的一个组成部分。平均而言,参与者使用该框架,并在36分钟46秒内制定了可采取行动的防御计划(σ=9:01)。下图以累积分布函数(CDF)显示了子任务完成时间。参与者花费了最多的时间描述关键的漏洞和制定可采取行动的防御计划,这些任务平均分别为5:27和6:25。五分之三的领导者角色确认没有提示威胁建模为他们提供了快速解决困难问题的工具,P24说“一小时,[CoG]帮我思考了一些项目,挑战了一些事情, 并重新展示一些东西,这对我来说非常有用,因为我的工作繁忙。“P22在22分钟内应用了这一框架,并在最后一次业绩评估会议上评论说,他将“需要更多的时间来充分发展”他的想法;他还说,这次会议是启动必要对话以处理漏洞的催化剂。

3、感知效能

下图显示参与者在30天后对COG分析效果的评估。总的来说,所有参与者都同意(“Strongly”=13),威胁建模支持他们工作的关键方面。此外,24名参与者同意(“Strongly”=15),威胁建模增强了他们对数字安全的思考方式。尽管在30天的时间里,被感知到的效率下降了,但随着NYC 3的采用,发现该框架对他们的工作有用的参与者从23人增加到24人。由于NYC 3在其环境中采用了ADPs,一位参与者相信该框架是有用的。最后,在对11个TAM问题的275项答复中,245项表明威胁建模对于数字安全是有价值的。

4、实际采用

30天后,21名参与者报告说他们至少实施了一项他们使用威胁建模制定的缓解战略。此外,20名参与者在30天后报告说,他们在日常工作中集成了来自威胁建模的概念。例如,现在有七个参与者使用了持续评估风险的框架;这与基准结果形成了对比,在基准结果中,参与者通常只在审计和初步认证期间评估风险。五名参与者表示,他们现在使用威胁建模来确定日常和中期工作的优先次序。没有采用的参与者说他们忙于紧急任务或需要更多的应用培训。

在参与者讨论了他们的结果并意识到他们的发现的重要意义之后,NYC3开始将威胁建模制度化。在完成绩效评估课程一周后,六名参与者将其主要会议室内的墙转变为“优先考虑事项”板(下图),以实施防御性行动,以应对本研究中发现的关键漏洞。

他们的板子促进了为期两周的行动期,并且证明了组织如何将他们的进展影响传达给高层领导。NYC3领导人已经使用项目管理软件和其他实践(例如“demo days”)来规范该板子,以证明其防御工作的可行性。

三、结果

下提供了参与者使用威胁建模导出的一组ADP示例。NYC 3的领导者使用他们的优先级板来监控这些ADP的执行情况,并且在研究结束后120天,所有的缓解策略都在NYC环境中持续存在。仅提供有关以下ADP的详细信息,以避免将NYC3系统置于风险之中。

1、测试就绪

9名参与者将弹性系统(resilient systems)列为其环境中的关键要求,并将两个未经测试的灾难恢复计划视为关键脆弱点。为了抑制网络攻击,自然灾害或恐怖袭击的影响,他们经常建议使用多个故障切换站点来评估功能。因此,NYC3已开始在其本地域内测试故障转移服务器,并计划在所有NYC网络中实施定期的强制性准备测试。

2、确保账户安全

一些参与者认为,用户帐户权限-任何网络环境中的基本安全控制-都没有得到充分的管理。三位参与者表示,员工在整个组织中迁移并保留对他们不再需要的数据共享和资产的权限是很常见的。现在,NYC 3指导每月审核和重新认证用户访问权限,以缩小内部威胁或被盗凭据的影响。7名参与者建议实施多因素身份验证,作为对理论的证明,NYC3对监视子域中的80个用户帐户实施了多因素身份验证。

3、保护物理网络资产

7名参与者认为,如果限制实际进入网络基础设施的控制措施薄弱,就会造成严重的脆弱性。所有的人都对内部威胁造成损害或窃取数据表示关切,但他们都表示最有可能的威胁来自意外损害。三位参与者讨论了对可能导致某些问题持续较长时间的关切,比如疏忽、大范围停电或网络基础设施电力激增。这三位与会者建议对所有人员进行安全护送,并在所有网络基础设施附近实行多因素访问控制。自绩效评估课程以来,NYC3一直在与联邦、州和私营部门实体合作处理与此主题相关的问题。

4、众包评估

两位参与者报告说,自动脆弱性评估工具可能无法检测到所有问题,需要手工测试才能确定更复杂的问题。因此,P21建议NYC3建立一个漏洞奖励计划,让面向公众的服务从集体安全社区中受益。由于他的建议,NYC3与一家漏洞赏金服务提供商合作,对其web服务进行了24小时的POC评估。

5、传感器覆盖

十位参与者承认,纽约市的环境对于手动监控而言过于庞大,自动化传感器在防御中扮演着至关重要的角色。在这种情况下,传感器覆盖范围的差距可能导致未受保护的系统或成功利用已知漏洞。四位参与者建议在NYC3的可见性有限的特定子区域的系统上部署额外的EDR。在威胁建模培训后的30天内,NYC3技术人员在这些子域中部署了1331个新的EDR传感器。

6、保护遗留系统

三位参与者表示,遗留系统严重影响了他们保护系统的能力; 有些是五十年前安装的,从来没有打算联网。因此,他们建议对非关键遗留系统进行细分,直到它们被替换/升级为止。NYC3现在正在与合作伙伴密切合作,以保护分段系统和必须保持在线的系统。

7、防止数据损坏

参与者P02和P17将数据损坏确定为NYC3系统的风险。NYC3技术人员现在验证每个软件的完整性和第三方供应商提供的妥协指示(IOC,indicator of compromise)更新,以防止利用如2017年NotPetya恶意软件爆发的更新机制。

8、减少人为失误。

人为错误是整个威胁形势的另一个共同主题。六位参与者表示配置脚本中的简单拼写错误,例如导致2017年Amazon S3中断的错误,可能会对多个系统或网络产生重大影响。在防火墙和EDR系统上更新配置文件时,三名参与者建议进行双人变更控制。这种控制要求一个人提出改变,另一个人审查和实施改变,以减少人为错误的可能性。NYC 3现在对访问控制列表的所有修改执行双人变更控制。

声明:本文来自安全学术圈,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。