前文介绍了风险的定义和风险管理过程。本文将会聚焦于风险管理过程中的评估阶段,风险分析具有三个主要特征:
- 确定三要素(威胁、漏洞、资产)
- 了解残留风险(无法避免、消除、转移的风险)
- 确定具有较高 ROSI(安全投资回报)的措施
风险分析方法
NIST SP800-30 标准中引入了三种分析方法:基于威胁分析、基于漏洞分析、基于资产分析。
- 步骤一:识别资产
- 步骤二:发现威胁
- 步骤三:发现漏洞
- 步骤四:发现残留风险
- 步骤五:确定发生概率与影响程度
- 步骤六:创建输出
步骤一:识别资产
识别资产包括三种类型:
- 识别网络拓扑
- 识别数据资产
- 识别业务流程
首先是网络拓扑的识别。具体来说,创建一个网络拓扑可以准确了解公司拥有什么样的系统以及什么配置。
其次,识别数据资产可以发现拥有的所有数据,包括重要性、性质与可能造成的影响。通过对数据资产的梳理,也可以发现影响程度:
最后,通过识别业务流程了解数据如何在业务流程中流动。
收集了以上三种类型的信息后就可以完成最后的映射。映射是将指定的数据资产映射到网络拓扑与业务流程上,这样可以了解业务流程和网络拓扑中的数据流。
步骤二:发现威胁
通过攻击意图(Intent)×能力(Capability)分析威胁预期。
攻击意图是攻击者的动机,例如加拿大网络安全中心将网络威胁参与者划分为不同的类别。实践中,STRIDE 框架可以基于信息安全的 CIA(机密性/完整性/可用性)对威胁进行建模。
另一方面,能力是实际的攻击方法(TTP)。也可以是模拟的攻击行为,例如日本金融服务管理局为金融行业提供的模拟演习。
此外,针对组织化网络犯罪可以通过研究攻击者的攻击行为分析攻击者的攻击意图和攻击能力。例如,根据 FireEye 的一份报告表示 APT 41 以瞄准医疗领域窃取知识产权闻名。
通过分析攻击组织,实现对威胁(意图×能力)的分析。对于攻击组织分析,可以利用以下资源
这当中有两个要点:
首先,必须了解攻击者的攻击意图和已有资产是否匹配。以 APT41 为例,持有知识产权的单位将会成为其攻击目标。其次,确定的攻击方法需要映射到网络拓扑或业务流程中。下图是一个示例:
步骤三:发现漏洞
漏洞有很多种定义方式,但在本文中我们使用以下定义:
漏洞=(理想的安全状态)-(当前的安全状态)
漏洞定义为要达到的安全状态与当前安全状态的差距。例如 MS17-010 漏洞被认为是漏洞的原因如下:
- 理想状态:不应该能够远程执行任意代码
- 当前状态:通过攻击工具(如 EternalBue)可以执行任意代码
但是风险分析不分析特定漏洞。相反的,我们需要确定整个系统的漏洞。
通常来说,当分析整个系统的漏洞时会使用安全框架。个人推荐 CIS Controls 发布的名为 CIS CSAT 的免费分析工具。
步骤四:发现残留风险
本阶段使用资产、威胁与漏洞来识别残留风险。具体过程如下:
任务一:分析资产并确定影响
例如,标识资产如下 `<客 户 数 据:重要性(从高到非常高)>`
- 风险(CIA):机密
- 资产价值:高
- 没有加密
任务二:映射资产/攻击场景
将资产与攻击威胁映射到网络拓扑中,识别网络拓扑上的攻击行为。
任务三:关联攻击场景与漏洞分析
通过将识别出的攻击行为与当前的安全措施存在的不足之处关联起来,哪些安全措施存在不足的地方存在单点故障,哪些不足之处可以采取什么措施补救阻止攻击。
任务四:确定残留风险
通过上述结果中,我们提炼出剩余风险。
如果攻击者使用定制的恶意软件,绕过了 Office 365 和终端反病毒软件就可以进入内部了。但是,由于没有 EDR 且 SOC 功能较弱,入侵后很难检测到恶意软件。网络侧可能也存在遗漏,无法检测到 C&C 通信。
步骤五:确定发生概率与影响程度
接下来得出发生概率和影响程度。每个定义如下所示:
- 发生概率=威胁×漏洞
- 影响程度=资产
在这里映射到 R-Map 上,如前所述,这是很好的沟通工具和决策工具。
步骤六:创建输出
按照上述步骤的结果创建输出,具体来说除了 R-Map 之外,还可以通过根据优先级度量链接到特定行动。
总结
本文解释了风险分析的方法,当然这种方法不是全部。在评估中,我们强烈意识到要减少对网络拓扑和业务流程的映射。其原因是,尽管忽略网络拓扑和业务流程可能会错过威胁,例如在关键资产依赖云环境时谈论本地安全毫无意义。但是减少实际业务流程和网络拓扑进行正确的分析也是相当重要的。后续将谈论 NIST SP 800-30 的其余两个风险管理过程以及对风险分析的补充讨论。