Angriffe auf Smart Devices via Mobilfunk
Ob bewusst oder unbewusst – im Zeitalter des Internet of Things (IoT) und aller Arten von Smart Devices vernetzen sich Menschen immer mehr. Smartwatches, Smartmeter, aber auch das smarte Zuhause oder vernetzte Autos sammeln Daten über uns oder sind über das Internet erreichbar. Geräte wie diese begleiten uns immer mehr im Alltag und stehen in ständiger Kommunikation mit dem Internet. Obgleich diese Vernetzung viele Vorteile bringt – die Klimaanlage bequem von der Arbeit aus bedienen, die Alarmanlage über eine App scharf schalten – sie bringt natürlich auch Nachteile. Der Mensch scheint sich zwar mit der Daten-Sammelwut der Anbieter abgefunden zu haben, offen bleibt jedoch die Frage: können Dritte Zugriff auf diese Daten bekommen? Oder viel schlimmer: können Kriminelle mein Haus oder mein Auto fernsteuern? Sicherheitsforscher auf der ganzen Welt beschäftigen sich mit diesem Thema und dennoch stellt es sie immer wieder vor neue Herausforderungen.
Der Grund hierfür ist einfach: Immer mehr Hersteller bieten neue-alte Geräte an, welche klassische Funktionalitäten wie z. B. Kaffee kochen mit neuen Technologien wie z. B. WLAN verschmelzen, damit der Kaffee vom Bett aus gekocht werden kann. In diesem Zusammenhang werden viele neue Ideen umgesetzt und die unterschiedlichsten Technologien erhalten Einzug auf den Markt. Hierbei entsteht durchweg eine große Herausforderung: Erfahrene Entwickler aus dem Bereich der Analog- und Regeltechnik müssen nun neue Netzwerkprotokolle und -schnittstellen implementieren. Eine hierbei häufig genutzte Technologie ist der Mobilfunk. Damit sind die klassischen Netze gemeint, über die tagtäglich Millionen von Menschen miteinander telefonieren, SMS schreiben oder im Internet surfen.
Nun kommt es also vor, dass auch unsere Autos SIM-Karten haben. Und das nicht nur um im Fahrgastraum einen Hotspot bereitzustellen. Die SIM-Karte wird auch genutzt, um aktuelle Updates herunterzuladen, Statistiken über Fahrverhalten zu übertragen oder um das Auto auf- und abzuschließen. Gesteuert wird das alles komfortabel über eine App auf dem Smartphone.
Der Trend der Hersteller auf Mobilfunk-Technik zu setzen, ist bekannt. Somit wird Netzabdeckung weiter ausgebaut und schnelle Standards wie LTE werden ausgerollt. Aber auch die etwas älteren Technologien, wie zum Beispiel GSM oder UMTS werden weitläufig genutzt. In Punkto Sicherheit haben diese Netze einen recht guten Ruf. Auch wenn in der Vergangenheit einzelne Schwachstellen bekannt geworden sind, wurden die praktischen Angriffsvektoren vor allem in den europäischen Netzen weitgehend behoben oder können in der Praxis nur schwer durchgeführt werden.
In Anbetracht des Einsatzes von Mobilfunk für Smart Devices liegen die Probleme etwas tiefer – nämlich in den zugrundeliegenden Standards und im Sicherheitskonzept der Devices. Ob ein Netz sicher ist oder nicht, hängt weitgehend vom Netzbetreiber ab. Der Endnutzer hat hier nur wenig mitzureden. Was passiert aber, wenn sich ein Angreifer als Netzbetreiber ausgibt? Techniken hierfür existieren und das ist letztendlich auch das Problem. Dieses möchten wir in den nachfolgenden Kapiteln genauer erläutern.
Das Kapern von Mobilfunkgeräten
Sogenannte Fake-Basisstationen, IMSI-Catcher oder auch Stingrays sind längst kein Gerücht mehr. Spätestens seit den Snowden-Enthüllungen weiß auch die breite Öffentlichkeit, dass diese Geräte in der Praxis eingesetzt werden. Und was Geheimdienste können, können vielleicht auch Andere. Das Prinzip ist eigentlich simpel: Man stellt seine eigene Basisstation auf, gibt sich als regulärer Netzanbieter aus und leitet Anrufe und Internet-Verkehr weiter. Durch die Weiterleitung bekommt der Angreifer auch Zugriff auf den IP-Verkehr. Entdeckt werden solche Geräte nur selten, denn dafür müsste man regelmäßige Messungen durchführen und abgleichen, ob eine Mobilfunkzelle rechtmäßig betrieben wird oder nicht. Die Tatsache, dass es kleine, mobile Basisstationen gibt, die sogar über eine Batterie betrieben werden können und in einen Rucksack passen, macht es nicht einfacher. Nur in wenigen Fällen werden solche Geräte also enttarnt und die Betreiber dingfest gemacht.
In der Praxis herrscht weiterhin der Glaube, solche Geräte seien viel zu teuer und nur für Geheimdienste oder die Polizei erschwinglich. Es ist jedoch bekannt, dass sich kleine GSM-Basisstationen mit etwas Sachkenntnis für wenige hundert Euro im Internet besorgen lassen. Auch die für den Betrieb notwendige Provider-Infrastruktur lässt sich in Software emulieren und benötigt somit nur einen handelsüblichen Laptop. Eine Basisstation also, ein bisschen Software und schon hat man alles, was man braucht. Dieses funktioniert sowohl für GSM-, UMTS- aber auch LTE-Netzwerke, das haben Sicherheitsforscher nur allzu oft demonstriert. OpenLTE, OpenAirInterface, OpenBTS, OsmoBTS [1] – das sind nur ein paar der Projekte, die sich mit der offenen Implementierung von Mobilfunknetzen beschäftigen. Und alle zeigen die Probleme auf, die ein Mobilfunknetz so hat: das Design. Ein Endgerät geht bei der Einwahl in ein Netz immer wie folgt vor:
- Suche nach verfügbaren Zellen des Heimnetzes (abhängig vom Vertrag) und verbinde in die Zelle mit dem besten Empfang.
- Wenn kein Heimnetz verfügbar ist, verbinde zu einem Roaming-Partner oder zu der Zelle mit dem besten Empfang.
- Und bei Beiden gilt: verbinde mit dem schnellsten Netz (z. B. LTE). Falls dieses nicht verfügbar ist, verbinde zu dem nächstbesten (z. B. UMTS oder GSM).
Das Heimnetz ist natürlich abhängig von dem jeweiligen Mobilfunkvertrag. Seitens der Mobilfunkantenne wird das Heimnetz über eine Broadcast-Nachricht versendet, so weiß jedes Handy, welche Zelle zu welchem Netzbetreiber gehört. Man kann es also erahnen: Diese Broadcast-Nachricht kann natürlich auch unser Angreifer senden und es gibt keinen Sicherheitsmechanismus, der dieses verhindern könnte. Wenn der Angreifer also nun auch das schnellste Netz oder die Zelle mit dem besten Empfang anbietet, landet unser Opfer zwangsläufig in der Zelle des Angreifers. Und selbst wenn der Angreifer nicht das schnellste Netz besitzt, kann er durch gezieltes Jamming die anderen Netze um sich herum lahmlegen. So hat das Opfer des Angriffs keine andere Wahl als das Netz des Angreifers zu wählen.
Alle weiteren für einen Angriff notwendigen Konfigurationen lassen sich in dem vom Angreifer simulierten Netz einstellen: Keine Verschlüsselung, keine Authentifizierung und alle Daten/Anrufe/SMS werden über das Internet weitergeleitet. Mit anderen Worten: Sicherheit ist optional.
Unser Labaufbau
Zu Demonstrationszwecken haben wir genau solch ein Szenario nachgebaut. Eine kleine Basisstation lässt sich über das Internet beschaffen. Die notwendige Software um das Providernetz zu simulieren ist, wie vorher erwähnt, frei verfügbar. Die einzige Hürde – jedenfalls für unser Labor – ist der genehmigte Betrieb von Funkanlagen. Ein Angreifer wird sich davon nicht behindern lassen. Diese Genehmigung muss man in Deutschland bei der Bundesnetzagentur beantragen. Es gibt aber auch andere Wege. Zum Beispiel kann man das Labor in sogenannten Shieldboxen betreiben. Eine Shieldbox ist ein abgeschirmter Kasten, wo keine Funkwellen nach außen gelangen können. Im konkreten Fall unseres Labors übertragen wir unsere Funksignale von der Basisstation zu unseren Testgeräten sogar über ein Kabel-Setup.
Schnell wird klar, die meisten Einstellungen lassen sich von einem Angreifer vortäuschen: hierunter fallen die Netzkennung, also zu welchem Netzbetreiber das Netz gehört, aber eben auch, welche Sicherheitsmechanismen unterstützt werden. Genutzte IP-Adressen, DNS-Namen und auch sogenannte Access Point Names (kurz: APN) lassen sich konfigurieren. APN’s sind Zugriffspunkte, womit ein Mobilfunkgerät den Internet-Zugriffspunkt beim Provider identifiziert. Auch der Internet-Zugriffspunkt lässt sich von einem Angreifer angeben.
Weiter geht es mit der Rufnummer. Die Rufnummer selber ist eine Information, die vom Provider vorgegeben wird. Entgegen der häufig irrtümlichen Annahme, dass die Rufnummer auf dem Gerät hinterlegt ist, lässt sich auch diese beliebig konfigurieren. Nur Informationen wie die IMSI (International Mobile Subscriber Identity – gespeichert auf der SIM-Karte) oder der IMEI (International Mobile Station Equipment Identity – gespeichert auf dem Endgerät/Modem selbst) lassen sich nicht durch einen Angreifer ändern. Die Rufnummer allerdings wird erst in einer Datenbank des Netzbetreibers zugeordnet – so also auch in unserem Angriffsszenario, zu sehen in Abb.2. Abgebildet ist eine einfache Webapplikation, in der auf Knopfdruck Rufnummern geändert oder SMS versendet werden können. Auch werden hier die auf dem attackierten Gerät gespeicherten Informationen (IMSI und IMEI) angezeigt.
Aber was hat das nun zu bedeuten? Letztendlich gibt es nur wenige Sicherheitsmechanismen, auf die man sich verlassen kann, wenn man über Mobilfunktechniken kommuniziert. Verbindet man aus Versehen zu solch einer Fake-Basisstation, kann der Angreifer fast alle Sicherheitsmechanismen abschalten und Internetzugriff sowie Rufnummern vorgeben. Wenn wir nun Smart-Devices oder IoT-Geräte betrachten, stellt genau dieses ein Problem dar, denn die Hersteller solcher Geräte verlassen sich häufig auf genau diese Mechanismen.
Beispiele aus der Praxis
Wir haben uns in der Praxis einige dieser Geräte angeschaut und möchten das ein oder andere Fallbeispiel aufzeigen und erläutern, warum dieses ein Problem ist. Unser erstes Beispiel ist hierbei eine simple Alarmanlage, wie sie bei diversen Elektronik- und Kaufhäusern zu erwerben ist.
Die Alarmanlage lässt sich per SMS aktivieren oder deaktivieren und weist – ebenfalls per SMS – auf ein Auslösen des Alarms hin. Im Werkszustand lässt sich das Gerät von beliebigen Nummern aus steuern. Später ist es allerdings möglich, den Zugriff auf eine festgelegte Liste von Absendernummern zu beschränken. Das Sicherheitskonzept basiert hier auf zwei Faktoren:
- Die Nummer der SIM-Karte in der Alarmanlage ist nur dem Eigentümer bekannt und
- Die Nummer des Absenders einer SMS lässt sich nicht beliebig verändern.
Wie sich erahnen lässt, können genau diese Sicherheitsmechanismen durch den Einsatz einer Fake-Basisstation umgangen werden. Wenn ein Angreifer in der Lage ist, die Alarmanlage in sein eigenes Mobilfunknetz zu ziehen, kann er ihm eine beliebige Nummer zuweisen und Entsprechendes erreichen. Maßnahme zwei basiert im Gegenzug auf der Annahme, dass Rufnummern-Spoofing in einem normalen Mobilfunknetz nicht möglich ist. Aber was ist nun, wenn sich die Alarmanlage im Netz des Angreifers befindet? Richtig, auch hier lässt sich wieder jede beliebige Nummer konfigurieren, also auch die des Eigentümers. Aber auch in reellen Mobilfunknetzen haben vergangene Publikationen [2] gezeigt, dass es verschiedene Schwachstellen gibt, welche genutzt werden können, um Absendernummern zu ändern bzw. zu fälschen.
Auf den ersten Blick scheinen die beschriebenen Probleme einfach zu lösen: Wenn die SMS authentifiziert oder verschlüsselt wären – also zusätzliche Sicherheitsmaßnahmen auf Applikationsebene – könnte ein Angreifer keine validen Steuer-SMS senden. Im konkreten Fall ist die Steuerung per SMS jedoch ziemlich simpel konstruiert: Man sende eine "1" zum Aktivieren der Anlage, eine "0" um sie wieder zu Deaktivieren. Die Anwenderfreundlichkeit steht also auch hier im Vordergrund. Eine Verschlüsselung der SMS ist hierbei nur schwer umzusetzen, da der Anwender dies im Kopf machen müsste oder eine zusätzliche App notwendig wird. Tatsächlich gibt es passend zur betrachteten Alarmanlage eine App zum Steuern. Diese sendet jedoch auch nur dieselben Befehle, welche von Hand geschickt werden können. Eine Authentifizierung der Nachrichten wiederum ist trivial lösbar. Statt dem Versenden von "0" zum Deaktivieren der Alarmanlage könnte alternativ "0-1234" versendet werden. Die PIN "1234" wäre entsprechend bei der initialen Konfiguration zu setzen. Diesen Ansatz werden wir im nächsten Fallbeispiel genauer betrachten.
Unser zweites Fallbeispiel ist ein Relais zur Steuerung von Türen und Toren welches als "RTU5024" vertrieben wird. Die Steuerbefehle sind wie auch bei der Alarmanlage sehr simpel aufgebaut: "CC" triggert das Relais und sorgt somit für ein Öffnen der Tür. Auch ist es möglich, dem Befehl eine vierstellige PIN voranzustellen: also z. B. "1234CC". Die Sicherheit der hier genutzten PIN kann sehr gut mit PINs auf Bankkarten oder Handys verglichen werden. Vier Stellen bedeutet, dass maximal 10.000 benötigt werden, um die PIN beispielsweise per Bruteforce-Angriff zu brechen. Die Dauer des Angriffs hängt hierbei direkt vom angegriffenen Gerät ab oder anders gesagt davon, wie schnell ein Angreifer den PIN in das Gerät eingeben kann. Über die Mobilfunk-Schnittstelle kommend haben wir dieses Szenario in unserem Labor nachgestellt: Rund 2 Versuche pro Sekunde sind ohne Probleme möglich, also der Versand von zwei SMS pro Sekunde. Ein kompletter Bruteforce-Angriff benötigt somit also maximal 2 Sekunden * 10.000 Versuche = 20.000 Sekunden, bzw. 333.33 Minuten oder 5,55 Stunden.
Realistisch betrachtet wird man aber nicht alle 10.000 Versuche benötigen, da oft ein "geschicktes Raten" wesentlich effizienter ist (Prüfen von Schnapszahlen, Sequenzen wie 1234, Jahreszahlen, persönliche Daten). Bis hierher handelt es sich aber um eine Schwachstelle im Gerät selbst. Im Falle eines sicher implementierten Zugangsschutzes würde, wie bei einem Handy, nur eine gewisse Anzahl an Eingaben akzeptiert werden, oder durch ein Throttling/Rate-Limiting die Eingabe auf z. B. ein Versuch pro Minute beschränkt werden. Alternativ könnte anstatt der vierstelligen PIN ein "richtiges" alphanumerisches Passwort genutzt werden, welches klassische Bruteforce-Angriffe ineffizient macht. In diesem Fall müsste der Angreifer an das geheime Passwort des Nutzers kommen. Nun kommt wieder unser Versuchsaufbau und die Nutzung einer Fake-Basisstation zum Einsatz: Man lockt das Handy des Besitzers in das Angreifer-Netz und fängt auf diesem Weg die SMS mit Passwort ab, unabhängig davon, ob man die Nummer des Gerätes bereits kennt, denn diese Nummer ist Bestandteil der pauschal mitgelesenen SMS. Wehren kann sich das Opfer hier nicht, da es in der Regel nicht einmal bemerkt, dass er sich in der Mobilfunkzelle des Angreifers befindet. Folglich fällt die Liste der effektiven Gegenmaßnahmen wieder sehr kurz aus: Der Einsatz von Verschlüsselung auf Applikationsebene und somit unabhängig vom Mobilfunknetz. Da dieser jedoch, wie bereits angesprochen, der Nutzbarkeit von SMS entgegen steht, ist ein verlässlich sicherer Betrieb in Mobilfunknetzen auch nicht möglich.
Ein weiteres Beispiel aus unserer Versuchsreihe ist ein GPS-Tracker des Typs "TK103A" für Fahrzeuge. Der Sinn solch eines Geräts ist es, regelmäßig die Position des Fahrzeuges an einen Server zu übermitteln. Zusätzlich kann es, je nach Anschluss an das Fahrzeug die Zündung kappen und somit als Wegfahrsperre / Kill-Switch genutzt werden. Steuern kann man dieses Gerät im Normalfall über ein öffentlich erreichbares Webportal. Der für unseren Versuch ausgewählte Tracker ist bei diversen deutschsprachigen Händlern im Internet zu erwerben.
Wir haben uns die Funktionsweise von diesem Gerät mal etwas genauer angeschaut. Nach dem Einschalten wird eine TCP-Verbindung zu einem vorkonfigurierten Server aufgebaut und die eigene Position wird in Form von Längen- und Breitengraden übertragen. Im Anschluss öffnet es eine weitere Verbindung, welche zum Empfang von Steuerbefehlen genutzt wird. Ein kurzer Blick in Wireshark, ein typisches Programm zur Aufzeichnung und Visualisierung von Netzwerkverkehr, zeigt, dass die übertragenen Informationen direkt abgelesen werden können.
Entsprechend kann ein Angreifer mit Zugriff auf den Kommunikationskanal sehen, wo sich das Fahrzeug aktuell befindet. Eine weitere Verschlüsselung ist nicht vorhanden.
Wie bei vielen Smart-Devices verlässt man sich also hier auch auf die als mehr oder weniger sicher bekannte GSM-, UMTS- oder LTE-Transportverschlüsselung. In normalen Netzen ist Diese üblicherweise auch der Fall, stellt allerdings ein Problem dar, wenn Fake-Basisstationen eingesetzt werden. Obwohl für einen Angreifer die Verfolgung eines Fahrzeuges aufgrund der begrenzten Reichweite der eigenen Basisstation nicht sonderlich praktikabel ist, bietet der Steuerkanal großes Angriffspotential. Wie bereits erwähnt, kann der uns vorliegende GPS-Tracker auch als Wegfahrsperre dienen. Da die Kommunikation weder hinsichtlich der Vertraulichkeit noch der Integrität geschützt ist, kann ein Angreifer klassische Man-in-the-Middle-Angriffe (MITM) durchführen. Mit einer Fake-Basisstation lassen sich, wie bereits beschrieben, beliebige Internet-Zugriffspunkte simulieren und DNS- und IP-Adressen frei verteilen. Ein Angreifer kann also ohne großen Aufwand einen Proxy-Server zwischen den Tracker und den dahinter liegenden Webservice schalten. Dieser Ansatz ermöglicht auch das Absetzen und Injizieren eigener Steuerbefehle.
Fazit
Alle drei aufgezeigten Fallbeispiele zeigen Komponenten auf, auf dessen Funktionalität und Sicherheit sich ihre Anwender verlassen wollen und müssen. Da alle Geräte über keinen effektiven Schutz ihrer Kommunikationskanäle verfügen, besteht hierbei eine direkte Abhängigkeit von der Sicherheit der genutzten Mobilfunknetze. Gründe hierfür sind in der Regel viele zu finden. Mobilfunknetze und Funktechnologien im Allgemeinen erscheinen auf den ersten Blick schlecht greifbar. Zusätzlich waren über viele Jahre hinweg die notwendigen Geräte entweder sehr teuer oder nur schwer auf dem öffentlichen Markt erhältlich. Auch werben Mobilfunkanbieter damit, dass ihre Netze sicher sind. In der Summe resultiert dies in der Bildung einer gewissen "sicheren Blase", in welcher viele Entwickler und Hersteller leben. Denn mit einem rechnet keiner: dass jemand auf die Idee kommt, ein eigenes – wenn auch illegales – Netz aufzuziehen und alle vorgesehenen Sicherheitsmechanismen zu entfernen.
Auf diese Weise ist der Zugriff auf die Schnittstellen und den Datenstrom der Geräte wieder sehr nahe und es bleibt nur ein Ausweg: Die Sicherheit des Gerätes muss unabhängig vom Mobilfunknetz sein. Man darf sich also nicht auf die Sicherheit des Providers / Mobilfunknetzes verlassen. Aber genau das wird in vielen Fällen dann wieder im Konflikt mit der Nutzbarkeit stehen.
- OpenLTE, OpenAirInterface, OpenBTS, OsmoBTS
- 28th Chaos Communication Congress: Defending mobile phones