基于机器学习的硬件木马检测综述
立即解锁
发布时间: 2025-08-29 11:12:46 阅读量: 13 订阅数: 11 AIGC 

### 基于机器学习的硬件木马检测综述
#### 1 硬件木马的位置
硬件木马可能存在于处理器、内存单元、I/O 外设、时钟、电源等各种位置。这些木马分布广泛,可能存在于单个组件,也可能存在于多个组件,它们可以相互独立运行,也可能协同工作。
- **处理单元**:木马是处理单元的一部分,嵌入到逻辑门中,会改变指令的执行顺序。
- **内存单元**:木马存在于存储块及其接口单元中,会导致存储信息泄露,甚至阻止用户访问内存中的数据。
- **I/O 单元**:木马可能通过连接到设备的外设进行攻击,与设备的外部或内部单元交互,从而控制设备之间的数据通信,获取设备信息。
- **电源和时钟网格**:存在于电源和时钟网格中的木马会导致提供给芯片的电压和电流出现差异,时钟网格中的木马会导致设备出现不必要的中断。
#### 2 硬件木马的应对措施
针对硬件木马攻击,有以下三类应对措施:
- **硬件木马检测**:确定电路中是否存在硬件木马。
- **硬件木马诊断**:识别硬件木马的类型和位置,并将其从电路中移除。
- **硬件木马预防**:在集成电路开发的每个阶段防止硬件木马的插入,提高木马检测的效率。
##### 2.1 硬件木马检测
早期的木马检测高度依赖所谓无木马的“黄金集成电路”。如果测试的集成电路与黄金集成电路不同,则认为该集成电路受到了木马的影响。但随着设计复杂度的增加,这种方法变得难以实施。因此,研究人员提出了先进的技术来检测木马。
- **硅前阶段的木马检测**:在硅前阶段,使用验证技术检测从第三方 IP 核和 EDA 工具插入的木马。由于木马在功能验证期间处于休眠状态,对传统验证具有抗性,因此硅前检测采用了多种方法。首先,使用形式验证或基于断言的验证结合布尔可满足性来查找电路中存在的冗余逻辑;其次,使用动态和静态验证技术将木马检测表述为未使用电路识别(UCI),将其视为可疑电路。UCI 算法检测信号对,并将信号与黄金集成电路信号进行比较,识别电路中的可疑木马。最近,还提出了基于特征分析的 IP 信任验证方法,该方法无需使用黄金网表即可检测无木马网络和受木马影响的网络。
- **硅后阶段的木马检测**:在集成电路设计的设计阶段和制造阶段存在的木马在硅后过程中被识别。在这个过程中,使用逻辑测试和侧信道分析方法来确定木马。侧信道分析方法广泛用于木马检测,通过确定电路的功耗、延迟、关键路径和电磁干扰等参数,由 SoC 设计人员比较这些参数,分析电路中是否存在木马。由于工艺变化,侧信道分析方法可能会失效,因此逻辑测试更为有效,它通过生成电路的测试模式来检测木马。但由于攻击者可以在电路中插入任意数量的木马,难以确定所有木马,也难以生成每个木马的测试模式,因此开发了统计方法来生成测试向量。
##### 2.2 硬件木马诊断
该方法用于确定电路中木马的位置、类型和触发条件,并将木马从电路中移除。木马诊断基于电路分割和门级特征化,将大型电路划分为门数量较少的小电路,以便更轻松、准确地检测。还通过评估泄漏功率来诊断木马,重复这个过程以提高木马网络的检测准确性。
##### 2.3 硬件木马预防
为了提高上述方法的效率,需要通过设计具有自我保护意识的集成电路来进行预防。SoC 设计人员可以采用以下方法来防止木马攻击:
- **混淆**:将源电路转换为具有相同功能但在某些方面较难理解的新电路。混淆有两个要求:一是混淆后的电路能高效运行,实现与原始电路相同的功能;二是混淆电路的功能不会泄露信息。混淆技术分为组合逻辑混淆(插入额外的门)和顺序逻辑混淆(插入额外的状态)。
- **布局填充**:该技术旨在促进木马检测,减少在布局空白空间中插入木马的可能性。禁止 SoC 设计人员和
0
0
复制全文
相关推荐








