跳到主内容
快讯直播
AI智模界
AI 词典

威胁建模:动手之前,先想清楚谁会来打你

一句话定义

威胁建模(Threat Modeling)是在动手开发之前,用结构化的方式回答四个问题:我要保护什么、谁会来攻击、他会怎么攻击、我打算怎么办。

它不产出防火墙和加密库,产出的是一张优先级列表:哪些威胁必须先防,哪些可以明确接受、以后再说。这张列表决定了后面所有技术选型。

打个生活化的比方

装修前你多半会想:一楼窗户要不要装防盗网?门锁换到什么级别?有人冒充快递员敲门怎么办?经历过一轮思考,你就知道钱该花在哪。等装完再想,只能砸墙重来。

软件也一样。上线之后再补安全,往往发现权限模型缺乏分级、日志里没记关键操作、用户数据一开始就存在不该存的地方。这些靠增加防护规则补不上,因为它们属于设计问题。

四步,一张白板就能做

1. 画清楚数据怎么流动:从哪进、经过谁、存到哪、谁能读。

2. 逐个问「这里能被怎么打」。

3. 排优先级:按影响面和修正成本打分,不要指望一次全防。

4. 定对策,并写清楚哪些风险我们明确接受。

分类时常用的一个清单叫 STRIDE(仿冒、篡改、否认、信息泄露、拒绝服务、提权),按六个角度轮流问一遍,比凭空头脑风暴靠谱。

做 AI 系统时,这张清单还要加几项特有威胁:提示注入(prompt injection),即用户输入把原定指令带跑偏;训练数据投毒(data poisoning),即喂进去的样本本身就埋了雷;模型窃取(model extraction),即有人靠反复调用把你的能力「问」出来。它们的共同点是,往往不是代码写错了,而是模型的工作方式本身带来的。

别和相邻概念混了

威胁建模渗透测试护栏(guardrails)
时机设计阶段上线前后运行中
产出威胁清单与优先级是否能突破成功的证据拦截规则
回答的问题该防什么防住了没有此刻拦住它

渗透测试只能验证你已经想到的东西;威胁建模负责「想到」。护栏是执行层,它拦什么,应该由威胁建模来定。

对从业者的实际意义

性价比最高的动作,是在需求评审时加一场三十分钟的会:架构图贴白板,问一句「如果我是个想搞钱或者想搞事的人,会从哪儿下手」。这一步几乎零成本,却能挡下很多问题。等系统上线、被真实攻击打穿、再回头改权限模型,代价是几十倍。

不写代码的人也用得上:手头的客户数据、那个接了公司文档权限的 AI 助手、那个多人共用的账号——先问一遍「谁会惦记它、图什么」,很多取舍就不用纠结了。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。