14款无射频设备全成接收器,20米外1kbps打进气隙

Talking to the Airgap: Exploiting Radio-Less Embedded Devices as Radio Receivers

Paul Staat, Daniel Davidovich, Christof Paar

cs.CR

2025-12-17

鲁尔大学与马普所把无射频嵌入式设备变成接收器:PCB走线当天线,片上ADC采样。14款设备全部敏感,Nucleo板20米外1kbps误码率约6.2%。

这篇在解决什么

气隙把安全关键系统从外网物理断开,用来抬高远程攻击成本。供应链植入、U盘投递、硬件木马仍可能在隔离设备上拿到代码执行。代码落地之后,攻击者还需要一条事后通道:换密钥、改 payload、改触发条件,而不用再走进机房。

过去二十多年的气隙研究几乎都在讲怎么把数据偷出来。反向打进去的通道少得多,而且几乎都要挂上麦克风、温度传感器、LED 或摄像头,距离短、速率低,还常常要求视线。Kasmi 等人曾用千瓦级射频去扰动温度传感器,20 米距离只拿到 2.5 bit/s。这篇问得更硬:一块没有射频芯片、也没有专用传感器当天线的普通嵌入式板,能不能自己当接收器?

方法

PCB 走线在 300–1000 MHz 会无意中充当超高频天线;GPIO 引脚和片上 ADC 的非线性再把射频混到基带。攻击者不必加天线、低噪放或混频器,只要已经能跑代码,就把某个脚配成模拟输入,用片上 ADC 采样,软件解调。

找敏感路径的办法是穷举:

实验室发射机是 SignalHound VSG60 加约 50 dB 功放,最高 43 dBm(约 20 W),天线增益约 6.5 dBi。参考板是 Nucleo-G474RE。同一套扫描再铺到 12 款商品设备加两块自制板,覆盖 Ledger、Trezor、COLDCARD、Passport 等硬件钱包和 Crazyflie 无人机。

解调用开关键控(OOK):有载波为 1,无载波为 0。ADC 块均值过阈值判比特。

结果

14 款设备全部测到可利用的射频敏感,频段落在 300–1000 MHz。峰值 SNR 差很大:Crazyflie 2.1+ 到 62 dB,Passport 34 dB,Nucleo-G474RE 33 dB,Ledger Nano S Plus 只有 11 dB。

对照既有气隙入站通道:

通道传感器距离速率
热通道温度计0.4 m0.002 bit/s
Kasmi 射频扰动温度计20 m2.5 bit/s
超声麦克风8 m166 bit/s
本方法无,板子自己20 m1 kbit/s,最高 100 kbit/s

Nucleo 板路径 B、868 MHz、1 kbps、43 dBm 的实地实验:

理想同步下,10 条路径里 7 条在到达功率 10 dBm(约 10 mW)时 BER 低于 1%;路径 B 在 0 dBm(约 1 mW)时 BER 低于 2%。可检测到达功率低到 -7 dBm(约 0.2 mW),比 Kasmi 那套千瓦发射低几个数量级,速率大约高 400 倍。

金属屏蔽盒能把敏感消掉,塑料壳几乎没用。连续地平面能把 SNR 压低 20 dB 以上,残余耦合还在。

为什么重要

气隙威胁模型一直默认「没有射频芯片就没有入站无线电」。只要 MCU 带 ADC、PCB 走线会耦合,这条假设就不成立。供应链一次植入之后,攻击者可以从围栏外、隔着墙更新 payload,不必二次物理接触。

可复现的部分很具体:固件、扫描脚本、自制板文件都在 Zenodo。防御侧真正挪过数字的是金属屏蔽和地平面,塑料壳当不成隔离。

这是一条新的物理攻击面,不是算法上的小步改进。

局限与存疑

没有 ADC 就采不到射频引起的模拟变化。接收不是选频的,附近强干扰可能把它淹没。实验在裸板上做,产品外壳、排线、屏幕怎么改耦合,没有测完。硬件钱包实验拆掉原 MCU 换成空白同型号,拿到代码执行本身不在讨论范围。器件全是 STM32 家族,FPGA、手机、笔记本只写了以后再做。数据中心这类高电磁噪声环境没验证。把引脚改成 ADC,会暂时关掉这个脚的正常功能。

20 米演示用了 43 dBm,大约 20 W 加定向天线,不是口袋发射器。降到 23 dBm 单芯片发射器,可靠距离掉到大约 2 米。实验室 BER 曲线还忽略了开关瞬态。真实植入必须嵌进设备正常固件,毛刺和时序异常可能把自己暴露出去。

术语

原文与代码

社区讨论

相关论文

全部论文解读