威胁建模为何重要
在攻击者发现风险之前找到它们。
威胁建模为何重要 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
什么是威胁建模
威胁建模是一种结构化实践,用于在攻击者替您发现问题之前,识别系统中可能出错的地方。您需要分析设计、列举可能的威胁,并决定如何降低这些威胁。
它回答四个核心问题:
- 我们正在构建什么?
- 可能出现什么问题?
- 我们要如何应对?
- 我们做得好吗?
安全左移
威胁建模体现了左移原则:在开发生命周期的早期处理安全问题,而不是等到部署之后。
修复缺陷的成本会随着发现时间的推迟而大幅增加:
- 设计阶段——修改图表,几乎无需成本
- 开发阶段——重写部分代码
- 生产环境——紧急修补、事件以及可能的数据泄露
在写下第一行代码之前发现设计缺陷,是成本最低的修复方式。
像攻击者一样思考
威胁建模会迫使您有意识地转换思维方式:不要再思考系统应该如何工作,而要开始思考系统可能如何被滥用。
防御者自然会关注功能和正常路径。攻击者则会寻找:
- 未经验证的输入
- 可能被破坏的信任假设
- 可以跳过或重放的步骤
- 本应受到保护却没有得到保护的数据
建模可以让这种对抗性思维变得系统化,而不是偶然发生。
资产、威胁和漏洞
三个术语构成每个威胁模型的基础。请将它们明确区分:
- 资产——值得保护的有价值对象(客户数据、凭据、可用性)
- 威胁——潜在的有害事件或行为者(窃取数据的攻击者)
- 漏洞——使威胁得以成功的弱点(缺失的访问检查)
当威胁能够利用漏洞攻击有价值的资产时,就会产生风险。
识别您的资产
您无法保护尚未识别的对象。请从列出重要对象开始每一次威胁建模。
常见的资产类别:
Data assets: PII, payment data, credentials, API keys, secrets
Functional: authentication, payment processing, admin actions
Reputational: brand trust, regulatory compliance
Infrastructure: databases, servers, network availability何时进行威胁建模
威胁建模在特定时刻最有价值,而不是一次性活动:
- 设计新系统或新功能时
- 进行重大架构变更时
- 添加新的信任边界时(例如新的集成或外部接口)
- 发生安全事件后,以寻找相关缺口
成熟的团队会将其视为持续活动,并随着系统演进不断重新审查模型。
哪些人应该参与
威胁建模需要团队协作。由一个人构建的模型会遗漏太多背景信息。
有效的会议应包括:
- 了解系统实际工作方式的开发人员
- 理解设计意图的架构师
- 熟悉攻击模式的安全工程师
- 了解业务影响的产品负责人
多种视角的结合,才能发现任何单一角色都无法看到的威胁。
常见方法论
存在多种结构化方法论;您可以按需组合使用:
- STRIDE — 按类型对威胁进行分类;非常适合技术设计(下一课将介绍)
- PASTA — 以风险为中心,将威胁与业务影响联系起来
- 攻击树 — 对攻击者的目标和路径进行建模
- DREAD — 用于确定风险优先级的评分模型
STRIDE 是最常作为入门内容讲授的方法,因为它系统化且易于理解。
威胁模型的输出
威胁模型只有产生可执行的结果才有用。交付成果通常包括:
- 一张展示系统及其信任边界的图
- 一份经过分类的已识别威胁列表
- 每项威胁的风险评级
- 缓解措施或风险接受决策
- 分配给负责人的行动项
如果威胁模型最终只得到一份无人采取行动的文档,那它就失败了。
常见误区
威胁建模工作经常以一些可预见的方式失败。请避免以下陷阱:
- 试图面面俱到 — 试图一次性对整个系统建模;应改为严格限定范围
- 分析瘫痪 — 无休止地讨论,却不做任何决定
- 把它当作复选框 — 为满足审计人员要求而编写文档,却从不采取行动
- 缺乏后续落实 — 识别出威胁,却从不跟踪缓解措施
请限定范围、设置时间上限,并将其与实际行动项挂钩。
简单的入门步骤
如果您从未进行过威胁建模,可以从以下轻量流程开始:
- 绘制一张展示系统和数据流的简单图
- 标出数据跨越信任边界的位置
- 针对每个边界,询问攻击者可能采取哪些行动
- 记下主要威胁,并为每项威胁制定一项缓解措施
- 分配负责人,稍后再重新检查
即使是一次 30 分钟的白板讨论,也能发现原本可能进入生产环境的问题。
快速检查
测试您对威胁建模基础的掌握程度。
回顾
您已经了解了威胁建模为何重要:
- 威胁建模能够在攻击者发现问题之前,以结构化方式回答可能出现哪些问题
- 它将安全性左移,让修复成本大幅降低
- 请区分资产、威胁和漏洞;风险正是它们的交集
- 在设计阶段和重大变更时进行建模,并组建跨职能团队
- 避免试图面面俱到、缺乏后续落实等误区;始终产生可执行的输出
接下来,您将学习用于对威胁进行分类的 STRIDE 框架。
用 AI 导师学习 Cyber Security Academy — 免费
在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。
- 课程
- 76
- 课程
- 303
常见问题解答
「威胁建模为何重要」课时是免费的吗?
是的 — 「威胁建模为何重要」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「威胁建模为何重要」这节课中我会学到什么?
在攻击者发现风险之前找到它们。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「威胁建模为何重要」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。