ALPS blog

Data Distribution Service: Nicht immer sicher

Originalbeitrag von Federico Maggi, Rainer Vosseler (Trend Micro Research), Mars Cheng, Patrick Kuo, Chizuru Toyama, Ta-Lun Yen (TXOne Networks), Erik Boasson (ADLINK), Victor Mayoral Vilches (Alias Robotics)

Das Data Distribution Service (DDS)-Protokoll wird seit mehr als einem Jahrzehnt verwendet, ist aber selbst vielen Branchenexperten nicht bekannt. Die Middleware-Technologie ist für den Betrieb von Milliarden öffentlicher und privater Geräte und Mechanismen verantwortlich. DDS ist integraler Bestandteil eingebetteter Systeme, die eine Echtzeitkommunikation von Maschine zu Maschine erfordern, und ermöglicht eine zuverlässige Kommunikationsebene zwischen Sensoren, Steuerungen und Aktoren. Die Technologie wird am Beginn der Lieferkette als eine Schicht eingesetzt, die Anwendungen, Sensoren und Aktoren verbindet, steuert und überwacht, um Interoperabilität und Fehlertoleranz zu gewährleisten. Sie wird in verschiedenen kritischen Sektoren wie dem Gesundheitswesen, dem Transportwesen, dem industriellen Internet der Dinge (IIoT), der Robotik, der Luft- und Raumfahrt und dem Militär verwendet. Angesichts dieser Faktoren ist die Middleware ein attraktives Ziel für Angreifer.

Bei der Analyse der Software fanden wir mehrere Sicherheitsschwachstellen. Wir listen 13 identifizierte Sicherheitslücken auf, denen neue CVE-IDs zugewiesen wurden. Sie sind in den sechs gängigsten DDS-Implementierungen vorhanden und betreffen hauptsächlich die Bereitstellung.

Neue Schwachstellen

Unsere Untersuchung schloss sechs weit verbreitete DDS-Implementierungen mit ein. Die Auswahl erfolgte auf der Grundlage der Anzahl der Nutzer und Kunden in den kritischen Sektoren weltweit. Zudem untersuchten wir auch das Echtzeit-Publishing-Subscribe-Paket (RTPS) jeder Implementierung, da DDS von seinem eigenen Standardprotokoll der unteren Schicht abhängig ist. Auch das Robot Operating System 2 (ROS 2) kam unter die Lupe, da es DDS als Standard-Betriebssystem-Middleware für alle Robotik- und Automatisierungsanwendungen einsetzt. Angesichts der Stellung des Dienstes als Sicherheits- und Betriebsbaustein wirken sich alle DDS betreffenden Schwachstellen auch auf den Rest des Software-Stacks aus, z. B. RTPS und alle ROS 2-Instanzen.

Product Name Developer HQ Region Open Source Core Language Year Developed
Fast-DDS eProsima EMEA Apache License 2.0 C++ 2014
Cyclone DDS Eclipse Foundation project, driven by ADLINK EMEA Eclipse Public License 2.0 and Eclipse Development License 1.0 C 2011
OpenDDS OCI NABU Custom C++ 2005
Connext DDS RTI NABU Extensions are open source C++ 2005 (NDDS – 1995)
CoreDX DDS TwinOaks NABU Not open source C 2009
Gurum DDS GurumNetworks APAC Not open source C

Tabelle 1. Liste aller für die Untersuchung analysierter DDS-Implementierungen

 

MITRE ATT&CK ICS Attack Surface Vector CVE Scope CVSS Weaknesses (CWE)
T0804: Brute Force I/O 

T0814: DoS

T0827: Loss of Control

T0880: Loss of Safety

T0802: Automated Collection

T0846: Remote System Discovery

T0856: Spoof of Reporting Message

Network RTPS discovery packet CVE-2021-38425 Fast-DDS, ROS 2 7.5 CWE-406: Network amplification
CVE-2021-38429 OpenDDS, ROS 2 7.5
CVE-2021-38487 Connext DDS, ROS 2 7.5
CVE-2021-43547 CoreDX DDS, ROS 2 7.5
Malformed RTPS packet CVE-2021-38447 OpenDDS, ROS 2 8.6 CWE-405: Network amplification
CVE-2021-38445 OpenDDS, ROS 2 7.0 CWE-130: Improper handling of length
CVE-2021-38423 Gurum DDS, ROS 2 8.6 CWE-131: Incorrect calculation of buffer size
CVE-2021-38435 Connext DDS, ROS 2 8.6
CVE-2021-38439 Gurum DDS, ROS 2 8.6 CWE-122: Heap-based buffer overflow
T0862: Supply Chain Compromise 

T0839: Module Firmware

T0873: Project File Infection

Configuration XML file CVE-2021-38427 Connext DDS, ROS 2 6.6 CWE-121: Stack-based buffer overflow
CVE-2021-38433 Connext DDS, ROS 2 6.6
CVE-2021-38443 Cyclone DDS, ROS 2 6.6 CWE-228: Improper handling of syntactically invalid structure
CVE-2021-38441 Cyclone DDS, ROS 2 6.6 CWE-123: Write-what-where condition

Tabelle 2. Zusammenfassung unserer Ergebnisse für die wichtigsten DDS-Implementierungen und Standardspezifikationen 

Nutzt ein Angreifer die Sicherheitslücken auf der Netzwerk-Angriffsfläche aus, kann er Aktionen wie Spoofing, Erkundung, automatische Datenerfassung und Denial-of-Service (DoS) betreiben und so die Kontrolle über ein gefährdetes System übernehmen. Die Schwachstellen, die wir auf der Angriffsfläche der Konfiguration gefunden haben, können dazu missbraucht werden, um den DDS-Entwickler oder Systemintegratoren zu schädigen und so möglicherweise die Integrität der Software-Lieferkette zu gefährden.

Schwachstellen in der Standardspezifikation

Das integrierte RTPS-Discovery-Protokoll wird in Peer-to-Peer-Netzen verwendet, um den Standort jedes Teilnehmers zu ermitteln (z. B. IP-Adresse und UDP/TCP-Port oder Offset im gemeinsamen Speicher). Die Tatsache, dass das Protokoll viele Details preisgibt und dass es von jedem kontaktierten Teilnehmer eine Antwort erwartet, gepaart mit leicht zu fälschenden Transportprotokollen wie dem User Datagram Protocol (UDP), machen RTPS anfällig für Netzwerkspiegelungen und -verstärkungen. Die Vertraulichkeit und Authentizität dieser Daten ist selbst mit Hilfe von DDS Security nicht gewährleistet, so dass es einem Angreifer möglich ist, die Informationen zu fälschen. Die Netzspiegelungs- und -verstärkungsschwachstelle mit Bandbreitenverstärkungsfaktor (BAF) wird als Verhältnis zwischen ausgehendem und reflektiertem Verkehr berechnet. Die Tabelle mit den Einzelheiten ist im Originalbeitrag enthalten.

Ein Angreifer kann diese integrierte Discovery-Funktion für die Remote-Discovery und das Fingerprinting missbrauchen. Wir schickten RPTS Discovery Probes an den gesamten IPv4-Raum (mit Ausnahme der No-Scan-Subnetze) und erhielten Antworten von 643 Hosts (ohne offensichtliche Honeypots). Bemerkenswert ist, dass die Hosts nie aufhörten, Daten an uns zu senden, selbst wenn wir ihnen nur ein einziges 288-Byte-Paket schickten.

Die von uns gefundene neue Sicherheitslücke, die das Netzwerk spiegelt, ist nicht das einzige Beispiel für eine Sicherheitslücke auf Spezifikationsebene. Sicherheitsforscher verschiedener Organisationen haben bereits 2015 Angriffsszenarien dokumentiert und erstellt, die diese Schwachstellen ausnutzen.

Fazit

Ordnungsgemässe Supply-Chain-Management-Prozesse ermöglichen die Kontextualisierung, Verfolgung und Überwachung neuer Schwachstellen innerhalb verschiedener nachgelagerter Software mit Hilfe einer spezifischen Bibliothek wie DDS. Im Fall dieser Middleware-Technologie ist DDS nur eine der vielen kritischen Bibliotheken, die in eingebetteten Anwendungen verwendet werden und die man leicht aus den Augen verlieren kann. Unser Whitepaper „A Security Analysis of the Data Distribution Service (DDS) Protocol“ enthält bewährte Verfahren und Empfehlungen zur kurz- und langfristigen Gefahrenabwehr sowie Überlegungen zur Einführung eines Shift-Left-Ansatzes.

Wir bedanken uns auch für die Kooperation und die engagierte Reaktion einiger Anbieter wie ADLINK, die wir sie mit unseren Erkenntnissen konfrontiert haben. Wir ermutigen weitere DDS-Forscher, -Benutzer und -Implementierer, das DDS-Ökosystem weiter zu erforschen und das Sicherheitsbewusstsein zu fördern.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Ähnliche News