von Jakob Kunzmann

Dieser Artikel beschäftigt sich mit den OWASP Top 10 zum Internet of Things, einer Liste mit den zehn größten Sicherheitsrisiken im Bereich IoT; herausgegeben wird sie vom Open Web Application Security Project (OWASP).

Dazu werden in diesem Artikel die technischen Gesichtspunkte der IoT-Risiken beschrieben und, wenn möglich, prominent gewordene Fälle aufgezeigt, in denen sie ausgenutzt wurden. Falls zutreffende Beispiele existieren, wird der Fokus auf Malware bzw. Angriffe für industrielle IoT-Anwendungen gelegt.

Dieser Artikel behandelt die Top-10-Punkte 1 bis 4; in einem weiteren Teil werden die Punkte 5 bis 10 vorgestellt.

Einführung

Die Non-Profit-Organisation Open Web Application Security Project (OWASP) ist vor allem bekannt geworden durch die Zusammenstellung der „OWASP Top 10“, einer Liste der häufigsten Sicherheitslücken in Webanwendungen.

Die Arbeit von OWASP geht jedoch darüber hinaus: Zum einen erstellt die Organisation Standards, Richtlinien und Anleitungen zu unterschiedlichen sicherheitsrelevanten Themen; ihr anderes Arbeitsfeld ist die Entwicklung bzw. Sammlung von Tools, die zur Überprüfung und Verbesserung von Sicherheitsmechanismen in Applikationen genutzt werden können [1].

Eine Liste mit Top-10-Risiken gibt die OWASP außer für Webanwendungen auch für mobile Anwendungen heraus, seit 2014 auch für Internet-of-Things-Anwendungen. Diese letztmals 2018 aktualisierte Liste enthält Schwachstellen, die als größte Bedrohungen für die Sicherheit von IoT-Anwendungen angesehen werden. Als zugrundeliegende Daten wurden bekannte Schwachstellen betrachtet und ihre tatsächlichen Auswirkungen eingeschätzt. Es folgte ein Vergleich mit ähnlichen Projekten, darunter CSA IoT Controls Matrix [2] und Stanford’s Secure Internet of Things Project [3]. Nach einem Vergleich mit diesen Daten nahmen die Projektmitglieder eine weitere Einschätzung vor, die letztendlich zur finalen Version der Auflistung führte. Im Gegensatz zu vergleichbaren Projekten war ein Ziel von OWASP, eine möglichst universell anwendbare Liste zu generieren, die für Hersteller, Entwickler und Privatanwender gleichermaßen relevant ist.

IoT-Geräte bieten sich als Ziel für Angriffe aus verschiedenen Gründen an: Zum einen findet man bei IoT-Anwendungen häufig sehr viele Geräte mit identischen Software- und Hardwarekonfigurationen, die in der Regel durchgehend aktiv und mit dem Internet verbunden sind. Zusätzlich unterliegen IoT-Geräte sehr langen Wartungsintervallen, das heißt im Infektionsfall wird Schadsoftware oder unerlaubter Zugriff erst sehr spät detektiert. Dies ermöglicht es Angreifern, viele Geräte durch vergleichsweise wenig Aufwand zu übernehmen [4].

Im Folgenden sollen die technischen Details der einzelnen von OWASP zusammengestellten Risiken erklärt werden.

Die OWASP IoT Top 10 2018

Die von OWASP definierten kritischsten Bedrohungen für IoT-Anwendungen sind [5]:

  1. Schwache, erratbare oder hartkodierte Passwörter
  2. Unsichere Netzwerkdienste
  3. Unsichere Schnittstellen
  4. Unsichere Updatemechanismen
  5. Verwendung unsicherer oder veralteter Komponenten
  6. Unzureichender Schutz von Benutzerdaten
  7. Unsicherer Transfer und unsichere Speicherung von Daten
  8. Unzureichendes Management der Geräte
  9. Unsichere Standardeinstellungen
  10. Unzureichender physischer Zugriffsschutz
Schwache, erratbare oder hartkodierte Passwörter

Der privilegierte Zugriff auf Systeme wird in der Regel durch Passwörter geschützt. Vor allem im Bereich IoT setzen Hersteller oder Anbieter häufig schwache Standardpasswörter, etwa um Benutzern den Einstieg in die Arbeit mit einem neuen Gerät zu erleichtern oder weil das Generieren und Setzen von unterschiedlichen Passwörtern zusätzliche Schritte in der Produktion benötigen würde.
Ein weiteres Problem ist, dass Passwörter, etwa für Backends, hartkodiert auf den Geräten gespeichert werden. Gründe dafür könnten sein, dass der gesamte IoT-Markt eine stark erhöhte Nachfrage erlebte und somit alle Hersteller möglichst schnell Produkte anbieten wollten, um sich von der Konkurrenz abzusetzen. Dadurch sind Entwicklungsschritte aus Zeitgründen gestrichen oder verkürzt worden.

Anstatt eine korrekte Authentifizierung zu implementieren, ist es für IoT-Hersteller bequem, Zugangsdaten in Klartext auf dem Gerät zu hinterlegen. Dies wird von den Entwicklern zum Teil damit vertreten, dass dennoch ein gewisser Zugriffsschutz vorhanden sei. Der Schutz kann dann daraus bestehen, dass der entsprechende Speicherbaustein über keine direkte Schnittstelle verfügt, oder dass der Zugriff auf die jeweilige Schnittstelle durch physische Maßnahmen erschwert wird (zum Beispiel durch Aufbringen von Epoxidharz, siehe folgende Abbildung). Da auf annähernd allen Leiterplatten jedoch alternative Anschlusspunkte gefunden werden können, ist dies in der Regel eine sehr leicht zu umgehende Schutzmaßnahme.

Abbildung 1: Hardwareschnittstelle mit Epoxidharz versiegelt

Gibt ein Hersteller die Passwortrichtlinie vor, dass ein Passwort nach Inbetriebnahme eines Gerätes geändert werden muss, verändern Anwender es häufig zum Negativen, beispielsweise durch Setzen von sehr simplen Passwörtern oder durch Setzen von identischen Passwörtern für alle verwendeten Geräte in einem Haushalt bzw. Netzwerk. Mögliche Gründe dafür könnten sein, dass Nutzer der Meinung sind, IoT-Geräte enthielten keine schützenswerten Daten.

Obwohl viele Anwender den Schutzbedarf von IoT-Geräten eher gering einschätzen, kann ein Angriff darauf gravierende Auswirkungen haben. Sind die Geräte beispielsweise mit dem Internet verbunden, können sie dafür missbraucht werden, um Distributed-Denial-of-Service-Attacken (DDoS) auszuführen. Bei Geräten wie Kameras können Angreifer vollständigen Zugriff erlangen und so die Anwender überwachen. Weiterhin dienen einzelne Geräte oft als Ausgangspunkt, um das damit verbundene, größere Netzwerk anzugreifen.

Für konkrete Attacken wählen Angreifer unterschiedliche Herangehensweisen: Automatisierte Scanner können das Internet etwa nach standardisierten Zugriffs-URLs für Netzwerkkameras absuchen und die bekannten Passwörter für das jeweilige Modell testen.

Eine Angriffsart bei hartkodierten Zugangsdaten ist etwa, sich ein Exemplar des Gerätes zu beschaffen und, falls möglich, das Passwort entweder über eine softwareseitige Schnittstelle auszulesen, oder alternativ über die Hardware Zugriff auf den Inhalt von Speicherbausteinen zu erhalten. Für einfachere Angriffe lassen sich durch Suchmaschinen wie Shodan [6] oder FOFA [7] im Internet zugängliche Modelle eines IoT-Gerätes finden und mit dem zuvor herausgefundenen Passwort übernehmen.

Das 2016 in die Schlagzeilen geratene Botnet Mirai entstand durch eine Schadsoftware, die Angriffe mit dem zuvor beschriebenen Vorgehen ausführte. Da von Mirai möglichst viele angreifbare Geräte gefunden werden sollten, scannte die Malware große IP-Adressräume. Wurde ein IoT-Gerät gefunden, prüfte die Malware anhand einer Liste von Standardpasswörtern, ob eine Anmeldung möglich war. War der Anmeldeversuch erfolgreich, wurde das jeweilige Gerät dem Netzwerk hinzugefügt und konnte nun für Angriffe missbraucht werden. In Spitzenzeiten umfasste das Mirai-Netzwerk über drei Millionen Geräte. Es wurde unter anderem dazu benutzt, den DNS-Dienst Dyn anzugreifen; dies führte dazu, dass einige der weltweit größten Webseiten wie Twitter, Reddit oder Amazon zeitweise nicht erreichbar waren. Weiterhin wurde das Netzwerk im Darknet zur Miete angeboten. Die vermutete maximale Bandbreite des Netzwerks wird im Bereich von 1,5 Tbps eingeschätzt; der größte damit durchgeführte Angriff erreichte etwa 1,1 Tbps, das Ziel war ein französischer Cloud-Dienstleister [8]. Damit führte Mirai für etwa zwei Jahre die Liste der DDoS-Angriffe mit der höchsten verwendeten Bandbreite an [9].

Ein Blick in den Quellcode der Schadsoftware zeigt eine für derartige Angriffe bemerkenswert kurze Liste an Anmeldedaten, was wiederum deutlich macht, wie viele IoT-Geräte mit identischen Standardpasswörtern ausgeliefert werden.
Lediglich 64 verschiedene Anmeldedaten werden eingesetzt [10]:

// Set up passwords
add_auth_entry("\x50\x4D\x4D\x56", "\x5A\x41\x11\x17\x13\x13", 10);       // root     xc3511
add_auth_entry("\x50\x4D\x4D\x56", "\x54\x4B\x58\x5A\x54", 9);            // root     vizxv
add_auth_entry("\x50\x4D\x4D\x56", "\x43\x46\x4F\x4B\x4C", 8);            // root     admin
add_auth_entry("\x43\x46\x4F\x4B\x4C", "\x43\x46\x4F\x4B\x4C", 7);        // admin    admin
add_auth_entry("\x50\x4D\x4D\x56", "\x1A\x1A\x1A\x1A\x1A\x1A", 6);        // root     888888
add_auth_entry("\x50\x4D\x4D\x56", "\x5A\x4F\x4A\x46\x4B\x52\x41", 5);    // root     xmhdipc
add_auth_entry("\x50\x4D\x4D\x56", "\x46\x47\x44\x43\x57\x4E\x56", 5);    // root     default
[...]
Unsichere Netzwerkdienste

Der zweite Punkt auf der OWASP-Liste deckt Netzwerkdienste ab, die unnötigerweise auf IoT-Geräten laufen. Dies führt häufig dazu, dass zusätzliche Ports geöffnet werden, die dann vom Internet aus zugänglich sind. Häufigstes Ziel von Angriffen dieser Art ist Port 23 (Telnet), auf den über 80% aller bekannten Angriffe fallen. Weitere begehrte Angriffsziele sind die Ports 22 und 445, Secure Shell (SSH) bzw. Server Message Block (SMB) und dessen Open-Source-Implementierung Samba. Als eigentlicher Angriff kommt bei den Diensten Telnet und SSH hauptsächlich Bruteforcing von Anmeldedaten zum Einsatz, bei Port 445 und SMB/Samba wird in der Regel eine Remote Code Execution über Verwundbarkeiten des Dienstes versucht [11]. Bei einer Remote Code Execution kann der Angreifer beliebige Befehle oder beliebigen Code auf einem Zielgerät ausführen.

Die Angriffe auf unsichere Netzwerkdienste mit einem der größten Medienechos sind die als EternalBlue und EternalRed bekanntgewordenen Exploits auf SMB/Samba. Dabei handelt es sich um Remote Code Executions, für die eine Vielzahl der verwendeten Versionen von SMB bzw. Samba anfällig sind. Entdeckt wurden die Lücken vom amerikanischen Auslandsgeheimdienst NSA. Vor allem EternalRed wird für Angriffe auf IoT-Geräten eingesetzt, beispielsweise bei NAS-Systemen (Network-Attached Storage) [12]. Eine Malware, die diese Schwachstelle ausnutzt, ist SHELLBIND; ihre Zielgeräte sind NAS-Systeme mit Prozessorarchitekturen wie MIPS, ARM oder PowerPC, die bei IoT-Anwendungen üblich sind. Solche Storage-Systeme werden häufig bei kleineren bis mittelständischen Firmen eingesetzt. Die Vorgehensweise von SHELLBIND ist dabei, eine Shared-Object-Datei in einem beschreibbaren Ordner von Samba abzulegen. Über einen „IPC (Interprocess Communication)“-Request wird der Server dazu gebracht, die Datei auszuführen, wodurch eine Shell geöffnet wird. Die Malware setzt nun einige Firewallregeln, die die Kommunikation mit dem infizierten Gerät sicherstellen sollen. Nach einer Kontaktaufnahme mit dem Command-and-Control-Server hat der Angreifer volle Kontrolle über das jeweilige Gerät [13]. Die Folgen eines solchen Angriffs reichen von der Installation von Verschlüsselungstrojanern bis hin zu einem vollständigen Datenabfluss. Aufgrund der implementierten Funktionen ist bei SHELLBIND davon auszugehen, dass das eigentliche Ziel ist, Daten auszulesen. Damit wäre es den Angreifern möglich, Unternehmen zu erpressen oder die Daten anderweitig gewinnbringend zu verkaufen.

Unsichere Schnittstellen

Der IoT-Top-10-Punkt „Unsichere Schnittstellen“ umfasst unzureichend abgesicherte Administrationsoberflächen, APIs (Application Programm Interfaces) oder allgemein Steuerungsschnittstellen, die mit den eigentlichen IoT-Geräten verbunden sind. Die Risiken in diesem Punkt liegen meist bei den Faktoren Authentifizierung bzw. Autorisierung, Verschlüsselung und bei Filtern für Eingabe- bzw. Ausgabewerte.

Praktische Beispiele dafür sind:

  • Administrationsoberflächen, die ohne Anmeldung offen verfügbar sind
  • Anmeldemasken, die umgangen werden können
  • Schnittstellen, die unverschlüsselt erreichbar sind, wodurch Anmeldedaten abgefangen werden können
  • Cross-Site-Scripting-Schwachstellen
  • SQL-Injections.

Ein im Jahr 2018 bekannt gewordenes und bereits 2017 entdecktes Beispiel einer solchen Lücke betrifft Netgear-Router [14]. 17 Router-Modelle waren für eine besonders kritische Lücke verwundbar, durch die die Authentifizierung der Administrationsoberfläche umgangen werden konnte. Dazu musste der Router so konfiguriert sein, dass die Oberfläche aus dem Internet erreichbar war. Zur Ausnutzung der Schwachstelle wurde in die URL des Routers die Zeichenkette «&genie=1» eingefügt. Dies umging die Anmeldung an der Administrationsoberfläche, gewährte Angreifern Zugang zum Gerät und ermöglichte die vollständige Kontrolle darüber.

Die möglichen Auswirkungen eines solchen Angriffs sind vielfältig und reichen von Datenabfluss bis hin zur vollständigen Kompromittierung des Netzwerks.

Unsichere Updatemechanismen

Unter sicheren Updatemechanismen lassen sich jene Vorkehrungen zusammenfassen, die gewährleisten, dass ein Update von der richtigen Quelle stammt, nicht verändert wurde und notfalls auch rückgängig gemacht werden kann. Zusätzlich sollte beim Updatevorgang über eine Änderung der Sicherheitsmechanismen benachrichtigt werden.

Technische Maßnahmen als entsprechende Schutzmechanismen können sein, Updates zum Sicherstellen ihrer Integrität nur verschlüsselt bzw. signiert zu verteilen, die Updates nur über einen authentifizierten Kanal durchzuführen und auf den Geräten nur bestimmten Benutzern Schreib- bzw. Leserechte für den Speicherort von Updates zu gewähren.

Dementsprechend ergeben sich bei unsicherer Umsetzung von Updatemechanismen mögliche Angriffsvektoren: Wird ein Update über eine unverschlüsselte Verbindung übertragen, könnte ein Angreifer mit Man-in-the-Middle-Fähigkeiten beispielsweise die übertragenen Daten verändern und Befehle einfügen, die ihm beim Ausführen des Updates Zugriff auf das System ermöglichen.

Weitere Angriffe sind möglich, wenn die Quelle von Updates nicht verifiziert wird. So kann ein Angreifer eine beliebige Datei als Update angeben und auch so über zuvor eingefügte Befehle während des Updateprozesses die Kontrolle über das Gerät erlangen [15].

Findet ein Angreifer eine Möglichkeit, Schreibzugriff auf den Ort auf dem Gerät zu erlangen, an dem die Updatedatei gespeichert wird, kann er ein zuvor heruntergeladenes Update verändern und wiederum Befehle einfügen, die beim Updateprozess ausgeführt werden. Dieses Szenario ist in den meisten Fällen nur als Rechteausweitung zu verstehen oder kann einem Angreifer ermöglichen, längerfristig die Kontrolle über das Gerät zu behalten.

Ein durchgeführter Angriff, der unsichere Updatemechanismen ausnutzte, hatte Smart-TVs als Ziel. Da bei einer Vielzahl an Smart-TV-Modellen das Update über den unidirektionalen DVB-Kanal ohne implementierte Verschlüsselung gesendet wird, war es möglich, die Daten des Updates zu verändern. Dies führte in Verbindung mit einer anderen Schwachstelle zu einem Zugang zu Smart-TVs mit root-Rechten [16].

Die Auswirkungen eines solchen Angriffs sind gravierend. Ein Angreifer benötigt keinen physischen Zugriff auf das Gerät und kann mit einfachen Mitteln die vollständige Kontrolle darüber erlangen. Da der Angreifer dadurch ein Gerät im internen Netzwerk kontrolliert, kann er dieses – in der Regel wenig gesicherte – Netzwerk nach weiteren Schwachstellen in anderen verbundenen Geräten durchsuchen. Dadurch ist eine einfache Ausweitung des Angriffs möglich.

Ausblick

Dies schließt die Vorstellung der ersten vier der Top 10 der IoT-Sicherheitsrisiken ab. Ein Großteil der in der Praxis ausgenutzten Schwachstellen fällt auf diese Punkte.

Die verbleibenden Punkte sowie ein umfassendes Fazit folgen im zweiten Teil des Artikels. Darin enthalten sind einige der spektakuläreren Ausnutzungen im IoT-Umfeld, allen voran Stuxnet, ein als „Digitale Waffe von geopolitischer Bedeutung“ [17] betitelter Computerwurm, der Gerätschaften zur Atomwaffenherstellung physisch zerstörte.

Über den Autor

Jakob Kunzmann schloss sein Studium im Fach Angewandte Informatik mit Schwerpunkt Embedded Systems an der Technischen Hochschule Deggendorf ab. In seiner Bachelorarbeit entwickelte er eine verschlüsselte VoIP-Anwendung und benutzte hier erstmals Penetration-Testing-Methoden. In seiner Masterarbeit beschäftigte sich Jakob Kunzmann mit Netzwerkprotokollen zur Nutzerauthentifizierung und -verwaltung. Seit August 2018 ist er bei der Oneconsult als Penetration Tester angestellt. Jakob Kunzmann ist Offensive Security Certified Professional (OSCP).

Über Oneconsult

Die Oneconsult-Unternehmensgruppe ist seit 2003 Ihr renommierter Schweizer Cyber Security Services Partner mit Büros in der Schweiz und Deutschland und 1600+ weltweit durchgeführten Security-Projekten.

Erhalten Sie kompetente Beratung vom inhabergeführten und herstellerunabhängigen Cyber Security-Spezialisten mit 40+ hochqualifizierten Cyber Security Experten, darunter zertifizierte Ethical Hacker / Penetration Tester (OPST, OPSA, OSCP, OSCE, GXPN), IT-Forensiker (GCFA, GCFE, GREM), ISO Security Auditoren (ISO 27001 Lead Auditor, ISO 27005 Risk Manager, ISO 27035 Incident Manager) und dedizierte IT Security Researcher, um auch Ihre anspruchsvollsten Herausforderungen im Informationssicherheitsbereich zu bewältigen. Gemeinsam gehen wir Ihre externen und internen Bedrohungen wie Malware-Infektionen, Hacker-Attacken und APT sowie digitalen Betrug und Datenverlust mit Kerndienstleistungen wie Penetration Tests / Ethical Hacking, APT Tests unter Realbedingungen und ISO 27001 Security Audits an. Bei Notfällen können Sie rund um die Uhr (24 h x 365 Tage) auf die Unterstützung des Incident Response & IT Forensics Expertenteams von Oneconsult zählen.

www.oneconsult.com