1.2 硬件木马检测
1.2.1 芯片部署前的硬件木马检测
与软件病毒、软件木马不同,硬件木马无法通过固件更新轻易消除。因此,硬件木马对计算机系统的危害更大。硬件木马由攻击者设计。攻击者往往采取在IC设计中添加不需要的功能的方法植入硬件木马。硬件木马的设计没有标准流程,所采取的方法取决于攻击者的目标及可用资源。尽管如此,硬件安全研究者还是对不同的硬件木马进行了分类。例如,在文献[7]中,研究者根据硬件木马程序触发时的活动将硬件木马程序分为隐式电路行为和显式电路行为;文献[39,40]对硬件木马进行了更为详细的分类。基于硬件木马的隐蔽性及其可能造成的影响,研究者还提出了多种硬件木马设计方案[41-44]。虽然硬件木马大多是在寄存器传输级(register transfer level,RTL)层面插入的,但有些是通过半导体掺杂操作插入的[45]。
由于传统的电路测试方法在检测恶意逻辑方面存在不足,因此近年来研究者专门开发了硬件木马检测方法和可信集成电路设计[46]。研究者已经提出了大量的硬件木马检测和防范方法。这些方法主要可以分为四大类:①增强功能测试[47];②侧信道指纹识别[48];③硬件木马防范;④电路强化[6]。
由于增强功能测试方法是基于“硬件木马通常由小概率事件触发”这一思想的,因此,研究者提出以下两种建议:①将这些小概率事件包含在测试模式中,以便在测试阶段触发木马程序[5];②在门级网表中分析所有小概率事件,以识别可能充当触发器的可疑节点[19]。增强功能测试方法的局限性在于不存在对于小概率事件的标准定义,使得在标准测试模式和小概率事件模式之间留有巨大的缺口。
侧信道指纹识别是另一种流行的硬件木马检测方法。尽管在测试阶段硬件木马不易被触发,可能会逃避功能测试,但插入的硬件木马必然会改变被攻击电路的参数[21,39,49]。该方法的有效性取决于区分硬件木马入侵电路和无硬件木马电路的侧信道信号的能力。因此,利用先进的数据分析方法,通过消除不断增加的工艺误差和测量噪声,可以帮助生成侧信道指纹[14,48]。在指纹生成和硬件木马检测中,有些研究成果选择使用多种侧信道参数及其组合,包括全局功耗跟踪[48]、局部功耗跟踪[3,4]、路径延迟[7,50]等。基于侧信道指纹识别的硬件木马检测方法因具有非侵入性而得到了广泛的应用,由于是依据黄金模型可供比较的假设发展而来的,在很多情况下,黄金模型不容易获取,所以不容易实现。
硬件木马防范和电路强化技术方法试图利用附加逻辑修改电路结构,以消除小概率或可疑事件[6,22],或者使目标电路对恶意修改更加敏感[48]。这类方法往往与其他硬件木马检测方法结合使用,可提高检测精度或降低检测成本。即使在目标设计中使用了电路协同设计技术来降低附加逻辑的影响,附加保护逻辑仍然会影响电路的性能。此外,强化结构本身也可能成为硬件木马攻击的目标[52]。
1.2.2 芯片部署后的硬件木马检测
尽管现有的检测方法已能成功检测到某些硬件木马,但检测范围仍十分有限,其原因在于依赖于过度简化甚至有时是错误的假设。这些假设往往包括以下方面:
(1)硬件木马设计者使用传统、简单的电路结构,会使硬件木马的功能受到限制;
(2)硬件木马设计者试图占用尽可能小的片上区域,在芯片侧信道信息中难以发现硬件木马产生的侧信道信息;
(3)被测电路存在黄金模型来检测侧信道信息的变化;
(4)攻击者只会攻击数字电路,因为模拟和射频电路对恶意篡改更为敏感。
这些假设很长时间内都被硬件安全研究者所接受,成为开发先进硬件木马检测和预防方法以及相关研究工作的主要指导原则。很可惜,这些假设并不完整,甚至带有误导性。笔者现在已经明显意识到,硬件安全和硬件木马检测的问题比之前设想的更加复杂、更加普遍,特别是:
(1)类似于现代电路设计中的进步,硬件木马可以利用先进的设计技术,在不牺牲功能的情况下增强隐蔽性[41,43];
(2)增强的硬件木马程序设计可以使用大量的芯片空间,相对于整个侧信道信息仍保持隐藏状态[53];
(3)包含第三方资源的集成系统不一定都存在黄金模型[42,54];
(4)模拟和射频电路同样容易受到硬件木马攻击[21,55,56]。
上述情况推翻了许多先前提出的硬件木马检测和预防方法,导致无论在数字领域还是在模拟和射频领域,集成系统都容易受到硬件木马的攻击。
因此,研究者开始研究芯片部署后的检测方法,主要利用部署后侧信道指纹识别和片上等效性检查等技术。这里的关键思想是在测试阶段,隐藏的硬件木马可能很容易避开检测,如果被触发,将会对侧信道指纹识别或电路功能造成重大影响。在文献[55]中,研究者提出了第一个芯片部署后信任评估结构。这种信任评估结构存在局限性,即只能从外部触发,通过主输入源停止正常操作,会给攻击者留下足够的时间在测试间隔期间触发和关闭硬件木马电路。为克服这种方法的不足,研究者提出了一种实时的安全评估结构。该结构能够持续监测目标电路的工作状态,即时报告目标电路的异常情况[53]。针对运行时的硬件木马检测,研究者还开发了利用电阻式内存以并行方式进行片上奇偶校验的检测方法[57]。