安全 · 入门
一小时做出威胁模型
一句话: 画出你有什么、谁可能想要它、它在哪里跨越边界——你就得到了一份真实的优先级清单,而不是一种直觉。
四个问题
我们在保护什么?客户数据、钱、可用性、声誉。它们的价值并不相同。
防谁?自动扫描器、随机攻击者、竞争对手、内部人员、被攻破的合作方。每一种能力都不同。
边界在哪里?数据跨越信任区域的每一处:浏览器到服务器、服务器到数据库、系统到供应商。
如果发生了会怎样?用一行描述三个坏场景,按损害和可能性排序。
先画再说
一张组件和它们之间箭头的简单草图,揭示的东西比任何讨论都多。每一支箭头都是一个问题:谁认证谁、什么被加密、什么被记录。
产出
一页纸,五个排好序的风险,每个配一条建议动作。这足以开始,而且已经比大多数系统拥有的更多。
深入一层
在每次重要的架构变更时重做这个练习——接入新供应商、开放一个接口、迁移到云。威胁模型不是一份一次性的文档,而是一个习惯,而且在设计阶段做,比事后修补便宜几十倍。