一、什么是硬件木马
硬件木马是指在集成电路(芯片)的设计或制造过程中,被恶意植入的微小恶意电路。它和软件木马类似,但存在于硬件底层,非常隐蔽,难以检测和清除。
二、核心特点
-
物理存在:它是芯片上真实存在的电路,不是代码。
-
极难发现:通常只由几十个晶体管组成,可以藏在芯片上亿个电路里。激活条件很苛刻,比如罕见的数据输入、特定温度等,平时处于"休眠"状态,不触发就不会影响芯片正常工作。
-
无法删除:一旦芯片制造完成,硬件木马就永久固化了,无法像软件一样用杀毒软件清除。唯一的办法是废弃整个芯片。
三、 体系分类
硬件木马的分类体系很成熟,通常从物理特性、激活特性、动作特性、插入阶段和抽象层级 等多个维度来理解。最经典的一种分类方式是三特性模型:
-
物理特性(Physical Characteristics):指木马在硬件上的物理实现方式,这是它"藏身"的基础。
-
激活特性(Activation Characteristics):指木马被唤醒并执行恶意动作的条件或机制,决定了它的隐蔽性。
-
动作特性(Action Characteristics):指木马被激活后产生的恶意后果,是攻击的最终目的。
除了这三大核心维度,业界还从木马的结构设计逻辑 、植入生产阶段 、所在的设计抽象层级 和对原始电路的影响等多个方面进行细分,以全面掌握其特性。
近些年来,研究者们将硬件木马按照抽象层次划分为IP 级木马、总线(Bus)级木马和SoC 级木马。对于IP 级木马,木马逻辑隐藏在IP 内部,激活后也在IP内部工作;对于总线级木马,木马逻辑藏在大型逻辑模块之间的通信线路上,激活后会影响或窃取通信数据;对于SoC 级木马,木马逻辑可能隐藏在多个功能模块中发挥协同效用,激活机制和攻击模式多种多样。
1) 物理特性:木马的"存在形式" (Physical Characteristics)
物理特性描述木马在芯片布局上"长什么样"。主要包括以下几点:
-
类型 (Type):这是最核心的区分。
-
功能型 (Functional) :通过新增或删除晶体管、逻辑门等元件来构建木马电路。它是有实体的、额外的电路模块。
-
参数型 (Parametric) :不新增或删除元件,而是通过修改现有电路和连线的参数(如改变导线宽度、调整晶体管阈值电压等)来实现破坏。它更像是对现有电路进行微调,没有明显的大块"多余"电路,因此检测难度极高。
-
-
尺寸 (Size):指构成木马元件(如晶体管)的数量。木马为了隐藏自己,通常会设计得非常小巧。
-
分布 (Distribution):指木马电路在芯片物理布局上的散布方式,可以是集中在一处,也可以是分散在多个区域。
-
结构 (Structure) :指木马的布局布线是否与芯片的原设计完全一致。攻击者若为了植入木马而被迫更改或重组部分芯片的布局,会导致芯片物理外观发生变化,成为暴露的线索。
2) 激活特性:木马的"触发机关" (Activation Characteristics)
这是决定木马隐蔽性的关键。绝大多数硬件木马平时都"休眠",只有满足特定条件才会被激活。硬件木马包含两个部分:触发器(trigger)和负载(payload)。触发器以一种监控电路的方式藏在芯片中。在芯片运行过程中,它不会对普通信号做出反应,当了解该木马特性的黑客想要触发它时,可以通过设定好的特殊信号来激活触发器电路。黑客想要执行的攻击内容就是控制负载。
激活方式主要分为两类:
-
内部激活 (Internally Activated):激活条件完全由芯片内部状态决定。又可细分为:
-
永久型 (Always-on):木马自芯片上电起就始终处于活动状态,随时可能破坏芯片。
-
条件型 (Conditional):这是最常见的形式。只有在监控到特定的内部信号组合或序列(如特定的计数器值、罕见的状态机跳转等)时才会激活。触发信号可以是组合逻辑(特定状态)或时序逻辑(特定序列)。
-
-
外部激活 (Externally Activated):木马通过天线、传感器等接口,接收外界的信号(如特定频率的电磁波、光信号等)来激活,实现远程遥控。
3) 动作特性:木马的"攻击效果" (Action Characteristics)
这是木马的"最终目的"。被激活后,载荷部分会执行预定的恶意操作,主要分为三类:
-
修改功能 (Modify Function):主动篡改芯片的正常逻辑功能。例如,在加密过程中绕过安全检查,输出错误的计算结果。
-
修改规格 (Modify Specification) :通过微调芯片参数(如时序)来降低性能或可靠性,而非直接改变逻辑功能。
-
发送信息 (Transmit Information):将芯片内部的敏感数据(如密钥、用户隐私)通过隐蔽通道泄露给攻击者。
4)其他主流分类维度
除了"三特性模型",学术和工业界也从其他维度提供补充视角。
-
按结构设计逻辑分:
-
组合型木马 (Combinational):触发电路由纯组合逻辑构成,激活条件为某个特定瞬间的信号状态。
-
时序型木马 (Sequential):触发电路包含时序逻辑,需监控特定状态序列(如"数到1万次才触发")。
-
-
按植入的生产阶段分:
-
设计阶段 (Design):在硬件描述语言(HDL)代码中直接植入。
-
制造阶段 (Fabrication):在芯片制造过程中的光罩(Mask)层面植入。
-
测试/组装阶段 (Testing/Assembly):在芯片测试或封装环节植入。
-
-
按设计抽象层级分:根据攻击者能接触到的芯片设计层级划分,包括系统级、寄存器传输级、门级、版图级和物理级。
-
按对电路的影响分 :木马成功激活并造成破坏后,主要会引发更改功能、降低性能、泄露信息、拒绝服务这四类后果。
三、攻击目标与危害
-
网络安全设备:如防火墙、加密机。木马可泄露密钥或绕过防御。
-
关键基础设施:电网、通信基站、交通系统。被植入木马的芯片可能被远程控制或引发重大事故。
-
军事设备:导弹、无人机、加密通信设备。这是极高级别的潜在威胁。
-
消费电子:手机、智能门锁。可能导致信息窃取或设备变"砖"。
四、硬件木马侦测
硬件木马侦测的核心挑战在于木马的隐蔽性:它们可能只由几十个晶体管构成,平时处于休眠状态,隐藏在现代芯片动辄数十亿计的电路中。目前,主流的侦测方法可分为两大类------硅前检测(设计阶段) 和硅后检测(物理芯片阶段),各有侧重和优缺点。
1) 硅前检测:在芯片制造前"排雷"
这类方法主要在设计阶段或流片前对芯片的网表(电路连接图)、寄存器传输级(RTL)代码等进行分析,力求在物理芯片诞生前消除木马。
核心方法一览
| 方法类别 | 核心原理 | 主要优点 | 主要挑战 |
|---|---|---|---|
| 功能/逻辑测试 | 输入大量测试向量,试图激活并观察到木马的异常行为。 | 如果激活,定位非常直接。 | 对于依赖罕见触发条件的木马几乎无效,难以穷尽所有输入组合。 |
| 形式化验证 | 建立电路的数学模型,通过数学证明来验证设计属性是否被违反。 | 理论上可提供严格证明。 | 面临状态空间爆炸问题,难以应用于大型设计,且需要人工定义安全属性。 |
| 结构/代码分析 | 分析硬件描述语言(HDL)代码或网表,寻找如罕见信号切换、过长路径等可疑结构。 | 可自动化,不依赖测试向量。 | 容易产生大量误报,且对针对性的抗检测设计效果有限。 |
| 基于人工智能 | 训练机器学习模型从电路网表中自动学习木马的结构或行为特征进行分类。 | 自动特征提取,处理速度快,潜力巨大。 | 需要大量高质量标记样本进行训练,模型泛化能力和决策过程的黑盒特性存在不确定性。 |
2)硅后检测:对物理芯片进行"体检"
芯片流片并封装后,检测的物理手段成为了主流和关键。
核心方法一览
| 方法类别 | 核心原理 | 主要优点 | 主要挑战 |
|---|---|---|---|
| 侧信道分析 | 通过精密仪器测量芯片运行时的功耗、电磁辐射、路径延时等物理参数,与"黄金芯片"对比,发现微小异常。 | 非破坏性,检测面积小至0.05%的木马,是目前最主流的方法之一。 | 对工艺偏差 和环境噪声敏感,容易淹弱小面积木马的信号。 |
| 逻辑测试 | 用于硅后测试的一种手段。在芯片测试阶段,利用测试向量尝试激活木马,并在特殊测试模式下(如扫描链)观测其影响。 | 继承了硅前测试的部分优点。 | 同样面临激活罕见触发条件的难题,对未知木马覆盖能力有限。 |
| 物理检查 | 通过开封、去层、电子显微镜成像等方式,对芯片内部结构进行物理层面的逐层扫描和分析。 | 可直接观察到木马的物理存在,作为最终验证手段。 | 破坏性检测,耗时耗力,成本极高,不适合大规模检测。 |
| 基于人工智能 | 作为硅后检测的强力辅助,利用深度学习模型分析侧信道信号(如功耗)或物理图像,提取更高维度的特征,提升检测精度和抗噪能力。 | 自动特征提取,检测精度高(据报道可达99.6%),能有效处理噪声。 | 依赖大量高质量的训练数据,模型解释性差,存在过拟合风险。 |
几个重要概念辨析:硅前 vs. 硅后,侧信道 vs. 逻辑测试
- 硅前 vs. 硅后
-
硅前检测 是在芯片制造前,对设计本身进行分析,属于理论或仿真层面的排查。
-
硅后检测是对已经制造出来的物理芯片进行测试,能够验证实际生产环节是否引入了木马。
- 侧信道 vs. 逻辑测试
-
逻辑测试是"主动"的,目的是激活木马并直接观察输出。
-
侧信道分析是"被动"的,它不关心木马是否激活,而是通过物理信号间接感知木马存在。
-
A/B 测试 是侧信道检测的经典范式:你需要一个**绝对安全、不含木马的"黄金芯片"**作为参照,然后将待测芯片的各项物理参数与"黄金芯片"进行比对。任何偏离正常基线的微小波动,都可能是木马存在的旁证。
主要挑战:为何侦测如此之难?
尽管技术多样,但硬件木马侦测目前仍面临三大核心挑战:
-
"金本位"缺失:很多场景下,获取绝对安全的"黄金芯片"非常困难,甚至不可能。这使得依赖比对的侧信道等方法失去基准。
-
"针海捞针" :木马本身非常微小,其造成的信号变化可能完全被生产工艺带来的工艺偏差 和环境测试噪声所淹没。
-
"道高一尺,魔高一丈" :攻击者也在不断进化,设计出能规避现有检测方法的抗检测木马,例如模仿正常电路结构或利用工艺偏差来隐藏自己。
未来方向
综合来看,未来的侦测技术呈现出几个明确的发展趋势:
-
多模态融合:融合多个侧信道信息(如功耗+电磁)或结合多种检测方法(如侧信道+逻辑测试)以提高检测的鲁棒性。
-
AI深度赋能:深度学习、图神经网络、大模型等技术将更深入地应用于自动特征提取、异常检测和抗噪处理。
-
检测前置与自动化:开发更高效的硅前检测技术,力求在设计阶段消除隐患,同时提升整个检测流程的自动化水平。
-
硬件辅助的运行时检测:利用芯片内的硬件性能计数器(HPC)等现有模块,实现对系统运行时的、低开销的实时监控。
如何防范?难度极高
-
信任根源:尽量只从信誉好的厂商(如中国电子技术标准化研究院认证的厂商)采购芯片。
-
设计审查:使用第三方EDA工具扫描版图,查找可疑电路。
-
旁路分析:运行时监测芯片的功耗、电磁辐射等特征,与"黄金芯片"(绝对安全的参考芯片)对比,寻找异常波动。
-
逻辑测试:输入大量随机或定向测试向量,尝试激活沉睡的木马。
总的来说,硬件木马是芯片制造全球化带来的一个安全隐患。它利用的是芯片设计者和用户的不信任关系,主要防范思路也从单纯的技术手段,拓展到建立可信的供应链管理体系。
理解这些复杂的分类,是研究和防范硬件木马威胁的基础,可以帮助安全专家更有效地设计出有针对性的检测和防御方案。
参考文献:《EDA简史:半导体与集成电路设计技术的商业、生态与未来》,孙路著 ,机械工业出版社