4. 无人机安全威胁模型
在讨论 MAVLink 安全与鉴权之前,必须先建立一套清晰的威胁模型。威胁模型不是抽象的安全口号,而是把“谁、在什么位置、用什么手段、攻击哪条链路、造成什么后果”逐项落到无人机系统的真实结构上。只有把威胁映射到具体接口、协议字段和运行阶段,后续的签名、加密、密钥管理和异常检测才有明确的设计目标。
一、核心原理:从攻击面到威胁分类
无人机系统通常由飞控、机载计算机、遥控器、地面站、图传链路、遥测链路、云平台和供应链组件构成。MAVLink 主要承载飞控与地面站、机载计算机之间的遥测、指令和任务数据。攻击者可能位于无线链路附近、地面站主机、机载网络、云服务或供应链环节。按安全属性划分,威胁可分为机密性、完整性、可用性和真实性四类:窃听破坏机密性,篡改和重放破坏完整性,伪造和中间人攻击破坏真实性,拒绝服务破坏可用性,供应链风险则可能同时破坏以上多项属性。
二、七类威胁在无人机场景中的表现
下面这张图把七类威胁与无人机系统中的典型位置、作用对象和后果对应起来,便于在工程中快速定位风险点。
三、方法流程:如何把威胁落到 MAVLink 工程
威胁建模应遵循“资产识别—链路枚举—攻击面分析—威胁排序—控制措施”的流程。首先识别资产:飞控固件、任务航点、参数表、密钥、日志和云账号。其次枚举链路:遥控链路、遥测链路、机载以太网、串口、USB、云 API。然后分析攻击面:MAVLink 默认不加密、不鉴权,消息 ID 和字段公开,攻击者容易构造合法格式报文。接着按影响和可利用性排序,最后选择签名、加密、序列号、时间戳、访问控制和供应链校验等措施。
威胁建模输出示例(简化):
资产:任务航点、飞行模式、参数表、密钥
链路:433MHz 遥测、2.4GHz 遥控、机载串口、云 API
威胁:重放 MISSION_ITEM、伪造 COMMAND_LONG、洪泛 HEARTBEAT
控制:MAVLink 2 签名、单调序列号、时间窗校验、速率限制、固件签名
四、案例与场景:一次典型的中间人攻击链
假设攻击者使用 SDR 设备在 433MHz 遥测链路附近工作。第一步,窃听并记录地面站发送的 COMMAND_LONG 解锁指令。第二步,在无人机起飞后重放该指令,试图触发解锁或模式切换。第三步,若链路未启用签名,攻击者可进一步伪造 MISSION_ITEM 修改航点,或伪造 PARAM_SET 修改失控保护参数。第四步,攻击者持续发送高频率 HEARTBEAT 或无效报文,造成链路拥塞,形成拒绝服务。整个链条中,窃听提供素材,重放和伪造实现控制,拒绝服务掩盖痕迹,中间人攻击则把双向流量劫持到攻击者设备上。
五、威胁对比与检查清单
| 威胁类型 | 典型位置 | 攻击对象 | 主要后果 | 优先控制 |
|---|---|---|---|---|
| 窃听 | 无线遥测、图传 | 遥测、指令、密钥 | 隐私泄露、后续攻击 | 加密、密钥保护 |
| 篡改 | 遥测链路、机载总线 | 航点、参数、模式 | 偏航、失控 | 签名、完整性校验 |
| 重放 | 遥控、遥测链路 | 合法指令报文 | 非授权动作 | 序列号、时间戳 |
| 伪造 | 地面站、飞控接口 | 身份与指令 | 虚假控制 | 双向鉴权、证书 |
| 拒绝服务 | 无线链路、机载网络 | 带宽、CPU、队列 | 链路不可用 | 限速、优先级、冗余 |
| 中间人攻击 | 无线中继、网关 | 会话与信任关系 | 双向劫持 | 端到端签名、绑定 |
| 供应链风险 | 固件、库、云服务 | 组件与密钥 | 后门、持久化控制 | 签名固件、SBOM、审计 |