2、传感器欺骗概述:定义、常见攻击场景及对模型的影响
TinyML 系统部署于物理世界边缘节点,其决策高度依赖传感器采集的数据。然而,传感器作为物理世界与数字模型的接口,天然暴露于不可信环境中。传感器欺骗(Sensor Spoofing)指攻击者通过物理篡改、信号注入或环境操纵等手段,使传感器输出偏离真实物理量,从而诱导机器学习模型产生错误推理结果。与网络层攻击不同,传感器欺骗直接作用于数据采集源头,能够绕过加密、认证等传统安全机制,且往往在模型输入端留下极难察觉的痕迹。本章将系统阐述传感器欺骗的定义、典型攻击场景及其对 TinyML 模型推理链路的深层影响。
2.1 传感器欺骗的核心原理
传感器欺骗的本质是破坏“物理量→电信号→数字特征→模型输入”这条转换链路的完整性。TinyML 设备通常采用低成本、低功耗的 MEMS 传感器(如加速度计、陀螺仪、麦克风、温湿度传感器),其信号调理电路简单,缺乏硬件级防护。攻击者无需破解固件或通信协议,只需在物理层面改变传感器感知的环境条件,即可让模型接收到精心构造的虚假数据。
从信号处理角度看,传感器欺骗可分为三个层次:物理层欺骗直接作用于敏感元件(如用强磁场干扰霍尔传感器、用超声波干扰 MEMS 麦克风);电路层欺骗注入到信号调理链路(如通过电源纹波、地弹噪声影响 ADC 参考电压);数据层欺骗则是在数字接口处伪造数据包(如通过 I²C/SPI 总线注入虚假寄存器值)。TinyML 系统由于资源受限,往往省略了数据完整性校验,使得数据层欺骗尤为隐蔽。
2.2 常见攻击场景深度剖析
2.2.1 物理篡改(Physical Tampering)
物理篡改是最直接的攻击方式,攻击者通过接触设备改变传感器的物理状态。典型手法包括:
- 遮挡/屏蔽:用不透光材料覆盖环境光传感器,或使用吸波材料包裹超声波传感器,使输出恒为最小值或特定伪造值。
- 移位/重定向:在工业振动监测场景中,将加速度计从设备外壳移至减震支架上,使采集的振动信号幅值衰减 60% 以上,导致模型无法识别机械故障。
- 替换/旁路:直接更换传感器型号或并联虚假传感器,输出攻击者控制的预设波形。例如在智能电表中替换电流互感器,使功耗数据失真。
- 机械共振:对 MEMS 陀螺仪施加特定频率的机械振动,激发其谐振模态,使角速度输出产生周期性偏置。
物理篡改的特点是攻击成本低、效果显著,但容易被物理巡检发现。在无人值守的 TinyML 节点(如农业物联网、管道监测)中,这种攻击具有很高的现实威胁。
2.2.2 信号注入(Signal Injection)
信号注入攻击不直接接触传感器,而是通过发射特定能量形式的干扰信号,使传感器感知到虚假的物理量。常见注入媒介包括:
| 注入媒介 | 目标传感器 | 攻击原理 | 典型参数 |
|---|---|---|---|
| 电磁干扰(EMI) | 霍尔传感器、磁力计 | 强磁场使敏感元件饱和或偏置 | 50Hz~1MHz,场强 > 100A/m |
| 超声波 | MEMS 麦克风、超声波测距 | 超出人耳范围的声波驱动振膜振动 | 20kHz~100kHz,SPL > 110dB |
| 激光/强光 | 环境光传感器、摄像头 | 高功率光束使感光元件饱和 | 650nm/850nm,功率 > 5mW |
| 射频注入 | 电容式触摸、温度传感器 | 射频能量耦合进信号线产生整流效应 | 100MHz~2.4GHz,功率 > 20dBm |
信号注入攻击的隐蔽性更强,攻击者可以在数米外实施攻击,且不会留下物理痕迹。例如,在语音控制设备附近播放超声波噪声,虽然人耳听不到,但 MEMS 麦克风会将其转换为高频电信号,经 ADC 采样后形成带外噪声,干扰语音唤醒模型的判断。
2.2.3 环境干扰(Environmental Manipulation)
环境干扰通过改变传感器周围的环境条件来间接影响输出。这类攻击不需要专用设备,利用自然环境的可控变量即可实现:
- 温度冲击:对温度补偿型传感器(如压力传感器)施加局部冷热交替,使其内部补偿算法失效,输出漂移超过标称精度 10 倍以上。
- 湿度变化:在高精度称重传感器中,湿度变化会导致电桥绝缘电阻下降,产生零点漂移。
- 气压突变:在无人机高度计(气压计)附近快速释放压缩空气,造成 50~100Pa 的瞬态压差,相当于 5~10 米的高度误差,可触发错误的飞行控制指令。
- 化学气体:对电化学气体传感器释放高浓度干扰气体,使传感器中毒或响应曲线偏移。
环境干扰攻击的难点在于攻击者需要精确控制环境变量,但优点是难以溯源——系统故障可能被误判为自然环境影响,而非恶意攻击。
2.3 传感器欺骗对 TinyML 模型的影响机制
传感器欺骗对模型的影响并非简单的“数据变脏”,而是通过破坏模型依赖的统计假设,引发一系列连锁反应。具体影响路径如下:
2.3.1 输入分布偏移导致泛化失效
TinyML 模型在训练时假设输入数据服从特定分布(如加速度计 x 轴均值为 0,方差在 0.5~2.0 m/s² 范围内)。攻击者注入的虚假数据会使实时输入分布显著偏离训练分布。例如,在人体活动识别模型中,攻击者通过振动电机向加速度计注入 5Hz 正弦波,使模型将“静止”状态误判为“行走”。这种分布偏移无法通过简单的数据归一化消除,因为攻击信号与真实信号在频域上重叠。
2.3.2 特征空间扭曲与决策边界穿越
深度学习模型在高维特征空间中学习决策边界。传感器欺骗相当于在输入空间施加一个对抗性扰动向量 δ,使得 f(x+δ) ≠ f(x)。与数字对抗样本不同,传感器欺骗的 δ 受到物理约束(如传感器量程、采样率、噪声底限),但攻击者可以通过精心设计信号参数,使 δ 在特征空间中恰好指向目标类别的方向。例如,在关键词唤醒模型中,攻击者播放特定频率的超声波,使 MFCC 特征中的某些频带能量异常升高,从而触发“Hey Device”的误唤醒。
2.3.3 置信度虚高与安全决策失效
更危险的是,传感器欺骗不仅导致误分类,还可能使模型对错误结果产生高置信度。由于攻击信号通常具有规则性和强相关性,模型会将其识别为“清晰”的模式,输出 softmax 概率接近 1.0。在安全关键系统中(如工业设备故障检测),这种高置信度的错误判断会导致维护人员忽略真实故障,或使安全联锁装置错误触发。
2.4 案例拆解:超声波注入攻击智能家居人体检测
背景与约束:某智能家居系统使用 24GHz 毫米波雷达进行人体存在检测,TinyML 模型部署在 Cortex-M4 微控制器上,用于区分“有人/无人”状态。系统安装在客厅角落,检测距离 5 米,角度 120°。攻击者希望使系统在无人时误判为“有人”,从而触发不必要的空调/灯光联动。
初始现象:用户反馈系统频繁误触发,但未发现任何物理入侵痕迹。日志显示模型输出“有人”的置信度高达 0.97,且持续 30 秒以上,但监控摄像头画面中无人。
关键数据与参数:
# 正常无人状态下的雷达特征(FFT 幅度谱)
频率 0.5Hz: 0.02
频率 1.0Hz: 0.01
频率 2.0Hz: 0.015
# 异常触发时的雷达特征
频率 0.5Hz: 0.45 (显著异常)
频率 1.0Hz: 0.38 (显著异常)
频率 2.0Hz: 0.41 (显著异常)
# 所有频点能量均匀升高,且存在 20Hz 周期性调制
分析判断过程:正常人体存在时,雷达回波的多普勒频移集中在 0.5~3Hz 范围,且能量随距离衰减。异常数据中所有频点能量均匀升高,不符合人体反射特性。进一步检查发现,异常信号具有 20Hz 的周期性调制——这是典型超声波干扰特征。攻击者在窗外放置了超声波发射器(25kHz),超声波驱动雷达天线的外壳产生微振动,被雷达误检为人体微动。
实际操作步骤:
- 在模型输入端增加带通滤波器(0.3~5Hz),滤除超声波引起的机械振动频率分量。
- 增加时域连续性检查:要求“有人”状态持续至少 5 秒且置信度波动小于 0.1,排除瞬态干扰。
- 在特征提取阶段增加“能量集中度”指标:正常人体回波能量集中在 0.5~2Hz,而干扰信号能量均匀分布,计算 0.5~2Hz 频带能量占比,低于 60% 则判定为可疑。
- 部署边界值检查:若连续 10 帧数据中,任意频点能量超过训练集最大值 3 倍,则触发“传感器异常”告警并进入安全模式。
结果对比:加入防护后,误触发率从每 2 小时 1 次降至 0 次(测试 72 小时)。攻击者将超声波频率调至 30kHz 和 40kHz 再次尝试,均被能量集中度检查拦截。系统在真实有人场景下的检测率保持在 98.5% 以上,未受滤波器影响。
风险与代价:带通滤波器引入了 200ms 的群延迟,对快速移动检测(如跌倒检测)有一定影响。能量集中度阈值需要根据实际安装环境重新标定,不同房间的混响特性会导致阈值偏移。
复盘经验:传感器欺骗攻击往往利用的是“物理域到特征域”的映射盲区。开发者应建立传感器数据的多维度校验机制,包括频域特征、时域统计、物理合理性约束,而不是仅依赖单一模型输出。
2.5 常见误区与防护设计原则
在设计和部署 TinyML 传感器防护时,开发者常陷入以下误区:
| 误区 | 错误认知 | 正确做法 |
|---|---|---|
| 过度依赖模型鲁棒性 | 认为模型经过对抗训练就能抵御所有欺骗 | 对抗训练只能覆盖已知攻击模式,物理域攻击空间无限,需结合输入校验 |
| 忽略物理约束 | 只关注数据值是否在量程内 | 需检查物理量的变化率、相关性、能量谱是否符合物理规律 |
| 单一传感器决策 | 仅依赖一个传感器数据做关键决策 | 采用多传感器融合,利用冗余信息交叉验证 |
| 静态阈值 | 边界值检查使用固定阈值 | 应根据环境状态动态调整阈值,或使用自适应异常检测 |