2. 网表级后门威胁模型:攻击者假设、攻击面分析、攻击路径与风险等级
各位同学,咱们今天聊点实在的。做硬件安全这么多年,我见过太多人一上来就埋头找后门,结果方向都搞反了。为什么?因为没搞清楚“敌人是谁、从哪进来、怎么搞破坏”。
这一节,我就带你把网表级后门的威胁模型彻底捋清楚。说白了,就是先画一张“坏人画像”,再摸清“所有能下毒的地方”,最后把“攻击路径”和“风险等级”排个序。嗯,这套思路,我在好几个项目里都验证过,非常管用。
2.1 攻击者假设:谁在盯着你的网表?
我个人习惯,做任何安全分析之前,先问三个问题:
- 攻击者有什么资源? 是只有网表文件,还是连设计文档、测试向量都有?
- 攻击者想达到什么目的? 窃取密钥、破坏功能、还是让芯片在特定条件下失效?
- 攻击者能接触到哪个阶段? RTL设计阶段、综合阶段、还是布局布线后?
根据我的经验,网表级后门的攻击者,大致可以分为三类:
| 攻击者类型 | 资源能力 | 典型场景 |
|---|---|---|
| 内部恶意工程师 | 拥有完整设计权限,熟悉代码结构 | 在RTL或综合脚本中植入后门 |
| 第三方IP供应商 | 提供加密或混淆的IP核,内部逻辑不可见 | 在IP核中隐藏触发逻辑或信息泄露通道 |
| EDA工具供应链攻击者 | 篡改综合工具或库文件 | 让工具自动插入后门逻辑(这个最隐蔽) |
2.2 攻击面分析:后门能藏在哪?
你想想看,网表文件说白了就是一长串门级连接。攻击面其实比你想的要广。我把它归纳为四个主要维度:
2.2.1 组合逻辑后门
这是最经典的一种。攻击者通过修改几个逻辑门的连接,实现一个“特定输入组合”才能触发的功能。比如:
// 正常逻辑
assign out = (a & b) | c;
// 植入后门后
assign out = (a & b) | c | (secret_trigger & malicious_data);
你看,就多了一个与门和一个或门。正常功能完全不受影响,但一旦 secret_trigger 被激活,输出就被篡改了。
2.2.2 时序逻辑后门
这种更隐蔽。攻击者利用状态机或计数器,设计一个“稀有事件”作为触发条件。比如:
- 计数器计到某个特定质数时才触发
- 状态机经过5个特定状态序列后才激活
- 利用亚稳态或时钟门控漏洞
2.2.3 模拟/混合信号后门
嗯,这个领域我接触得少一些,但必须提一下。攻击者可以在模拟模块(如PLL、ADC、比较器)中植入后门,通过电压或电流的变化来触发。网表级检测对这种后门基本无能为力。
2.2.4 扫描链与测试接口后门
这个坑我踩过。攻击者可以利用DFT(可测试性设计)留下的扫描链,在测试模式下读取内部寄存器,或者通过测试接口注入恶意数据。很多团队觉得“测试模式只会在工厂用”,结果芯片到了用户手里,攻击者照样能激活测试模式。
2.3 攻击路径分析:后门是怎么被激活的?
搞清楚了攻击面,咱们再看攻击路径。我习惯把攻击路径分为三个阶段:
这张图我画了好几次才满意。你看,三个阶段各有各的难点:
- 植入阶段: 攻击者需要修改网表文件。如果代码审查严格,这一步其实风险可控。但如果是第三方IP,你根本看不到原始代码。
- 潜伏阶段: 后门在正常功能下完全“隐形”。所有测试向量都能通过,功耗、时序都正常。这是最让人头疼的。
- 触发阶段: 攻击者通过特定条件激活后门。这个条件可能是外部输入,也可能是内部状态,甚至可能是芯片温度。
2.4 风险等级划分:哪些后门最要命?
做安全分析,不能眉毛胡子一把抓。我一般把网表级后门分为四个风险等级:
| 风险等级 | 描述 | 典型例子 | 检测优先级 |
|---|---|---|---|
| L1 - 致命 | 直接导致密钥泄露或功能完全失效 | 扫描链泄露密钥、状态机跳转到错误状态 | 最高 |
| L2 - 高危 | 在特定条件下导致数据损坏或权限提升 | 组合逻辑后门篡改关键数据、测试模式越权 | 高 |
| L3 - 中危 | 导致性能下降或信息间接泄露 | 功耗侧信道后门、时序违规导致偶尔出错 | 中 |
| L4 - 低危 | 需要极高权限或极低概率才能触发 | 需要100万周期特定序列触发的后门 | 低 |
嗯,说到这,我想起一个真实案例。有个客户做金融安全芯片,网表里发现了一个L2级别的后门——在特定交易金额下会多输出一个字节。当时团队觉得“只是多一个字节,又不是泄露密钥”,就没当回事。结果呢?攻击者利用这个字节,硬是拼凑出了完整的交易密钥。你看,风险等级不是死的,得看上下文。
2.5 小结
这一节的内容,说白了就是三件事:
- 知道敌人是谁——内部工程师、第三方IP、还是EDA工具链
- 知道敌人从哪下手——组合逻辑、时序逻辑、模拟模块、测试接口
- 知道哪些后门最要命——按风险等级排序,优先处理L1和L2
有了这个威胁模型,后面咱们讲具体检测方法的时候,你就能有的放矢了。不然的话,你连后门长什么样都不知道,怎么找?
好,今天就到这。下一节咱们聊聊网表级后门的静态检测技术——那才是真正动手干活的部分。