Mittlerweile hat fast jeder Haushalt mit dem Internet verbundene IoT Devices. Sei es Alexa, der Fernseher, der Kühlschrank, eine Steaming Box, Kameras, Sensoren zur Hausautomatiesierung oder Andere. Die Liste lässt sich beliebig erweitern. Die Wenigsten sind sich darüber bewusst, dass ihre Devices große Gefahr laufen zu Zombies zu werden und einem gefährliches IoT Bot Netz beizutreten. Weitgehend alle IoT Devices haben eingebaute Schwachstellen, die es Angreifern leicht machen die Devices zu übernehmen und für Ihre Zwecke einzusetzen. Wer sich ein Bild verschaffen möchte kann das bei shodan.io, einer Suchmaschine für IoT Devices. Die Suche nach bestimmten Typen mit bekannten default User/Passwort erleichtert den Zugriff auf das Device.
Das Problem ist die Menge von an das Internet angeschlossenen Devices, Alte und Neue. Viele, die schon lange in Vergessenheit geraten immer noch irgendwo Energie beziehen und über WLAN oder mobile Netze am Internet hängen. Gartner prognostizierte vor drei Jahren 20 Millionen Devices für 2020.
Eine aktuellere Studie geht von 5,8 Milliarden aus!
Das Problem sollte damit klar werden. Es liegt neben oft ungenügendem Schutz der Devices in der schieren Menge.
Schwachpunkte von IoT Devices
Das OWASP Internet of Things Project zeigt die 10 häufigsten Schwachstellen auf. An allererster Stelle stehen hart verdrahtete oder zu einfache Passworte sowie Backdoor Zugänge z.B. für Firmware Updates. Ein Blick auf die Webseite lohnt sich um einen Eindruck zu gewinnen.
Aufgrund dieser Schwachstellen ist es oft einfach IoT Devices zu übernehmen. Es ist daher kein Wunder, das diese Ziele sehr häufig primäres Ziel von Hackern und Bot-Herdern sind. Gute Beispiele sind die DDoS Angriffe auf den Security Blogger Brian Krebs, Brickerbot und Mirai Malware Angriffe in 2017 oder die aktuellen Silex Attacken. Die Studie von McAfee macht ebenfalls deutlich wie einfach und häufig Angriffe auf IoT Geräte sind.
Ich habe aufgrund dieser Erkenntnis mehrere Fragen gestellt und denke das ist für Jeden, der sich mit der IoT Devices am Netz hat ebenfalls interessant:
- Wie Funktioniert ein IoT Device ?
- Wir erkenne ich einen IoT Malware Angriff?
- Wie schütze ich meine IoT Devices vor Angriffen?
IoT Hardware
Um eine Abgrenzung für den folgenden Inhalt zu haben, zunächst eine Definition von IoT im Sinne des Artikels. Ein IoT Device ist ein Computer, dessen Aufgabe es ist ein anderes Gerät zu Steuern oder Überwachen. Das Device kommuniziert dazu (meist drahtlos).
Die Hardware eines IoT Device hat zwei wesentliche Funktionen:
- Daten übertragen und kontrollieren
- Daten verarbeiten und speichern
Im Wesentlichen bestehen IoT Devices aus Sensoren, Aktoren oder beidem. Sensoren nehmen Daten auf, messen einen Wert, Aktoren kontrollieren das zu steuernde Gerät.
Ein Sensor misst zum Beispiel die Temperatur, die Feuchtigkeit, die Spannung der Batterie oder die Helligkeit. Jedes Smartphone enthält viele unterschiedliche Sensoren. Aber auch einfachste Temperatur Sensoren einer Wetterstation kommunizieren drahtlos und sind gefährdet. Ein weiteres gutes Beispiel ist eine WLAN Steckdose, die Strom und Spannung misst.
Aktoren kontrollieren das Gerät, an das sie angebunden sind. Die WLAN Steckdose ist ein einfaches Beispiel. Der Aktor schaltet die Dose an oder aus. Komplexere Aktoren steuern auch mechanische Eigenschaften. Ein gutes Beispiel ist ein Mähroboter, dessen Weg über einen Aktor, der die Räder beeinflusst gesteuert wird oder ein Heizungsthermostat.
Die meisten IoT Devices sind sogenannte HUB Devices, die mehrere Sensoren und Aktoren vereinen. Zur Verarbeitung der empfangenen Daten haben die Devices immer auch eine CPU und Speicher mit an Bord. Wenn Daten verschiedener Sensoren koordiniert und (aus welchem Grund auch immer) lokal gespeichert werden müssen, übernimmt die zentrale Prozessor Einheit des IoT Devices diese Aufgabe.
IoT Firmware
Firmware lässt sich in zwei Kategorien teilen, embedded oder OperatingSystem basierende Firmware. Sie bildet die Schnittstelle zwischen der IoT Hardware und der „Aussenwelt“.
Embedded Firmware ist eine custom Software, die nahe an der Hardware mit einer oft speziellen Sprache geschrieben wird. Da die Devices eine geringe Prozessortleistung haben, setzt die Entwicklung der Firmware ein tiefes Verständnis der Hardware voraus. Firmware Entwickler nehmen neben der Aufgabe die eigentliche sehr nahe an der Hardware programmierte embedded Software zu entwickeln auch die Aufgabe der Interfaceentwicklung für den Anwender wahr.
Da die Devices immer mehr Aufgaben gleichzeitig übernehmen müssen und die Rechenleistung kontinuierlich ansteigt, wird inzwischen oft ein Betriebssystem auf dem IoT Device eingesetzt. Das IoT Betriebssystem bildet eine Abstraktionsschicht zwischen der Hardware und der Anwendungslogik. Die Embedded Entwickler können sich nun auf die Entwicklung von Treibern für die spezifische Hardware konzentrieren, währen Interfaces und Logik von Entwicklern ohne tiefes Verständnis der spezifischen Hardware programmiert werden. Zudem sind die Programme unabhängiger von der unterliegenden Hardware.
Ein verbreitetes Betriebssystem für IoT Devices ist Busybox. Busybox ist eine vereinfachte, monolithische Implementierung des Unix Betriebssystems. Es enthält viele Tools und Funktionen, die auch von Linux bekannt sind.
IoT Kommunikation
Die häufigste Kommunikationsmethode bei IoT Geräten ist drahtlos. Der Vorteil dabei ist, dass sich das Device unabhängig von der Verfügbarkeit einer Anschlussdose platzieren lässt. Die Art der Kommunikation hängt vom Einsatzzweck des Devices ab.
Das kann WLAN sein, genauso gut aber auch ein anderes drahtlos Protokoll wie Z-Wave, Zigbee oder einer der vielen Anderen. Außerdem kommen noch die Mobilfunkstandards in Frage.
Einige Geräte haben direkten Internet Zugriff. Ein gutes Beispiel hierfür sind Überwachungskameras, die Bilder in die Cloud laden, um diese z.B. am Mobilgerät anzeigen zu lassen. Ein weiteres gutes Beispiel sind Alexa und Co. Andere Gräte kommnizieren mit einem Hub um dort Daten unterschiedlicher Devices zusammen zu führen und mit einer Logik darauf reagieren zu können. Als Beispiel kann hier ein Heizungsthermostat herangezogen werden, der mit einem Fenstersensor über eine Heimautomatisierungszenrale verbunden ist.
Device Management
Um auf das Gerät zugreifen zu können, sind zwei Schritte notwendig. Zunächst muss die Kommunikation eingerichtet werden, im zweiten Schritt folgt die Konfiguration oder Überwachung mittels eines Interfaces.
Die Anbindung an ein Wireless Netzwerk erfolgt z.B. mittels WPS. Dabei werden am Device und am Router jeweils ein Knopf gedrückt und die Geräte verbinden sich automatisch miteinander. Bei Heimautomatisierung erfolgt die Kommunikation oft über einen Hub, die Zentrale. Hier funktioniert es im Idealfall ähnlich, die Zentrale und das Device müssen in einen speziellen „Anlern-Modus“ versetzt werden. Bei anderen Geräten wird einfach „gesnifft“ und die im Netz verfügbaren IoT Geräte verbinden sich völlig automatisch ohne weitere Abfrage.
Die allermeisten IoT Devices kommen ohne eigene Nutzerschnittstelle (z.B. Touch LCD) aus. Man nennt eine solche Konfiguration „Headless“. Um diese Geräte zu kontrollieren ist demensprechend die Provisionierung der Kommunikation zwingende Voraussetzung. Ist das Gerät im Netz, kann es kontrolliert werden.
Die Steuerung erfolgt oft über Apps oder Cloud basierte Web Anwendungen. Einige Geräte, z.B. die CCTV Kameras oder auch Access Points sind oft direkt mit einem Cloudservice im Internet verbunden, andere verbinden sich mittels eines Hubs mit dem Service. Insbesondere die direkt verbundenen Geräte können somit auch direkt aus dem Internet angesprochen werden.
IoT Sicherheit
Die Sicherheit kommt bei IoT allzu oft an letzter Stelle. Devices, die unverschlüsselt drahtlos kommunizieren, die sich über sniffing identifizieren und einbinden lassen oder sich automatisch mit einer Zentrale verbinden, sind von sich aus potentiell unsicher.
Es ist sehr schwierig ein self contained Device zu bauen, dass die Anforderungen nach sehr geringem Energieverbrauch, Zuverlässigkeit, einfacher Anwendbarkeit und nicht zuletzt günstigem Preis erfüllt. Alleine für die Funktionalität ist oft ein erheblicher entwicklungsaufwand zu betreiben. Der Sicherheit wird dabei, auch zugunsten der Usability und des Preises, oft zu wenig Beachtung geschenkt.
Aussicht
Nun haben wir also alle die vielen preisgünstigen und unsicheren IoT Geräte in unserem Netz. Die Herder können Ihr Werk beginnen und unsere Devices in Ihre Botnetze einbinden.
In diesem Teil wurde zunächst die grundlegende Gefährdungssituation erläutert und im Anschluss die 1 der aufgeworfenen Fragen diskutiert. In weiteren Teilen werden die Fragen nach de Angriffserkennung und dem Schutz der IoT Devices diskutiert.
Teil 2 wird sich zunächst damit auseinandersetzen, wie ein Angriff auf IoT Devices funktioniert und erkannt werden kann. Im Teil 3 folgt dann die Erläuterung der Methoden zum Schutz von IoT Infrastruktur.