2. 机器人系统基础
要进行机器人网络威胁建模,首先必须理解机器人系统“长什么样、怎么运转、由什么软件支撑、在哪些场景中落地”。机器人并不是单一控制器加几个电机的简单组合,而是一个横跨物理世界与信息世界的复杂系统。它的组成架构决定了攻击面分布,感知—决策—执行链路决定了攻击路径与影响范围,操作系统与中间件决定了漏洞类型与利用方式,典型应用场景则决定了威胁后果的严重程度。本节从这四个维度建立机器人系统的基础认知,为后续威胁建模提供对象模型。
一、机器人组成架构:四层结构与攻击面分布
从工程视角看,机器人系统通常可划分为四个层次:机械执行层、传感感知层、控制计算层、通信与交互层。机械执行层包括电机、舵机、减速器、末端执行器等,直接与物理世界接触;传感感知层包括摄像头、激光雷达、IMU、力/力矩传感器、编码器等,负责采集环境与自身状态;控制计算层包括主控计算机、运动控制器、AI推理单元,负责状态估计、路径规划与决策;通信与交互层包括内部总线、无线链路、云端接口与人机交互界面。
这四层结构对应着不同的攻击面:机械执行层面临物理篡改与执行器劫持;传感感知层面临传感器欺骗与数据注入;控制计算层面临固件篡改、进程注入与模型窃取;通信与交互层面临中间人攻击、重放与未授权访问。理解架构分层,是威胁建模中“资产识别”和“入口点枚举”的前提。
二、感知—决策—执行链路:数据如何变成动作
机器人运行的核心是“感知—决策—执行”闭环。感知阶段,传感器采集原始数据,经滤波、标定、时间同步后形成环境模型与自身状态估计;决策阶段,规划器基于地图、目标与约束生成路径或策略,控制器将高层指令转化为关节力矩、速度或位置指令;执行阶段,驱动器驱动电机运动,同时编码器与IMU将执行结果反馈回感知端,形成闭环。
从威胁建模角度看,这条链路上的每个环节都可能被攻击者利用。例如,在感知端注入伪造的激光雷达点云,可让机器人“看到”不存在的障碍物而急停;在决策端篡改路径规划参数,可让机器人偏离预定轨迹;在执行端重放控制指令,可让机械臂执行非预期动作。链路越复杂、环节越多,攻击者可插入的节点就越多。
关键认知:机器人安全不是单点防护问题,而是链路完整性、实时性与可信性的综合问题。任何一环被突破,都可能通过闭环放大为物理世界中的实际危害。
三、常见操作系统与中间件:软件栈与漏洞来源
机器人软件栈通常由操作系统、中间件、算法库与应用层组成。操作系统方面,Linux(含Ubuntu、Debian、Yocto定制版)是主流选择,因其开源、可裁剪、驱动丰富;RTOS(如FreeRTOS、VxWorks、Zephyr)用于对实时性要求极高的运动控制;ROS/ROS 2则运行在Linux之上,提供通信、工具与生态。Windows和Android也出现在服务机器人与教育机器人中。
中间件方面,ROS/ROS 2是最具代表性的机器人中间件,采用话题、服务、动作等通信模型,支持分布式节点。ROS 1默认不加密、不认证,DDS在ROS 2中虽提供安全插件,但配置复杂、默认关闭。此外,DDS、MQTT、OPC UA、CANopen、EtherCAT等也广泛用于不同场景。中间件是攻击者最常关注的入口之一,因为它承载了节点发现、消息路由与权限控制。
| 软件层次 | 常见组件 | 典型安全关注点 |
|---|---|---|
| 操作系统 | Linux、RTOS、Windows、Android | 内核漏洞、权限提升、未打补丁 |
| 中间件 | ROS/ROS 2、DDS、MQTT、OPC UA | 未认证通信、消息篡改、节点伪造 |
| 算法库 | OpenCV、PCL、MoveIt、TensorFlow/PyTorch | 模型投毒、依赖链漏洞、反序列化 |
| 应用层 | 导航、抓取、巡检、语音交互 | 业务逻辑绕过、指令注入、越权控制 |
四、典型应用场景:威胁后果的差异化
机器人应用场景决定了安全事件的后果等级。工业机器人用于焊接、装配、搬运,一旦被劫持可能导致产线停摆或人员伤害;服务机器人用于导览、配送、清洁,被攻击可能造成隐私泄露或行为异常;医疗机器人用于手术辅助与康复,安全事件直接威胁患者生命;自动驾驶与无人机涉及公共道路与空域安全;特种机器人用于核辐射、消防、排爆等极端环境,通信中断或控制失效后果严重。
不同场景对安全属性的优先级也不同:工业场景强调可用性与功能安全,医疗场景强调完整性与实时性,消费场景强调隐私与身份认证,特种场景强调抗干扰与自主可控。威胁建模时必须结合场景确定资产价值、攻击动机与影响范围。
实践提示:在做机器人威胁建模时,建议先画出目标机器人的四层架构图,再标注感知—决策—执行链路中的关键节点,最后对照操作系统与中间件清单逐项检查已知漏洞与配置缺陷。这样可以把抽象的威胁分析落到具体的组件与接口上。
五、常见误区与复盘
初学者常犯的误区包括:只关注网络层而忽略物理层与传感器层;把ROS 1的默认配置直接用于生产环境;认为“机器人不联网就安全”;忽视中间件版本与依赖库的漏洞;以及把功能安全与网络安全混为一谈。复盘时应重点检查:资产清单是否覆盖全部四层;通信链路是否具备认证与加密;固件与软件是否可更新、可回滚;日志与监控是否覆盖关键节点。
# 示例:快速查看ROS 2节点与话题暴露情况
ros2 node list
ros2 topic list
ros2 topic echo /cmd_vel
# 检查DDS安全配置是否启用
grep -r "security" /etc/ros/ros2/ 2>/dev/null
# 查看系统开放端口与监听服务
ss -tulnp | grep -E "11311|7400|8080"