硬件木马(一)

news/2024/10/3 14:00:24

摘要:近年来,我国集成电路设计与制造水平已取得了很大的进步,与发达国家的差距正逐步缩小,但大多数集成电路依赖进口的局面尚未改变,也有部分集成电路芯片需要第三方代工生产,存在被植入硬件木马的风险。而这些集成电路几乎会应用到军事、金融、通信、交通等重要电子设备中,这给我们国家和社会安全带来了巨大的潜在威胁。因此,保证这些集成电路的可靠性和安全性变得越来越重要。

关键词:硬件木马,设计,检测

一、介绍
硬件木马技术是一个相当新的研究领域,最近几年受到很大的关注。硬件木马是指在集成电路中嵌入某种电路结构,在特殊条件触发下,该模块能够被他人利用以实现破坏性功能。硬件木马可以独立完成攻击功能,如泄露信息给攻击者、改变电路功能、直接破坏电路。电路中的硬件木马,多数时间不影响原始电路功能,因此,很难被检测出来。与软件恶意代码一样,硬件木马也具有破坏性、寄生性、隐蔽性和潜伏性。另外,硬件木马攻击目的性更强,隐蔽更深,难以检测与清除。有相关资料分析,在海湾战争中,美军通过硬件木马破坏了伊拉克防空指挥系统,因此,硬件木马及其检测技术在信息安全上有着不可轻视的作用。

二、硬件木马的分类
根据硬件木马的不同特性,从不同的角度将其分类,本文分类方式是将硬件木马划分为组合型木马和时序型木马[3,9,10]。组合型木马是指当电路的某个内部信号或节点出现特殊条件时才激活的组合电路;时序型木马是指当有限状态机(FMS)检测到某些内部电路信号状态出现特殊的序列时才激活的时序电路。通过分析硬件的物理特性、激活特性和活动特性对硬件木马可以做进一步细分。

物理特性分为类型、尺寸、分布、结构四个子类。其中,类型又分为功能型和参数型,功能型指那些通过增加或删减晶体管或门在物理上实现的木马;参数型是那些修改电路中已存在的线和逻辑而实现的木马。尺寸是根据木马在电路中添加、删除、或损坏芯片中的元件数量来划分的。分布是指木马在芯片的物理布局的位置。结构是指攻击者强行再生成布局,以插入木马,这会导致芯片的规格发生变化。这些变化会改变部分或所有的设计元件布局,而任何对物理布局的恶意修改都会改变芯片的延时和功率特性,这会有利于木马的检测。

激活特性分成两类:外部激活,如通过天线或传感器与外面相互影响;内部激活,它又可以分为永久型激活和条件型激活。“永久”的意思指木马是一直都处于激活状态,可以在任何时候破坏芯片。条件型激活木马是指只有符合特定的条件时才被激活的木马。这种条件型激活木马都是通过增加芯片的逻辑门和/或触发器运行的,因此,它往往是一个组合电路或时序电路。

根据硬件木马的破坏行为进行分类。木马的行为分为三类:修改功能、修改规格、发送信息。修改功能型是指通过增加逻辑,或删除或绕过现有的逻辑来改变芯片功能的木马。修改规格型是指以修改芯片的性能参数作为攻击重点的木马,如攻击者修改设计中的线和晶体管的几何布局而改变延迟。发送信息型是指发送关键信息给攻击者的木马。

三、设计技术
硬件木马的植入通常都是秘密进行的,为了躲避检测,木马设计者通常会将木马电路设计得极其隐蔽,使其在大多数情况下是处于静默状态,只有满足了特定的条件或电路状态时才能被激活,从而避免硬件木马在传统的逻辑测试、功能检测以及旁道信号分析等方法中被检测出来。此外,硬件木马占芯片总面积的比例也是木马设计中需要重点考虑的问题,设计的太大就很很容易被发现。

3.1组合型木马

组合型木马是指木马电路完全由组合逻辑组成。如图1所示是一种组合型硬件木马电路,其中灰色区域内为木马的触发部分,其输入信号都来自于原始电路中的节点A、B、C、D;木马的载荷是一个一个异或门。当木马触发部分输出逻辑1时,原始电路中的节点ER就会发生错误的翻转并输出ER*。因此,只有当电路内部节点A和B都为高电平,且C和D均为低电平时,硬件木马才会被激活。

图 1组合型木马
3.2时序型硬件木马

时序型硬件木马则是指木马电路中包含时序元件的木马电路。一般来说,随着触发序列长度的增加,时序型硬件木马要比组合型硬件木马更难检测出来。此外,时序型硬件木马的面积可以设计得非常小从而很难通过现有的木马检测技术检测出来。最简单的时序型木马就是同步自增计数器,也就是俗称的“定时炸弹”,当计数到特定值时木马被激活,其缺点是面积和功耗开销较大,因为要保证木马经过较长一段时间才被触发就必须引入较大的计数器,而基于FSM状态复用型硬件木马可以较好解决这一问题

图 2时序型木马
四、检测技术
4.1破坏性检测

破坏性检测方法是基于失效分析技术的检测手段。对集成电路进行封装后,无法观察内部的组件信息,通过逆向工程方法将封装的集成电路打开,逐层扫描电路,然后重建电路结构图,对比需求规格,找出电路中是否存在硬件木马,以保证集成电路安全[1]。该检测方法的优点是能进行彻底的检测,但缺点是耗时长,根据集成电路复杂程度的不同,需花费几周到几个月的时间。并且,经过破坏性检测后的芯片不能再使用,不适合对所有芯片进行逐个检测,只能通过抽样的方式,检测结论的可靠性大大降低。

4.2逻辑测试

由于木马具有潜伏性,在非常特殊的条件下才能被激活,针对这一特性,Wolff等[2]提出使用逻辑测试方法来进行检测。该方法源于基于VLSI故障测试的ATPG(Automatic Test Pattern Generation)测试技术,主要通过生成测试激励,并在输出端口观察硬件木马对电路值造成的影响,从而达到检测目的。由于硬件木马空间能够根据电路节点数而无限放大,无法通过枚举来生成关键性的测试向量或者计算测试覆盖。因此,逻辑测试的首要目标是最大木马激活概率下优化测试向量生成方法。

4.3旁路分析

由于芯片在工作时会产生一些热信号、电磁辐射信号以及功耗信号等旁路信号[3],植入的硬件木马势必会对其造成影响,例如降低性能和改变功耗等特征。虽然硬件木马多数时间处于未激活状态,但是硬件木马时刻检测触发条件的行为也会对旁路信号产生一些影响,使之成为检测的突破口。旁路分析方法就是基于这一现象,比对待测芯片与“金片”(不含硬件木马的芯片)之间旁路信号的差异,如果不同则表明待测芯片中可能含有硬件木马。

4.3.1基于功耗的旁路分析

基于功耗方法是比较待测芯片和“金片”的电路功耗,一般是在同等条件下测量芯片电路VDD引脚上的电流。其中,每条电流包含若干元素,主要包括:1)主电路电流;2)测量噪声,可以通过多次测量求平均来消除;3)工艺噪声,随机产生不能被抵消;4)可能存在的木马信号,通过比对电流差异(木马信号)来判断是否含有木马。

4.3.2基于延迟的旁路分析

如果硬件木马的植入导致电路中门电路个数的变化,就会改变电路的延迟特征[4-6],如信号翻转延迟以及信号传输延迟。基于延迟的旁路分析就是通过比对测量电路的延迟信息差异来检测木马。

4.3.3基于多参数的旁路分析

理论上通过功耗和延迟信息可以检测出电路中存在的木马,但是由于工艺噪声的存在,检测效果往往不是很理想,尤其是基于延迟信息的旁路检测,因此Narasimhan等[7]提出可通过测量多个旁路参数来提高检测效果,将电路最大工作频率与静态电流和动态电流2个参数进行运算,减小工艺噪声的影响,提高木马检测效果。

4.4木马激活

硬件木马在其大多数生命周期中都处于“休眠”状态,影响了基于旁路信号检测的效果,如果能结合 逻辑测试方法来使木马电路完全激活或者部分激活,使木马电路表现出更多的恶意行为或者泄露更多的旁路信号,将有助于木马的检测。当前木马激活 策略主要分为全区激活和区域感知2类。

4.4.1全区激活

该类方法不考虑木马的位置信息,而是依靠木马的偶然或者有意激活。Jha等[8]使用基于随机概率的方法来检测木马,该方法根据电路的测试向量构建一个特殊的概率签名,并以相同的概率将测试向量应用到待测电路中,将测试结果与原始电路的输出结果相比较,如果有差异就表明存在木马,并评估其置信水平。Wolff等[1]分析设计中的稀有节点组合,针对以稀有事件作为触发的木马,生成一个向量集来激活这些稀有节点,并结合该向量集和传统的ATPG测试向量来激活木马,如在逻辑测试中用到的MERO方法。

4.4.2区域感知

该类方法的主要目标是局部放大待测电路和原始设计功耗波形之间的差异。Banga和Hsiao[8]提出了基于区域的测试向量生成方法,该方法根据电路结构的连通性,将待测电路中的触发器分到不同的区域,并找出可能存在木马的区域作为被测试区域,对被测试区域生成新的测试向量来放大原始电路和可能含木马电路之间的功耗差异。此外,Banga和Hsiao[1]通过持续测试向量技术来放大木马的活动,其思路源于电路活动主要来自设计的状态元件(如寄存器),若保持输入引脚的状态几个时钟周期不变,可以减少整体的翻转活动,并限制设计中特定部分的翻转活动,有助于定位木马。

五、结束语

由于硬件木马植入方式的灵活性和自身的隐蔽性,很难通过单一的检测方法检测出各种未知的恶意电路。目前,各种检测技术还不成熟,仍然存在多种不同的局限性,并且很多方法还只是在仿真实验阶段,并没有真正应用于实际工程之中,需要进一步的发展。同时,研究人员面临缺少实际的木马样本的境地,没有样本就没有数据,难以采用科学的方法有的放矢进行硬件木马检测研究。现在解决这个问题的可行方法是先设计硬件木马,然后再针对这些硬件木马研究具体的检测方法。因此,硬件木马相关技术还是一个较新的研究领域,硬件木马的开展对硬件木马的隐蔽设计技术、无损检测和防范技术等内容的研究充满了挑战。

参考文献
[1] Wang X, Tehranipoor M, Plusquellic J, et al. Detecting malicious inclusions in secure hardware: Challenges and solutions[C]. hardware oriented security and trust, 2008: 15-19.

[2] Wolff F, Papachristou C, Bhunia S, et al. Towards trojan-free trusted ICs: problem analysis and detection scheme[C]. design, automation, and test in europe, 2008: 1362-1365.

[3] Chakraborty R S, Narasimhan S, Bhunia S, et al. Hardware Trojan: Threats and emerging solutions[C]. high level design validation and test, 2009: 166-171.

[4] Jin Y, Makris Y. Hardware Trojan detection using path delay fingerprint[C]. hardware oriented security and trust, 2008: 51-57.

[5] Rai D, Lach J. Performance of delay-based Trojan detection techniques under parameter variations[C]. hardware oriented security and trust, 2009: 58-65.

[6] Li J, Lach J. At-speed delay characterization for IC authentication and Trojan Horse detection[C]. hardware oriented security and trust, 2008: 8-14.

[7] Narasimhan S, Du D, Chakraborty R S, et al. Multiple-parameter side-channel analysis: A non-invasive hardware Trojan detection approach[C]. hardware oriented security and trust, 2010: 13-18.

[8] Jha S, Jha S K. Randomization Based Probabilistic Approach to Detect Trojan Circuits[C]. high-assurance systems engineering, 2008: 117-124.

[9] Banga M, Hsiao M S. A Novel Sustained Vector Technique for the Detection of Hardware Trojans[J]. international conference on vlsi design, 2009: 327-332.

[10] Banga M, Hsiao M S. A region based approach for the identification of hardware Trojans[C]. hardware oriented security and trust, 2008: 40-47.

转自https://zhuanlan.zhihu.com/p/340602396


很有意思的一个点,可以深入

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/67354.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

C++ 顺序容器大小操作 resize

▲ 《C++ Primer》 P314▲ 《C++ Primer》 P318

WPS Office安卓版(WPS Office国际版) v18.13 解锁高级版

WPS Office for Android是一款功能强大的安卓手机办公软件。 软件功能 1.支持多种办公文档,包括Word、Excel和PowerPoint等。2.多种视图模式,支持纯文本、Web视图、页面视图、阅读视图等不同视图。3.支持多种文档操作,如文档的新建、编辑、保存、打印、分享、拍照OCR等。4.…

常用电脑软件

title: 常用电脑软件 date: 2024-06-15 18:14:53 tags: 我 categories: 一些项目 提前 (为什么写)居无定所与使用设备的变动 顺便介绍一下自己使用的软件工作环境软件(使用软件的配置) node.js(JavaScript环境)https://nodejs.org/git (分布式版本控制软件)https://git…

ubuntu18安装ros

一、环境配置 我的环境:Ubuntu18.04+melodic Ubuntu对应的ROS版本:二、安装步骤 1.添加ROS软件源 输入命令: $ sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list2.添加密钥 输入…

基于DPAPI+RDP技术实现本地打开远程程序,并映射到本地机器桌面上

本教程使用工具所使用的环境说明: 启动器开发工具:VS2022 启动器所用客户端技术:.NET 8 + WPF 启动器其他技术:DPAPI 启动器发布的可执行程序,系统要求:Windows 7以及以上,X64 如果需要本程序,可以在网盘获取。网盘地址:链接: https://pan.baidu.com/s/1QPstE5-1zPK-q…