4. 无人机通信协议与接口
无人机的通信体系并非单一链路,而是由飞控内部总线、机载外设接口、遥控与数传射频链路、以及蜂窝网络等多层异构通道叠加而成。理解这些协议与接口的层次位置、数据方向和信任边界,是开展网络安全测试与评估的前提。本章从协议栈视角梳理无人机常见通信通道,并给出可落地的测试切入点。
一、核心原理:无人机通信的分层结构
从物理介质到应用语义,无人机通信大致可分为四层:物理/射频层(2.4GHz、5.8GHz、900MHz、蜂窝频段)、链路层(Wi-Fi、蓝牙、CAN 帧、串口字节流)、传输与会话层(MAVLink 消息、RTCM 差分数据流、TCP/UDP)、应用层(航线、姿态、任务、遥测语义)。安全测试必须明确"在哪一层注入、在哪一层观测"。
MAVLink 是飞控与地面站、机载计算机之间的核心应用协议,采用二进制帧结构,包含起始标志、载荷长度、序列号、系统ID、组件ID、消息ID、载荷与校验字段。MAVLink 1 使用 XOR 校验,MAVLink 2 引入 24 位 CRC 与签名机制,但签名默认不启用,因此未签名链路可被伪造或重放。
MAVLink 2 帧结构(简化):
STX(0xFD) | LEN | 不兼容标志 | 兼容标志 | SEQ | SYSID | COMPID | MSGID(24bit) | PAYLOAD | CHECKSUM(16bit) | SIGNATURE(可选13字节)
RTCM 用于传输 GNSS 差分改正数,常见于 RTK 高精度定位场景,通常通过串口或网络以字节流形式下发至移动站。CAN 总线用于机载设备间高可靠短报文通信,串口(UART)用于飞控与数传、GPS、光流等模块的点对点连接,USB 多用于调试与固件升级,Wi-Fi/蓝牙用于近距离配置与图传,4G/5G 用于超视距回传。
二、方法流程:接口测试的标准动作
针对不同接口,测试流程可归纳为"识别—接入—捕获—解析—注入—验证"六步。识别阶段确认物理接口类型与协议;接入阶段使用对应硬件(USB-TTL、CAN 分析仪、网卡监听模式);捕获阶段记录原始字节流;解析阶段按协议还原语义;注入阶段构造畸形或伪造报文;验证阶段观察飞控行为与日志。
- 串口测试:确认波特率(常见 57600、115200),使用逻辑分析仪或 USB-TTL 抓取 MAVLink 帧,尝试修改 SYSID/COMPID 伪造心跳。
- CAN 测试:接入 CAN 分析仪,枚举仲裁 ID,观察是否存在无鉴权的控制报文,尝试重放。
- USB 测试:检查调试口是否暴露 shell 或固件升级接口,验证是否存在未授权访问。
- Wi-Fi/蓝牙测试:扫描 SSID 与 BLE 广播,检查默认口令、配对方式与加密强度。
- 4G/5G 测试:检查 APN 配置、SIM 鉴权、VPN 隧道与公网暴露面。
- 射频链路测试:使用 SDR 捕获跳频图案,评估抗干扰与抗欺骗能力。
三、典型场景与参数对照
下表汇总常见接口的关键参数与安全关注点,便于测试时快速对照。
| 接口/协议 | 典型速率 | 数据方向 | 安全关注点 |
|---|---|---|---|
| MAVLink over UART | 57600 / 115200 bps | 双向 | 无签名、可伪造心跳与指令 |
| RTCM over 串口/网络 | 9600~115200 bps | 下行为主 | 差分数据可被篡改导致定位偏移 |
| CAN 总线 | 250k / 500k / 1M bps | 广播双向 | 无鉴权、可重放控制帧 |
| USB 调试口 | 12~480 Mbps | 双向 | 暴露 shell、固件刷写风险 |
| Wi-Fi | 54~1200 Mbps | 双向 | 弱口令、WPS、开放热点 |
| 蓝牙 BLE | 1~2 Mbps | 双向 | 配对降级、未加密特征值 |
| 4G/5G | 数 Mbps~Gbps | 双向 | APN 劫持、公网暴露、SIM 克隆 |
| 射频数传 | 数十 kbps~数 Mbps | 双向 | 跳频可预测、信号可压制 |
四、误区与复盘
常见误区一:认为 MAVLink 2 自带签名就安全。实际上签名需显式启用并配置密钥,多数现网链路仍为未签名状态。
常见误区二:只测网络层而忽略物理接口。串口、CAN、USB 往往是绕过所有上层防护的"后门"。
常见误区三:把 RTCM 当作纯定位数据而忽视其安全属性。篡改差分改正数可导致厘米级定位被拉偏至米级甚至更差。
复盘建议:建立接口清单与信任边界图,对每个接口标注"是否鉴权、是否加密、是否可物理接触",优先修复可物理接触且无鉴权的通道。测试记录应包含原始报文十六进制、时间戳与飞控响应,便于复现与取证。