木马检测技术旨在验证所设计或者制造的芯片是否感染了硬件木马。
目录
主要在两个阶段检测:设计阶段(流片前)检测和制造阶段(流片后)检测。
一、流片前检测
流片前检测主要对设计模块/单元,或者第三方IP核进行一系列可信验证,以保证IC最终设计的安全性。流片前技术主要包括:功能验证、电路设计分析和形式化验证等。
1.1 功能验证
(1)功能验证是对待测IC/IP施加测试激励,并将响应结果与真值表进行比较。
(2)不能检测不增加或者删除原始设计功能的木马实例。
1.2 电路设计分析
(1)对IC的行为代码进行分析,识别可疑语句,进而对木马门电路进行标记。
(2)缺点是耗时,扩展性差。并且通过覆盖率分析后,仍然无法保证完全检测出木马。
1.3 形式化验证
(1)形式化验证技术是一种基于算法的逻辑验证方法,它能够详尽地证明IC设计应满足的一系列预定义的安全属性规则。
总的来说,上述手段仅仅对IC设计进行信任评估,无法保证检测出植入的所有类型木马,并且验证耗时严重,仍需要做进一步检测。
二、流片后检测
对工厂生产的,或者部署后的IC/IP进行硬件木马检测,分为破坏性和非破坏性两类检测方法。
2.1 破坏性检测方法
(1)利用破坏性的逆向工程对IC进行解封并获得每层图像,以重现最终产品的可信设计验证。
(2)一般来说,对待测IC进行图像特征提取,采样,然后利用机器学习方法进行分类。缺点是需要使用 “ 黄金IC ” 作为对比。
法一:提取IC图像特征,机器学习方法分类,与黄金IC对比。
2.2 非破坏性检测方法
非破坏性检测方法利用非侵入式手段,检测IC中硬件木马。其中,非破坏性逆向工程通过对IC/IP设计的门级网表,GFSII网表,裸片等进行逆向操作来识别木马电路,逻辑测试和侧信道信号分析则用于验证不可信制造厂商所生产的IC/IP。
法二:利用门级网表的机器学习检测方法的非破坏性逆向操作来识别木马电路。
法三:侧信道分析,利用木马对电路参数的影响,作为特征进行提取,从而分类
2.2.1 非破坏性逆向工程
提出非破坏性的算法级逆向工程技术,实现从门级网表/GDSII网表等到硬件高级描述的逆向。
2.2.2 逻辑测试
(1)通过施加随机测试向量来激活木马,将响应与正确的结果进行比较。
(2)无法检测不修改原始电路数据和功能的木马,比如通过天线等泄露机密信息。
2.2.3 侧信道分析
(1)旁路分析方法通常借助IC正常工作时的电路参数,例如延时、功耗、热辐射等,来检测硬件木马的存在。
(2)充分利用了由额外电路和硬件木马的活动特性所引起的旁路信息改变这一特性,弥补了逻辑测试方法的不足。
(3)用反向传播(BP)神经网络分别对待测IC的噪声和功耗信息进行提取与分类。该方法首先将噪声和功耗等旁路信息作为特征进行提取,然后与参考模型进行匹配,最后通过模式匹配等方法进行分类处理。