第二章:无人机硬件安全基础

各位同学,今天我们来聊聊无人机硬件安全。说实话,很多人一提到安全,脑子里全是软件加密、通信协议这些。但我要说,硬件才是根基。你软件写得再牛,硬件被人动了手脚,一切都白搭。

我在做飞控系统那几年,见过太多「软件安全、硬件裸奔」的项目。结果呢?飞着飞着IMU数据漂移,GPS被人干扰,甚至电机直接停转。嗯,这些坑我都踩过。今天就把这些经验掰开揉碎了讲给你们听。

2.1 飞控硬件架构:核心骨架

飞控硬件说白了就是一块嵌入式主板。但跟普通单片机开发板不一样,它要扛得住震动、耐得住高温、还得防电磁干扰。我个人习惯把飞控硬件分成三大块:

  • 主控芯片:STM32F4/F7 或国产 GD32,负责跑控制算法
  • 传感器接口:SPI/I2C 总线连接 IMU、气压计
  • 执行机构接口:PWM/DShot 协议控制电调

你想想看,这三块任何一个出问题,飞机都得炸。我见过一个项目,主控芯片选了某款低端MCU,结果浮点运算跟不上,控制周期直接翻倍。飞起来跟喝醉了似的。

核心原则:飞控硬件必须满足「实时性 + 可靠性 + 安全性」三重约束。缺一不可。

2.2 传感器安全:IMU/GPS/气压计

传感器是无人机的「眼睛」和「耳朵」。但说实话,这些器件天生就容易被攻击。为什么?因为它们都工作在模拟域,信号太容易被干扰了。

2.2.1 IMU(惯性测量单元)

IMU 包含加速度计和陀螺仪。我在项目中遇到过最头疼的问题——声学干扰攻击。有人用特定频率的声波对准IMU,加速度计输出直接偏了。你想想,飞控以为飞机在倾斜,实际是平的,结果就是疯狂修正姿态,最后炸机。

怎么防?我建议做三件事:

  1. 硬件滤波:在IMU供电和信号线上加LC滤波器,抑制高频干扰
  2. 软件校验:连续采样N次,去掉最大最小值再取平均
  3. 冗余设计:用两颗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。结果有一次测试员不小心碰了开关,整块板子变砖。后来我改成「开盖触发报警 + 三次开盖才擦除」,既安全又实用。

好了,这一章的内容就到这里。硬件安全是无人机安全的基石,别想着靠软件解决所有问题。下一章我们聊聊通信链路安全,那又是另一个大坑了。