【安全硬件】Chap.5 如何检测芯片中硬件木马?硬件木马的类型有哪些?检测硬件木马的技术

  • 前言
  • 1. 硬件木马的种类
  • 1.1 硬件木马
    • 1.2 硬件木马的区分
    • 1.1 物理特性类别硬件木马——Physical hardware trojans
    • 1.2 激活特性类别硬件木马——Activation
    • 1.3 动作特性类别硬件木马——Action
  • 2. 检测硬件木马的技术Trojan Detection Techniques
    • 2.1 破坏性检测木马Destructive Trojan Detection
    • 2.2 非破坏性检测木马Non-Destructive Trojan Detection
      • 2.2.1 Run-time monitoring
      • 2.2.2 Test-time
        • 1 Logic test(逻辑测试)
        • 2 侧信道分析(Side-Channel Analysis-Based Approaches)
    • 2.3 Why Hardware Detection is challenging?
  • 3. Quiz
  • 后记

前言

【安全硬件】Chap.3 如何插入一个硬件木马到芯片的组合逻辑电路的漏洞里?不影响正常电路的功能的情况下进行硬件的逻辑加密
【安全硬件】Chap.4 如何插入一个硬件木马到芯片的时序逻辑电路的漏洞里?如何构建可信赖的状态机?
  前两篇文章列举了两种例子,分别简单介绍了硬件木马对组合逻辑电路和时序逻辑电路的危害,以及如何使用Trusted for Design思想完善设计以防止漏洞的产生。

  本文介绍了硬件木马的种类,硬件木马通常由负载部分(恶意电路的内容)和触发部分(激活恶意电路)组成。

  硬件木马很难定位,因为它们可以插入微芯片中的任何位置;例如,一个可能在芯片的处理器中,另一个在其电源中。本文列举了检测硬件木马的手段,

A Survey of Hardware Trojan Taxonomy and Detection

1. 硬件木马的种类

1.1 硬件木马

硬件木马(hardware Trojan)

  • 对现有电路元件的恶意添加或修改。 A malicious addition or modification to the existing circuit elements.

硬件木马能做什么 What can hardware Trojans do?

  • 更改功能(Change the functionality)
  • 降低可靠性(Reduce the reliability )
  • 泄露有价值的信息(Leak valuable information)

列举硬件木马可能会造成安全威胁的三个例子:Cases Security Threats of Hardware Trojan

  • Creating back doors,example: Inserting an Antenna on a chip. 可能会盗取信息、从后门黑入芯片并远程操作,甚至毁坏芯片。
  • Creating Time Bombs:可能会插入计数器、冗余状态机、比较器来控制芯片的动作及倒计时爆炸
  • Electronic trapdoors in key military hardware:设置电子活门板发送指定程序,破坏芯片功能。

1.2 硬件木马的区分

  如上图所示,硬件木马主要可以按照三种方法分类:Physical, Activation, Action characteristics category

  • Physical——物理特性类别,木马的各种硬件表现形式可能不一样。
  • Activation—— 激活特性类别,使木马变得活跃并执行其破坏功能的激活方式不一样。
  • Action——动作特性类别,引入的破坏性行为不一样。

1.1 物理特性类别硬件木马——Physical hardware trojans

Physical——木马的各种硬件表现形式。

  1. Type型主要分为:函数类(Functional)和参数类(Parametric)
  • parametric: modifications of existing wires and logic.

  • Parametric: the addition or deletion of transistors or gates

  1. Structure型:when an adversary is forced to regenerate the layout to insert a Trojan, which could then cause the chip’s physical form factor to change. Such changes could result in different placement for some or all design components.

  ps,Physical hardware trojans 区分于Physical Attacks,后者是一种更广泛的概念,用物理手段达到目的,而不仅仅是木马这么简单。

1.2 激活特性类别硬件木马——Activation

Activation—— 使木马变得活跃并执行其破坏功能。

  • Externally activated 外部激活(例如,通过天线或传感器可以与外界交互)。

  • Internally activated 内部激活(进一步分为始终打开(Always-on)和有条件的(Conditional))。

    • “Always on”表示木马始终处于活动状态,可以随时破坏芯片的功能。
    • "Conditional"基于条件的木马仅在满足特定条件时才会激活。

1.3 动作特性类别硬件木马——Action

Action——动作特性类别,引入的破坏性行为。主要分为三类:

  • modify function:修改功能类,是指通过增加逻辑或删除或绕过现有逻辑,来改变芯片功能的硬件木马。
  • modify specification:修改规范类,是指将攻击重点放在更改芯片参数属性上的硬件木马,例如当对手修改现有线路和晶体管几何形状时的延迟。再比如,木马调高芯片的工作频率使其不能正常工作。
  • transmit information:传输信息类,包括将关键信息传输给对手的硬件木马。

2. 检测硬件木马的技术Trojan Detection Techniques

HARDWARE TROJAN IDENTIFICATION AND DETECTION

Hardware Trojan Detection

  实际上,破坏性检测木马Destructive Trojan Detection相当于把芯片拆开,把小门拿出来拍张照看看各层内的走线关系,在之后,这个芯片无法复原就报废了。 非破坏性检测木马Non-Destructive Trojan Detection的理想状态是想regenerate the netlist of the design。

2.1 破坏性检测木马Destructive Trojan Detection

破坏性检测木马:

  • 它包括拆开 IC 以暴露芯片,然后使用电子显微镜等机器提取每一层的图像 , 这将有助于揭示 IC 的内部结构和功能,然后与源设计进行比较,以帮助检测硬件木马 。
  • 昂贵且耗时 。
  • 可能无法有效检测所有木马类型,尤其是那些涉及细微布局修改的木马(面积紧凑一些,放大都看不清连线了)。

2.2 非破坏性检测木马Non-Destructive Trojan Detection

2.2.1 Run-time monitoring

Non-intrusive Runtime Verification within a System-on-Chip

Hardware Trojan Detection on a PCB Through Differential Power Monitoring

What Makes A Chip Tamper-Proof?

  定位到芯片硬件上核心功能的那一块,监视这一块,如果电路的功耗、延迟等表现不好,说明检测到硬件木马,就进行报警或者锁住。实际上,有了机器学习以来可以进行暴力运算计算得出想要监测的变化趋势,可以更加精准地发现硬件木马。

  它持续监控芯片操作以检测恶意电路的影响,并启动缓解技术。 运行时监控技术在运行阶段检测到木马,绕过它,然后安全地运行电路。

2.2.2 Test-time

1 Logic test(逻辑测试)

  原理:运行一组测试模式来检测任何异常行为

优点:

  • 简单明了,易于区分

缺点:

  • 详尽的功能测试在小型电路中是有效的,但对于较大的设计是不可能的。
  • 现在,如果使用更少、更有效的模式,特洛伊木马就可以逃过检测。
  • 故意插入的特洛伊木马是在极少数情况下触发的(例如,连续的特洛伊木马),因此很难检测到。
  • 无法触发外部激活的木马,只能观察功能性木马

  Quiz:假设时钟频率为 500 MHz,如果您在每个时钟周期测试一个输入组合,彻底测试一个 128 bit输入的乘法器需要多长时间。

T = 1 f = 1 500 × 1 0 6 = 2 × 1 0 − 9 T=\frac{1}{f}=\frac{1}{500\times10^6}=2\times10^{-9} T=f1​=500×1061​=2×10−9

t = 2 128 × 2 × 1 0 − 9 ( s ) t=2^{128}\times2\times10^{-9}(s) t=2128×2×10−9(s)

2 侧信道分析(Side-Channel Analysis-Based Approaches)

  侧信道分析:分析电路的物理参数(功率、延时温度……等)观察木马插入后的效果。 硬件木马即使在非活动状态下也会影响这些特性,因此侧信道分析的优点是无需激活特洛伊木马即可检测到它们。基于观察设备物理特性中的木马效应,如动态功率、泄漏电流、路径延迟、电磁 (EM) 辐射或这些特性的组合。

硬件木马对电路参数的潜在影响是:

  • 由于额外的门(更多泄漏功率)和额外的开关活动(更多动态功率)导致功耗增加
  • 路径延迟增加:由于额外的逻辑
  • 额外的电磁辐射 :由于意外的开关活动
  • 由于额外的开关活动,某些区域的芯片温度发生变化并形成额外的热点

优点:对不会在电路中引起明显故障的特洛伊木马有效

缺点:现代纳米技术和测量噪声中的大工艺变化可以掩盖特洛伊木马电路的影响,特别是对于小型特洛伊木马。

2.3 Why Hardware Detection is challenging?

因此,重要的是要从对手的角度思考,猜测他/她可能在何处/何时/如何以及为什么插入特洛伊木马程序,这可能有助于制定针对特洛伊木马程序的最佳对策

  • 木马种类繁多
  • 缺乏合适的工具
  • 难以判断设计实现或行为异常是木马存在还是其他可靠性原因(如电磁噪声、电路aging… )

Therefore it is important to think as an adversary to guess where/ when/ how and why he/she might insert a Trojan This may help develop the best countermeasure against Trojan

3. Quiz

  1. 检测定位导致严重功能故障的木马(detecting and locating a Trojan that is causing a serious functional failure )
  • 解析:三者都行,但因为功能故障很明显,这个选项比较合适
  • Reverse-engineering of the chip
  • 功能性测试(A comprehensive functional testing )。
  • A comprehensive functional testing Analysis of the power consumption of the chip
  1. 检测到泄露信息的参数木马( the detection of a parametric Trojan that is leaking information)
  • Reverse-engineering of the chip
  • 芯片功耗分析(Analysis of the power consumption of the chip ),因为不会有功能性变化
  • A comprehensive functional testing Analysis of the power consumption of the chip
  1. 检测到导致间歇性错误的always-o的木马 (the detection of an always-on Trojan that is causing intermittent errors )
  • Reverse-engineering of the chip
  • 功能性测试(A comprehensive functional testing )。
  • 分析逻辑路径的延迟和整个芯片的性能(Analysis of the delay of logical paths and the performance of the whole chip)。并不会所有时间都出现,所以查功能性并不一定得到正确答案。

后记

Hardware Trojan Attacks: Threat Analysis and Countermeasures

The Trojan should by definition cause the design to deviate from its normal behaviour.

【安全硬件】Chap.5 如何检测芯片中硬件木马?硬件木马的类型有哪些?检测硬件木马的技术相关推荐

  1. php 检测变量中的回车键_PHP 的变量类型,变量检测

    1.PHP的变量类型: 整型       浮点型 字符串 布尔型 数组 对象 null 资源类型 一个变量就是一个盒子,类型可以看做盒子的标签,变量的值就是盒子里的内容 null 是没有类型的空盒子, ...

  2. VT-x/AMD-V 硬件加速在您的系统中不可用。您的 64-位虚拟机将无法检测到 64-位处理器,从而无法启动。

    vagrant up启动virtual box 发现报错:VT-x/AMD-V 硬件加速在您的系统中不可用.您的 64-位虚拟机将无法检测到 64-位处理器,从而无法启动. 目前Inter和AMD生产 ...

  3. 为什么需要电压检测芯片?

    这篇文章,主要讲的是跟MCU工作电压有关的复位, 其他的一些软件复位,硬件错误复位等等就不在本次的讨论范围内 我们先来看下,一张MCU的复位逻辑图,这里就借用ATMEL的一颗相当经典的MCU--ATM ...

  4. Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示

    Python+opencv 机器视觉 - 基于霍夫圈变换算法检测图像中的圆形实例演示 第一章:霍夫变换检测圆 ① 实例演示1 ② 实例演示2 ③ 霍夫变换函数解析 第二章:Python + openc ...

  5. [css] 检测sass中错误的指令是哪个?

    [css] 检测sass中错误的指令是哪个? @debug伪指令检测错误,并将SassScript表达式值显示到标准错误输出流. 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持 ...

  6. LIMS系统平台在第三方检测实验室中的意义

    说起实验室信息化LIMS系统平台,各行业实验室并不陌生,尤其是近年来LIMS在第三方检测实验室中的应用更为广泛,它给第三方检测行业实验室管理带来的促进作用和许多潜在的价值也已经得到了认可.就LIMS系 ...

  7. 触摸检测芯片VKD233HH稳压电路电路图参考

    ● VKD233DR VinTouchTM 是单按键触摸检测芯片, 此触摸检测芯片内建稳压电路, 提供 稳定的电压给触摸感应电路使用, 稳定的触摸检测效果可以广泛的满足不同应用的需 求,此触摸检测芯片 ...

  8. 目标检测扩(六)一篇文章彻底搞懂目标检测算法中的评估指标计算方法(IoU(交并比)、Precision(精确度)、Recall(召回率)、AP(平均正确率)、mAP(平均类别AP) )

    ​ 基本在目标检测算法中会碰到一些评估指标.常见的指标参数有:IoU(交并比).Precision(精确度).Recall(召回率).AP(平均正确率).mAP(平均类别AP)等.这些评估指标是在评估 ...

  9. 2023-04-18:ffmpeg中的hw_decode.c的功能是通过使用显卡硬件加速器(如 NVIDIA CUDA、Intel Quick Sync Video 等)对视频进行解码,从而提高解码效

    2023-04-18:ffmpeg中的hw_decode.c的功能是通过使用显卡硬件加速器(如 NVIDIA CUDA.Intel Quick Sync Video 等)对视频进行解码,从而提高解码效 ...

最新文章

  1. 粗糙集(Rough sets)、模糊逻辑(Fuzzy Logic)
  2. 简单总结一下.net获得虚拟目录几个基本操作
  3. 使用ab进行压力测试详解
  4. RocketMQ 常见面试题
  5. Ubuntu 10.10用LibreOffice替换OpenOffice
  6. gnu grub version 2.0.2设置启动顺序_如何修复grub异常
  7. Linux之web服务搭建静态网页------综合练习
  8. C语言常用库函数(含详细用法)
  9. 高数——关于微分方程共轭复根引发的复数思考
  10. C#实现微信扫码支付
  11. 经济机器是怎样运行的 -- Ray Dalio
  12. 前端实现H5制作海报
  13. 摘抄笔记 centos内核优化
  14. 根据程序流程图化程序流图_程序流程图如何画?绘图软件有哪些
  15. CAD中插入外部参照字体会变繁体_CAD插入外部参照失败?
  16. 推荐一款牛逼的Windows神器!功能很强大!
  17. 搞笑决战水源之巅收藏六 师傅
  18. Linux系统使用userdel命令删除用户
  19. Centos 7.6 下使用美格SLM750(4G模块)拨号上网
  20. 月饼大战白热化,保险公司也来Battle了!

热门文章

  1. open-falcon hbs 部署
  2. 怎样使左侧菜单栏不随滚动条滚动
  3. linux 基础篇章
  4. 国内做数据可视化大屏哪家强?这5款产品你必须了解
  5. 绿皮书一些quant 题目 (1)
  6. Arcgis ToolBox学习之三——Tabulate Intersection
  7. SQL SERVER 用户自定义函数(UDF)深入解析
  8. Google Analytics(Google分析)与雅虎统计的对比
  9. 分析师称新iPad Mini第三季上市 配视网膜屏
  10. 个人笔记:算法讲座2.1——法老的权杖(某数出现的频率)