一句话定义
纵深防御(Defense in Depth)是一种安全设计原则:不把安全押在任何单一防线上,而是在多个层面叠加相互独立的防护,让攻击者必须连续突破多道关卡;任何一层被绕过,后面还有东西挡着。
为什么一道不够
这个思路来自军事和传统信息安全,如今被原样搬到 AI 系统上。原因很朴素:凡是靠“识别坏东西”来拦截的机制,都有人能想出绕法。提示词注入(prompt injection)可以换措辞、换语言、塞进文档里;内容审核分类器会遇到没见过的表达。把全部希望寄托在一个过滤器上,等于假设它永远不会被绕过,而这个假设迟早破产。
打个比方:寄一箱易碎品,你不会只包一层。气泡膜、纸箱、防水袋、外箱胶带,每一层单独看都不够,叠起来才扛得住摔。安全也是这么叠的。
在 AI 系统里怎么叠
以一个智能助手为例,常见四层:
- 输入过滤:进模型之前先过一遍,识别越权指令、明显的注入模式、不该出现的敏感数据。
- 权限收窄:模型能调用的工具、能读的数据按最小必要给,并且按当前用户身份授权。它就算被忽悠了,手里也没有转账权限。
- 输出审查:出模型之后再检查一次,防止泄露上下文里的隐私、防止有害内容直接送达用户。
- 人工兜底:高风险动作(付款、发外部邮件、删数据)不自动执行,交给人点确认。
这里最容易被忽略的一点是:层与层必须相互独立。如果这四层背后都是同一个模型、同一段提示词,那它实际上只是一层,同一个盲点会被一次绕过。真正有效的叠加是“规则 + 模型 + 权限系统 + 人”这种机制上不同的组合。
和相邻概念的区别
| 单点护栏(Guardrail) | 纵深防御(Defense in Depth) | |
|---|---|---|
| 核心假设 | 这条防线不会被绕过 | 每条防线都可能被绕过 |
| 失效后果 | 直接失守 | 还有下一层兜住 |
| 成本 | 低、上线快 | 高、要长期维护多套机制 |
| 典型误区 | 一个分类器打天下 | 名义上多层,实则同源同盲点 |
它和最小权限原则(Principle of Least Privilege)也不是一回事:后者只是纵深防御里的一层。红队测试(AI 词典:Red Teaming">Red Teaming)则是验证手段,用来检验这套层叠结构哪里还有漏,本身不构成防护。
对你的实际意义
做系统的人,设计时不妨画一条线,写下“攻击者要过几关”,每删掉一关都得有理由;平时记录每层拦下了什么,才知道哪层其实只是摆设。普通职场人则可以拿它当追问清单:当供应商说“我们的模型很安全”,可以问一句除了模型本身还有哪几道关,高风险操作有没有人工确认。具体实现方案以各家官方文档为准。
