随着集成电路规模的不断扩大和结构复杂程度的不断提高,集成电路的设计和制造均向全球化发展,安全问题日益突出[1]。现有RS系列总线集成电路具有传输距离长、抗干扰能力强、传输速率高等特点,并且利用FPGA实现RS系列总线集成电路串口通信可以使整个系统更为灵活、紧凑,减小整个电路的体积,提高系统的可靠性和稳定性[2]。
近年来,研究人员对硬件木马检测技术以及总线硬件木马的设计、激活以及防护等问题进行了研究。2009年,JIN在寄存器传输级(Register Transfer Level,RTL)设计插入了多个硬件木马电路,当木马电路被激活时,造成输出信息被替换和芯片功耗增大,失效、加密信息通过RS232接口和键盘指示灯泄露等破坏系统功能[3]。2011年,WANG等人提出一种带有启用信号的k位同步计数器硬件木马,即常规时序型硬件木马,它有一个确定的触发时间2k-1时钟周期,其中k是计数器中状态元素的数目[4]。2012年,康涅狄格大学的SALMANI等人提出一种能够有效缩短木马激活时间的结构,通过在扫描链中插入该结构,可以在测试中提高木马节点的激活概率[5]。同年,凯斯西储大学的NARASIMHAN等人提出了一种合理利用硬件木马的功能,并通过在数字IP中的状态机内植入非恶意的木马来实现IP版权保护的方法[6]。
总线集成电路的功耗与时钟频率有很大关系,在基于侧信道硬件木马识别的过程中,经常以时钟频率作为信号采集样本集的一个特征值[7]。2016年,华南理工大学的黄哲在寄存器传输级设计了一个基于时钟倍频的可逆计数器硬件木马触发电路,并进行实验仿真验证[8]。2017年,华南理工大学的黄山提出一种以RS232电路为目标,利用其波特率倍频特性和停止位特性,在RTL层设计了一款信息泄露型硬件木马电路[9]。
本文设计一种基于可逆计数器的硬件木马,在一般情况下隐藏于电路中,当特定的阈值触发可改变RS232总线集成电路的正常传输功能,达到攻击者设定的目的。该木马可以根据实际传输数据位数灵活植入,以在与常规时序型硬件木马同位数和同触发参数下完成更多的总线数据传输。
1 时序型硬件木马硬件木马从结构上可划分为时序型和组合型2种,并且具有静默和攻击两种活动状态[10]。根据这两部分特点本文称为触发结构(Trigger)和有效载荷(Payload),有效载荷需要触发结构给定指令信号,但触发结构的运行不依赖有效载荷[11]。时序型触发结构特点是结构简单、体积小、便于选择监测信号且容易隐藏在集成电路中的正常时序结构中,集成电路中大量的时序结构网络,为时序型触发结构的设计与植入提供了条件。
根据触发信号来源,硬件木马触发条件可分为内部触发和外部触发[12]两大类。内部触发条件是电路中某个节点或者组合节点的产生,外部触发条件是集成电路外部输入的信号,通常由接收外部环境变量信号形成或外界人为攻击操作而产生。有关基于时序逻辑的木马中一般包含寄存器时序电路,其激活可通过内部触发条件计数器实现[13]。
如图 1所示,时序型硬件木马触发结构可以调整时间寄存器位数n与触发阈值m,几何级地降低触发率,大幅降低硬件木马被逻辑功能检测的测试向量激发的可能性,基于时序型的硬件木马具有极低的误触率,并且要比组合型硬件木马更难被检测[14-15]。
|
Download:
|
| 图 1 n位同步计数器时序型硬件木马 Fig. 1 n bit synchronous counter sequential hardware Trojan | |
本文针对常规型和可逆型硬件木马,在Verilog代码层设计相应的RS232总线代码作为硬件木马的载体。如图 2所示,RS232总线集成电路数据传输系统包括模拟串口数据收发器和RS232模块两部分。
|
Download:
|
| 图 2 RS232总线集成电路数据传输系统 Fig. 2 RS232 bus integrated circuit data transmission system | |
本文设计一种模拟PC功能的串口数据收发器,可以对所设计的RS232总线平台实现串口数据的发送和接收功能,并将发送和接收的数据用$display函数显示,通过显示信息判断RS232总线数据传输系统是否正常,排除无关变量的干扰。
2.2 RS232模块RS232模块可分为顶层模块、接收模块和发送模块,每个模块都可以作为时序型硬件木马的目标电路。本文采用接收模块作为本次硬件木马植入的载体,未植入木马的接收模块部分Verilog代码如下:
Module
Rs232_Rx(Clk,Rst_n,Rx_in,Rx_data,Rx_sig,Rx_ done_sig,Bps_clk,Bps_start);
…
always @(posedge Clk or negedge
Rst_n)
…
assign Rx_data = Rx_data_r;
endmodule
本文运用Modelsim仿真反映RS232总线集成电路数据传输系统能否正常运行。首先采用模拟串口数据收发器随机发送500个数据,从图 3可以看出,RS232总线通过接收模块接收到Rx_data数据并通过发送模块发送Tx_data数据,验证了RS232总线集成电路数据传输系统能够正常运行。
|
Download:
|
| 图 3 RS232模块接收和发送数据仿真图 Fig. 3 Simulation diagram of RS232 module receiving and transmitting data | |
通过特定的方法把微小恶意电路模块放入正常目标电路中的过程称为硬件木马的植入[16]。本文采用25 MHz系统时钟为RS232总线集成电路数据传输系统的内部环境,运用ISE将常规型与可逆型硬件木马从RTL层解析为Verilog代码并插入到上述RS232接收模块代码中,同时采用代号为num2的4位计数器,常规时序型硬件木马部分Verilog代码如下:
reg[3:0]num2;
always@(posedege Clk or negedege Rst_n)
begin
…
else if(num==4'd10)
begin
num < =4'd0
Rx_data_r < =temp_data;
num2 < =num2+1b'1;
if(num2==4'd0)
Rx_data_r < =8'd0;
end
end
可逆时序型硬件木马部分Verilog代码如下:
reg[3:0]num2;
always@(Rx_data_r)
begin
if(!Rst_n)
num2 < =4 'd0;
else if(Rx_data_r[7]==1'b1)
num2 < =num2+1'b1;
else if(Rx_data_r[7]==1'b0)
begin
…
num2 < =num2-1'b1;
end
end
图 4所示为基于总线数据的硬件木马工作流程。本文在原有总线数据传输系统基础上添加了一个计数器和木马的硬件代码,当计数器值没有达到攻击者所设计的触发阈值时,木马在计数器内处于休眠状态,系统A传输到系统B的总线数据一切正常;当计数器数值达到设计触发阈值时,总线数据发生异常,系统B接收到异常数据。
|
Download:
|
| 图 4 总线硬件木马工作流程 Fig. 4 Working procedure of bus hardware Trojan | |
两种硬件木马根据总线数据判断位植入到总线集成电路的工作原理如图 5和图 6所示。
|
Download:
|
| 图 5 常规时序型木马植入示意图 Fig. 5 Schematic diagram of conventional sequential Trojan horse implantation | |
|
Download:
|
| 图 6 可逆时序型木马植入示意图 Fig. 6 Schematic diagram of reversible sequential Trojan horse implantation | |
从图 5可以看出,常规时序型硬件木马计数器只能在每帧数据完成传输时进行加1的操作,此时木马处于静默状态,当计数器数值增加到所设置的触发阈值时,有效荷载被触发进而对总线数据进行攻击造成其异常,此时硬件木马属于攻击状态。
从图 6可以看出,本文设计的是一种基于总线传输数据内部的新型时序型硬件木马,可以根据数据传输情况先对数据最高位、最低位或者中间位进行“0”“1”判断,实现木马计数器数值变化的依据,体现了可逆型木马的灵活性。以本次选取传输的8位数据为例,设置最高位为判断位,当最高位为“1”时,num2计数器数值加1,当前最高位为“0”时,num2计数器数值减1,当最高位为“0”且num2计数器数值为“0”时,计数器数值保持不变。
4 激活验证与数据分析为了保证实验数据的准确性,有关数据随机性问题本文采用Matlab随机函数y=dec2bin(randi([0, 255],500,1),8)生成一组500个8位0~255的数据,将生成的随机数据复制在模拟PC串口数据收发器来进行总线数据传输。为提供大量实验样本,本文利用本次搭建的总线数据传输平台完成了100次数据传输,进一步减少实验数据的误差。
当两种木马计数器num2触发阈值分别达到0,1,…,15时,硬件木马有效荷载被触发,总线数据丢失并且输出数据00000000,每组数据需要先后16次设置触发阈值,同时记录每次激活时已传输数据的个数。
为验证可逆型硬件木马的优越性,本文随机选取了1组常规型和4组可逆型数据在同位数计数器且同触发值情况下进行数据分析,如图 7所示。
|
Download:
|
| 图 7 同触发阈值下两种木马已传输数据对比 Fig. 7 Comparison of transmitted data between two kinds of Trojans under the same trigger threshold | |
从图 7可以看出:
1) 当触发阈值为0~3时,可逆型组与常规型组已传输数据个数相差无几。
2) 当触发阈值为4~15时,常规型组已传输数据个数按正比例增长,但可逆型组显示为类指数型增长。
上述结果表明,在具有更多传输数据需求情况下,可逆时序型木马在有效荷载触发前可以传输更多数据,即具有更低的触发率,进而导致该木马在逻辑测试中难以激活,因此不能生成合适的特征向量被检测,具有更强的隐蔽性。
5 硬件木马的检测影响传统硬件木马检测率的关键检测因素是硬件木马的大小和激活率[17]。
本文采用侧信道硬件木马检测技术对两种木马进行检测对比[18]。侧信道分析技术通过芯片在正常运行中的功耗[19]、时间延时[20]、电磁信息[21]或者热[22]进行监测,然后对采集的侧信道数据进行处理与分析,最后对目标样本进行对比来判断有无木马。
随机抽取3组数据,设置能成功传输500个总线数据的前提条件,运用ISE通过PLL锁相环改变总线传输环境,控制时钟频率为25 MHz,每增加2.5 MHz分析一次被植入和未植入硬件木马电路的FPGA功率,直至80 MHz,运用Xpower对其进行功耗数据采集分析。如图 8所示,随着时钟频率的增加,常规型硬件木马比可逆型硬件木马与无木马的总线传输系统的功耗差异比数值要大,若更有效地检测可逆型硬件木马则需要测试更长的时钟周期。
|
Download:
|
| 图 8 两种木马功耗仿真对比 Fig. 8 Simulation comparison of power consumption of two Trojans | |
在两种硬件木马触发阈值相同的情况下,电路特性对比如表 1所示,可逆型比常规型slice资源利用仅多出0.172%,但激活率却降低了近89%。当总线集成电路其他功能越复杂时,资源利用越多,则可逆型硬件木马相比同级别的常规时序型木马更有优势。
|
下载CSV 表 1 两种硬件木马电路特性对比 Table 1 Comparison of circuit characteristics of two hardware Trojans |
RS总线硬件木马的设计不仅是对现有硬件木马类型的补充,也是对硬件木马检测技术的加强。本文在常规时序型硬件木马的基础上,设计一种新型的可逆时序型硬件木马。该木马潜伏周期随触发阈值的增加呈类指数型增长,同时在完成一次触发时复位,可形成较常规时序型硬件木马更长的触发周期,并且在总线传输数据量越大的情况下隐蔽性越强。仿真结果表明,相对于基于时钟频率的时序型硬件木马,本文可逆型硬件木马基于总线内部数据,受时钟频率影响较小,进一步增强了隐蔽性。本文设计的可逆时序型木马在RS系列总线集成电路防护领域具有广阔的应用前景,可为后续总线硬件木马的设计及研究提供支持。
| [1] |
KIAMILEV F, HOOVER R.Demonstration of hardware Trojans[C]//Proceedings of DEFCON'16.Las Vegas, USA: [s.n.], 2008: 332-346.
|
| [2] |
LIU Jie, ZANG Wei. A new method of realizing RS422 serial communication with FPGA[J]. Computer Measurement and Control, 2017, 25(3): 191-194. (in Chinese) 刘杰, 臧炜. 一种新型的FPGA实现RS422串口通信方法[J]. 计算机测量与控制, 2017, 25(3): 191-194. |
| [3] |
JIN Y, KUPP N, MAKRIS Y.Experiences in hardware Trojan design and implementation[C]//Proceedings of IEEE International Workshop on Hardware-Oriented Security and Trust.Washington D.C., USA: IEEE Press, 2009: 50-57.
|
| [4] |
WANG X, NARASIMHANS, KRISHNA A, et al.Sequential hardware Trojan: side-channel aware design and placement[C]//Proceedings of the 29th IEEE International Conference on Computer Design.Washington D.C., USA: IEEE Press, 2011: 297-300.
|
| [5] |
SALMANI H, TEHRANIPOOR M, PLUSQUELLIC J.New design strategy for improving hardware Trojan detection and reducing Trojan activation time[C]//Proceedings of IEEE International Workshop on Hardware-Oriented Security and Trust.San Francisco, USA: IEEE Computer Society, 2009: 66-73.
|
| [6] |
NARASIMHAN S, CHAKRABORTY R S, CHAKRABORTY S. Hardware IP protection during evaluation using embedded sequential Trojan[J]. IEEE Design and Test of Computers, 2012, 29(3): 70-79. DOI:10.1109/MDT.2012.2205997 |
| [7] |
YANG Daming, HUANG Jiaoying, GAO Cheng. Research on detection method of side channel hardware Trojan based on classification learning[J]. Electronic Technology and Software Engineering, 2018(22): 205-209. (in Chinese) 杨达明, 黄姣英, 高成. 基于分类学习的侧信道硬件木马检测方法研究[J]. 电子技术与软件工程, 2018(22): 205-209. |
| [8] |
HUANG Zhe.Hardware Trojan circuit design and detection[D]. Guangzhou: South China University of Technology, 2016.(in Chinese) 黄哲. 硬件木马电路设计与检测[D]. 广州: 华南理工大学, 2016. |
| [9] |
HUANG Shan.Circuit design and detection of hardware Trojan horse[D]. Guangzhou: South China University of Technology, 2017.(in Chinese) 黄山. 硬件木马电路设计与检测[D]. 广州: 华南理工大学, 2017. |
| [10] |
BHUNIA S, HSIAO M S, BANGA M, et al. Hardware Trojan attacks: threat analysis and countermeasures[J]. Proceedings of the IEEE, 2014, 102(8): 1229-1247. DOI:10.1109/JPROC.2014.2334493 |
| [11] |
TEHRANIPOOR M, WANG C.Introduction to hardware security and trust[M]. New York, USA: Springer Publishing Company, Inc., 2012.
|
| [12] |
CHAKRABORTY R S, NARASIMHAN S, BHUNIA S.Hardware Trojan: threats and emerging solutions[C]//Proceedings of IEEE International High Level Design Validation and Test Workshop.San Francisco, USA: IEEE Computer Society, 2009: 166-171.
|
| [13] |
LIU H, LUO H, WANG L.Design of hardware Trojan horse based on counter[C]//Proceedings of IEEE International Conference on Quality, Reliability, Risk, Maintenance, and Safety Engineering.Washington D.C., USA: IEEE Press, 2011: 1007-1009.
|
| [14] |
SALMANI H, TEHRANIPOOR M, PLUSQUELLIC J. A novel technique for improving hardware Trojan detection and reducing Trojan activation time[J]. IEEE Transactions on Very Large Scale Integration Systems, 2012, 20(1): 112-125. DOI:10.1109/TVLSI.2010.2093547 |
| [15] |
HU Tao, DIAN Songyi, JIANG Ronghua. Hardware Trojan detection based on long short-term memory neural network[J]. Computer Engineering, 2020, 46(7): 110-115. (in Chinese) 胡涛, 佃松宜, 蒋荣华. 基于长短时记忆神经网络的硬件木马检测[J]. 计算机工程, 2020, 46(7): 110-115. |
| [16] |
JIANG Zhenjie, LU Xinquan. Research on the implantation method and defence of Trojan horse[J]. Computer Security, 2012(6): 28-33. (in Chinese) 姜振杰, 陆新泉. 木马的植入方式研究与防范[J]. 计算机安全, 2012(6): 28-33. |
| [17] |
HUANG Jiaoyiing, YANG Daming, WAN Yongkang.Perniciousness analysis of IC hardware Trojan based on characteristic function deployment[C]//Proceedings of International Conference on Mechanical, Electric and Industrial Engineering.Hangzhou, China: [s.n.], 2018: 12-30.
|
| [18] |
WANG X, SALMANI H, TEHRANIPOOR M, et al.Hardware Trojan detection and isolation using current integration and localized current analysis[C]//Proceedings of the 23rd International Symposium on Defect and Fault-Tolerance in VLSI Systems.Boston, USA: [s.n.], 2008: 346-358.
|
| [19] |
AGRAWAL D, BAKTIR S, KARAKOYUNLU D, et al.Trojan detection using IC fingerprinting[C]//Proceedings of IEEE Symposium on Security and Privacy.Washington D.C., USA: IEEE Press, 2007: 215-226.
|
| [20] |
JIN Y, MAKRIS Y.Hardware Trojan detection using path delay fingerprint[C]//Proceedings of IEEE International Workshop on Hardware-Oriented Security and Trust.Washington D.C., USA: IEEE Press, 2008: 332-346.
|
| [21] |
OLIVER S, KORAK T, MUEHLBERGHUBER M, et al.EM-based detection of hardware Trojans on FPGAs[C]//Proceedings of IEEE International Symposium on Hardware-Oriented Security and Trust.Washington D.C., USA: IEEE Press, 2014: 158-169.
|
| [22] |
NOEROZ A N, HU K, KOUSHANFAR F, et al. Novel techniques for high-sensitivity hardware Trojan detection using thermal and power maps[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2014, 33(12): 1792-1805. DOI:10.1109/TCAD.2014.2354293 |
2021, Vol. 47
