MQTT-Protokoll: IoT-Kommunikation von Reaktoren und Gefängnissen öffentlich einsehbar

Über das Telemetrie-Protokoll MQTT spricht eine unüberschaubare Zahl an IoT-Sensoren in etwa Autos und Flugzeugen mit ihren Servern – unverschlüsselt, ohne Frage nach Passwörtern. Hacker könnten nicht nur mitlesen, sondern Daten auch manipulieren.

In Pocket speichern vorlesen Druckansicht 131 Kommentare lesen
MQTT-Protokoll: IoT-Kommunikation von etwa Reaktoren und Gefängnissen öffentlich abrufbar

(Bild: Purple Slog, CC BY 2.0)

Lesezeit: 4 Min.
Von
  • Uli Ries
Inhaltsverzeichnis

Gut 60.000 sogenannte MQTT-Broker (Message Queue Telemetry Transport) sind derzeit öffentlich im Internet zu finden. Jeder dieser Broker, oder auch Server, kann die Gegenstelle von tausenden oder gar hunderttausenden IoT-Sensoren sein und Daten übermitteln beziehungsweise entgegennehmen. Das erläutert Sicherheitsexperte Lucas Lundgren im Rahmen der RSA Conference.

MQTT wurde um die Jahrtausendwende konzipiert, um Telemetriedaten zwischen Sensoren und Servern über unzuverlässige Datenverbindungen zu schicken. Bevor Facebook seinen Messenger auf XMPP umstellte, nutzte die Chatsoftware ebenfalls MQTT, das ansonsten nur Eingeweihten bekannt sein dürfte. Dank dem Internet der Dinge blüht das Protokoll nun erst so richtig auf.

Das Problem der sichtbaren Broker ist nicht MQTT an sich. Sondern, dass die Betreiber der Server die Software nicht ordentlich konfiguriert haben und auf Nutzernamen, Passwörter und Verschlüsselung verzichten.

Letzteres lässt sich laut Lundgren im Fall von batteriebetriebenen Sensoren immerhin noch mit der höheren CPU-Belastung und der damit niedrigeren Laufzeit erklären. Den Verzicht auf Authentifizierung kann sich der Penetrationstester nur mit Unwissenheit oder Bequemlichkeit der Administratoren erklären.

Die ungeschützt über das Netz kommunizierenden Sensoren finden sich in Autos, Atomreaktoren, Erdbebensensoren, Fitnesstrackern, Gefängnissen, Geldautomaten, Klimageräten, Leuchten, Medizintechnikgeräten, Pipelines, TV-Sendern und sogar Flugzeugen.

Je nach Einsatzzweck übermitteln sie Informationen wie Bitcoin-Daten, Druck, Fitnessdaten, Login-Tokens, Nutzernamen/Passwörter, Ort (Längen- und Breitenangaben), Stellung des Lenkrads oder Bremspedals, Strahlungswerte, Temperaturen oder Geschwindigkeiten, Zustandsmeldungen (Tür offen/zu im Fall der Gefängnisse) und so weiter.

Zum Beispiel die BBC schickt die Untertitel ihrer TV-Programme per MQTT durchs Netz. Und sogar ein von Strafverfolgern am Auto eines Verdächtigen angebrachter Tracker ließ sich per MQTT durch die Straßen verfolgen, schilderte Lundgren.

Zu finden sind die Broker ganz simpel über die Suchmaschine für das Internet der Dinge Shodan oder den Nmap-Scanner, zumeist unter Port 1883 TCP (unverschlüsselt) oder Port 8883 TCP (verschlüsselt). Nmap kann IP-Bereiche auch ohne Portangabe nach MQTT-Brokern durchsuchen, braucht dann aber vergleichsweise lange. Lundgren selbst verwendet eine modifizierte Variante von Masscan, um den kompletten IPv4-Bereich zu scannen. So fand er in etwas über 24 Stunden die 59.000 offenen Broker.

Um sich mit einem der Broker zu verbinden, genügt entweder Nmap oder ein eigener Client wie MQTT.fx. Per Hashtag (#) abonniert der Client dann alle vom Broker ausgesandten Nachrichten – "Topics" genannt. Im Fall eines öffentlichen Servers wie iot.eclipse.org, der ganz offensichtlich nicht nur zu Testzwecken verwendet wird, ist das eine unüberschaubare Menge an Daten.

Das Lundgren zufolge größte Problem ist nicht, dass sich die Nachrichten im Klartext mitschneiden lassen. Sondern, dass sich auf gleichem Weg manipulierte Daten zum Broker oder Client senden und sich die Geräte so manipulieren lassen. Im Fall eines der betroffenen Automodelle – Lundgren wollte den Hersteller nicht nennen – gelang es ihm nach eigener Auskunft, dem Entertainment-System von außen das Kommando zum Abspielen eines anderen Songs zu erteilen. Ob das auch mit den ebenfalls per MQTT übertragenen Werten zu Lenkrad- oder Bremspedalstellung möglich wäre, konnte Lundgren aus nachvollziehbaren Gründen nicht sagen.

Abhilfe verspricht – einmal mehr – der Einsatz von Nutzernamen und Passwörtern. Außerdem sollten die Broker nicht frei zugänglich im Internet stehen. Und falls doch, dann empfiehlt Lundgren ein IP-Whitelisting, so dass keine Anfragen von beliebigen Clients akzeptiert werden. Idealerweise werden auch die Datenübertragungen zwischen Client und Broker per TLS verschlüsselt, das von MQTT unterstützt wird. Besonders gängig scheint dies jedoch nicht zu sein: In Lundgrens Sammlung der 59.000 Broker finden sich genau zwei mit aktivierter Transportverschlüsselung. (des)