APP下载

芯片硬件安全风险分析与防控建议

2020-06-21翟腾高宏玲郭青帅

工业技术创新 2020年3期
关键词:旁路木马功耗

翟腾 高宏玲 郭青帅

摘   要: 芯片硬件安全性能是信息安全的基石,分析、防控和杜绝芯片内部和外部的相关安全风险隐患一直是重要研究课题。针对芯片面临的两大安全风险——硬件木马植入和物理攻击进行了探讨:一是以旁路信号分析检测硬件木马为典型案例,分析了物理检测、逻辑测试、旁路信号分析等硬件木马检测技术的优势和劣势;二是以使用简单功耗分析(SPA)和差分功耗分析(DPA)等攻击方式破解智能卡芯片密钥为典型案例,分析了非侵入式攻击、半侵入式攻击和侵入式攻击等物理攻击类硬件安全风险。基于风险识别提出了硬件安全防控建议:1)构建高集成度硬件木马仿真环境和模型库;2)重点关注产业链安全,加强环节控制;3)大力开展攻防技术研究,提升芯片抗攻击能力。

关键词: 芯片;风险识别;安全管控;硬件木马;物理攻击;旁路信号分析;模型库;产业链

引言

芯片硬件的集成度、设备规模一直呈指数级增长,芯片制造技术的飞速进步造就了人工智能、智能网联汽车、机器人、物联网等产业的不断发展,但是芯片硬件暴露出来安全问题,也越来越引起业界和公众的重视。2018年初,媒体披露当时的主流高性能CPU芯片普遍存在“熔断”和“幽灵”等多个严重影响信息安全的漏洞,随后清华大学也报道了能够窃取ARM和X86芯片可信执行环境中加密密钥的“骑士”漏洞[1]。这些漏洞影响范围广泛,检测难度大,同时与以往漏洞存在显著区别:它们都是硬件漏洞。

芯片硬件安全性能分析和防控是信息安全的基石,检测并杜绝芯片内部和外部的相关安全风险隐患至关重要。当前大部分软件安全漏洞防控措施对硬件漏洞束手无策,甚至无法对漏洞是否被利用提出有效的检测方案,即使进行硬件固件更新,也仅仅能够修补部分漏洞,原因在于漏洞所依赖的硬件预测执行行为在软件层面完全不可见。可以说,硬件安全是计算系统的安全根基,无法确保芯片的硬件安全,就无法保证运行于其上的软件的安全,与之紧密关联的系统安全和网络安全则更无从谈起。

目前芯片产品面临的硬件安全风险主要来源于两大类:一是在芯片设计、制造、开发环节可能受到的硬件木马植入[2-4]或设计导致的漏洞缺陷;二是在芯片使用过程中可能遭受的各种外部物理攻击。本文结合实际案例对上述两类硬件安全风险进行了分析,并有针对性地提出了防控建议。

1  硬件木马及其检测技术

1.1  硬件木马原理

硬件木马是指恶意攻击者出于某种特殊目的,在芯片设计、制造或二次开发过程中人为制造的非法木马电路。硬件木马长期保持休眠状态并且不影响原始电路工作,当原始电路满足某些触发机制,比如原始电路某些参数运行到某些特定的值时,硬件木马即能够使原始电路发生本不该有的情况,如改变原始电路的功能、向攻击者泄露机密信息,甚至使整个系统瘫痪等。硬件木马一般由两部分组成:用于激活木馬电路的触发模块,以及在木马被激活后实施攻击的有效载荷模块。硬件木马一旦被触发,就会发送激励信号给木马的有效载荷模块,然后有效载荷模块开始发挥作用,实现攻击目的。

图1是一个非常简单的依靠时钟控制的硬件木马的电路模型[5],该木马电路由一个K位的同步计数器和一个异或门构成,其中作为触发模块的计数器的值被计满时,木马电路即通过作为有效载荷的异或门将ER处的逻辑值反向形成ER*,从而顺利地改变原始电路的输出结果。

按照触发特性,硬件木马可以分为外部触发与内部触发两类:外部触发是指利用外部天线或者其他传感器来激活的木马电路;内部触发是指在符合特定条件时被触发的木马电路,特定条件包括芯片内部某个特殊的逻辑状态或者特定的温度、湿度、电磁干扰等。按照作用方式,硬件木马可以分为功能破坏和信息窃取两类:功能破坏是指硬件木马能够改变芯片内部的数据或结构,导致原始电路的功能发生改变、失常,甚至导致芯片发生物理损坏;信息窃取是指硬件木马能够窃取芯片内部数据,并通过特殊方式泄露出去。硬件木马一般相对整个芯片来说占比很小,植入芯片后不会改变芯片的尺寸规格和原始功能,同时十分隐蔽且活性不高。植入芯片的木马电路很难被发现,硬件木马只在特殊的条件下才被激活启动,其他绝大部分时间对整个芯片几乎是没有影响的,因此如何高效地检测硬件木马,保证芯片和硬件的可靠性与安全性,显得尤为重要。

1.2  硬件木马检测技术

1.2.1  物理检测

物理检测是一种基于对芯片采用反向工程的安全检测技术,该方法能够对芯片原始电路结构进行分析,从而发现芯片后门和硬件木马。物理检测属于破坏性的检测手段。如图2所示[6],芯片反向工程主要利用去封装、制样、照相、拼合、扫描电镜、电子探针等硬件设备和手段对芯片版图进行提取和分析,通过引线识别、通孔识别、单元搜索和提取等自动化分析技术,得到反映芯片原始版图信息的平面电路图,分析判断其中超过功能要求的部分,确定是否存在芯片后门和冗余电路等安全隐患。

物理检测技术的局限性在于三个方面:一是反向工程对软硬件条件要求极高,检测流程和工艺复杂,检测成本过高;二是无法实现批量检测,只能进行抽样检查,不能保证所有待测芯片的安全性;三是随着芯片集成度越来越高、工艺流程越来越复杂,通过物理检测技术来发现硬件木马的难度也会越来越大。

1.2.2  逻辑测试

逻辑测试采用穷举法对电路的所有端口进行测试,通过检测芯片功能是否正常来判断是否存在硬件木马植入。该测试方法基于自动测试矢量生成技术(Automatic Test Pattern Generation,ATPG),通过向待检测芯片输入激励向量,最大程度地激活电路中所有的信号。如果输出的逻辑值与预期结果不匹配,则可判定存在硬件木马或缺陷。

逻辑测试技术的局限性在于三个方面:一是其采用了穷举法,因此检测过程必须考虑到所有可能的输入向量,时间成本高;二是对于较大规模的硬件木马,比如对于独立增加的功能模块,很难通过逻辑测试手段检测出来;三是该检测方法只能检测通过输入端口激活的硬件木马,对于通过旁路信号激活的硬件木马不适用[7]。

1.2.3  旁路信号分析

旁路信号分析技术主要通过采集被测芯片在工作过程中所泄露的功耗、时序、电磁辐射、热量等旁路信号变化曲线来判断芯片中是否含有硬件木马[8]。目前主要依靠分析功耗和时序信息来检测硬件木马。对于植入硬件木马的芯片,在其正常工作状态下的各种旁路信号都会由于受到木马模块的影响而出现细微变化,因此,通过采集待测芯片的旁路信号数据,并将其与原始电路的旁路信号数据进行处理、分析和对比,能够发现并综合判断二者之间的差异是否合理,进而判断电路中是否存在硬件木马。在前期工作中,我们通过旁路信号分析成功检测出了在FPGA开发板中预先植入的硬件木马,该木马能够在特定条件下被激活,窃取AES加密模块密钥,导致密钥泄露[9]。图3是采集到的芯片功耗泄露曲线,图4是将时域信号进行FFT变换后滤除高频成分,并对频域波形相关性进行计算后的结果,能够看出滤除高频成分后的频谱图出现明显变化。

旁路信号分析技术的局限性在于两个方面:一是需要有被测芯片型号的“黄金模板”,即完全可信的不含木马的标定芯片,通过采集可疑芯片和标定芯片在同样工作条件下的侧信道信息進行对比分析,综合判断可疑芯片是否含有硬件木马;二是需要排除工艺变量和检测设备误差,对于大规模SoC来说,恶意植入的硬件木马占芯片电路比例甚至小于0.01%,这时硬件木马对电路功耗、电磁泄露等旁路信号的影响很容易被芯片工艺变量和检测设备误差所掩盖,导致硬件木马难以被检测出来。

2  物理攻击类硬件安全风险

传统基于穷举或纯数学理论层面的分析,对于现代高强度加密算法而言算力有限,导致无法实现穷举,算法的复杂性也使得很难通过数学工具对芯片进行直接破解。物理攻击方式直接获取芯片物理信息或对芯片进行硬件级修改,能够大大降低芯片破解的难度。根据侵入方式的不同,物理攻击可以分为三类:非侵入式攻击、半侵入式攻击和侵入式攻击。

2.1  非侵入式攻击

非侵入式攻击的主要方式是在芯片工作运行的特定时刻,不对芯片进行任何物理损伤或改变,而是采集其在侧信道泄露的功耗、时间或电磁辐射等物理量,通过对采集到的原始信号进行处理分析,或注入电压毛刺和时钟信号等故障的方式,使芯片电路工作异常或产生错误操作,从而窃取芯片内部敏感信息。非侵入式攻击典型方法主要包括简单功耗分析(Simple Power Analysis,SPA)、差分功耗分析(Differential Power Analysis,DPA)、相关性功耗分析(Correlation Power Analysis,CPA)、差分故障分析(Differential Fault Analysis,DFA)等,此外能量分析攻击方法中还包括一些扩展的方法,如模板攻击、高阶能量分析等。

图4是一个简单的SPA案例,检测对象是一个采用SM2加密算法的智能卡芯片,由于芯片没有采用任何侧信道防护技术,我们可以从直接采集的功耗波形中识别出点加和倍点对应的功耗特征。点加包含10个模乘运算,倍点包含11个模乘运算,根据点加和倍点对应的功耗特征以及Double-and-add算法的特点,可以识别出功耗曲线中的0(仅包含一次倍点)和1(包含一次倍点和点加),从而获取芯片加密密钥。

图5是针对采用DES算法硬件加密的智能卡芯片进行DPA攻击所采集和处理后的功耗曲线。从功耗曲线上可以很明显地看到左侧框及右侧框中分别有8个相似的尖峰波形,通过相关性分析结果可以确定其分别为处理明文、处理密文时的功耗波形,左侧框及右侧框之间的曲线部分即为DES运算的功耗波形。我们对该智能卡芯片采集大约5 000条功耗曲线后,通过DPA攻击成功获取了芯片加密密钥。

2.2  半侵入式攻击

半侵入式攻击主要指在芯片运行的特定时刻,通过打开芯片的顶部或底部封装层,使用光注入、电磁操纵、放射线注入、电压对比等攻击手段,获取芯片内部敏感信息。半侵入式攻击的类型包括激光故障注入、电磁故障注入、强光照射、放射线照射等。以激光故障注入为例,其把特定波长和功率的激光打在芯片关键工作区域上,利用半导体光电效应使晶体管导通,从而引发错误,以对微控制器SRAM的任何单独bit进行置位和复位[10]。由于这种攻击可以在加密计算或者是加密协议通信中引发错误,因此可能会导致密钥信息泄露或改变芯片加密流程。

2.3  侵入式攻击

侵入式攻击主要通过打开芯片的封装并取出片芯,使用FIB、SEM等精密电子设备对片芯的物理结构和电路信号进行观察、测量,或改变某些电路单元的功能,以获取密钥等敏感信息。侵入式攻击可分为芯片解剖、芯片修改和芯片破解三种形式。芯片解剖通过采用化学腐蚀或物理切割等方式对芯片外围封装进行去除,直接获取芯片晶元;芯片修改通过FIB设备对芯片内部结构进行修改,以获取芯片内部信息;芯片破解直接对裸露芯片进行有源探测或无源探测,读取芯片内部信息,同时通过探针台等设备直接对芯片进行测试。侵入式攻击的类型包括总线探针检测、传感器拆除探针检测、读ROM、读EEPROM、读FLASH、FIB电路重构、随机数发生器RNG攻击、返回检测模式等。

3  硬件安全防控建议

3.1  构建高集成度硬件木马仿真环境和模型库

硬件木马具有植入方式灵活和长期隐蔽的特点。有的木马直接存在于使用的第三方IP核中,有的木马在RTL级代码中插入,有的木马在版图中的空余空间插入,一旦成功植入,硬件木马就会长期潜伏在芯片产品中。目前的几种检测方法都存在较大局限性,通常只能检测出已知的一种或者一类硬件木马,应该说至今没有任何一种方法可以检测出所有的硬件木马。基于旁路信号分析的方法是目前发展得比较好的硬件木马检测方法,能有效地检测出规模较大的木马,但由于芯片工艺变量和信号采集设备误差的影响,该方法难以检测到小型木马;逻辑测试方法不受工艺噪声的影响,能有效地检测出小型木马,但是其测试向量生成复杂,对大型木马的检测效果不够理想。研究构建高集成度的硬件木马仿真实验环境、建立硬件木马模型库,有利于相关研究的开展,推动硬件木马检测技术的发展。

3.2  重点关注产业链安全,加强环节控制

芯片信息安全防控应重点考虑产业链安全。随著芯片产品和技术的快速发展,芯片厂商在设计阶段过于依赖外部IP,在生产制造阶段过于依赖专业代工厂,在封装测试阶段过于依赖专业封测厂,使得其对自身产品的控制力越来越弱,使得产品在产业链的整个过程都变得更加容易受到安全威胁。芯片产业链的不断细分所面临的巨大威胁,就是芯片产品在设计制造过程中不断增加的被攻击风险和恶意更改风险。为了防御硬件木马对整个芯片电路系统安全的威胁,最直接有效的方法就是严格控制芯片开发周期中的每一个环节,确保没有硬件木马的植入,对人员、环境、工作流程进行科学管理的效果远远大于对检测技术的依赖。因此,关注芯片设计、制造、研发等环节的产业链安全对于芯片信息安全防控至关重要。

3.3  大力开展攻防技术研究,提升芯片抗攻击能力

在芯片厂商追求高性能、低功耗的过程中,必然会产生硬件安全漏洞的隐患,特别是在消费电子领域,为了缩短开发周期,厂商往往不会在安全防控方面投入太大成本。因此,开展芯片安全攻防技术研究对于提升芯片产品安全性尤为重要。一方面,开展芯片攻防技术的研究实际上就是一个硬件漏洞挖掘的过程,比如Intel“熔断”和“幽灵”漏洞是基于侧信道攻击的技术,“骑士”漏洞是基于电压毛刺错误注入攻击的技术,通过开展芯片攻防技术的研究,能够发现已经存在的硬件漏洞,及时排除安全隐患;另一方面,随着物理攻击理论、技术的不断发展,攻击者在物理攻击过程中常使用多种攻击手段结合的方式,提升攻击成功率,通过开展芯片攻防技术的研究,能够指导芯片安全设计,有效提升芯片产品抗物理攻击能力。

4  结语

硬件安全性能和管控是信息安全的基石。芯片的硬件安全研究与攻击方法研究是互相竞争发展的,芯片的安全设计是系统的、立体的、交叉的,与其他学科相互渗透。随着量子计算机和人工智能等技术的不断发展,新的攻击方法和安全威胁将会不断地涌现,保障芯片硬件安全任重而道远。

参考文献

[1] Qiu P F, Wang D S, Lyu Y Q, et al. VoltJockey: Breaching TrustZone by Software-Controlled Voltage Manipulation over Multi-core Frequencies[C]// Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security (CCS19), ACM, 2019: 195-209.

[2] Baumgarten A, Steffen M, Clausman M, et al. A case study in hardware Trojan design and implementation[J]. International Journal of Information Security, 2011, 10(1): 1-14.

[3] Moradi A, Oswald D, Paar C, et al. Side-Channel Attacks on the Bitstream Encryption Mechanism of Altera Stratix II[C]// 21st ACM/SIGDA International Symposium on Field-Programmable Gate Arrays (FPGA13), 2013: 91-99.

[4] Tehranipoor M, Koushanfar F. A survey of hardware Trojan taxonomy and detection[J]. IEEE Design & Test of Computers, 2010, 27(1): 10-25.

[5] Chakraborty R S, Narasimhan S, Bhunia S. Hardware Trojan: Threats and Emerging Solutions[C]// High Level Design Validation and Test Workshop, San Francisco, CA, USA: IEEE, 2009: 166-171.

[6] 房磊. 基于门级网表的硬件木马检测技术研究[D]. 成都: 电子科技大学, 2014.

[7] Adamov A, Saprykin A, Melnik D, et al. The problem of Hardware Trojans detection in System-on-Chip[C]//CAD Systems in Microelectronics, IEEE, 2009: 24-28.

[8] 唐棠. 基于旁路分析的硬件木马检测技术研究[D]. 成都: 电子科技大学, 2014.

[9] 郭青帅, 翟腾, 高宏玲. 基于FPGA的串口通信AES加密模块硬件木马设计与检测[J]. 工业技术创新, 2019, 6(6): 32-37.

[10] Sergei P, Skorobogatov R J A. Optical fault induction attacks[M]// Lecture Notes in Computer Science, 2002: 2-12.

猜你喜欢

旁路木马功耗
10kV配网带电作业旁路作业法
骑木马
消灭木马等
等电位倒闸操作的原理研究与操作注意事项
旁路阀泄漏问题探析
1000MW二次再热火电机组旁路系统自动控制
揭开GPU功耗的面纱
小木马
环保之功,从主板做起
μCOS-Ⅱ实时操作系统在μ’nSPTM中的低功耗研究