https://yqfile.alicdn.com/fe532ed0ad88c1ec7cc00739f4ba569e1b5fd24d.png" >
前 言
一切模型都是错误的,不过有些是有用的。
——George Box(20世纪著名统计学家)
在构建软件系统时,人们会遇到很多可以预见的安全威胁,对此,本书描述了一些有用的威胁模型,可以用于消除或减轻这些潜在威胁。
威胁建模,名字本身听起来非常精妙,但其实指的是我们本能都会做的事情。比如,如果让你对自己的房子进行威胁建模,你会开始想房子里都有什么珍贵的人和物:你的家人、传家宝、照片,可能还包括明星签名海报;然后,你会想别人会用什么办法闯进家里,比如通过没有上锁的门,或者开着的窗子;另外,你还会想是什么样的人会来偷东西,比如邻居家调皮的孩子、职业小偷、瘾君子、跟踪狂或是早已盯上你们家珍贵名画的人。
上述所说的这些现实生活中的例子在软件世界里也有相似的实例,不过现在重要的不是如何防范每一个威胁,而是首先你要建立这样的思维方式。如果你的朋友求助于你评估他房屋的安全性,你会伸出援手,但你可能会对自己分析的完整性缺乏信心;如果别人要求你去保障一栋办公建筑的安全,你可能也会头疼,如果要你保障军事设施或监狱的安全就更难了。在这些情况下,只凭直觉是不够的,需要使用相应的工具来解决问题。本书就为读者提供了这样的工具,利用结构化、高效的方法来思考威胁建模技术。
本书讲述了什么是威胁建模,个人、团队、组织机构为什么需要进行威胁建模。这其中的原因包括:威胁建模可以在早期及时发现安全问题,提高对安全需求的理解,以及设计和交付更好的产品。这里通过五个部分来对本书内容进行概要介绍,包括威胁建模定义及其重要意义,哪些读者群适合阅读本书,本书为你提供什么,如何使用本书以及威胁建模技术的最新进展。
目 录
第一部分 入门指南
[第1章 潜心开始威胁建模
1.1 学习威胁建模 ](https://yq.aliyun.com/articles/118841)
1.2 独立威胁建模
1.3 潜心开始威胁建模的检查列表
1.4 小结
[第2章 威胁建模策略
2.1 “你的威胁模型是什么样?” ](https://yq.aliyun.com/articles/118856)
2.2 集体研讨
2.3 系统的威胁建模方法
2.4 软件模型
2.5 小结
第二部分 发现威胁
[第3章 STRIDE方法
3.1 理解STRIDE方法及其为何有用 ](https://yq.aliyun.com/articles/118880)
3.2 假冒威胁
3.3 篡改威胁
3.4 否认威胁
3.5 信息泄露威胁
3.6 拒绝服务威胁
3.7 权限提升威胁
3.8 扩展示例:针对Acme-DB的STRIDE威胁
3.9 STRIDE变种
3.10 准出条件
3.11 小结