当今社会,许多组织机构面临前所未有的网络威胁及内部威胁,其数据存储、处理与传输均存在高危风险。由于存在这些威胁,企业日益关注网络安全,使其成为信息系统安全认证专业人员(CISSP或CISP)必需掌握的概念。
即使非常重视保护业务流程安全的企业也可能成为网络犯罪的受害者。遵守狭隘的安全标准也许不足以阻止或检测复杂的网络攻击。威胁建模让企业对最可能影响系统的各种网络威胁进行系统性识别和评价。有了这些信息,您就可以按照一定的逻辑顺序,利用适当的对策来处理现存的威胁,并从具有最大风险的威胁开始。
1. 什么是威胁建模
利用抽象来帮助思考风险
威胁建模是一种结构化方法,用来识别、量化并应对威胁。威胁建模允许系统安全人员传达安全漏洞的破坏力,并按轻重缓急实施补救措施。
1.1 威胁建模的三大主要元素
- 资产:应保护哪些有价值的数据和设备
- 威胁:攻击者可能对系统实施的行为
- 漏洞:有哪些漏洞让攻击者对系统构成威胁
1.2 威胁目标的三个主要层次
- 网络:此威胁包括假冒、伪造和恶意的数据包等
- 主机:此威胁包括缓冲区溢出、恶意文件或代码等
- 应用程序:此威胁包括跨站脚本攻击(XSS)、SQL注入、输入篡改等
2. 为什么要做威胁建模?
- 在早期发现 Bug
- 理解安全需求
- 建造和交付更好的产品
- 标记其他技术不能发现的问题
- 实验出物理实体是否能否承受住攻击等
3. 谁负责威胁模型,何时执行?
理想情况下,在系统设计过程中(部署之前)创建威胁模型。在实践中,通常是为现有系统创建威胁模型,使其成为维护的一部分。安全经验丰富的系统设计人员最有资格识别威胁。
4. 威胁建模步骤
- 识别资产:识别对组织机构具有价值的潜在资产:
- 入口和出口点
- 系统资产和资源
- 信任级别(访问类别)
- 描述架构:在这个过程中,描述处理价值资产的架构,可能包括软件架构、版本和其它架构详情。
- 分解应用程序:分解与过程有关的应用程序,所有运行应用程序的子过程。
- 识别威胁:以描述的方式罗列威胁,以便审核,作进一步处理。
- 将威胁分类
按照预定义分类对威胁进行分类,预定义分类如下:
分类 |
---|
假冒身份 |
篡改数据 |
否认 |
信息泄露 |
拒绝服务 |
特权提升 |
5. 评价威胁
这里介绍Microsoft的DREAD模型对威胁的严重性进行评价:
- 破坏潜力:如果漏洞被利用,损失有多大?
- 再现性: 重复被利用的难度有多大?
- 可利用性:漏洞被利用的难度有多大?
- 受影响的用户:多少用户可能受到影响?
- 可发现性:漏洞容易被发现吗?