高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

SVM算法在硬件木马旁路分析检测中的应用

佟鑫 李莹 陈岚

佟鑫, 李莹, 陈岚. SVM算法在硬件木马旁路分析检测中的应用[J]. 电子与信息学报, 2020, 42(7): 1643-1651. doi: 10.11999/JEIT190532
引用本文: 佟鑫, 李莹, 陈岚. SVM算法在硬件木马旁路分析检测中的应用[J]. 电子与信息学报, 2020, 42(7): 1643-1651. doi: 10.11999/JEIT190532
Xin TONG, Ying LI, Lan CHEN. Application of SVM Machine Learning to Hardware Trojan Detection Using Side-channel Analysis[J]. Journal of Electronics & Information Technology, 2020, 42(7): 1643-1651. doi: 10.11999/JEIT190532
Citation: Xin TONG, Ying LI, Lan CHEN. Application of SVM Machine Learning to Hardware Trojan Detection Using Side-channel Analysis[J]. Journal of Electronics & Information Technology, 2020, 42(7): 1643-1651. doi: 10.11999/JEIT190532

SVM算法在硬件木马旁路分析检测中的应用

doi: 10.11999/JEIT190532
基金项目: 国家物联网与智慧城市重点专项对接(Z181100003518002),北京市自然科学基金(4184106),北京市科技专项(Z171100001117147)
详细信息
    作者简介:

    佟鑫:女,1987年生,助理研究员,主要研究方向为物联网硬件安全与集成电路设计

    李莹:女,1982年生,副研究员,主要研究方向为物联网硬件安全与集成电路设计

    陈岚:女,1968年生,研究员,博士生导师,主要研究方向为计算机系统架构与集成电路设计、集成电路硬件安全

    通讯作者:

    李莹 liying1@ime.ac.cn

  • 1) 将正常组数据(Trojan Free, TF)标记为1,木马组(T1, T2, ···)数据为–1。2) 按照采样模式对数据进行分组抽样,每次抽出一部分木马数据做测试验证集,其余做训练集,测试集可选择未知标签的数据。3) 阈值A为用户期望达到的模型测试准确率阈值B是用户定义的数据组中木马个数的占比,用于判断该组数据是否为木马组。
  • 4) 阈值A为用户期望达到的模型测试准确率阈值B是用户定义的数据组中占比多数的数据是否为木马,用于判断该组数据是否为木马组。
  • 中图分类号: TN406

Application of SVM Machine Learning to Hardware Trojan Detection Using Side-channel Analysis

Funds: The National Internet of Things and Smart City Key Project Docking(Z181100003518002), The Natural Science Foundation of Beijing (4184106), The Beijing Science and Technology Project (Z171100001117147)
  • 摘要:

    集成电路(ICs)面临着硬件木马(HTs)造成的严峻威胁。传统的旁路检测手段中黄金模型不易获得,且隐秘的木马可以利用固硬件联合操作将恶意行为隐藏在常规的芯片运行中,更难以检测。针对这种情况,该文提出利用机器学习支持向量机(SVM)算法从系统操作层次对旁路分析检测方法进行改进。使用现场可编程门阵列(FPGA)验证的实验结果表明,存在黄金模型时,有监督SVM可得到86.8%的训练及测试综合的平均检测准确率,进一步采用分组和归一化去离群点方法可将检测率提升4%。若黄金模型无法获得,则可使用半监督SVM方法进行检测,平均检测率为52.9%~79.5%。与现有同类方法相比,验证了SVM算法在指令级木马检测中的有效性,明确了分类学习条件与检测性能的关系。

  • 图  1  基于SVM算法的硬件木马检测框架

    图  2  指令功耗数据分组的SVM有监督学习分类流程

    图  3  指令功耗数据分组的SVM半监督学习分类流程

    图  4  半监督学习下准确率均值随TF数据占比变化的情况

    图  5  各条指令表现的敏感度差异情况

    图  6  MOD4不同条件下的准确率变化情况

    表  1  指令集

    指令序号及名称指令类型描述
    1-NOP类型1 NOP无操作
    2-MOV_A_RR
    5-MOV_RR_A
    8-MOV_D_A
    3-MOV_A_D
    6-MOV_RR_D
    9-MOV_D_RR
    4- MOV_A_DATA
    7-MOV_RR_DATA
    10-MOV_D_DATA
    类型2 MOV移动存储器,复制操作数2到操作数1
    11-ADD_A_RR12-ADD_A_D13-ADD_A_DATA类型3 ADD加法器加操作,将操作数的值加到加法器上并存储
    14-SUBB_A_RR15-SUBB_A_D16-SUBB_A_DATA类型4 SUBB从加法器中借位减操作
    17-INC_A18-INC_D19-INC_RR类型5 INC增加操作数
    20-JMP_A_DPTR类型6 JMP跳转至数据指针+ DPTR代表的加法器地址
    21-JNC类型7 JNC跳转至相关地址如果进位没有设置
    下载: 导出CSV

    表  2  木马基准电路

    名称描述
    HT1MC8051-T200,这个木马在空闲模式激活8051内部计时器
    HT2MC8051-T300,这个木马在8051通过UART发送特定数据串时被触发。目的是通过UART收到任意信息
    HT3MC8051-T500,这个木马的触发器检测特定的命令,当木马激活后其负载可以替换特定的数据
    HT4MC8051-T600,这个木马使得微控制器上运行算法的任何跳转失效
    HT5MC8051-T700,这个木马用敌人预设数据替换一些输入数据
    HT6MC8051-T800,这个木马当UART接收特殊字符时篡改堆栈指针
    下载: 导出CSV

    表  3  SVM常用核函数

    名称表达式参数
    线性核$\kappa ({{{x}}_i},{{{x}}_j}) = {{{x}}_i}^{\rm{T}}{{{x}}_j}$
    多项式核$\kappa ({{{x}}_i},{{{x}}_j}) = {({{{x}}_i}^{\rm{T}}{{{x}}_j})^d}$$d \ge 1$为多项式的次数
    高斯核$\kappa ({ {{x} }_i},{ {{x} }_j}) = \exp \left( - \dfrac{ { { {\left\| { { {{x} }_i} - { {{x} }_j} } \right\|}^2} } }{ {2{\sigma ^2} } }\right)$$\sigma > 0$为高斯核的带宽
    下载: 导出CSV

    表  4  MOD1检测率及运行时间对比表

    线性核函数准确率及运行时间多项式核函数准确率及时间高斯核函数准确率及时间
    训练(%)测试(%)时间(s)训练(%)测试(%)时间(s)训练(%)测试(%)时间(s)
    无预处理83.30100.000.0262083.3067.310.0691283.3057.240.10902
    预处理+分组98.0083.300.0126185.8099.100.0392998.0083.300.02698
    下载: 导出CSV

    表  5  MOD3检测率及运行时间对比表

    线性核函数准确率及时间多项式核函数准确率及时间高斯核函数准确率及时间
    训练(%)测试(%)时间(s)训练(%)测试(%)时间(s)训练(%)测试(%)时间(s)
    无预处理83.30100.000.0694483.30100.000.0619383.30100.000.06800
    预处理+分组98.8083.300.0652666.70100.000.0718388.0084.900.07139
    下载: 导出CSV

    表  6  MOD4检测率及运行时间对比表

    线性核函数准确率及时间多项式核函数准确率及时间高斯核函数准确率及时间
    训练(%)测试(%)时间(s)训练(%)测试(%)时间(s)训练(%)测试(%)时间(s)
    无预处理85.9485.080.0204985.6086.070.0380785.8385.380.05487
    预处理+分组97.8097.800.0122286.7087.000.0390497.6098.400.03709
    下载: 导出CSV
  • 钟晶鑫, 王建业, 阚保强. 基于温度特征分析的硬件木马检测方法[J]. 电子与信息学报, 2018, 40(3): 743–749. doi: 10.11999/JEIT170443

    ZHONG Jingxin, WANG Jianye, and KAN Baoqiang. Hardware Trojan detection through temperature characteristics analysis[J]. Journal of Electronics &Information Technology, 2018, 40(3): 743–749. doi: 10.11999/JEIT170443
    RAD R M, WANG Xiaoxiao, TEHRANIPOOR M, et al. Power supply signal calibration techniques for improving detection resolution to hardware Trojans[C]. 2008 IEEE/ACM International Conference on Computer-Aided Design, San Jose, USA, 2008: 632–639. doi: 10.1109/ICCAD.2008.4681643.
    LAMECH C, AARESTAD J, PLUSQUELLIC J, et al. REBEL and TDC: Two embedded test structures for on-chip measurements of within-die path delay variations[C]. 2011 IEEE/ACM International Conference on Computer-Aided Design, San Jose, USA, 2011: 170–177. doi: 10.1109/ICCAD.2011.6105322.
    DU Dongdong, NARASIMHAN S, CHAKRABORTY R S, et al. Self-referencing: A scalable side-channel approach for hardware Trojan detection[C]. The 12th International Workshop on Cryptographic Hardware and Embedded Systems, Santa Barbara, USA, 2010: 173–187. doi: 10.1007/978-3-642-15031-9_12.
    HE Jiaji, ZHAO Yiqiang, GUO Xiaolong, et al. Hardware Trojan detection through chip-free electromagnetic side-channel statistical analysis[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2017, 25(10): 2939–2948. doi: 10.1109/TVLSI.2017.2727985
    NARASIMHAN S, DU Dongdong, CHAKRABORTY R S, et al. Multiple-parameter side-channel analysis: A non-invasive hardware Trojan detection approach[C]. 2010 IEEE International Symposium on Hardware-Oriented Security and Trust, Anaheim, USA, 2010: 13–18. doi: 10.1109/HST.2010.5513122.
    LIU Yu, JIN Yier, NOSRATINIA A, et al. Silicon demonstration of hardware Trojan design and detection in wireless cryptographic ICs[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2017, 25(4): 1506–1519. doi: 10.1109/TVLSI.2016.2633348
    FORTE D, BAO Chongxi, and SRIVASTAVA A. Temperature tracking: An innovative run-time approach for hardware Trojan detection[C]. 2013 IEEE/ACM International Conference on Computer-Aided Design, San Jose, USA, 2013: 532–539. doi: 10.1109/ICCAD.2013.6691167.
    ZHAO Hong, KWIAT K, KAMHOUA C, et al. Applying chaos theory for runtime hardware Trojan detection[C]. 2015 IEEE Symposium on Computational Intelligence for Security and Defense Applications, Verona, USA, 2015: 1–6. doi: 10.1109/CISDA.2015.7208642.
    JAP D, HE Wei, and BHASIN S. Supervised and unsupervised machine learning for side-channel based Trojan detection[C]. The 27th IEEE International Conference on Application-specific Systems, Architectures and Processors, London, UK, 2016: 17–24. doi: 10.1109/ASAP.2016.7760768.
    BAO Chongxi, FORTE D, and SRIVASTAVA A. On reverse engineering-based hardware Trojan detection[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2016, 35(1): 49–57. doi: 10.1109/TCAD.2015.2488495
    INOUE T, HASEGAWA K, YANAGISAWA M, et al. Designing hardware Trojans and their detection based on a SVM-based approach[C]. The 12th IEEE International Conference on ASIC, Guiyang, China, 2017: 811–814. doi: 10.1109/ASICON.2017.8252600.
    KULKARNI A, PINO Y, and MOHSENIN T. SVM-based real-time hardware Trojan detection for many-core platform[C]. 2016 17th International Symposium on Quality Electronic Design, Santa Clara, USA, 2016: 362–367. doi: 10.1109/ISQED.2016.7479228.
    LODHI F K, HASAN S R, HASAN O, et al. Power profiling of microcontroller′s instruction set for runtime hardware Trojans detection without golden circuit models[C]. The Design, Automation & Test in Europe Conference & Exhibition, Lausanne, Switzerland, 2017: 294–297. doi: 10.23919/DATE.2017.7927002.
    TEHRANIPOOR M and SALAMANI H. trust-HUB[OL]. https://www.trust-hub.org/, 2018.
    李莹, 周崟灏, 陈岚. 一种旁路检测方法及装置[P]. 中国专利, CN109684881A, 2019.

    LI Ying, ZHOU Yinhao, and CHEN Lan. A bypass detection method and device[P]. China patent, CN109684881A, 2019.
  • 加载中
图(6) / 表(6)
计量
  • 文章访问数:  3594
  • HTML全文浏览量:  1674
  • PDF下载量:  90
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-07-15
  • 修回日期:  2020-03-06
  • 网络出版日期:  2020-04-22
  • 刊出日期:  2020-07-23

目录

    /

    返回文章
    返回