Conversation
introspection uses an RTPS scapy dissector to sniff traffic and detect unique endpoints, reporting them in the stdout. monitoring continuously sniffs traffic in search for RTPS packages. When found, unique endpoints are identified and dissected. From the information dissected 1) RTPS vendorId and 2) RTPS protocol version are used to determine DDS version candidates and map these to publicly disclosed vulnerabilities appropriately. Results are reported also in the standard output. Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
|
Hi @vmayoral, thanks for this contrib! I haven't reviewed the code per se and I'm still going through the paper (mind adding a link once available?) but here are my 2 cents: My understanding is that both verbs introduce a dependency on secdev/scapy. Since Concerning the verbs themselves, purely from a lexical perspective, I'm not a fan of Edit: Not to mention that this would require some tests and documentation to be merged. |
|
Thanks for the comments @artivis, I'm open to those changes. Feel free to contribute on top proposing the modifications that are appropriate to fit with community guidelines and policies. For completeness, this was announced at https://discourse.ros.org/t/sros2-usable-cyber-security-tools-for-ros-2/24719. All material's now public. |
This PR adds two new capabilities to the SROS 2 tools: 1️⃣
introspection(of RTPS) for modeling purposes and 2️⃣monitoring capabilities to detect security vulnerable endpoints in the computational graph. The two verbs build on top of prior work creating a dissector for RTPS (secdev/scapy#3403).1️⃣
introspection(of RTPS) for modeling purposesintrospection sniffs traffic and detects unique endpoints, reporting them in the stdout:
ros2 security introspection lo 10 introspecting lo for 10 seconds ... DDS endpoint detected (hostId=17776813, appId=1014856696, instanceId=16777216) - RTPS version: 2.3 - vendorId: eProsima - Fast-RTPS - transport: UDP DDS endpoint detected (hostId=1696862209, appId=2184387115, instanceId=4263454804) - RTPS version: 2.1 - vendorId: ADLINK - Cyclone DDS - transport: UDP2️⃣
monitoring capabilities to detect security vulnerable endpointsmonitoring continuously sniffs traffic in search for RTPS packages. When found, unique endpoints are
identified and dissected. From the information dissected 1) RTPS
vendorIdand 2) the RTPS protocol version are usedto determine DDS version candidates and map these to publicly disclosed vulnerabilities.
(tested
Signed-off-by: Víctor Mayoral Vilches v.mayoralv@gmail.com