4. 机器人通信威胁模型

机器人系统不是一台孤立的计算机,而是由感知、决策、控制、执行与云端协同构成的分布式信息物理系统。通信链路一旦被攻破,攻击者不仅能窃取数据,还可能直接操纵机械臂、移动底盘或无人机,造成物理伤害。因此,建立系统化的威胁模型,是机器人安全通信测试与验证的起点。本节围绕攻击面识别、STRIDE威胁建模、攻击树分析和典型案例四个层面展开。

一、机器人通信的常见攻击面

攻击面是指攻击者可以尝试与系统交互、注入数据或获取信息的入口集合。机器人通信的攻击面通常分布在五个层次:

  • 物理接口层:USB、调试串口、JTAG、CAN总线、以太网维护口。现场调试口若未关闭,攻击者可直连控制器注入指令。
  • 短距无线层:Wi-Fi、蓝牙、ZigBee、遥控射频链路。常见风险包括弱口令、WPS暴露、未加密遥控信号重放。
  • 网络协议层:ROS/ROS2 DDS、MQTT、Modbus TCP、OPC UA、TCP/UDP自定义协议。话题未鉴权、DDS域发现无保护是典型问题。
  • 应用与云平台层:远程运维API、OTA升级、任务下发接口。令牌泄露、越权调用、升级包未签名是主要风险。
  • 供应链与配置层:第三方SDK、默认证书、硬编码密钥、未更新的固件依赖。

识别攻击面时,应沿着“数据从哪里来、经过哪些节点、最终影响哪个执行器”的路径逐段梳理,而不是只检查单个设备。

二、STRIDE威胁建模方法

STRIDE是微软提出的威胁分类框架,将威胁分为六类:假冒(Spoofing)、篡改(Tampering)、抵赖(Repudiation)、信息泄露(Information Disclosure)、拒绝服务(Denial of Service)和权限提升(Elevation of Privilege)。在机器人通信场景中,可将其映射到具体资产与数据流。

STRIDE类别 机器人通信中的典型表现 受影响资产
假冒 伪造遥控器、伪装成合法ROS节点发布控制话题 控制指令、身份认证
篡改 修改CAN报文、篡改传感器数据或任务参数 感知数据、执行指令
抵赖 操作日志缺失,无法追溯异常指令来源 审计日志、取证数据
信息泄露 窃听视频流、地图数据、密钥或生产配方 隐私数据、知识产权
拒绝服务 泛洪DDS发现流量、阻塞Wi-Fi信道、耗尽CAN总线带宽 通信可用性、实时控制
权限提升 利用调试接口获取root,进而控制运动规划节点 控制器、安全边界

建模流程建议为:绘制数据流图(DFD)→ 标注信任边界 → 对每个数据流和存储应用STRIDE → 记录威胁与缓解措施。信任边界尤其重要,例如从公网到机器人内网、从非安全域到安全控制域,都是攻击者可能跨越的位置。

三、攻击树分析

攻击树以“攻击目标”为根节点,逐层分解为子目标与具体攻击手段,适合分析多路径攻击。以“使移动机器人偏离预定路径”为目标,可构建如下攻击树:

目标:使移动机器人偏离预定路径
├── 篡改控制指令
│   ├── 伪造ROS2控制话题发布者
│   ├── 重放历史速度指令
│   └── 中间人修改DDS报文
├── 干扰感知输入
│   ├── 欺骗激光雷达回波
│   ├── 遮挡或致盲摄像头
│   └── 注入虚假定位数据
├── 破坏通信可用性
│   ├── 泛洪Wi-Fi信道
│   ├── 耗尽CAN总线带宽
│   └── 攻击DDS发现服务
└── 获取高权限
    ├── 利用未修复的OTA漏洞
    └── 通过调试串口登录控制器

攻击树的价值在于量化与剪枝:可为每个叶子节点标注攻击成本、技术难度和检测难度,从而优先修复“低成本、高影响”的路径。例如重放攻击通常成本低,若控制指令无序列号和时间戳,就应优先加入防重放机制。

四、典型机器人攻击案例与复盘

案例一:某研究团队演示了对工业机械臂的勒索攻击。攻击者通过暴露在公网的调试接口进入控制器,篡改运动轨迹并加密关键配置,导致产线停机。复盘要点是调试接口未隔离、固件未签名、缺乏网络分段。

案例二:针对ROS1系统的攻击。由于ROS1话题默认无认证,攻击者可在同一网络内发布/cmd_vel话题,直接控制移动底盘。缓解措施包括迁移到ROS2并启用SROS2、使用DDS安全插件、对关键话题做访问控制。

案例三:无人机GPS欺骗。攻击者发射伪造GPS信号,使无人机误判位置并偏离航线。该案例说明单一信号源不可信,应融合IMU、视觉里程计和RTK,并监测定位跳变。

常见误区:只关注网络层加密,忽视物理接口和供应链;认为内网绝对安全而不做分段;把STRIDE当成一次性文档,未随系统迭代更新;攻击树只画不剪枝,导致修复优先级混乱。

实践建议:每次通信协议变更或新增远程接口后,重新评审攻击面;将STRIDE威胁条目转化为可执行的测试用例;用攻击树指导渗透测试范围,确保覆盖控制、感知和可用性三类目标。

机器人通信威胁模型:攻击面 → STRIDE → 攻击树 → 验证 攻击面层 物理接口 短距无线 网络协议 应用与云平台 供应链与配置 STRIDE 威胁分类 假冒 Spoofing 篡改 Tampering 抵赖 Repudiation 信息泄露 Info Disclosure 拒绝服务 DoS 权限提升 Elevation 攻击树:使机器人偏离预定路径 篡改控制指令 干扰感知输入 破坏通信可用性 获取高权限 伪造发布者 / 重放 / 中间人 雷达欺骗 / 遮挡 / 虚假定位 泛洪 / 耗尽带宽 / 攻击发现 OTA漏洞 / 调试串口 安全通信测试与验证:鉴权 · 加密 · 防重放 · 分段 · 审计 · 模糊测试

综上,机器人通信威胁模型不是静态清单,而是从攻击面识别出发,经STRIDE分类、攻击树分解,最终落到可验证的安全测试项。只有把威胁模型与测试用例绑定,才能在真实系统中持续发现并收敛风险。