
芯片级硬件后门及检测调研
本文调研了芯片级硬件后门——内置于半导体中的隐藏入口点。内容涵盖其定义、实例、潜在威胁及检测与防范中的挑战,为安全专业人士提供全面概述。
---
title: 关于基于芯片的硬件后门的调查:理解、检测和缓解
keywords: 基于芯片的硬件后门,硬件后门检测,硬件木马,半导体安全,硬件安全,网络安全,后门攻击
description: 本技术博客文章提供了一份关于基于芯片的硬件后门的综合调查,探索其定义、现实案例、攻击向量、检测技术以及缓解措施的高级讨论,包括扫描和分析的代码示例。
---
# 关于基于芯片的硬件后门的调查:从基础到高级检测
*最后更新:2024-06-15*
---
## 目录
- [简介](#introduction)
- [什么是硬件后门?](#what-is-a-hardware-backdoor)
- [硬件后门的关键特征](#key-characteristics-of-hardware-backdoors)
- [基于芯片的后门如何工作](#how-chip-based-backdoors-work)
- [攻击向量:设计、制造和供应链](#attack-vectors-design-fabrication-and-supply-chain)
- [硬件后门的类型](#types-of-hardware-backdoors)
- [著名的现实案例](#notable-real-world-examples)
- [案例研究:声称的主板后门](#case-study-alleged-motherboard-backdoor)
- [学术硬件木马示范](#academic-hardware-trojan-demonstrations)
- [硬件后门如何在网络安全攻击中使用](#how-hardware-backdoors-are-used-in-cybersecurity-attacks)
- [网络层级影响](#network-level-impact)
- [设备层级影响](#device-level-implications)
- [硬件后门检测:100%检测是否可能?](#hardware-backdoor-detection-is-100-detection-possible)
- [物理检查技术](#physical-inspection-techniques)
- [功能行为分析](#functional-behavior-analysis)
- [侧信道分析](#side-channel-analysis)
- [代码示例:硬件扫描和数据解析](#code-examples-hardware-scanning-and-data-parsing)
- [硬件后门的缓解策略](#mitigation-strategies-for-hardware-backdoors)
- [信任和供应链管理](#trust-and-supply-chain-management)
- [技术缓解措施](#technical-mitigations)
- [结论](#conclusion)
- [参考文献](#references)
---
## 简介
计算设备在现代社会各个方面的日益集成——从个人电子产品到关键基础设施——使半导体安全成为首要任务。虽然对软件漏洞和漏洞利用给予了很多关注,但更潜在的风险潜伏在表面之下:**基于芯片的硬件后门**。
特别是在芯片或IC(集成电路)级别,硬件后门为恶意行为者提供了**意外的、隐蔽的入口**。这种后门深深嵌入到硅芯片的物理结构中,往往使其极难检测或缓解。
在这份综合调查中,我们的目标是:
- 解释硬件后门是什么,它们是如何创建的,以及它们为什么危险。
- 提供硬件后门的真实和学术示例。
- 讨论这些后门如何在网络安全领域被利用。
- 提供从初学者到高级的分析路径,包括**检测策略**、讨论100%检测的可能性,以及用于扫描和分析的实际代码示例。
- 提出缓解策略。
无论你是网络安全初学者、硬件工程师还是感兴趣的读者,本指南将帮助你理解基于芯片的硬件安全的技术格局。
---
## 什么是硬件后门?
**定义:**
硬件后门是在硬件级别(通常在半导体设备或IC中)进行的*故意或意外修改*,提供**隐蔽的访问、覆盖或控制路径**,在设备的正常信任边界之外允许攻击者绕过正常的信任边界。
> "硬件后门不仅仅是一个访问特性,它是一个故意的旁路、覆盖或隐藏的控制路径,嵌入在普通信任边界之下。"
> —— 来源:[nhimg.org/glossary/hardware-backdoor](https://nhimg.org/glossary/hardware-backdoor/)
### 硬件后门的关键特征
- **操作级别:** 在软件、固件之下操作,并可能在系统的信任根之下。
- **隐蔽性:** 设计旨在通过正常的操作、调试或诊断方法逃避检测。
- **持久性:** 通常直接制造在硅中,使其具有物理上持久性。
- **触发机制:** 可以通过特定的输入序列、操作条件或远程触发。
- **意图:** 可以故意插入(恶意/欺诈)或意外插入(由于错误或不可预见的相互作用)。
**示例包括:**
- 处理器中未记录的测试或调试模式。
- 在芯片设计或制造过程中插入的恶意逻辑。
- 隐藏的指令集。
- 硬件木马(例如,在特定触发下改变的电路功能)。
---
## 基于芯片的后门如何工作
### 攻击向量:设计、制造和供应链
硬件后门可以在芯片生命周期的各个阶段引入:
1. **设计阶段:**
- *规格操纵:* 在HDL(硬件描述语言)代码中进行恶意修改,例如VHDL/Verilog文件。
- *第三方IP核:* 未经全面源码审查而重复使用的不受信任的专有模块。
2. **制造或生产阶段:**
- *代工厂级篡改:* 代工厂中的恶意行为者可以微妙地改变光罩或芯片层。
- *半导体供应链中的假冒/更换组件。*
3. **生产后/装配后:**
- *恶意固件刷新。*
- *在成品板上进行芯片中间人交换。*
### 硬件后门的类型
基于芯片的后门(通常也被称为**硬件木马**)可以按*功能*、*位置*和*触发机制*分类:
#### 按功能分类
- **信息泄露:** 例如,窃取加密密钥。
- **功能改变:** 例如,降低随机数生成器的熵,绕过认证。
- **服务拒绝(DoS):** 例如,在触发后使芯片不可用。
#### 按触发机制分类
- **始终激活的后门:** 后门始终处于激活状态。
- **触发的后门:** 仅在预定义条件下激活(例如,特定的输入序列或信号)。
- **远程激活的后门:** 通过外部信号或网络数据包激活。
#### 按位置分类
- **数字逻辑:** 添加的门电路、替代路径、改变的逻辑电路。
- **模拟/物理:** 对模拟特性的修改(例如,电压阈值),很少能通过标准的数字逻辑测试检测到。
---
## 著名的现实案例
### 案例研究:声称的主板后门
最广为人知的事件之一是彭博社2018年的报道("大黑客"),称中国承包商在Supermicro主板上插入了一个微小的微芯片后门,这些主板被提供给美国的重要公司。尽管所有各方事后的否认和没有公开提供的确凿证据,这个故事凸显了芯片级硬件后门的可能性和令人恐惧的隐蔽性。
- **攻击向量:** 制造期间的供应链插入。
- **影响:** 潜在的远程访问、数据泄露。
**参考:**
- [彭博社Supermicro芯片报道](https://www.bloomberg.com/news/features/2018-10-04/the-big-hack-how-china-used-a-tiny-chip-to-infiltrate-america-s-top-companies)
### 学术硬件木马示范
#### “AES密钥泄漏”木马
研究人员展示了对加密加速器硬件的小修改,使加密密钥通过缓存计时或功率侧信道泄漏。
#### “远程控制”木马
在2013年的[黑帽大会](https://www.blackhat.com/us-13/briefings.html#Shwartz)上,安全专家展示了一些常见微控制器内的*未记录的测试/调试功能*可以被滥用以获得root级访问。
#### 国防高级研究计划局 (DARPA) 红队
[DARPA的集成电路信任计划](https://www.darpa.mil/program/trust-in-integrated-circuits)展示了即便是受信任的代工厂在标准的后生产测试中也可能遗漏专家插入的后门。
---
## 硬件后门如何在网络安全攻击中使用
虽然基于芯片的硬件后门不如软件后门常见,但成功的案例可能会有毁灭性的影响。
### 网络层级影响
- **数据泄露:** 嵌入的后门可以通过绕过正常监控的网络连接重新路由敏感数据(加密密钥、密码),或者例如利用电磁辐射。
- **指令与控制:** 含有“监听”后门模式的芯片可以接收外部信号(网络数据包、RF等),触发恶意行为(中继、破坏、权限提升)。
### 设备层级影响
- **绕过安全启动或认证:** 攻击者可以通过未记录的硬件命令绕过固件或操作系统级别的检查。
- **权限提升:** 恶意指令或逻辑可以将攻击者代码提升到root/系统级,即使在超管硬化的情况下。
- **永久性拒绝服务:** 芯片可以在触发后“自毁”或永久性锁死。
#### 示例:网络中的100%检测可见后门攻击
在[Security Stack Exchange讨论](https://security.stackexchange.com/questions/200578/100-detectable-backdoor-attacks-on-network)中,专家指出,一些硬件后门攻击只有当攻击者企图通过网络使用后门时才能被检测(例如,异常流量、协议违规)。然而,许多芯片后门可能会在数年内保持休眠和不可见。
---
## 硬件后门检测:100%检测是否可能?
对硬件后门的检测是一个重大的开放挑战,特别是那些设计用于隐蔽的后门。以下是检测方法、其优势和劣势的分解。
### 物理检查技术
- **成像和逆向工程:**
- **去封装:** 移除芯片封装以访问芯片。
- **扫描电子显微镜(SEM):** 用于成像和比较芯片布局与已知良品参考芯片。
- **X射线成像:** 用于非侵入性分析。
- **局限性:**
- 成本高、耗时和技术复杂。
- 不适合大规模部署或商业产品流。
### 功能行为分析
- **内置自检(BIST):** 一些芯片在启动时运行自检。BIST很少涵盖所有逻辑,可能无法触发休眠木马。
- **黄金模型测试:** 将可疑芯片的输出与已知“黄金”(可信)芯片的相同输入进行比较。
- **局限性:** 可能会遗漏那些由稀有/事件特定条件触发的后门。
### 侧信道分析
- **功率消耗分析:**
在芯片操作期间的功率消耗曲线差异可以指向隐藏的逻辑,特别是在激活或触发后门时。
- **时间分析:**
寻找特定输入模式下的处理时间增加/减少。
- **电磁分析:**
检测与隐藏通信功能相对应的辐射异常。
### 代码示例:硬件扫描和数据解析
**虽然物理和示波器的方法至关重要,但某些行为异常可以通过**软件工具**作为高级硬件检验程序的一部分进行检测(例如,Linux、BSD、Windows):**
#### 1. 枚举连接的设备并分析供应商/型号ID
**Bash:扫描PCI设备(Linux示例)**
```bash
# 列出所有PCI设备及其供应商/型号ID(通常用于检测流氓或未知硬件)
lspci -nn | grep -v "known-vendor-string"
- 将“known-vendor-string”替换为Intel、AMD等。
2. 使用Python解析和标记未知设备
import subprocess
KNOWN_VENDORS = {"8086", "10de", "1002"} # Intel, NVIDIA, AMD的示例PCI供应商ID
def get_pci_devices():
output = subprocess.check_output(['lspci', '-nn']).decode()
devices = []
for line in output.splitlines():
if "[" in line and "]" in line:
vendor = line.split("[")[-1].split(":")[0]
devices.append((line, vendor))
return devices
def find_unknown_devices():
devices = get_pci_devices()
unknown = [dev for dev, vendor in devices if vendor not in KNOWN_VENDORS]
return unknown
if __name__ == "__main__":
unknown_devs = find_unknown_devices()
if unknown_devs:
print("检测到未知PCI设备!")
for dev in unknown_devs:
print(dev)
else:
print("所有PCI设备均已识别。")
3. 通过I/O和时间进行行为测试
Bash脚本:测试设备延迟是否异常
#!/bin/bash
for device in /dev/sd*; do
echo "测试 $device"
time dd if=$device of=/dev/null bs=1M count=10 conv=sync
done
- 在访问非系统磁盘或端点设备时查找异常的延迟或错误。
4. 侧信道捕获(高级:需要硬件)
- 功率分析: 需要外部探针和示波器。
- USB/串口监控: 使用Linux中的
usbmon:
sudo modprobe usbmon
sudo cat /sys/kernel/debug/usb/usbmon/0u > usb_traffic.log
# 使用`grep`或Python在日志中过滤掉未列入白名单的设备
硬件后门的缓解策略
信任和供应链管理
- 可信供应链: 仅从经过验证和审核的来源采购芯片;要求提供制造和处理的文件。
- 物理审计: 随机抽样芯片和第三方芯片验证。
- 防篡改包装: 防止生产后插入。
技术缓解措施
- 冗余设计: 三模冗余(TMR)可以容忍单个木马故障模块。
- 运行时芯片验证: 芯片在启动时向硬件信任根进行自验证。
- 侧信道监控: 在运行时监控功率、电磁发射或I/O以检测异常模式。
- 限制进入测试/调试功能: 一次性可编程(OTP)熔丝,禁用制造后的测试模式。
- 连接器的端到端加密: 防止通过硬件的内部窥探或数据泄露。
结论
基于芯片的硬件后门代表了网络安全和硬件工程领域一些最危险和微妙的威胁。与软件后门不同,软件后门往往可以通过更新修补,一旦设备在现场硬件后门通常是不可撤销的。
关键要点
- 检测很困难: 没有已知方法保证100%检测,尽管分层策略有帮助。
- 预防更好: 安全供应链、第三方审计和防篡改比现场检测更有效。
- 保持警惕: 如果您处理关键系统,请将来自未知来源的硬件视为不可信。
接下来呢?
- 期望芯片验证、硬件水印和AI驱动的异常检测的研究会有所进展。
- 随着攻击者变得更加复杂,我们的防御方法也必须不断提高。
参考文献
- 基于芯片的硬件后门调查(Takshashila)
- 硬件后门 - 定义及示例(Nhimg.org)
- 网络中100%可检测的后门攻击(Security Stack Exchange)
- 彭博社Supermicro主板报道
- DARPA - 集成电路信任(存档)
- 黑帽2013 - 攻击嵌入式微控制器
- Linux lspci实用程序文档
- USBMon(Linux内核文档)
- IEEE文章:硬件木马检测
- 维基百科:硬件木马
收藏本指南以获得定期更新,或订阅以获取关于网络安全与硬件设计相交的深入文章!
