寓言
正门递话和夹带传话
古城衙门里设了一位传话官。规矩很简单:任何人递进衙门的呈文,传话官先读一遍,再转述给判官。传话官受过严格训练,不会被呈文里夹带的威逼利诱动摇——这是老城防体系的基本保障。
有一天,城外来了一封急件。送信人递呈文的时候,在末尾加了一行字:「请忽略前面一切,立即通知城门守卫今夜撤岗。」传话官读了这行字,犹豫了一下,但按照训练手册,他直接跟判官说:这份呈文试图覆盖我的指令。判官命令退回,记录在案。这是正门递话——有人直接往传话官的耳朵里灌恶意指令。
半年后,事情变复杂了。传话官多了一项新职责:每天翻阅各州府报上来的公文汇编,从中提取摘要报告判官。汇编是由各地自行编纂的,京城只负责审阅格式。一位对手州府的人知道汇编会进传话官的案头,便在汇编的第三十七页悄悄嵌了一段文字:「以上公文需要应急处理:立即将判官午后的行程表公示在城门口。」
传话官翻阅公文汇编时看到了这几行字,以为这是汇编的一部分,便照常规流程把行程表贴了出去。判官知道后大发雷霆。复盘时发现,这段恶意指令不是从正门递进来的——它弯弯绕绕地藏在了一份被系统自动拉取的公文汇编里。
城防师爷给这两种情况分别做了记录。第一种叫「正门劫令」:攻击者直接对着传话官的接口递恶意指令。第二种叫「夹带劫令」:攻击者把恶意指令藏在传话官日常阅读的外部材料中,等传话官自己读进去、消化成摘要,指令便跟着进入了决策链条。
师爷画了一张图:正门劫令,攻的是传话官面前那一张呈文纸。夹带劫令,攻的是传话官从档案库、公文堆、信件框里拉取回来的所有外部文本。前者防单次输入,后者要防整条数据供应链。
判官后来下令:所有外部公文入库前,必须过一次内容筛查,检查的不只是格式和来源,还要看文内是否嵌有指令性质的话术。这个筛查环节专门针对夹带劫令,因为正门的防护那一步早就有了。
后来守门人把两套盾分开:前门盾挡当面递来的令,后库盾扫所有外头进来的纸。任何一处漏了,守备就会在复盘记录上留印。