点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
1、硬件木马概览
1 前言
随着信息技术的出现,网络已经深入到人们的日常生活并发挥着越来越重要的作用。在这种形势下,网络攻击风险也与日俱增。自20世纪80年代以来,软件开发人员和黑客之间展开了激烈的攻防对抗,虽然对抗的方式花样翻新,但是通常都不涉及底层硬件,因为人们往往认为底层硬件是安全的。
(资料图片)
然而,这种情况在近十年发生了变化,电子产品设计、制造和分销的复杂性导致整个电子行业转向全球商业模式,使得底层硬件也可能遭受攻击。
在新的攻击模型下,不可信的机构、个人直接或间接地参与了电子设备制造,尤其是其中集成电路生命周期的各个阶段。以往不曾有的由对硬件的访问权限可能带来的风险引起了研究人员的注意,甚至导致各种阴谋论的出现。
比如在2008年,有报告称某国雷达的一个严重故障可能是由隐藏在商用产品(commercial off-the-shelf, COTS)微处理器中的后门而被故意触发的[1]。一位不愿透露姓名的承包商宣称,一家芯片制造商最近出于类似的目的制造了带有远程关闭功能的微处理器。鉴于这类漏洞可能引发的严重后果,硬件木马(hardware Trojan,HT)问题开始受到学术界、工业界和各国政府的极大关注。
近年来,对硬件木马的研究成为一个研究热点。预计在未来,有关硬件木马的研究将有更多的新发现。本章通过回顾硬件木马领域已有的研究成果,分析现有方法的局限性,讨论相关技术的发展趋势以及未来研究的重点方向。
本章先介绍现代IC供应链,分析各种可能出现的硬件木马攻击模型,对硬件木马进行分类;然后讨论硬件木马的设计以及防范硬件木马的各类对策;最后,通过硬件木马防范、模拟和混合信号木马、黄金模型依赖等技术主题介绍硬件木马领域具有挑战性的问题。
2 硬件木马攻击模型与硬件木马分类
IC供应链的全球化大大降低了集成电路的设计成本,缩短了集成电路的上市时间(time-to-market, TTM)。
多年来,集成电路行业经历了多次兼并重组,对IC供应链做出了重大调整,以适应全球化趋势。
然而,由于IC供应链的全球化,企业和政府对这一行业的控制被分散。因此,追踪第三方IP核的来源和监控代工厂的制造过程日益困难,使芯片可能产生特殊的安全隐患。
IC供应链中的漏洞可能导致芯片被插入木马电路,从而威胁整个硬件行业的安全。现代IC供应链如图所示。
3 易受攻击的IC供应链
随着集成电路的制造工艺发展至深亚微米级和纳米级,集成电路设计和制造的复杂性急剧增加。
专用集成电路(application-specific integrated circuit, ASIC)或片上系统(SoC)组件通常需经过复杂的工艺过程。
该过程首先将规范转换为行为描述,通常使用硬件设计语言(hardware design language,HDL),如Verilog或VHDL。
接下来,执行合成,根据网表(逻辑门)将行为描述转换成设计实现。在完成设计实现后,数字GDSII文件被交给代工厂进行IC制造。
一旦代工厂生产出实际的IC,将通过测试过程确保其正确。
那些通过测试的IC通过组装、重新测试后发送至市场,最终被部署到电子系统中。
先进的半导体制造技术在IC开发过程的每一个阶段都需要投入大量的资金。
例如,2015年拥有一家代工厂的成本约为50亿美元[2]。因此,大多数半导体公司无力维持从设计到包装的全部IC供应链。
为了降低研发成本、缩短开发周期,半导体公司通常将部分工作外包给第三方代工厂,购买第三方IP核,使用第三方供应商的EDA(electronic design automation,电子设计自动化)工具。
显然,第三方可能不可信或具有潜在恶意,第三方的加入增加了系统的安全风险。
有研究表明,IC供应链容易受各种攻击,如硬件木马、逆向工程、IP盗版、IC篡改、IC克隆、IC生产过剩等。其中,硬件木马可以说是最大的威胁,引起了广泛关注。
4 攻击模型类别
硬件木马可以在设计或制造的任何阶段被不同的攻击者插入,导致攻击模型有多种不同的情况。
通常,SoC芯片的设计和制造过程主要分为三个阶段:IP核开发、SoC开发和制造。
因此,第三方IP供应商、SoC开发商和代工厂都有机会插入硬件木马。
书的作者分析了全部可能产生硬件木马的攻击情况。表如下列出了硬件木马的七种攻击模型。
5 硬件木马分类
硬件木马是指故意对电路设计进行恶意修改,导致电路在运行时产生意外行为。
受硬件木马影响的IC可能会发生功能或规范被更改、泄露敏感信息、性能下降及系统不可靠等情况。目前有些文献已对硬件木马提出了详细的分类,涵盖广泛的具有潜在风险的硬件木马。
比如:根据插入阶段、抽象级别、激活机制、效果和位置这五个不同的属性将硬件木马进行分类。
硬件木马与制造缺陷完全不同。制造缺陷具有无意、随机的特点,数十年来已被广泛研究,其行为可以通过Stuck-at故障、延迟故障等模型来反映。
但对于硬件木马,研究者却难以创建适合所有类型的模型。
此外,缺陷只在制造过程中产生,而硬件木马可以在IC开发的任何阶段插入。
因此,硬件木马问题比制造缺陷的表现更为复杂。
2、硬件木马设计
对于设计良好的硬件木马,传统的功能测试方法很难检测[7]。通常,硬件木马包含两个基本部分:木马触发器(实施木马激活)和有害电路(实施有害功能)。
•木马触发器是一个可选部件,用于监控电路中的各种信号或一系列事件。
•有害电路通常从原始(无木马)电路和木马触发器的输出中获取信号。
一旦木马触发器检测到预先确定的事件或条件,就会激活有害电路执行恶意行为。通常情况下,木马触发器会在极为罕见的情况下被激活,因此有害电路大部分时间均保持非活动状态。
当有害电路处于非活动状态时,IC就像一个无木马的电路,很难将木马检测出来。
根据木马触发机制的不同,硬件木马可分为:组合木马和时序木马。一些木马触发机制采用组合和顺序混合机制设计。图展示了组合硬件木马的抽象模型。恶意电路行为由同时发生的一组触发条件激活。组合硬件木马不使用触发器或锁存器来存储状态信息。
下图展示了时序硬件木马的抽象模型。木马被一系列状态转换激活。
下图给出了硬件木马的触发机制和有害功能机制。
现有的硬件木马设计可分为基于触发机制和基于有害功能机制两类。
硬件木马的识别主要依赖于识别触发机制和有害功能机制。
因此,硬件安全的研究者重点关注这两种机制,以这两种机制为突破口,探索和评估新的硬件木马。
3、硬件木马检测
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]。这不就是成了一个无限套娃的场景,比如说安全的架构TEE,让更多地安全目的与服务进入到了安全侧,安全侧的代码量于是极大的增加了,这样安全侧代码被攻击的面也就越来越广了。
2 芯片部署后的硬件木马检测
尽管现有的检测方法已能成功检测到某些硬件木马,但检测范围仍十分有限,其原因在于依赖于过度简化甚至有时是错误的假设。这些假设往往包括以下方面:
•(1)硬件木马设计者使用传统、简单的电路结构,会使硬件木马的功能受到限制;
•(2)硬件木马设计者试图占用尽可能小的片上区域,在芯片侧信道信息中难以发现硬件木马产生的侧信道信息;
•(3)被测电路存在黄金模型来检测侧信道信息的变化;
•(4)攻击者只会攻击数字电路,因为模拟和射频电路对恶意篡改更为敏感。
这些假设很长时间内都被硬件安全研究者所接受,成为开发先进硬件木马检测和预防方法以及相关研究工作的主要指导原则。很可惜,这些假设并不完整,甚至带有误导性。笔者现在已经明显意识到,硬件安全和硬件木马检测的问题比之前设想的更加复杂、更加普遍,特别是:
•(1)类似于现代电路设计中的进步,硬件木马可以利用先进的设计技术,在不牺牲功能的情况下增强隐蔽性[41,43];
•(2)增强的硬件木马程序设计可以使用大量的芯片空间,相对于整个侧信道信息仍保持隐藏状态[53];
•(3)包含第三方资源的集成系统不一定都存在黄金模型[42,54];
•(4)模拟和射频电路同样容易受到硬件木马攻击[21,55,56]。
上述情况推翻了许多先前提出的硬件木马检测和预防方法,导致无论在数字领域还是在模拟和射频领域,集成系统都容易受到硬件木马的攻击。
因此,研究者开始研究芯片部署后的检测方法,主要利用部署后侧信道指纹识别和片上等效性检查等技术。
这里的关键思想是在测试阶段,隐藏的硬件木马可能很容易避开检测,如果被触发,将会对侧信道指纹识别或电路功能造成重大影响。
在文献[55]中,研究者提出了第一个芯片部署后信任评估结构。这种信任评估结构存在局限性,即只能从外部触发,通过主输入源停止正常操作,会给攻击者留下足够的时间在测试间隔期间触发和关闭硬件木马电路。
为克服这种方法的不足,研究者提出了一种实时的安全评估结构。该结构能够持续监测目标电路的工作状态,即时报告目标电路的异常情况[53]。
针对运行时的硬件木马检测,研究者还开发了利用电阻式内存以并行方式进行片上奇偶校验的检测方法[57]。
4、硬件木马防护对策
硬件木马防护对策的研究重点是研究能够解决或减轻IC供应链中潜在硬件木马威胁的对策。
一般来说,硬件木马防护对策分为三大类。每个大类还可进一步分为几个子类。硬件木马防护对策的分类如图:
这一部分是最常用于芯片的设计中的,比如在最近的项目中,就做了很多防止侧信道攻击的设计,这里留着后面展开学习一下。
5、挑战
1 木马防范
近年来,木马防范方法得到了足够的重视。研究者已经探索了各种检测方法,并意识到检测一个微小、静态、低开销的木马仍然非常具有挑战性。此外,大多数硬件木马检测技术仍基于现有的黄金模型或黄金IC来开发。在IC供应链中获取一个黄金模型或黄金IC极其困难,或者说是基本不可能的。
硬件木马防范可能是克服硬件木马威胁的一种更为有效和实用的方法。然而,新发布的可信设计和可信分块制造这两类检测技术仍远远超过防范技术的数量。在不久的将来,防范技术值得更多关注。
2 利用模拟和混合信号实现的模拟硬件木马
模拟硬件木马引起了越来越多的关注,原因在于其对传统的数字域硬件木马检测和测试方法具有免疫力,且其对现代系统的威胁越来越大。
尽管一些模拟硬件木马利用模拟和混合信号电路相对于数字电路的灵敏度来制造可靠性问题[10],但更致命的模拟攻击形式往往隐藏在常见的无处不在的数字电路中。
其中包括新近报告的电荷域木马,如A2木马[12]和Rowhammer攻击[90]。
针对数字电路的现有硬件木马对策可能不适于应对这些模拟硬件木马,因为在IC设计过程的验证和检查阶段,电路的模拟行为早已被抽象化成数字逻辑。
3 黄金模型依赖
大多数木马检测方法依赖于黄金模型的存在。现有的检测方法都是基于黄金设计或黄金IC的。一般来说,为了验证IP核或SoC设计的RTL和门级网表,研究者需要利用黄金设计在流片前进行木马检测。
为了验证和认证第三方IP核,研究者必须为硬件木马防御程序提供黄金功能或属性。
此外,无论是在门级还是layout(布局)级,部分芯片制造后的检测方法都能基于黄金设计来检测硬件木马。
研究者能否获得黄金设计取决于以下三个因素:第三方IP核供应商、SoC开发商和第三方开发工具。
黄金IC是一种功能真实的预制芯片。大多数流片后探测技术,特别是侧信道分析方法,都需要黄金IC。大多数侧信道分析技术都需要黄金IC作为比较各类侧信道信息(包括延迟、功率、温度、电磁等)的黄金参考。黄金IC假设的一个前提是,即将制造的设计必须可信。
最直接的方法是对一批生产的芯片进行完全的逆向工程,根据对黄金设计得到的知识来识别黄金IC。无损和有损反向技术都可能有所帮助。无损反向技术不会损坏正在研究的芯片,而有损反向技术可以提供更好的分辨率。
无论是无损还是有损,反向工程都是一个费钱费时的过程,其成本极为昂贵。还有一种方法,是在另一家可信的代工厂制造少量芯片。这些芯片可以被视为黄金IC。
但是,如果由不同的代工厂制造,则由于不同的标准单元库和制造流程,电路的特性就会有所改变。两种不同的设计必然会产生两种不同的侧信道信号。
此外,即使对于相同的设计,不同的制造设备使用不同的工艺技术,也可能导致物理特性的变化。因此,单独制作的IC很难作为侧信道检测的黄金IC。
对于硬件木马检测技术来说,黄金模型的获取仍然是一个巨大的挑战。
6、参考文献
《集成电路安全》
会员权益:(点击可进入)谈思实验室VIP会员