1 概述
威胁建模的方法最初是为了帮助开发更多的安全的操作系统,但已经开发的大量威胁建模方法,有些只关注软件发展,有些仅涵盖业务或组织的风险和威胁,另有一些可能是技术性的,不同的威胁模型都在基于不同的目的而开发和使用的。
美国国土安全部(DHS)的下一代网络基础设施(NGCI)Apex计划将使用威胁建模和网络攻防演练的方式来为风险指标的开发、技术的评估和探寻,以及为如何降低风险提供信息。DHS评估了现有的框架无法满足其NGCI Apex计划的需求,促使其开发一个威胁建模框架。
1.1 威胁模型相关概念
不同场景下对威胁的定义有些不同:比如威胁是可能通过未经授权的披露、滥用、更改或破坏信息或信息系统而对信息或信息系统的机密性、完整性或可用性造成损害的事件。(联邦金融考试委员会)任何可能通过未经授权的访问、破坏、披露或修改信息和/或拒绝服务。(NIST)。威胁事件:有可能导致不良后果或影响的事件或情况。
NIST SP800-30R1中识别四种类型的威胁源:对抗性、意外、结构和环境。对抗性威胁有两个主要方面:
• 特征(例如能力、意图和目标 [NIST 2012])
• 行为通常称为恶意网络活动,该行为可以用TTP来描述:
– “战术是对行为的高级描述,技术是在战术背景下对行为的详细描述,而程序则是在技术背景下的更低层次、更详细的描述。TTP描述攻击者使用特定恶意软件变种、操作顺序、攻击工具、传递机制(例如,网络钓鱼或水坑攻击)或漏洞利用的倾向。”[NIST 2016c]
– 行为或行动可以根据威胁向量(或攻击向量)来表征,攻击向量或攻击路径是达到网络威胁攻击效果的一般方法,可以包括网络的、物理或动力学、社会工程和供应链攻击。攻击向量受攻击发生的环境影响,通常在事件处理或漏洞修复中被枚举。
威胁场景通常指的是一组离散的威胁事件,与特定威胁源或多个威胁源相关联。用来描述事件是如何由威胁源引起的,或导致损害的。威胁场景的开发在分析上很有用,因为某些漏洞可能不会被利用。并分析说明一组漏洞如何综合起来,可能被一个或多个威胁事件利用。此外,威胁场景讲述了一个故事,用于风险沟通和分析。
2 威胁建模的使用
网络威胁建模是在网络空间中开发和应用对抗性威胁(来源、场景和特定事件)表示的过程。对抗性威胁可能针对或 影响设备、应用程序、系统、网络、任务或业务功能(以及支持该任务或业务功能的系统系统)、组织、区域或关键基础设施部门。网络威胁建模过程可以通过多种方式为网络安全和弹性相关的工作提供相关信息,可用作风险管理的一部分,也可用作网络攻防演练、技术分析和探寻、系统安全工程、安全运营和分析等环节。被认定为与NGCI Apex程序是相关的有三个:风险管理和度量的输入;网络战中威胁场景的构建;技术的探寻。
2.1 风险管理和度量
2.1.1 威胁模型可作为风险管理的输入
风险管理可以由四个组件或过程组成:风险框架、风险评估、风险响应和风险监控。
• 风险框架,陈述对风险管理环境的假设并定义风险管理策略,威胁源的假设是核心,威胁事件的特征或分类可用于网络安全组合管理
• 风险评估,将威胁模型与环境模型(可能发生威胁的操作和技术)结合在一起,威胁场景或单个威胁事件的可能性和后果严重性
• 风险响应,涉及评估潜在的替代或风险缓解的措施(降低后果的可能性和/或严重性的方法),因此侧重于威胁模型的威胁事件和威胁情景
• 风险监控,涉及寻找环境变化的迹象,特别是在进行持续监控和安全评估的系统中的对手活动指标,强调威胁事件并依赖于威胁信息共享,但更高级别的情报分析会寻找对手特征的变化,并反馈给风险框架和风险
识别威胁源和事件是风险评估的开始,如下图所示
图1:威胁建模与风险评估的集成
图2:威胁与风险评估中要素的关系
2.1.2 威胁模型支持风险管理的决策范围
网络安全风险可以在不同的范围内进行管理,主要对应于组织层(或执行层)、任务/业务功能层(或业务/流程层)和信息系统层(或实施/运营层)。
• 系统实施或运营级别,威胁模型可以促使选择特定的安全控制或行动方案,如SDLC的阶段
• 任务/业务功能级别,威胁模型可以促进企业架构、信息安全架构及特定的业务功能架构
• 组织层面,威胁模型反映并表达了组织的威胁环境的假设
在企业之上,威胁模型可以为威胁情报信息共享提供通用结构,并可支持多方参与的网络攻防演练的开发