Skip to content

新闻ROS Discourse 官方社区15 天前

RoboShield v2开源:Rust实现ROS 2指令级防火墙延迟仅增0.5ms ​

本文由 AI 根据公开内容整理,可能有误,请以原文为准:RoboShield v2: an inline command firewall gateway for ROS 2 (Rust + rclrs, two-domain bridge, SROS2)(ROS Discourse 官方社区)

核心内容 ​

RoboShield v2正式开源,将v1版本的被动RTPS流量监测升级为具备主动阻断能力的ROS 2内联安全网关。该系统运行于NanoPi嵌入式平台,作为唯一通信桥梁连接非可信WiFi网络(domain 20)与机器人本体局域网(domain 10)。相比v1仅能告警,v2实现了内核级隔离(ip_forward=0及nftables默认丢弃),确保所有控制指令必须经过安全网关的规则引擎校验,解决了传统ROS 2节点在不可信网络环境下的指令注入与状态欺骗风险。

技术架构上,网关利用rclrs创建双Context分别对接不同Domain ID,并在非可信侧强制启用SROS2加密,兼容不支持DDS-Security的老旧本体。规则引擎对sensor_msgs/JointState等指令执行关节名匹配、NaN/Inf过滤、限位钳制及令牌桶限流;检测到重放攻击或非法发布者时触发LOCKDOWN模式保持安全姿态。实测Rust版单条6轴指令检查中位数耗时1.37µs,端到端延迟增加0.5ms;开发中针对Jazzy发行版修复了rosidl_runtime_rs版本冲突,并通过Vendor补丁补充endpoint_gid字段以支持消息级发布者GID溯源。

关键看点 ​

  • 双域隔离架构:NanoPi网关桥接Domain 10/20,内核禁用转发并配合nftables白名单,非可信侧独立启用SROS2加密
  • 指令级规则引擎:校验关节名、数组长度、NaN/Inf及物理限位,集成令牌桶限流与时间戳防重放,异常触发LOCKDOWN安全保持
  • 低延迟性能基准:Rust实现6轴指令检查中位数1.37µs(Python为9.5µs),网关引入端到端延迟增量仅0.5ms,丢包率0%
  • rclrs工程适配:针对Jazzy发行版修复rosidl_runtime_rs版本冲突,Vendor补丁补充endpoint_gid字段以支持消息级发布者GID溯源

工程与产业观察 ​

该项目填补了ROS 2在OT/IT融合场景下缺乏轻量级内联防御工具的空白。其基于Rust的高性能规则引擎证明了在不显著影响实时控制回路的前提下实施应用层语义检查的可行性。对于需在非可信网络部署遥操作或云端接入的具身智能系统,这种双域桥接加SROS2混合策略提供了兼顾存量设备兼容性与零信任安全的工程范式,也为上游中间件完善安全API提供了实证参考。

来源

本页事实对应的公开页面,以原文为准。

  1. ROS Discourse 官方社区:RoboShield v2: an inline command firewall gateway for ROS 2 (Rust + rclrs, two-domain bridge, SROS2)访问 2026-10-16