第二章:无人机硬件安全基础
各位同学,今天我们来聊聊无人机硬件安全。说实话,很多人一提到安全,脑子里全是软件加密、通信协议这些。但我要说,硬件才是根基。你软件写得再牛,硬件被人动了手脚,一切都白搭。
我在做飞控系统那几年,见过太多「软件安全、硬件裸奔」的项目。结果呢?飞着飞着IMU数据漂移,GPS被人干扰,甚至电机直接停转。嗯,这些坑我都踩过。今天就把这些经验掰开揉碎了讲给你们听。
2.1 飞控硬件架构:核心骨架
飞控硬件说白了就是一块嵌入式主板。但跟普通单片机开发板不一样,它要扛得住震动、耐得住高温、还得防电磁干扰。我个人习惯把飞控硬件分成三大块:
- 主控芯片:STM32F4/F7 或国产 GD32,负责跑控制算法
- 传感器接口:SPI/I2C 总线连接 IMU、气压计
- 执行机构接口:PWM/DShot 协议控制电调
你想想看,这三块任何一个出问题,飞机都得炸。我见过一个项目,主控芯片选了某款低端MCU,结果浮点运算跟不上,控制周期直接翻倍。飞起来跟喝醉了似的。
核心原则:飞控硬件必须满足「实时性 + 可靠性 + 安全性」三重约束。缺一不可。
2.2 传感器安全:IMU/GPS/气压计
传感器是无人机的「眼睛」和「耳朵」。但说实话,这些器件天生就容易被攻击。为什么?因为它们都工作在模拟域,信号太容易被干扰了。
2.2.1 IMU(惯性测量单元)
IMU 包含加速度计和陀螺仪。我在项目中遇到过最头疼的问题——声学干扰攻击。有人用特定频率的声波对准IMU,加速度计输出直接偏了。你想想,飞控以为飞机在倾斜,实际是平的,结果就是疯狂修正姿态,最后炸机。
怎么防?我建议做三件事:
- 硬件滤波:在IMU供电和信号线上加LC滤波器,抑制高频干扰
- 软件校验:连续采样N次,去掉最大最小值再取平均
- 冗余设计:用两颗IMU做交叉验证,数据不一致立刻报警
避坑指南:我曾经在IMU布局上吃过亏。把IMU放得太靠近电机,震动直接耦合进传感器。后来我强制要求IMU必须用减震泡沫垫隔离,效果立竿见影。
2.2.2 GPS(全球定位系统)
GPS 安全是个大话题。最常见的攻击是「欺骗攻击」——伪造GPS信号,让飞控以为自己在一个假位置。我记得有个案例,无人机被诱骗到禁飞区,直接触发自动降落,结果被人捡走了。
我个人习惯的做法是:
- 信号强度检测:正常GPS信号强度在 -130dBm 左右,突然变强就有问题
- 多星座支持:同时用 GPS + 北斗 + GLONASS,攻击者很难同时伪造三个系统
- 惯性辅助:用IMU数据做位置推算,GPS数据变化太快就拒绝更新
2.2.3 气压计
气压计看起来简单,其实最容易出幺蛾子。为什么?因为它对气流太敏感了。无人机高速飞行时,机翼上下表面气压差会干扰气压计读数。我见过一个项目,气压计直接装在机腹开孔处,结果高速俯冲时读数差了50米。
解决办法:
- 气压计必须放在封闭腔体内,用海绵或泡棉隔离气流
- 加装二级过滤算法,比如卡尔曼滤波,剔除突变值
- 与超声波或激光测距做交叉验证
2.3 执行机构安全:电调/电机
执行机构是无人机的「手脚」。电调和电机如果被攻击,后果就是直接失控。我遇到过最离谱的事——有人在电调固件里植入了后门,飞到特定高度自动降低油门。
2.3.1 电调(ESC)安全
电调本质上是三相无刷电机驱动器。它的安全风险主要在通信协议上。传统的PWM协议太容易被干扰了,一个脉冲毛刺就能让电机转速突变。
我建议:
- 使用数字协议(如 DShot、OneShot)替代PWM,带CRC校验
- 电调固件必须签名验证,防止被刷入恶意固件
- 电流检测做保护,超过额定值自动限流
警告:千万不要用普通航模电调直接上无人机。航模电调没有安全保护逻辑,一旦失控就是炸机。我见过有人图便宜,结果电调过热直接烧了。
2.3.2 电机安全
电机本身是纯硬件,但它的运行状态可以被监测。我习惯在电机上装霍尔传感器或编码器,实时检测转速。如果飞控发了1000rpm的指令,电机实际只转了800rpm,那肯定有问题。
另外,电机温度监测也很重要。我见过一个案例,电机轴承磨损导致阻力增大,电流飙升,最后烧了电调。后来我们在电机里埋了NTC热敏电阻,超过80度自动降功率。
2.4 硬件防篡改设计
这部分是我最想强调的。硬件防篡改不是「加个螺丝封条」那么简单。真正的防篡改要能检测到物理入侵,并做出响应。
我常用的手段:
| 防护手段 | 原理 | 响应措施 |
|---|---|---|
| 外壳微动开关 | 开盖即触发 | 擦除密钥、禁用飞控 |
| 光敏传感器 | 检测外壳是否被打开 | 触发蜂鸣器报警 |
| 防拆螺丝 | 特殊螺丝头,普通工具拧不开 | 物理防护 |
| 加密芯片 | 存储密钥,与主控双向认证 | 认证失败则拒绝启动 |
我个人最推荐的是「加密芯片 + 微动开关」组合。加密芯片存储飞控固件的解密密钥,微动开关检测外壳是否被打开。一旦检测到开盖,立即擦除密钥。这样就算有人拿到硬件,也读不出固件。
避坑指南:我曾经设计过一款飞控,防篡改做得太激进——开盖就擦除全部Flash。结果有一次测试员不小心碰了开关,整块板子变砖。后来我改成「开盖触发报警 + 三次开盖才擦除」,既安全又实用。
好了,这一章的内容就到这里。硬件安全是无人机安全的基石,别想着靠软件解决所有问题。下一章我们聊聊通信链路安全,那又是另一个大坑了。