2.4 挑战
本章2.1节~2.3节介绍了已有的木马攻击模型以及当前硬件木马研究的趋势等。通过这些介绍,梳理了在过去十多年中尚未解决或完全未被探索的问题。本节将进一步讨论在硬件木马研究领域具有挑战性的技术问题。
2.4.1 木马防范
木马防范是高于木马检测的技术。木马检测和木马防范尝试从两个不同的角度解决硬件木马问题。木马检测技术包含图2.6左侧第1框中的所有方法和第2框中的有助于木马检测的辅助技术,图2.6中其余的方法尝试防止硬件木马插入或防止木马恶意行为,包括可信分块制造方法等。近年来,木马防范方法得到了足够的重视。研究者已经探索了各种检测方法,并意识到检测一个微小、静态、低开销的木马仍然非常具有挑战性。此外,大多数硬件木马检测技术仍基于现有的黄金模型或黄金IC来开发。在IC供应链中获取一个黄金模型或黄金IC极其困难,或者说是基本不可能的。因此,硬件木马防范可能是克服硬件木马威胁的一种更为有效和实用的方法。然而,新发布的可信设计和可信分块制造这两类检测技术仍远远超过防范技术的数量。在不久的将来,防范技术值得更多关注。
2.4.2 利用模拟和混合信号实现的模拟硬件木马
近年来,模拟硬件木马引起了越来越多的关注,原因在于其对传统的数字域硬件木马检测和测试方法具有免疫力,且其对现代系统的威胁越来越大。尽管一些模拟硬件木马利用模拟和混合信号电路相对于数字电路的灵敏度来制造可靠性问题[10],但更致命的模拟攻击形式往往隐藏在常见的无处不在的数字电路中。其中包括新近报告的电荷域木马,如A2木马[12]和Rowhammer攻击[90]。
A2木马是一类面积小、功耗影响小的电荷域木马。攻击者使用切换寄存器作为触发器输入,定期充电后,重新分配电荷,导致电压稳步上升。一旦触发频率增加到阈值以上,且当电压超过检测器阈值时,木马电路行为就会被激活。Rowhammer是现代DRAM中广泛存在的另一类模拟攻击。当攻击者反复切换一个字线时,字线之间的寄生电容通过提升连接至受害行的存储单元的电荷泄漏率,在相邻行上造成电荷干扰。如果受影响的单元在电路刷新到原始值之前丢失了太多电荷,则会发生内存错误。
针对数字电路的现有硬件木马对策可能不适于应对这些模拟硬件木马,因为在IC设计过程的验证和检查阶段,电路的模拟行为早已被抽象化成数字逻辑。
2.4.3 黄金模型依赖
大多数木马检测方法依赖于黄金模型的存在。现有的检测方法都是基于黄金设计或黄金IC的。一般来说,为了验证IP核或SoC设计的RTL和门级网表,研究者需要利用黄金设计在流片前进行木马检测。为了验证和认证第三方IP核,研究者必须为硬件木马防御程序提供黄金功能或属性。此外,无论是在门级还是layout(布局)级,部分芯片制造后的检测方法都能基于黄金设计来检测硬件木马。即便是有损逆向工程的方法,也需要一个可信的网表或layout进行比较。功能测试还需要黄金设计来生成测试模式和正确的响应。研究者能否获得黄金设计取决于以下三个因素:第三方IP核供应商、SoC开发商和第三方开发工具。在表2.1中,除模型B外,其他所有攻击模型(A、C、D、E、F和G)都包含参与设计开发过程的不可信方。因此,在大多数情况下,拥有黄金设计极不现实。由于SoC开发商在模型A和F中为可信,所以仅在第三方IP核为可信的或可验证的情况下,才能产生黄金SoC设计。如果SoC开发商不可信,则理论上就不可能生成黄金设计,因为SoC开发商已经接近设计阶段的末端。因此,可以说黄金设计不适用于C、D、E和G模型。
黄金IC是一种功能真实的预制芯片。大多数流片后探测技术,特别是侧信道分析方法,都需要黄金IC。大多数侧信道分析技术都需要黄金IC作为比较各类侧信道信息(包括延迟、功率、温度、电磁等)的黄金参考。黄金IC假设的一个前提是,即将制造的设计必须可信。这只发生在模型B和F中。如果研究者拥有黄金设计,则有一些方法可以创建黄金IC。最直接的方法是对一批生产的芯片进行完全的逆向工程,根据对黄金设计得到的知识来识别黄金IC。无损和有损反向技术都可能有所帮助。无损反向技术不会损坏正在研究的芯片,而有损反向技术可以提供更好的分辨率。无论是无损还是有损,反向工程都是一个费钱费时的过程,其成本极为昂贵。还有一种方法,是在另一家可信的代工厂制造少量芯片。这些芯片可以被视为黄金IC。但是,如果由不同的代工厂制造,则由于不同的标准单元库和制造流程,电路的特性就会有所改变。两种不同的设计必然会产生两种不同的侧信道信号。此外,即使对于相同的设计,不同的制造设备使用不同的工艺技术,也可能导致物理特性的变化。因此,单独制作的IC很难作为侧信道检测的黄金IC。
研究者还开发了一些不需要黄金模型的检测技术。文献[91]提出了一种时域自参考方法。该方法在两个不同的时间窗口上比较同一芯片的特征,以完全消除工艺噪声的影响,但这一方法仅适于在FSM中具有不同状态的顺序木马,而如何在测试期间更改木马的状态则是另一个挑战。文献[57]提出的方法是先利用片上工艺控制监视器捕获每个芯片的工艺偏差,然后统计构造用于基于侧信道检测的可信区域。Zhang等人[92]尝试使用门级特性先在芯片中建立侧信道信号之间的关系,然后根据其他测量信号计算估计的侧信道信号值。通过将估计值与实际测量值进行比较,可以识别侧信道大纲视图。尽管这些技术通过建模消除了对黄金IC的需求,但是有效性高度依赖模型的准确性,影响了检测的置信度。
文献[86,87]提出了一种新的基于EM的侧信道辐射的无黄金模型或黄金IC的检测方法,利用RTL模拟的EM频谱特性作为黄金参考。然而,不需要黄金模型的解决方案仍然很少。对于硬件木马检测技术来说,黄金模型的获取仍然是一个巨大的挑战。