建立安全防御 快速上手威胁建模的方法、应用及工具

威胁建模通过识别并评估安全弱点,帮助企业更快速地发现信息化系统应用过程中的安全隐患,更清楚地了解安全建设需求,从而更有效地建立安全防御体系。

建立安全防御 快速上手威胁建模的方法、应用及工具
出处:安全牛

网络安全的本质是攻防双方的对抗与博弈。然而,由于多种攻防之间的不对称性因素存在,使得攻击者总能在对抗过程中抢占先机。为了更好地了解潜在的威胁和缺陷,实现主动式防御,企业需要重新考虑他们的网络防护方法,而威胁建模(Threat modeling)正是网络安全武器库中关键防御武器。

威胁建模是指识别并评估如何管理应用系统中安全弱点的过程,可以帮助企业更快速地发现信息化系统应用过程中的安全隐患,更清楚地了解安全建设需求,从而更有效地建立安全防御体系。在实际应用中,威胁建模的主要类型包括:

  • 以资产为中心的威胁模型,侧重于监测系统的不同部分或资产,然后分析资产可能面临的各种潜在攻击途径;
  • 以攻击者为中心的威胁模型,让组织可以洞察威胁/攻击者的思维模式:他们在找什么?他们如何在系统中找到信息并利用它?然后组织把这些想法与可能有关的攻击面联系起来;
  • 以软件为中心的威胁模型,使用设计和图表来直观呈现威胁和攻击面。这是主流的威胁建模方法,可以更全面、更清晰地洞察漏洞。

一、威胁建模的必要性

威胁建模是指识别并评估如何管理应用系统中安全弱点的过程,可以帮助企业更快速地发现信息化系统应用过程中的安全隐患,更清楚地了解安全建设需求,从而更有效地建立安全防御体系。

顾名思义,威胁建模会产生一个或多个模型。OWASP将威胁模型定义为:“影响应用程序安全性的所有信息的结构化表示。从本质上讲,它是从风险防御的视角来评估应用程序及其环境的安全性。”通过威胁建模的实践,可以为组织的而网络安全决策提供更全面的信息,并帮助构建和支持网络威胁情报(CTI)。

组织可以将威胁建模广泛地应用于软件应用程序、网络系统、分布式系统、物联网设备和数字化业务流程。概括来说,使用威胁建模可以给企业组织如下好处:

  • 明确组织的安全需求。传统的最佳实践和顶级威胁列表只是网络安全工作的指导方针,它们不能考虑到组织的具体情况。而威胁建模可以告诉组织应该优先考虑什么以及在哪里投入资源。
  • 更快的反馈,更低的成本。遵循“安全左移”的防护理念,威胁建模可以在应用系统开发过程的早期发现问题,甚至在漏洞萌芽之前消除它们,从而大大降低修复成本。
  • 更优质的产品+增强的信心。许多数据泄露事件凸显了安全团队对安全的忽视。威胁建模使您的缺陷直观可见,因此您可以制定创新计划并实际量化威胁。

正如安全技术专家Adam Shostack所认为的:“威胁建模是实现网络安全集中化防御的关键。如果没有威胁建模,企业的网络安全工作就是无休止的打地鼠游戏。”

二、威胁建模的过程

从广义上讲,威胁建模涉及从日常的安全工作中退一步,以了解企业的系统、评估网络和数字资源、识别威胁环境中的漏洞并优先考虑涵盖保护、响应、补救和恢复的计划。威胁建模团队的核心成员主要由安全专业人员和架构师组成。在更广泛的情况下,组织可以将各种利益相关者聚集在一起,包括应用程序所有者、技术支持人员、管理员等。

这些团队有许多明确定义的框架需要遵循,例如STRIDE,它是1999年由Microsoft开发的。STRIDE中的威胁建模会议通常以类似于白板会议的方式开始,安全专家和利益相关者在会上讨论风险因素,并集思广益怎么办。然而,这种方式目前必须要改变。

传统的威胁建模方法在当前的计算和威胁环境中,它们的扩展性和实际应用效果都不够好。特别随着越来越多的业务运营转向数字化,解决组织的所有高优先级威胁变得非常耗时,导致太多漏洞未得到解决。如何简化这个过程?组织或许应该反向进行改变,从另一端(攻击端)开始威胁建模过程。组织可以扫描现有系统,整合有关当前和可能威胁的数据,而不是从白板和人声鼎沸的会议开始,安全团队需要像黑客一样思考,试图识别潜在威胁。

在实际应用中,威胁建模过程一般遵循以下步骤:

  • 设定风险分析目标,确定需要保护的内容;
  • 创建安全风险架构概况,绘制系统或应用程序架构图;
  • 利用可视化技术来识别系统面临的网络安全威胁;
  • 评估威胁的优先级,并针对重点网络安全威胁优先提出缓解措施;
  • 验证所识别的威胁是否已被实际缓解。

三、威胁建模框架及方法

威胁建模的方法有多种,每种方法均有其独特的特点和架构,可指导安全专家识别和减轻相应的潜在威胁。这些威胁建模方法所提供的框架概括了如何应对复杂的威胁分析任务,能够帮助组织对安全风险进行全方位、系统的审查。

1. NIST威胁模型框架

NIST威胁模型是由美国国家标准与技术研究院(NIST)开发的一种威胁建模框架。它主要基于NIST发布的SP 800-30《风险管理指南》中的威胁建模指南。NIST威胁建模框架包括以下关键步骤:

ㆍ建立上下文规则:定义组织的上下文,包括业务目标、关键资产和相关利益相关者。
ㆍ威胁识别:分析系统,识别可能的威胁,包括自然灾害、人为活动和技术故障等。
ㆍ威胁评估:对识别的威胁进行评估,包括威胁的概率、影响和风险。
ㆍ制定风险缓解策略:根据评估的风险水平,制定适当的风险缓解策略,包括接受、转移、降低或避免。
ㆍ监控和更新:持续监控威胁环境,根据变化的情况更新风险管理策略。

2. STRIDE Model框架

STRIDE是威胁建模理念的最早实践者,也是最流行的威胁建模框架之一,由微软安全研究人员于1999年创建。它能够从攻击者的角度出发,将威胁分为以下6个类别:

ㆍ欺骗(Spooling):攻击者试图冒充与系统某些部分交互的实体(例如,用户、服务)。
ㆍ篡改(Tampering):攻击者试图修改数据以操纵某些结果。
ㆍ抵赖(Repudiation):攻击者否认其操作或交易,使其难以追踪或追究责任。
ㆍ信息泄露(Information Disclosure):攻击者可能获取系统中的敏感信息,如用户凭据、业务数据等。
ㆍ拒绝服务(DoS):限制或阻止对系统的正常访问。
ㆍ特权提升(Elevation of privilege):攻击者试图获取比其正常权限更高的权限级别,从而可能导致未经授权的访问和操作系统的敏感功能。

3. DREAD框架

DREAD是一种用于评估和量化安全风险的威胁建模框架,它考虑了以下五个关键方面:

ㆍ损害(Damage):攻击成功发生后可能对系统造成的实际损害程度,包括数据泄露、服务中断、财务损失等。
ㆍ可重复性(Reproducibility):攻击的复杂度以及攻击者是否能够轻松地重复该攻击。高可重复性意味着攻击很容易被多次执行。
ㆍ可利用性(Exploitability):衡量攻击者实施攻击的难度,以及攻击是否需要先前的专业知识或技能。较低的可利用性表示攻击相对难以实现。
ㆍ受影响用户(Affected Users):攻击可能影响的用户数量,如果攻击影响广泛的用户群体,风险程度可能会更高。
ㆍ可发现性(Discoverability):衡量攻击是否容易被检测或发现。低可发现性表示攻击者不易被发现。

4. PASTA流程

攻击模拟和威胁分析流程(PASTA)是一种以风险为中心的威胁分析方法,在模拟和测试威胁的可行性时始终与业务流程联系在一起。它采用以风险为中心的方法,根据威胁的可能性和潜在影响确定威胁的优先级。具体分为以下七个阶段:

ㆍ为风险分析定义目标。这包括对组织核心任务、服务、产品及其他关键业务方面的认知;
ㆍ定义技术范围,包括系统、网络、应用程序等;
ㆍ分解和分析应用程序,识别关键组件及其相互关系;
ㆍ威胁分析,识别系统可能面临的威胁;
ㆍ弱点和脆弱性分析;
ㆍ攻击建模与模拟;
ㆍ风险分析和管理;

5. LINDDUN框架

对于主要担心数据隐私的组织,可以采用更集中的威胁建模方法。LINDDUN就是这样一个框架,它提供了一个隐私威胁的目录,以便对可能影响隐私的广泛设计问题进行调查。

“LINDDUN”是以下隐私威胁类型的首字母缩略词,主要包括:

ㆍ关联(Linking):将数据或操作关联到个人或组的能力。
ㆍ识别(Identifying):了解个体的身份。
ㆍ不可抵赖性(Nonrepudiation):能够将某项主张归于某个人。
ㆍ侦测(Detecting):通过观察推断数据主体对系统的参与情况。
ㆍ数据泄露(Data disclosure):过度收集、存储、处理或共享个人数据。
ㆍ不知情(Unawareness):在处理个人数据时,没有充分告知、涉及或授权个人。
ㆍ不合规(Noncompliance):偏离安全和数据管理最佳实践、标准和法规。

6. TRIKE知识库

TRIKE是一种基于知识库的开源建模方法,通过收集、整理和分析威胁情报,构建一个全面的知识库,主要包括威胁漏洞、攻击向量等信息,来帮助组织理解和管理其面临的威胁和风险。该方法侧重于定义可接受的风险水平,同时分配风险等级,以确定制定的利益相关方是否可以接受风险,并根据这些等级调整安全工作。

7. 安全决策树

安全决策树(Security decision trees)是一种以攻击者为中心的威胁建模技术,它允许团队使用树形结构对攻击如何展开进行建模。攻击场景模拟攻击者在攻击的每个阶段可能采取的行动,以及系统可以做些什么来对抗攻击者。这种方法可以帮助团队理解攻击者的心态和决策过程,以及攻击的投资回报(ROI)。

四、威胁建模应用实践

虽然威胁建模优势明显,但想要在组织内成功采用威胁建模却并不容易。为了最大程度地发挥威胁建模的作用,组织可以采取以下一些关键步骤:

首先,必须把重点放在培训和意识上。这意味着要投入时间和资源来教育开发团队、安全人员和其他受众,让他们了解威胁建模的重要性以及用于进行威胁建模的各种技术。彻底理解威胁建模在识别和预防安全漏洞中的作用,对于在团队中培养具有安全意识的文化至关重要。

其次,要将威胁建模集成到开发生命周期中。通过在软件开发的早期阶段威胁建模,组织可以确保安全性考虑不是“事后考虑事项”,而是开发过程的基本组成部分。在早期嵌入威胁建模有助于识别潜在的安全问题,因为这些问题通常更容易解决,而且成本更低。

最后,网络安全的本质要求威胁模型并非静态的。随着网络威胁和软件系统的不断发展,定期审查是必不可少的。组织应该通过定期审查来更新和改进威胁模型,确保它们准确地反映当前的威胁环境和系统本身的任何变化,从而保持一个强大的、响应性强的安全状态,以适应不断涌现的新挑战。

将这些实践整合到组织的安全策略中并非一次性的任务,而是一个持续努力的过程。随着威胁的演变以及系统的日益复杂,威胁建模也必须跟上网络安全的动态特性。如果企业想将威胁建模涵盖自身的所有业务,那么就应该通过优先使用自动化工具和大量可用威胁信息评估企业安全风险的方式,更快地解决所有高风险威胁,同时也不要忽视任何细小威胁。

五、十大自动化威胁建模工具

对于很多企业组织而言,传统的人工威胁建模方法可能非常有效,但在当前的数字化和威胁环境中,它们不仅耗时低效,而且缺乏扩展性,这会在很大程度上阻碍企业数字化转型目标的实现。因此,企业需要考虑新一代的威胁建模方法,优先使用自动化工具和大量已有的威胁信息来评估企业安全风险,并以可重复的方式实时进行威胁建模操作,从而持续监控组织的安全状况。本文收集整理了目前最受企业用户欢迎的十款自动化威胁建模工具,并对其主要特点进行了分析。

1. CAIRIS

CAIRIS是一个综合的开源威胁建模工具,于2012年推出。

•系统:这款基于Web的工具可以在多种系统环境下运行,包括Ubuntu、Mac、Windows和Linux,它还可以用作Docker容器。
•特点:CAIRIS可创建详细描述潜在威胁分子的攻击者角色,最多可提供12个系统视图以全面呈现组织的安全风险和架构。工具可有效识别攻击模式,并提供应对攻击的建议。
•性能:运行高效,不过有用户反映系统在信息输入时缓慢。
•价格:免费使用。

传送门:https://cairis.org/

2. Cisco Vulnerability Management

Cisco Vulnerability Management(前身是Kenna.VM)使用了广泛的度量指标来评估应用程序的风险状态。

•系统:该SaaS化威胁建模工具有两种版本:Advantage和Premier。
•特点:可检查数据以生成实时威胁情报,并从风险视角给用户操作建议。
•性能:使用专有算法进行计算,可从超过19个威胁情报源收集数据,有严格的数据输入要求,提供多种报告。
•定价:基于用户实际使用量订阅购买,可以免费试用。

传送门:https://www.cisco.com/site/us/en/products/security/vulnerability-management/index.html

3. IriusRisk

IriusRisk是一款可以在软件系统设计阶段开展风险分析,并创建软件应用程序威胁模型的自动化建模工具。

•系统:提供SaaS部署和本地部署模式,可以支持主流的系统环境。
•特点:可自动化生成数据收集问卷,并使用与Jira和Azure DevOps Services等工具关联的规则引擎生成威胁列表。此外,该工具可以与微软威胁建模工具进行数据共享。
•性能:操作较简单,使用方便,并通过电子邮件和故障单系统提供支持。
•定价:社区版免费,同时提供基于许可证的企业版。

传送门:https://www.iriusrisk.com/

4. 微软威胁建模工具

微软威胁建模工具是一款基于STRIDE(欺诈、篡改、拒绝、信息披露、拒绝服务和提升特权)方法构建的开源版软件。

•系统:可在Windows系列操作系统环境下安装使用。
•特点:使用DFD创建威胁模型,支持在Windows和微软Azure云服务下运行的系统,可根据用户需要生成定制化威胁分析报告。
•性能:可为企业启动威胁建模项目提供高性价比方案,并通过微软官网、各种用户论坛提供服务支持。
•价格:免费。

传送门:https://learn.microsoft.com/en-us/azure/security/develop/threat-modeling-tool

5. OWASP Threat Dragon

Threat Dragon由OWASP于2016年开发,是一款非常受欢迎的开源、跨平台威胁建模工具。

•系统:基于Web的SaaS化服务提供
•特点:可自定义规则引擎中的DFD,为用户全面提供威胁列表、建议及其他报告。工具支持STRIDE模型和LINDDUN(关联、识别、不可否认、检测、数据披露、不知情、不合规)模型。
•性能:易于使用,功能丰富,拥有较活跃的用户社区。
•价格:免费。

传送门:https://owasp.org/www-project-threat-dragon/

6. SD Elements

SecurityCompass公司推出的SD Elements工具拥有多种威胁建模功能和资源,便于将威胁分析策略顺利地转换成自动化的检测流程。

•系统:提供SaaS部署或本地部署,支持主流的操作系统环境。
•特点:使用调查收集数据并识别漏洞和应对措施;拥有广泛的报告和测试功能。
•性能:便于非专业人士上手使用,可通过官网为项目的所有阶段(从安装到培训和管理)提供支持。
•定价:简易版免费,专业版和企业版收费

传送门:https://www.securitycompass.com/sdelements/

7. Splunk Enterprise Security/ Essentials

Splunk Enterprise Security使用多种工具和资源(包括人工智能和机器学习),为企业的数字化系统架构提供基于风险的评估。它可以从企业应用的各种维度收集性能数据,并进行全面分析,快速识别和呈现潜在的威胁和漏洞。在此基础上,Splunk公司还推出了免费版工具 Security Essentials,为初级使用者提供有限的报告和建模功能。

•系统:Splunk Enterprise Security提供SaaS或本地选项,免费版Security Essentials需要从Splunkbase下载。
•特点:工具可以提供持续的安全监控、基于风险的警报、恶意软件检测和原因分析。该工具还可以有效映射到杀伤链(Kill Chain)和Mitre ATT&CK框架。
•性能:具有易于使用的管理界面,并提供多个学习和支持服务,包括Splunk大学、视频和现场培训。
•定价:Splunk Enterprise Security需付费订阅,Splunk Security Essentials 免费。

传送门:https://www.splunk.com/en_us/products/enterprise-security.html和https://splunkbase.splunk.com/app/3435

8. Threagile

Threagile是一款基于代码的开源威胁建模工具包,适用于敏捷开发环境。

•系统:以敏捷方式评估资产,使用YAML文件作为输入,对威胁环境进行建模。
•特点:生成采用DFD和详细报告形式的威胁模型。
•性能:使用高效,帮助用户简化威胁建模,并创建了活跃用户社区。
•价格:免费。

传送门:https://threagile.io/

9. ThreatModeler

ThreatModeler是面向DevOps的自动化威胁建模工具,它有三个版本:社区版、应用程序安全版和云版。

•系统:基于Web的服务提供,主要为技术基础架构复杂的大型企业用户设计。
•特点:基于VAST(可视化、敏捷和简单威胁)模型,提供智能威胁引擎、报告引擎和集成式工作流审批,同时可直接与Jira和Jenkins关联。
•性能:功能完善,易于操作使用,并通过ThreatModeler提供各种支持选项。
•定价:社区版免费,完全版和云版按许可证收费。

传送门:https://threatmodeler.com/

10. Tutamen Threat Model Automator

Tutamen Threat Model Automator是由Tutamantic公司开发的自动化威胁建模工具,支持软件架构和开发阶段的安全分析与监测。该公司目前仍在进一步完善该工具。

•系统:基于云的服务提供
•特点:可以接受现有主要应用程序(包括Visio和Excel)的信息输入模式,并提供各种威胁分析报告,便于灵活使用。
•性能:处于测试版阶段。
•支持:提供Tutamantic技术支持。
•定价:试用版免费。

传送门:https://www.tutamantic.com/

参考链接:

https://www.cybersecuritydive.com/news/cyber-threat-modeling-framworks-STRIDE-LINDDUN-decision-trees/713587/
https://www.splunk.com/en_us/blog/learn/threat-modeling.html
https://dzone.com/articles/what-is-threat-modeling
https://www.techtarget.com/searchsecurity/tip/Top-threat-modeling-tools-plus-features-to-look-for