【安全硬件】Chap.5 如何检测芯片中硬件木马?硬件木马的类型有哪些?检测硬件木马的技术
前言
【安全硬件】Chap.3 如何插入一个硬件木马到芯片的组合逻辑电路的漏洞里?不影响正常电路的功能的情况下进行硬件的逻辑加密
【安全硬件】Chap.4 如何插入一个硬件木马到芯片的时序逻辑电路的漏洞里?如何构建可信赖的状态机?
前两篇文章列举了两种例子,分别简单介绍了硬件木马对组合逻辑电路和时序逻辑电路的危害,以及如何使用Trusted for Design思想完善设计以防止漏洞的产生。
本文介绍了硬件木马的种类,硬件木马通常由负载部分(恶意电路的内容)和触发部分(激活恶意电路)组成。
硬件木马很难定位,因为它们可以插入微芯片中的任何位置;例如,一个可能在芯片的处理器中,另一个在其电源中。本文列举了检测硬件木马的手段,
A Survey of Hardware Trojan Taxonomy and Detection
1. 硬件木马的种类
1.1 硬件木马
硬件木马(hardware Trojan)
- 对现有电路元件的恶意添加或修改。 A malicious addition or modification to the existing circuit elements.
硬件木马能做什么 What can hardware Trojans do?
- 更改功能(Change the functionality)
- 降低可靠性(Reduce the reliability )
- 泄露有价值的信息(Leak valuable information)
列举硬件木马可能会造成安全威胁的三个例子:Cases Security Threats of Hardware Trojan
- Creating back doors,example: Inserting an Antenna on a chip. 可能会盗取信息、从后门黑入芯片并远程操作,甚至毁坏芯片。
- Creating Time Bombs:可能会插入计数器、冗余状态机、比较器来控制芯片的动作及倒计时爆炸
- Electronic trapdoors in key military hardware:设置电子活门板发送指定程序,破坏芯片功能。
1.2 硬件木马的区分
如上图所示,硬件木马主要可以按照三种方法分类:Physical, Activation, Action characteristics category
- Physical——物理特性类别,木马的各种硬件表现形式可能不一样。
- Activation—— 激活特性类别,使木马变得活跃并执行其破坏功能的激活方式不一样。
- Action——动作特性类别,引入的破坏性行为不一样。
1.1 物理特性类别硬件木马——Physical hardware trojans
Physical——木马的各种硬件表现形式。
- Type型主要分为:函数类(Functional)和参数类(Parametric)
- parametric: modifications of existing wires and logic.
- Parametric: the addition or deletion of transistors or gates
- Structure型:when an adversary is forced to regenerate the layout to insert a Trojan, which could then cause the chip’s physical form factor to change. Such changes could result in different placement for some or all design components.
ps,Physical hardware trojans 区分于Physical Attacks,后者是一种更广泛的概念,用物理手段达到目的,而不仅仅是木马这么简单。
1.2 激活特性类别硬件木马——Activation
Activation—— 使木马变得活跃并执行其破坏功能。
- Externally activated 外部激活(例如,通过天线或传感器可以与外界交互)。
- Internally activated 内部激活(进一步分为始终打开(Always-on)和有条件的(Conditional))。
- “Always on”表示木马始终处于活动状态,可以随时破坏芯片的功能。
- "Conditional"基于条件的木马仅在满足特定条件时才会激活。
1.3 动作特性类别硬件木马——Action
Action——动作特性类别,引入的破坏性行为。主要分为三类:
- modify function:修改功能类,是指通过增加逻辑或删除或绕过现有逻辑,来改变芯片功能的硬件木马。
- modify specification:修改规范类,是指将攻击重点放在更改芯片参数属性上的硬件木马,例如当对手修改现有线路和晶体管几何形状时的延迟。再比如,木马调高芯片的工作频率使其不能正常工作。
- transmit information:传输信息类,包括将关键信息传输给对手的硬件木马。
2. 检测硬件木马的技术Trojan Detection Techniques
HARDWARE TROJAN IDENTIFICATION AND DETECTION
Hardware Trojan Detection
实际上,破坏性检测木马Destructive Trojan Detection相当于把芯片拆开,把小门拿出来拍张照看看各层内的走线关系,在之后,这个芯片无法复原就报废了。 非破坏性检测木马Non-Destructive Trojan Detection的理想状态是想regenerate the netlist of the design。
2.1 破坏性检测木马Destructive Trojan Detection
破坏性检测木马:
- 它包括拆开 IC 以暴露芯片,然后使用电子显微镜等机器提取每一层的图像 , 这将有助于揭示 IC 的内部结构和功能,然后与源设计进行比较,以帮助检测硬件木马 。
- 昂贵且耗时 。
- 可能无法有效检测所有木马类型,尤其是那些涉及细微布局修改的木马(面积紧凑一些,放大都看不清连线了)。
2.2 非破坏性检测木马Non-Destructive Trojan Detection
2.2.1 Run-time monitoring
Non-intrusive Runtime Verification within a System-on-Chip
Hardware Trojan Detection on a PCB Through Differential Power Monitoring
What Makes A Chip Tamper-Proof?
定位到芯片硬件上核心功能的那一块,监视这一块,如果电路的功耗、延迟等表现不好,说明检测到硬件木马,就进行报警或者锁住。实际上,有了机器学习以来可以进行暴力运算计算得出想要监测的变化趋势,可以更加精准地发现硬件木马。
它持续监控芯片操作以检测恶意电路的影响,并启动缓解技术。 运行时监控技术在运行阶段检测到木马,绕过它,然后安全地运行电路。
2.2.2 Test-time
1 Logic test(逻辑测试)
原理:运行一组测试模式来检测任何异常行为
优点:
- 简单明了,易于区分
缺点:
- 详尽的功能测试在小型电路中是有效的,但对于较大的设计是不可能的。
- 现在,如果使用更少、更有效的模式,特洛伊木马就可以逃过检测。
- 故意插入的特洛伊木马是在极少数情况下触发的(例如,连续的特洛伊木马),因此很难检测到。
- 无法触发外部激活的木马,只能观察功能性木马
Quiz:假设时钟频率为 500 MHz,如果您在每个时钟周期测试一个输入组合,彻底测试一个 128 bit输入的乘法器需要多长时间。
T
=
1
f
=
1
500
×
1
0
6
=
2
×
1
0
−
9
T=\frac{1}{f}=\frac{1}{500\times10^6}=2\times10^{-9}
T=f1=500×1061=2×10−9
t
=
2
128
×
2
×
1
0
−
9
(
s
)
t=2^{128}\times2\times10^{-9}(s)
t=2128×2×10−9(s)
2 侧信道分析(Side-Channel Analysis-Based Approaches)
侧信道分析:分析电路的物理参数(功率、延时温度……等)观察木马插入后的效果。 硬件木马即使在非活动状态下也会影响这些特性,因此侧信道分析的优点是无需激活特洛伊木马即可检测到它们。基于观察设备物理特性中的木马效应,如动态功率、泄漏电流、路径延迟、电磁 (EM) 辐射或这些特性的组合。
硬件木马对电路参数的潜在影响是:
- 由于额外的门(更多泄漏功率)和额外的开关活动(更多动态功率)导致功耗增加
- 路径延迟增加:由于额外的逻辑
- 额外的电磁辐射 :由于意外的开关活动
- 由于额外的开关活动,某些区域的芯片温度发生变化并形成额外的热点
优点:对不会在电路中引起明显故障的特洛伊木马有效
缺点:现代纳米技术和测量噪声中的大工艺变化可以掩盖特洛伊木马电路的影响,特别是对于小型特洛伊木马。
2.3 Why Hardware Detection is challenging?
因此,重要的是要从对手的角度思考,猜测他/她可能在何处/何时/如何以及为什么插入特洛伊木马程序,这可能有助于制定针对特洛伊木马程序的最佳对策
- 木马种类繁多
- 缺乏合适的工具
- 难以判断设计实现或行为异常是木马存在还是其他可靠性原因(如电磁噪声、电路aging… )
Therefore it is important to think as an adversary to guess where/ when/ how and why he/she might insert a Trojan This may help develop the best countermeasure against Trojan
3. Quiz
- 检测定位导致严重功能故障的木马(detecting and locating a Trojan that is causing a serious functional failure )
解析:三者都行,但因为功能故障很明显,这个选项比较合适
Reverse-engineering of the chip
功能性测试(A comprehensive functional testing )。
A comprehensive functional testing Analysis of the power consumption of the chip
- 检测到泄露信息的参数木马( the detection of a parametric Trojan that is leaking information)
- Reverse-engineering of the chip
- 芯片功耗分析(Analysis of the power consumption of the chip ),因为不会有功能性变化
- A comprehensive functional testing Analysis of the power consumption of the chip
- 检测到导致间歇性错误的always-o的木马 (the detection of an always-on Trojan that is causing intermittent errors )
- Reverse-engineering of the chip
- 功能性测试(A comprehensive functional testing )。
- 分析逻辑路径的延迟和整个芯片的性能(Analysis of the delay of logical paths and the performance of the whole chip)。并不会所有时间都出现,所以查功能性并不一定得到正确答案。
后记
Hardware Trojan Attacks: Threat Analysis and Countermeasures
The Trojan should by definition cause the design to deviate from its normal behaviour.
版权归原作者 Jie_MSD 所有, 如有侵权,请联系我们删除。