高级搜索

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

佟鑫 李莹 陈岚

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

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

    作者简介: 佟鑫: 女,1987年生,助理研究员,主要研究方向为物联网硬件安全与集成电路设计;
    李莹: 女,1982年生,副研究员,主要研究方向为物联网硬件安全与集成电路设计;
    陈岚: 女,1968年生,研究员,博士生导师,主要研究方向为计算机系统架构与集成电路设计、集成电路硬件安全
    通讯作者: 李莹,liying1@ime.ac.cn 陈岚,chenlan@ime.ac.cn
  • 基金项目: 国家物联网与智慧城市重点专项对接(Z181100003518002),北京市自然科学基金(4184106),北京市科技专项(Z171100001117147)

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

English

    1. [1]

      钟晶鑫, 王建业, 阚保强. 基于温度特征分析的硬件木马检测方法[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

    2. [2]

      RAD R M, WANG Xiaoxiao, TEHRANIPOOR M, et al. Power supply signal calibration techniques for improving detection resolution to hardware Trojans[C]. Proceedings of 2008 IEEE/ACM International Conference on Computer-Aided Design, San Jose, USA, 2008: 632–639. doi: 10.1109/ICCAD.2008.4681643.

    3. [3]

      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]. Proceedings of 2011 IEEE/ACM International Conference on Computer-Aided Design, San Jose, USA, 2011: 170–177. doi: 10.1109/ICCAD.2011.6105322.

    4. [4]

      DU Dongdong, NARASIMHAN S, CHAKRABORTY R S, et al. Self-referencing: A scalable side-channel approach for hardware Trojan detection[C]. Proceedings of 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.

    5. [5]

      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

    6. [6]

      NARASIMHAN S, DU Dongdong, CHAKRABORTY R S, et al. Multiple-parameter side-channel analysis: A non-invasive hardware Trojan detection approach[C]. Proceedings of 2010 IEEE International Symposium on Hardware-Oriented Security and Trust, Anaheim, USA, 2010: 13–18. doi: 10.1109/HST.2010.5513122.

    7. [7]

      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

    8. [8]

      FORTE D, BAO Chongxi, and SRIVASTAVA A. Temperature tracking: An innovative run-time approach for hardware Trojan detection[C]. Proceedings of 2013 IEEE/ACM International Conference on Computer-Aided Design, San Jose, USA, 2013: 532–539. doi: 10.1109/ICCAD.2013.6691167.

    9. [9]

      ZHAO Hong, KWIAT K, KAMHOUA C, et al. Applying chaos theory for runtime hardware Trojan detection[C]. Proceedings of 2015 IEEE Symposium on Computational Intelligence for Security and Defense Applications, Verona, USA, 2015: 1–6. doi: 10.1109/CISDA.2015.7208642.

    10. [10]

      JAP D, HE Wei, and BHASIN S. Supervised and unsupervised machine learning for side-channel based Trojan detection[C]. Proceedings of 2016 IEEE 27th International Conference on Application-specific Systems, Architectures and Processors, London, UK, 2016: 17–24. doi: 10.1109/ASAP.2016.7760768.

    11. [11]

      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

    12. [12]

      INOUE T, HASEGAWA K, YANAGISAWA M, et al. Designing hardware Trojans and their detection based on a SVM-based approach[C]. Proceedings of 2017 IEEE 12th International Conference on ASIC, Guiyang, China, 2017: 811–814. doi: 10.1109/ASICON.2017.8252600.

    13. [13]

      KULKARNI A, PINO Y, and MOHSENIN T. SVM-based real-time hardware Trojan detection for many-core platform[C]. Proceedings of 2016 17th International Symposium on Quality Electronic Design, Santa Clara, USA, 2016: 362–367. doi: 10.1109/ISQED.2016.7479228.

    14. [14]

      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]. Proceedings of the Design, Automation & Test in Europe Conference & Exhibition, Lausanne, Switzerland, 2017: 294–297. doi: 10.23919/DATE.2017.7927002.

    15. [15]

      TEHRANIPOOR M and SALAMANI H. trust-HUB[OL]. https://www.trust-hub.org/, 2018. (未找到作者, 请核对)

    16. [16]

      李莹, 周崟灏, 陈岚. 一种旁路检测方法及装置[P]. 中国, CN109684881A, 2019.
      LI Ying, ZHOU Yinhao, and CHEN Lan. A bypass detection method and device[P]. CN, CN109684881A, 2019.

  • 图 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_A3-MOV_A_D 6-MOV_RR_D 9-MOV_D_RR4- 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
  • 加载中
图(6)表(6)
计量
  • PDF下载量:  5
  • 文章访问数:  1364
  • HTML全文浏览量:  640
文章相关
通讯作者: 陈斌, bchen63@163.com
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

/

返回文章