安全倡导者与威胁建模
建立安全倡导者计划,并为开发团队组织 STRIDE 威胁建模工作坊。
安全倡导者与威胁建模 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
什么是安全倡导者
安全倡导者是嵌入产品团队中的开发者或工程师,负责充当安全联络人。他们不是全职安全专业人员,但接受过额外的安全培训,并在团队内部倡导安全实践。
安全倡导者计划
安全倡导者计划可以在整个组织中推广安全知识:
- 每个产品团队配备 1 至 2 名安全倡导者
- 定期培训并参加安全团队会议
- 负责所在团队的安全审查
- 在开发团队与安全团队之间搭建沟通桥梁
- 减少集中式安全审查造成的瓶颈
什么是威胁建模
威胁建模是在构建系统之前,对其潜在威胁进行结构化分析。它需要回答以下问题:
- 我们要构建什么?
- 可能出现什么问题?
- 我们将如何应对?
- 我们是否做得足够好?
STRIDE 框架
STRIDE 是最常见的威胁建模分类法:
- S欺骗 — 冒充其他用户或系统
- T篡改 — 修改数据或代码
- R抵赖 — 否认执行过某项操作
- I信息泄露 — 将数据暴露给未经授权的人员
- D拒绝服务 — 破坏可用性
- E权限提升 — 获取未经授权的权限
数据流图(DFD)
威胁建模从一张数据流图开始,其中展示:
- 进程 — 应用程序组件
- 数据存储 — 数据库、文件、缓存
- 外部实体 — 用户、第三方应用程序编程接口
- 数据流 — 数据如何在组件之间移动
- 信任边界 — 权限发生变化的位置
使用 STRIDE 发现威胁
将每个 STRIDE 类别应用于每个元素:
- 在每个信任边界交叉处:欺骗、篡改
- 在每个数据存储处:篡改、信息泄露
- 在每个进程处:适用所有 STRIDE 类别
- 对于每条数据流:篡改、信息泄露
PASTA:攻击模拟流程
PASTA 是一种以风险为中心、分为七个阶段的威胁建模方法:
- 定义业务目标
- 定义技术范围
- 应用程序分解
- 威胁分析
- 漏洞和弱点分析
- 攻击建模
- 风险与影响分析
何时进行威胁建模
请在以下情况下进行威胁建模:
- 设计新功能或系统时
- 架构发生重大变化时
- 发生安全事件后(更新模型)
- 对关键系统每年进行一次
尽早进行威胁建模可以避免昂贵的返工——在编写代码之前,架构变更的成本很低。
威胁建模工具
用于威胁建模的工具:
- OWASP 威胁龙 — 免费的基于网页的 DFD 编辑器
- 微软威胁建模工具 — 以 STRIDE 为重点,基于 Windows
- IriusRisk — 企业级工具,可与 Jira 集成
- draw.io — 用于绘制简单手动 DFD 的工具
向开发人员传达威胁
安全倡导者让威胁建模更易于理解和采用:
- 将威胁描述为用户故事:“作为攻击者,我可以……”
- 将威胁映射到 OWASP 前十项,便于理解
- 在同一个待办列表中创建安全需求工单
- 将安全债务与技术债务一并衡量
威胁建模的输出
威胁模型的交付物:
- 列出所有已识别威胁的威胁登记表
- 每个威胁的风险评级(可能性 × 影响)
- 针对每个威胁的缓解措施
- 待办列表中的安全需求
- 记录 DFD,并与设计文档一同存储
快速检查:威胁建模
在 STRIDE 模型中,哪个类别描述了攻击者修改两个系统之间传输中的数据?
课程回顾
安全倡导者将安全知识融入产品团队,在不造成瓶颈的情况下扩大安全覆盖范围。威胁建模(STRIDE、PASTA)使用数据流图,在编写代码之前识别威胁。STRIDE 类别包括:欺骗、篡改、抵赖、信息泄露、拒绝服务、权限提升。输出包括带有风险评级的威胁登记表和待办列表中的安全工单。
常见问题解答
「安全倡导者与威胁建模」课时是免费的吗?
是的 — 「安全倡导者与威胁建模」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「安全倡导者与威胁建模」这节课中我会学到什么?
建立安全倡导者计划,并为开发团队组织 STRIDE 威胁建模工作坊。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。
「安全倡导者与威胁建模」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。