Mit einem Stück Alufolie autonome Staubsauger rooten

Obwohl Xiaomi in puncto Security viel richtig macht, lassen sich Staubsauger der Firma rooten – mit einem Stück Alufolie. Das ermöglicht dann den Zugriff auf zahlreiche Sensoren und die Nutzung eines eigenen Cloudinterfaces.
Von Hauke Gierow

Was macht ein Hacker mit einem autonomen Staubsauger? Root-Rechte darauf erlangen. Denn natürlich sind moderne Staubsauger mit interessanter Technik vollgestopft, die es zu analysieren gilt. Aus diesem Grund ließen sich Dennis Giese und Daniel Wegemer mehrere solcher Geräte kommen und demonstrierten ihren Hack an einem Staubsauger von Xiaomi. Dabei hatte dieser ein für ein IoT-Gerät erstaunlich gutes Level an Sicherheit.

In dem Gerät stecken drei verschiedene Prozessoren. Ein Vierkern-Prozessor von Allwinner R16 mit vier Cortex-A7-Kernen und zwei GPU-Kernen vom Typ Mali400, ein 32-Bit Mikrocontroller STM VET6 vom Typ ARM-Cortex M3 und ein weiterer Prozessor. Außerdem ist das Gerät mit zahlreichen Sensoren ausgestattet, etwa einem Lidar, Gyroskopen und einem Accelerometer und Infrarotsensoren.

Xiaomi macht einiges richtig

Bei ihrem Versuch, Ports des Gerätes für ihren Rooting-Versuch zu nutzen, stießen die beiden Forscher allerdings auf Probleme. Der Hardwarezugang über Micro-USB funktionierte jedoch nicht, weil Xiaomi eine Authentifizierung verlangt, damit Nutzer auf den Port überhaupt zugreifen können. Auch ein Zugriff über eine serielle Schnittstelle direkt auf der Platine misslang, ebenso wie über das Netzwerk: Es gab keine offenen Ports, auch der Netzwerktraffic war komplett verschlüsselt. Die beiden zeigten sich überrascht: „Normalerweise lieben IoT-Geräte offene Ports“.

Zum Rooten musste daher Alufolie herhalten. Dazu nahmen die Hacker ein Stück einlagige Aluminiumfolie und überbrückten damit die Datenverbindung zum R16-Hauptprozessor. Diese sorgt dafür, dass der Prozessor in den sogenannten FEL-Modus zurückfällt, ein Debugging-Modus für Arm-Prozessoren.

Auf diesem Wege konnte dann der Inhalt des Speichers ausgelesen werden, um die verwendete Software auf einem Computer genauer zu untersuchen. Nach der Analyse kann ein neues Firmware-Image aufgespielt werden. So ist es auch möglich, das Gerät zu rooten, ohne es vorher zu öffnen.

Auf dem Xiaomi-Staubsauger läuft eine nach Angaben der Hacker „fast unveränderte“ Version von Ubuntu 14.04 LTS, die noch regelmäßig gepatcht wird, so vor kurzem auch die Krack-Lücke in WPA2. Für die Navigation des Gerätes wird die Navigationssoftware Player in Version 3.10-svn genutzt. Darüber hinaus gibt es einige proprietäre Komponenten von Xiaomi, die vor allem die Kommunikation mit verschiedenen Clouddiensten und die Datenverarbeitung vornehmen.

Auf dem Gerät ist außerdem die Firewallsoftware Iptables aktiviert, die auch eingehende Verbindungen auf den Ports 22 (SSHd) und Port 6665 (für die Navigationssoftware Player) blockt.

Der Staubsauger legt Karten als Bitmap ab

Auf dem Staubsauger werden jeden Tag mehrere MByte an Logfiles geschrieben. Dazu gehören Karten der gereinigten Räume, außerdem Informationen zum WLAN, die SSID und das Passwort. Die Karten werden auf dem Gerät als Bitmap mit einer Auflösung von 1024 mal 1024 Punkten geschrieben. 1 Pixel soll dabei 5 Zentimetern entsprechen.

Jedes Gerät bekommt von Xiaomi eine eindeutige Device-ID und einen Cloudkey – ein alphanumerischer Wert mit 16 Byte. Dieser Cloudkey ist dauerhaft stabil, selbst wenn das Gerät zurückgesetzt wird. Außerdem gibt es einen Token, der zur Kommunikation mit der App verwendet wird. Dieser Token wird bei einer Verbindung mit einem neuen WLAN zurückgesetzt.

Alle Kommunikation zwischen dem Staubsauger und Xiaomis Clouddiensten wird über eine TLS-verschlüsselte Verbindung abgewickelt. Auch Update-Pakete werden verschlüsselt angeliefert. Nachdem ein Update heruntergeladen wird, prüft das System die MD5-Checksumme und entpackt die Downloaddatei auf das Gerät. Nach dem Update wird auch das Root-Passwort des Gerätes geändert.

Das Update selbst ist ein Tar-Gz-Archiv und enthält das gesamte 512 MByte-Ext4-Dateisystem für den Staubsauger. Das Firmware-Update wird mit dem Standardpasswort Rockrobo verschlüsselt. Die Hacker nutzten dies, um die Firmware selbst neu zu erzeugen und fügten einen eigenen SSH-Zugang hinzu. Den MD5-Schutz des Staubaugers umgingen sie, indem sie das Update-Kommando zu einer eigenen URL zeigen ließen und die MD5-Summe des selbstgebauten Paketes mit angaben. Zum Auslösen des Vorgangs war ein Token notwendig, den die Forscher aus der App extrahierten.

Eigenes Cloudinterface

Um noch mehr Kontrolle über das Gerät zu gewinnen wollten Giese und Wegemer unabhängig von Xiaomis Cloud werden. Die Einrichtung eines komplett eigenen Dienstes führte jedoch dazu, dass die App selbst nicht mehr funktionierte. Daher entschieden die Hacker sich, lediglich einen Proxy zwischen Xiaomis Dienst und den Staubsauger zu schalten, den sie Dustcloud nennen. Der Code dazu findet sich auf Github. Dustcloud übernimmt die Verbindung mit Xiaomi und verhindert unter anderem, dass eine neue Firmware aufgespielt wird, die den Root-Zugang deaktivieren würde.

Als Einsatzzweck für das gerootete Gerät nennen die beiden einen eigenen Server für die Heimautomatisierung, Internetradio oder einen Dateiserver. Zwar habe das Gerät nur 4 GByte an MMC-Speicher, sei aber durch die Batterie letztlich mit einer unterbrechungsfreien Stromversorgung (USV) ausgestattet. Auf Grund der begrenzten Hardware sei Bitcoin-Mining vermutlich eher keine realistische Anwendung.

An Xiaomi haben die Forscher den ausgenutzten Bug bislang nicht gemeldet, weil keine akute Sicherheitsgefahr für Nutzer bestehe und sie sonst mit ihrer Forschung von vorne anfangen müssten.

Die modifizierte Firmware und der Dutscloud-Code stehen frei zur Verfügung. Der Python-Code für Dustcloud sei jedoch „total unsicher“ und sollte daher auf keinen Fall für produktive Zwecke genutzt werden. Abschließend warnten die Forscher noch davor, die unveränderten Geräte aus Angst vor Clouddiensten nicht vollständig zu konfigurieren beziehungsweise provisionieren. Denn dieser Vorgang könne sonst von anderen ausgeführt werden, die dann Zugriff auf einen Grundriss der Wohnung haben könnten. Außerdem könnten gebrauchte Geräte mit veränderter Software ausgeliefert werden oder aber vertrauliche Daten wie den WLAN-Schlüssel enthalten.

Quelle

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.