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

news2024/11/18 2:50:27

【安全硬件】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×109

t = 2 128 × 2 × 1 0 − 9 ( s ) t=2^{128}\times2\times10^{-9}(s) t=2128×2×109(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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/149557.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kafka快速入门

文章目录安装部署集群规划集群部署kafka群起脚本Kafka命令行操作主题命令行操作生产者命令行操消费者命令行操作安装部署 集群规划 集群部署 官方下载地址:http://kafka.apache.org/downloads.html上传安装包到02的/opt/software目录下 [atguiguhadoop02 softwar…

5.hadoop系列之HDFS NN和2NN工作机制

1.第一阶段:NameNode启动 1.第一次启动NameNode格式化后,创建Fsimage和Edits文件,如果不是第一次启动,直接加载Fsimage和Edits到内存 2.客户端对元数据进行增删改请求 3.NameNode记录操作日志,更新滚动日志 4.NameNod…

elasticsearch-head使用问题汇总

1、elasticsearch-head数据预览、基本查询、复合查询模块无法查询es文档记录(1)解决办法复制vendor.jsdocker cp elasticsearch-head1:/usr/src/app/_site/vendor.js vendor.js修改vendor.js第6886行,将“contentType: "application/x-w…

高性能分布式缓存Redis-第三篇章

高性能分布式缓存Redis-第三篇章一、分布式锁1.1、高并发下单超卖问题1.2、何为分布式锁1.3、分布式锁特点1.4、基于Redis实现分布式锁1.4.1、实现思路:1.4.2、实现代码版本1.4.3、错误解锁问题解决1.4.4、锁续期/锁续命1.4.5、锁的可重入/阻塞锁(rediss…

微服务 Spring Boot 整合 Redis BitMap 实现 签到与统计

文章目录⛄引言一、Redis BitMap 基本用法⛅BitMap 基本语法、指令⚡使用 BitMap 完成功能实现二、SpringBoot 整合 Redis 实现签到 功能☁️需求介绍⚡核心源码三、SpringBoot 整合Redis 实现 签到统计功能四、关于使用bitmap来解决缓存穿透的方案⛵小结⛄引言 本文参考黑马 …

【第24天】SQL进阶-查询优化- performance_schema系列实战一:利用等待事件排查MySQL性能问题(SQL 小虚竹)

回城传送–》《32天SQL筑基》 文章目录零、前言一、背景二、performance_schema配置配置表启用等待事件的采集与记录三、sysbench基准测试工具3.1 安装和使用sysbench3.1.1 yum安装3.1.2 查看版本信息3.1.3 sysbench 使用说明3.2 sysbench 测试服务器cpu性能3.3 sysbench测试硬…

Hadoop 入门基础 及HiveQL

一、hadoop 解决了什么问题?即hadoop 产生背景 一个能够轻松方便、经济实惠地存储和分析大量数据的非常流行的开源项目。 二、hadoop 是如何低成本地解决大数据的存储和分析的?即hadoop 原理,hadoop 的组成部分 Hadoop的创始人、Cloudera首…

Java图形化界面---基本组件

目录 一、基本组件介绍 二、Diaolg对话框 (1)Dialog (2) FileDialog 一、基本组件介绍 Button 按钮 Canvas 用于绘图的画布 Checkbox 复选框组件 CheckboxGroup 用于将多个…

【阶段三】Python机器学习06篇:模型评估函数介绍(分类模型)

本篇的思维导图: 模型评估函数介绍(分类模型) accuracy_score()函数 作用:accuracy_score函数计算了模型准确率。在二分类或者多分类中,预测得到的标签,跟真实标签比较,计算准确率。 注意事项:在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如数据样本…

数据库管理-第五十一期 新年新气象(20230108)

数据库管理 2023-01-08第五十一期 新年新气象1 新年快乐2 旧账3 软硬件对比4 新气象总结第五十一期 新年新气象 1 新年快乐 2023年来了,我也没有第一时间写一篇写文章给大家祝福,第一呢是因为某些原因元旦假期也没咋休息,其次就是因为本周又…

Allegro174版本新功能介绍之新增几种沿着目标打过孔模式

Allegro174版本新功能介绍之新增几种沿着目标打过孔模式 Allegro在低版本的时候,就已经有了沿着目标打过孔的功能,在升级到了174版本后,又新增了几种打过孔的模式,类似下图 以第一种模式举例介绍说明 点击Place

DFT知识点扫盲——DFT scan chain

先说一下tsmc的std celltsmc 7nm工艺下有专门的std synccell 命名如下:SDFSYNC1RPQD1XXXXVTSDFSYNC1SNQD1XXXXVTSDFSYNC1QD1XXXXVT不考虑VT, PWR和track,电压等差别,整个工艺库下只有这三种实际在项目中synccell一般直接上ULVT,既…

2022年第四届全国高校计算机能力挑战赛c++组决赛

A 题目描述 小丽好朋友的生日快到了,她打算做一些折纸放在幸运罐中作为生日礼物。小丽计划总共 需要a颗星星以及b只纸鹤。现在市场上卖的到的星星纸(折小星星的专用纸)一张可以折c颗小星星,一张纸鹤纸(折纸鹤的专用纸)可以折d只小纸鹤。她准备一共买k张…

【C++】模板进阶

​🌠 作者:阿亮joy. 🎆专栏:《吃透西嘎嘎》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉非类型模…

三次握手四次挥手

三次握手&四次挥手 三次握手 四次挥手

RA-Net:一种混合深度注意感知网络,用于提取CT扫描中的肝脏和肿瘤

摘要 本文提出了一种三维混合残差注意感知分割网络,称为RA-UNet,用于提取肝脏感兴趣区域(VOI)并从这个感兴趣区域(VOI)中分割肿瘤。这个网络的基本架构为三维UNet。它结合了低层次特征图和高层次特征图提取…

【从零开始学习深度学习】39. 梯度下降优化之动量法介绍及其Pytorch实现

动量法的提出主要是为了优化在多变量目标函数中不同自变量梯度下降过程中更新速度快慢不均的问题,并且使目标函数向最优解更快移动。 目录1. 梯度下降中的问题2. 动量法介绍及原理2.1 动量法的数学解释---指数加权移动平均2.2 由指数加权移动平均理解动量法3. 从零实…

【HTML | CSS | Javascript】一款响应式精美简历模板分享(万字长文 | 附源码)

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后…

JS面试题--深入JavaScript运行原理

深入JavaScript运行原理 JavaScript让人迷惑的知识点 JavaScript是一门编程语言 浏览器的工作原理 一般的浏览器有以下主要部分组成:1. 用户界面包括浏览器中可见的地址输入框,浏览器前进返回按钮,打开书签,打开历史记录等用户可…

NEUQ week10 题解

P1636 Einstein学画画 题目描述 Einstein 学起了画画。 此人比较懒~~,他希望用最少的笔画画出一张画…… 给定一个无向图,包含 nnn 个顶点(编号 1∼n1 \sim n1∼n),mmm 条边,求最少用多少笔可以画出图中…