
在在线论坛和信息安全社区中反复出现的说法是“每台现代计算机都有硬件后门,那为什么还要为网络安全费心?”这些言论源自偏执、国家行为者的监控偶然曝光以及对硬件漏洞和供应链渗透的合法研究。然而,硬件后门的技术现实、其可行性以及对网络安全的影响——从普通用户的笔记本电脑到高安全性数据中心——是值得仔细、深入探讨的复杂话题。
在这篇博文中,我们将解析什么是硬件后门以及它们是否存在于现代计算设备中。我们将讨论现实世界的案例,硬件后门为何从安全视角上如此令人担忧,发现和消除它们的实际现实,以及您可以采取的可行措施——从基本意识到高级检测。在此过程中,我们将借助操作系统工具和脚本(Bash, Python)展示防御者和研究人员如何进行硬件分析。
关键词: 硬件后门,硬件安全,供应链攻击,网络安全,固件,检测,计算机安全,硬件 rootkit,高级持续威胁
硬件后门是一种方法,通常是隐藏且未记录的,被镶嵌在电子组件的物理设计或固件中,允许攻击者或秘密实体绕过安全限制、获取控制或窃取数据。
这些后门可以存在于不同级别:
虽然一些后门是制造商为了调试或支持故意放置的,但其他可能是在设计过程中或全球硬件供应链中恶意插入的。
随着国际化硬件生产的兴起和越来越复杂的芯片,很少有现代设备完全能够免受供应链或设计阶段妥协的风险。经常被引用的是复杂的集成系统芯片(SoC)设计,可能包含数百万到数十亿个晶体管,而大多数组织不可能对其进行详尽核查。
此外,作为基础的系统组件如:
...实际上是黑盒子,完全可以访问系统内存、网络,有时还有持久储存,它们的代码运行在您主要操作系统的可见性之外。
甚至 NSA 的 ANT 目录揭示了设计用于持久访问目标终端的硬件植入。
说“每个”设备都有后门是一种夸张,但硬件(特别是闭源固件)的复杂性和不透明性确实带来了一个始终存在的风险——这一风险很难对任何特定设备进行最终排除。
2018年,彭博社发布了一篇爆炸性报道,声称小型监控芯片被插入到 Supermicro 服务器板中,供美国主要公司使用,允许远程攻击者窃取数据并控制系统。后续调查未能证实具体细节,但这个故事突显了供应链硬件攻击的可能性和恐怖性。
爱德华·斯诺登泄露的文件详细描述了 NSA 的战术,如“拦截”——物理拦截运输硬件,植入间谍芯片或修改固件,然后转送到原始目的地。
Stuxnet 蠕虫不仅利用软件漏洞,还操纵西门子 PLC 的硬件逻辑以破坏伊朗离心机。虽然不能算是“后门”,Stuxnet 显示出固件/硬件操作如何能破坏即使是隔离的系统。
2019年,攻击者入侵了华硕的软件更新渠道,将恶意固件更新推送到全球数万台笔记本电脑上。现代化的更新交付复杂性吸引了敌手选择硬件/固件供应链攻击。
研究人员证明 USB 固件可以在硬件级被重新编程为恶意 HID 设备、安装恶意软件或嗅探流量,绕过传统操作系统的防御。
硬件后门代表了安全中的最坏情况:
IME 在一个隐藏的协处理器上运行一个基于 Minix 的操作系统,具有完全访问系统 RAM 和网络的能力,但用户或系统管理员无法直接管理。这里的漏洞、设计缺陷或后门是可怕的——最近高层次的 ME 漏洞(如 Intel-SA-00086)影响了近十年的 CPU。
简短回答: 对于大多数用户来说——不行。对于专业研究人员来说——有时可以。
为什么?
您可以(有时)从以下设备转储固件:
...并与已知的良好镜像进行比较,检查是否有奇怪或出乎意料的修改,或扫描已知的恶意软件特征。
不寻常的网络流量(例如,从 BMC/IME 到未知的 IP),未解释的系统重启,或持续的恶意软件可能是低层次妥协的迹象。
使用 X 射线成像和电子显微镜等工具,专家可以将可疑芯片与预期蓝图进行比较——这主要限于国家机构或大型 OEM。
虽然您无法直接“看到”硬件后门,您可以使用开源工具集调查、备份和检查某些固件镜像和系统行为。以下是一些实用的方法,重点是消费者可访问的分析。
flashrom# 列出支持的芯片
sudo flashrom -p internal
# 将 BIOS 转储到文件中
sudo flashrom -p internal -r bios_backup.bin
# (可选)将备份与已知的良好图像进行比较(如果可用)
cmp bios_backup.bin known_good_bios.bin
您可以分析固件镜像中的可疑模式或字符串。
strings bios_backup.bin | less
binwalk -e bios_backup.bin
您可以编写 Python 脚本以搜索已知的后门特征或奇怪的网络端点:
# 示例:在转储固件中扫描可疑 IP
import re
with open('bios_backup.bin', 'rb') as f:
data = f.read()
# 正则表达式模式匹配 IPs (IPv4)
ips = re.findall(rb'\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b', data)
unique_ips = set(ips)
print("找到的 IP 地址:")
for ip in unique_ips:
print(ip.decode())
sudo tcpdump -i eth0 port 16992 or port 623
sudo netstat -ntp
识别诸如 BMC 或 IME 的设备的后台连接,这些设备不应正常“致电”。
Linux 下:
# 列出 PCI 设备(注意未知的/无制造商的设备)
lspci -nn
# 检查 USB 设备树
lsusb
# 列出所有硬件,包括嵌入式控制器
lshw -short
用 Python 解析:
import subprocess
output = subprocess.check_output(['lspci', '-nn']).decode()
for line in output.split('\n'):
if 'Unknown' in line or 'unclassified' in line:
print("可疑 PCI 设备:", line)
将存储的固件与签名或制造商提供的哈希进行比较:
sha256sum bios_backup.bin
# 将输出与制造商的哈希进行比较(如果可用)
在可能的情况下,在支持的硬件上使用开源固件(例如 coreboot,Libreboot)。这些项目旨在用可审计的、精简的替代品来取代不透明的专有 BIOS/UEFI 代码,降低来自制造商后门的风险。
现实地讲,一个普通用户几乎无法从现代商用设备中“移除”硬件后门。然而,您可以降低风险并提高您的意识水平。
1. 倾向于开源硬件和固件
2. 隔离管理引擎
3. 监控出站流量
4. 使用良好的供应链卫生
5. 考虑威胁模型
6. 定期更新固件
7. 气隙和物理隔离
lspci/lsusb 上的奇异设备,并监控网络流量,但检测硅级植入超出了消费者的能力范围。对硬件后门的担忧是有道理的,特别是对于对手可能包括国家或资金充足的攻击者的人而言。然而,对于公众和大多数组织而言,硬件级后门妥协发生的概率仍然远远低于软件级的利用。
话虽如此,硬件级攻击确实存在,供应链篡改是一个日益严重的问题,我们最基础的计算平台缺乏透明度对于隐私和安全方面的人来说是一种现实和直接的危险。
总结:
问题不在于“为什么要费心?”——而是如何在不忽视操作安全基础的情况下继续为可信赖的硬件而斗争。
有问题或建议?请在评论中留言或通过[安全的电子邮件/联系]与我们联系!