Benison

Home » Robotics » ROS 2 / DDS Security

ROS 2 / DDS Security

Harden every robot to its exposure.

A bench prototype and an internet-reachable, remotely operated robot don't need the same controls. We profile each robot by where it actually runs, harden it to a recognized IEC 62443 level, and then watch for anything that doesn't fit that profile — then hand back a layered findings document and the controls to keep your robots there.

Our Customers

15+ Years of Engineering Solutions for Fortune 1000 Enterprises

GoogleIntelCiscoMcAfeeJuniper

The Evidence

Proof before promises.

The accelerator behind this practice was built and tested on real ROS 2 / rosbridge endpoints — not slideware. The numbers come from a reproducible test rig.

6 / 6attack scenarios detected on real ROS 2 message types — rogue publisher, odometry spoof, topic-flood DoS, and more.
0 writesthe discovery agent never publishes to control topics and cannot move a robot — it can’t disrupt a running robot.
IEC 62443findings mapped to security levels and emitted as a schema-validated, SIEM-ready findings document.
Sub-seconddetection latency on the test rig, over an outbound-only mTLS / TLS 1.3 channel with no inbound listener.

The Exposure Profiles

Each tier adds to the one below it.

Four profiles, from an air-gapped bench rig to a robot taking commands over an untrusted network. Where a robot sits decides which controls it needs — and what counts as normal once it's running.

P0 · Bench

Isolated / Bench

Air-gapped lab or test rig, no external communication — the development and integration baseline.

  • Host OS hardening as the floor.
  • Per-robot identity established.
P1 · Intranet

Intranet Fleet

The classic warehouse-AMR case: robots and a site controller on an isolated network, no control from the wider network.

  • SROS 2 enforced within the fleet.
  • DDS discovery restricted; domain and partition segmentation.
P2 · Cloud

Cloud-Connected

Telemetry up, tasks down from a cloud fleet manager, no direct public teleop. Adds everything in P1.

  • Outbound-only encrypted tunnel (mTLS / WireGuard).
  • Egress allowlist, including the fleet manager and VDA5050.
P3 · Remote

Remote-Operated

Control issued over a public or untrusted network — teleop or remote intervention. The highest baseline. Adds everything in P2.

  • Encryption on control topics; per-command authorization.
  • A safety interlock independent of the network path.

Robot-to-robot / swarm — an overlay, not a tier

Per-robot SROS 2 identity, mutual peer authentication, permission scoping so a peer can only do peer-appropriate things, and detection of a misbehaving peer.

Our Approach

Benison's Security Method

RoboSentry's agent reads the live ROS 2 graph and the host and surfaces the gaps — safe by design, it only observes, so it can't disrupt a running robot.

Each robot's operating domain sets its profile (P0–P3) and target IEC 62443 level.

  • We formalize the allowed peers, networks, command sources, and topics that count as normal.
  • The profile becomes both the control set and the runtime baseline.

Discovery of each robot's real behavior, checked against the profile its domain calls for — flagging where a robot is more exposed than its domain implies.

  • Network reachability, control plane, data sensitivity, physical access.
  • Setup-time exposure flagged: a routable IP, a reachable bridge, an unexpected uplink.
  • Two axes: profile decides which controls; platform decides how each is implemented.

Apply the controls the profile calls for, parameterized to your stack.

  • Tuned to your ROS 2 distro, OS, and middleware.
  • Moves the robot from exposed to audit-ready.

Once hardened, the robot's own profile becomes the live runtime baseline — and anything outside it is flagged.

  • A command from outside the fleet, or a node that doesn't belong.
  • Because the check is the robot's own baseline, not a list of known attacks, it catches novel deviations signature tools miss.
P3 P1 P0 P2 · CLOUD-CONNECTED OBSERVE DRIFT

Where The Controls Sit

We harden every layer, not just below ROS.

One control library, applied across four layers. SROS 2 is the top layer, not the whole story — the controls beneath it are where robots are usually exposed, and where Benison's networking, kernel, and host depth lives.

RoboSentry observes every layer. It reads the graph and the host and attributes DDS traffic to processes; it never writes to them.
Layer 4ROS 2 Application
SROS 2 policiesper-command authorizationnode / topic permissions
Layer 3DDS Middleware
DDS-Securitydiscovery restrictiondomain / partition segmentationcontrol-topic encryption
Layer 2Host OS
AppArmor / SELinuxcgroups isolationkeystore & key ownershiphost hardening
Layer 1Network / Hardware
mTLS / WireGuardegress allowlistnftables — no inboundsafety interlock

What You Own

A security profile you own and re-run.

Every engagement hands back artifacts you keep and re-run — mapped to IEC 62443 and structured for your SIEM.

Exposure Map

Each robot's real reachability versus the profile its domain calls for, with the gaps named.

Findings Document

IEC 62443 SL-mapped, schema-validated: agent status, host posture, software inventory, drift.

Hardening Path

The layer-by-layer controls to reach target, parameterized to your distro, OS, and middleware.

Detection Set

Reproducible drills on real ROS 2 types — rogue publisher, odometry spoof, topic-flood DoS.

Common Questions

The things engineering leaders actually ask.

Straight answers to the doubts that decide whether this is worth a call.

Do you work below the ROS layer, or across the stack?

Across the stack. SROS 2 sits on top; beneath it are DDS-Security, host hardening, keystore and key ownership, and eBPF DDS-to-process attribution — and Benison works every one of those layers, not just the bottom. The robot application is where you build; everything supporting it is where we work.

Is this just a security review, or do you actually fix it?

Both, in sequence. The agent maps your exposure; our embedded engineers then harden — SROS 2 policy, isolate or safe-stop responses — onto your robot's own safety path; and the profile then runs as the live baseline we watch against at runtime. It doesn't stop at a paper report.

Will the agent disrupt a running robot?

No. Zero writes; it never publishes to control topics. The response-plane seam stays a no-op until you explicitly enable a policy-gated action.

Can you integrate with our stack — or is it lock-in?

Self-hostable ingest (Benison cloud, your cloud, or on-prem), no hardcoded host and no license key, with SIEM fan-out in CEF / syslog / LEEF. You own the artifacts and the deployment.

Get Started

Don't wait any longer — let us map your exposure.

Begin with a RoboSentry engagement. We profile the robot, flag what doesn't fit, and hand back a security profile you own.

Benison Technologies is looking for you!

If you're a tech geek or know someone who is, fill in the form to work with us.

Find your Dream Job