Ein Hintergrundartikel zur (Un-)Sicherheit
von Mobiltelefonen
Dieser Artikel ist Teil einer Serie zum Thema Kommunikationssicherheit in antiautoritären politischen Zusammenhängen. Wir veröffentlichen die Beiträge jeweils in der Zeitschrift Gaidao und auf unserem Blog.
Das IT-Kollektiv ist föderiertes Mitglied der FDA und Teil des Community-Projektes „IT-Kollektiv-Netzwerk“, das Kollektivbetrieben und Einzelpersonen aus dem IT-Bereich eine Plattform zur wirtschaftlichen und politischen Selbstorganisation bietet.
Es mangelt auch in diesem Themengebiet nicht an Quellen. Es gibt z.B. dutzende Anleitungen, die das Installieren eines frei(er)en Betriebssystem auf Smartphones beschreiben. Woran es mangelt ist eine kritische Auseinandersetzung mit dem Endgerät und seinem Komponenten. Daraus folgen die Fragen: „Was können wir durch das Modifizieren des Betriebssystems oder anderer Software erreichen und was nicht?“, also „Wovor können wir uns wie schützen und wovor nicht?“. Und vor allem die Sensibilisierung im Umgang auf Benutzer*innenebene ist wichtig. Alleine die technische Sicherung eines Gegenstands reicht in den meisten Fällen nicht aus, wenn sich die Anwender*innen im Umgang fahrlässig verhalten.
Zunächst ist es wichtig, sich mit dem Gerät selbst auseinanderzusetzen, um eine fundierte Beurteilung der Kriterien einer emanzipatorischen Sicherheitskultur aufstellen zu können. Dabei versuchen wir anhand der Analyse Möglichkeiten für eine sinnvolle Nutzung und Gegenmaßnahmen für unerwünschte Kriterien aufzuzeigen. Daraufhin folgt noch eine abschließende Bewertung des Gegenstandes als Ganzen.
Hardware
Zuerst verschaffen wir uns einen groben Überblick über die
Komponenten eines Mobiltelefons. Dabei müssen wir Tastenhandys, auch
Dumbphones genannt, von Smartphones abgrenzen, die von der
Ausstattung schon eher einem kleinem Computer gleichen. Alle Telefone
bestehen üblicherweise aus
-
Lautsprecher, Mikrofon
-
Bedienungsschnittstelle:
Tastatur (oder Touch), Display
-
einem Modem: Dieser proprietäre*
Chip, der auch Baseband-Prozessor genannt wird ist für die
Echtzeitkommunikation mit den Mobilfunkstationen verantwortlich.
Ohne ihn ist es nicht möglich zu telefonieren.
-
meist zusätzlich einem Hardware
Prozessor
-
Speicher: dabei ist der
Arbeitsspeicher, in dem das Betriebssystem und die Anwendungen
ausgeführt werden nicht mit den Massenspeicher, wie SD- oder
MMC-Karten zu verwechseln.
-
Akku
-
dem SIM – ‚Subscriber Identification Modul‘: ein Prozessor,
der zusammen mit der SIM-Karte, zur Identifikation der Nutzer*innen
im Mobilfunknetz dient. Auf ihm ist auch die IMSI gespeichert.
Smartphones können u.a. noch zusätzliche Elemente und
Schnittstellen beinhalten, wie:
-
einer CPU für das
Benutzer*innen Betriebssystem und Anwendungen
-
Kamera
-
WIFI
-
USB
-
Bluetooth
-
Nahfeldkommunikation (NFC)
-
Positionsbestimmung: GPS, A-GPS, GLONASS
*Proprietär bedeutet, dass es sich um geschlossene, also nicht-freie Soft- oder Hardware handelt. Der Quellcode und die Funktionsweise der Elemente ist unbekannt und kann somit nicht auf Korrektheit geprüft werden. Wir wissen nicht, ob das Programm ausschließlich das tut, was es soll.
Der Baseband-Prozessor
Da es sich bei dem Baseband um einen solchen Prozessor handelt,
sollten wir dessen Rolle etwas genauer untersuchen: Das Real-Time
Betriebssystem (ebenfalls Closed Source), das auf dem Baseband läuft,
übernimmt alle Aufgaben, die direkt mit der Datenübertragung
zusammenhängen. Dafür erhält der Chip Zugriff auf CPU, RAM und ROM
des Handys. Unabhängig vom Betriebssystem und den Anwendungen, die
auf dem Gerät laufen, hat also ein Prozessor von dem wir nicht
wissen, was er tut, unter Umständen freien Zugriff auf die Daten im
Gerät und weiteren Schnittstellen, wie Mikrofon, Lautsprecher und
Kamera.
In den alten Handys wurde zum Beispiel ein externer Zugriff auf
den Baseband Chip genutzt, um Betriebssystem-Updates auf dem Gerät
zu installieren. Der Hersteller (meist Qualcomm) verspricht uns zwar
das Deaktivieren des Basebands durch den Flugzeug-Modus, verifizieren
können wir das aber nicht.
Interessant ist jedoch, dass es bei Smartphones auf das Hardware
Layout ankommt, ob der Chip ‚wahlfreien‘ Zugriff auf die Komponenten
hat (bad baseband isolation) oder den Zugriff über Befehle an den
Hauptprozessor erhält. Im zweiten Fall wäre es möglich, den
Zugriff mit Hilfe des Anwendungs-Betriebssystems zu verhindern. Das
Löschen der Firmware im OS (Betriebssystem) verhindert, dass der
Prozessor die Befehle des Basebands akzeptiert.
Ein weiteres
Problem mit dem Betriebssystem des Basebands ist, dass die
implementierten Sicherheitsstandards uralt und unsicher sind. Es gibt
mehrere Veröffentlichungen, bei denen es begabten Hackern gelungen
ist, die Sicherheitsmechanismen des Baseband Protokolls auszuhebeln
und sich Zugriff auf das Gerät zu verschaffen:
-
Ralf Philipp Weinmann stellte
auf der DeepSec 2010 einen Angriff auf Androids und iPhones vor, der
mit einem nur 73 Byte Remote Code Execution Exploit eine Backdoor
öffnete und das Smartphone in eine Abhörwanze verwandelte: All
Your Baseband Are Belong To Us.
-
Mit den Hexagon Challenges wurde
auf der PacSec 2013 ein verbesserter Angriff auf das Baseband OS von
Weinmann vorgestellt.
-
Forscher der TU Berlin demonstrierten auf dem 22nd USENIX
Security Symposium einen Angriff auf das Baseband OS, der nur
geringe Ressourcen erforderte. Mit einigen manipulierten Smartphones
wurden andere Smartphones in der Umgebung kompromittiert und der
Empfang von Anrufen und SMS blockiert.
Wir müssen uns zu diesem Zeitpunkt damit Abfinden, dass alle unsere Sicherheitsmechanismen auf dem Handy also dem Vertrauen in den Hersteller des Baseband-Prozessors unterliegen. Bezüglich unserer Anforderungen an Sicherheit ist das schonmal eine äußerst unbefriedigende Tatsache. Wünschenswert ist eine freie Version des Prozessors mit einem OpenSource Betriebssystem. Das Projekt Osmocom befasst sich mit der Entwicklung eines freien Modems.
Systeme
Die Systeme, die auf einem Handy präsent sind, wurden alle schon
erwähnt. Es handelt sich um das Betriebssystem des Basebands, dem
SIM und dem Nutzer*Innen-Betriebssystem.
Das SIM ist der Prozessor auf der SIM-Karte und kann durch eine
4-8 stellige PIN geschützt werden. Mit der IMSI (eine Zahlenfolge
des SIM zur eindeutigen Identifikation des Netzteilnehmers)
registriert und authentifiziert sich das Gerät in einem Netz. Das
Handy selbst besitzt ebenfalls eine global eindeutige IMEI, die bei
der Netzsuche und Einwahl ins Netz übertragen wird. Die Übertragung
findet unverschlüsselt statt und ermöglicht ein Mithören von
Mobilfunk-Telefonaten und die örtliche Eingrenzung des Gerätes
innerhalb der Funkzelle, z.b. durch IMSI-Catcher.
Somit ist auch das SIM ein eindeutig unerwünschter Bestandteil für eine sichere Kommunikation und einen selbstbestimmten Umgang mit dem Gerät.
Tastenhandys
In den älteren Handys übernimmt das Benutzer*innen-Betriebssystem alle Aufgaben. Es läuft vollständig auf dem Baseband Prozessor, weswegen diese Telefone kein zusätzliches Baseband OS benötigen. Dieses intransparente proprietäre Betriebssystem zu modifizieren oder gar zu kontrollieren ist (ohne weiteres) nicht möglich.
Smartphones: LineageOS & ReplicantOS
Smartphones haben zu dem OS auf dem Baseband-Prozessor ein
zusätzliches Betriebssystem, das auf dem Hauptprozessor des Handys
läuft. Dies ist notwendig, da natürlich viel mehr Anwendungen als
nur ein Telefonbuch, Textmitteilungen oder 8-Bit Spiele zur Verfügung
stehen. Webbrowser, Emailanwendungen, Kalender, Messenger,
Videoübertragung und Games auf Smartphones benötigen natürlich
viel mehr Rechenleistung. Auch der Speicherbedarf, also generell die
vorhandenen Daten erhöhen sich hier.
Bei Smartphones ist es möglich die Kontrolle über dieses
Betriebssystem zu erlangen, indem man root-Privilegien erhält. Das
entspricht dem Konzept eines root oder auch admin-Kontos auf einem
PC. Das Erhalten der root-Priviligien ist notwendig, um weitere
Systemanpassungen, wie das Einrichten einer Firewall vornehmen zu
können. Ohne diese Maßnahmen hätten wir keine Kontrolle darüber,
was die Apps auf unserem Handy tun und welche Daten sie versenden.
Die bessere Alternative ist es, ein freies Betriebssystem auf das
Gerät zu flashen. Dabei wird das ausgelieferte Betriebssystem des
Herstellers vollständig vom Gerät gelöscht und durch ein freies
Betriebssystem, wie zum Beispiel LineageOS oder ReplicantOS ersetzt.
Das sind modifizierte Android-Systeme, die u.a. auf die Anwendungen
von Überwachungskonzernen wie Google verzichten, einen alternativen
AppStore mit OpenSource Anwendungen anbieten und generell mehr Wert
auf Privatsphäre legen.
ReplicantOS verwendet im Gegensatz zu LineageOS ausschließlich freie Software und verzichtet vollständig auf Google und Co. LineageOS verwendet dagegen immer noch Google Server, z.B. um festzustellen, ob das Gerät mit dem Internet verbunden ist, nachdem es sich erfolgreich mit einem WIFI-Accesspoint verbunden hat (Captive Portal Check).
Kleiner Abriss zur Firewall
Eine Firewall ist ein Schutzmechanismus, der ein System vor
potentiellen Gefahren schützen soll. Die Firewall überwacht den
Netzwerkverkehr und bestimmt anhand vordefinierter Regeln, ob
Datenpakete die Firewall passieren dürfen. Üblicherweise werden
Regeln definiert, die bestimmen, welche Pakete in das System dürfen.
Der Wunsch ist also, sich vor Gefahren außerhalb des eigenen Systems
bzw. des eigenen Netzwerks zu schützen.
Bei Smartphones ist das etwas anders. Sowohl Android-Apps als auch
Systemdienste sind in der Regel äußert „telefonierfreudig“
und haben häufig das Bedürfnis „nach Hause“ zu
telefonieren. Die Daten werden an den Hersteller bzw. Dritte
übermittelt, um beispielsweise personalisierte Werbeprofile zu
erstellen. Die meisten Apps aus dem AppStore sind intransparent
bezüglich ihrer Datenverarbeitung, weswegen eine Firewall zwingend
notwendig ist. Für die Installation und Konfiguration der Firewall
brauchen wir den oben erwähnten root-Zugriff auf das Gerät.
Dabei müssen wir hier die Sicherheitsvorkehrung einer Firewall umkehren, indem wir unseren Apps und dem System verbieten, unerwünscht in die Außenwelt zu kommunizieren: In der Regel braucht die Kamera-App keinen Zugriff auf das Internet, deswegen sollte er ihr auch verwehrt werden. So sollten alle Anwendungen geblockt werden, die keinen Zugriff auf das Internet benötigen.
Anwendungsebene und Nutzung
Oberhalb von LineageOS oder ReplicantOS lassen sich noch diverse
Anwendungen installieren, die den Schutz der Privatsphäre erhöhen
sollen, wie z.B. Ende-zu-Ende verschlüsselte Messenger oder
VOIP-Dienste, Anonymisierungsdienste wie Tor und vieles mehr.
Allerdings ist die Installation und Konfiguration eines solchen OS
recht aufwändig und es ist für Menschen, die mit Technik nicht
allzu vertraut sind, schwer möglich diese Ziele umzusetzen.
Erfreulicherweise bieten immer mehr lokale Gruppen Workshops an, die
sich diesem Thema zuwenden. An diesem Punkt erinnern wir uns nochmal,
dass diese Mechanismen in Abhängigkeit der zugrunde liegenden
Hardware zu betrachten sind! Ein sicheres OS hilft euch nicht viel
gegen Geheimdienste und/oder Hacker, wenn die Hardware unsicher ist.
Deswegen sollten Secrets, wie private Schlüssel (z.B. der private
PGP Schlüssel einer Email-Adresse) nicht auf dem Telefon selbst
gespeichert werden. Durch gravierende Sicherheitslücken in der
Hardware oder dem Betriebssystem kann dieses Geheimnis dem Gerät
entzogen und alle Nachrichten entschlüsselt werden. Eine Abhilfe in
diesem Fall wäre die Auslagerung der Secrets auf sogenannte
SmartCards oder Yubikeys. Dabei speichern wir das Geheimnis auf einem
externen Gerät (z.B. einer Karte im Fall von SmartCards) und lesen
den Schlüssel nur zum entschlüsseln der Nachrichten ein. Das
Geheimnis bleibt auf dem externen Gerät und verlässt dieses
niemals.
Sandboxing ermöglicht es, Anwendungen mit Hilfe des
Betriebssystems virtuell voneinander zu isolieren. Jede App in einer
Sanbox läuft in einer gesicherten virtuellen Umgebung und denkt sie
ist alleine auf dem Gerät. Sie hat nur Zugriff auf die nötigsten
Ressourcen. Vereinfacht sieht das am Beispiel eines Browsers in etwa
so aus: „Der Webbrowser denkt, er ist das einzige Programm auf
dem Gerät. Er kennt nur die Ordner ‚Downloads‘, um Dateien abzulegen
und ein paar Verzeichnisse des Betriebssystems, um im Internet auf
Webseiten zugreifen zu können. Die Systemverzeichnisse können nur
gelesen werden – der
Browser kann keine Dateien innerhalb dieser Ordner verändern oder
hinzufügen.“ Durch Sandboxing wird das Risiko weiter minimiert,
dass sich Apps gegenseitig überwachen oder versuchen das
Betriebssystem zu übernehmen.
Sowohl interner, sowie externer Speicher (SD-Karten) lassen sich
bei den meisten Smartphones und Betriebssystemen relativ einfach über
die Systemeinstellungen verschlüsseln. Dadurch verhindern wir
unautorisierte Nutzung des Geräts und erhoffen uns den Schutz des
Betriebssystems und der eigenen Daten vor Veränderung und Diebstahl.
Zur Konfiguration auf Anwendungsebene ließen sich viele diverse
Apps auflisten und noch viel mehr über einzelne Systemeinstellungen
schreiben. Hierbei verweisen wir allerdings auf die unten stehenden
Quellen und Cryptoparties, da dies nicht der Fokus des Artikels ist.
Auf Messenger mit kryptografischen Protokollen zur Verschlüsselung der Kommunikation werden wir in einem eigenen Artikel eingehen.
Fazit
Was können wir jetzt mit einem freien Betriebssystem auf einem
Smartphone erreichen? Es ermöglicht uns:
-
die vollständige Kontrolle über
die eigenen Daten
-
unabhängige und selbstbestimmte
Nutzung des Geräts
-
Verzicht auf das Ökosystem von
Googles
-
Ausstieg aus der
Werbemaschinerie der Hersteller
-
Schutz gegen Werbe-Profiling
Wovor schützt ein (gerootetes) Smartphone mit freiem
Betriebssystem nicht?
-
Staatstrojaner: beim Baseband
Prozessor haben wir gesehen, dass es möglich ist, sich durch
Fernzugriff Zugang zu den Daten auf dem Gerät zu verschaffen oder
Software zu installieren. Solch Zugriffe sind natürlich
insbesondere für Geheimdienste interessant. Durch die gegebene
fremdartige Soft- und Hardware müssen wir davon ausgehen, dass die
Behörden versuchen sich entweder selbst Zugriff auf diese
Komponenten zu erlangen oder den Hersteller auffordern ihnen den
Zugriff darauf zu gewähren. Die Hersteller nennen den remote access
(Fernzugriff auf das Gerät) ein „Feature“. Wir nennen das
einen Einbruch in die Privatsphäre!
-
Tracking durch und Angriffe auf
Kommunikationsschnittstellen
-
WIFI, z. B. die Lokalisierung
des Geräts. Ist die WIFI Schnittstelle des Gerätes aktiviert,
sucht das Gerät permanent nach bekannten WIFI-AccessPoints, um
sich damit zu verbinden. Dabei wird der Name des gesuchten WIFI-APs
und die eindeutige MAC Adresse des Gerätes versandt. Diese Signale
können ausgewertet anhand ihrer Signalstärke (Entfernung)
ausgewertet und getrackt werden.
-
Bluetooth: Stichworte sind
Bluejacking und BlueBorn
-
Micro-Beacons (uBeacons):
werden in der Werbeindustrie gerne eingesetzt und sind nicht
wahrnehmbare Ultraschall Signale, die über gängige Lautsprecher
von Computern oder Smart-TVs versendet und von Mikrofonen in
Smartphones eingefangen werden. Das Smartphone fügt diesem uBeacon
noch einige Metadaten, wie Zeitstempel, GPS-Daten, IP-Adresse,
Telefonnummer, usw. hinzu und sendet ihn an den Anbieter zurück.
Der Absender kann damit das zugehörige Profil verfeinern und
angepasste Werbung ausliefern. Viele Apps interagieren mit solchen
uBeacons.
-
GSM-Tracking durch trianguläres
Routing. Die ausgehenden Signale des Baseband Chips, zwischen
mehrerer Funkzellen werden ausgewertet und anhand der Signalstärke
die Position des Gerätes errechnet. Die Signale werden ausgesandt,
um sich ins Telefonnetz einzuwählen und enthalten wie oben
beschrieben die eindeute IMSI des SIM und die eindeutige IMEI des
Handys.
-
Stille SMS
-
Nutzerverhalten: Der wichtigste Punkt ist immer noch das
Verhalten, der User. Es bringt offensichtlich wenig, alle
Google-Dienste vom Handy zu entfernen, wenn im Browser dann
weiterhin die Suchmaschine benutzt wird. Analog lässt sich das
Beispiel auf viele Verhaltensmuster und
Anwendungen/Sicherheitsvorkehrungen übertragen.
Wenn wir den direkten Vergleich zwischen Dumb- und Smartphones
ziehen, sehen wir, dass uns ein Smartphone einerseits bessere
Möglichkeiten bietet die Kontrolle über das Gerät zu erlangen,
dafür aber wesentlich mehr persönliche Daten speichert. Erst durch
Nutzung von Anwendungen wie einem Webbrowser auf dem Gerät wird man
selbst zur Zielscheibe von Werbeunternehmen. Auf einem Dumbphone ohne
Internet gibt es natürlich keinen Browserverlauf und keine Emails,
die ausgespäht werden können. Allerdings haben aber wir keine
Möglichkeit eine Ende-zu-Ende verschlüsselte Kommunikation
aufzubauen oder die Daten auf dem Gerät physisch zu verschlüsseln.
Wird das Handy geklaut oder geht es mal verloren, ist ein
verschlüsseltes Smartphone durchaus vorteilhaft, um beispielsweise
nicht direkt alle Kontakte zu offenbaren.
Ein Smartphone bietet also mehr Möglichkeiten, bringt aber auch
dementsprechend viel Konfigurations- und Verwaltungsaufwand mit sich.
Durch die erhöhte Anzahl der Anwendungen und
Kommunikationsschnittstellen steigt auch die Zahl der potentiellen
Sicherheitslücken und Angriffsvektoren und dementsprechend der
Gesamtaufwand für die entsprechenden Gegenmaßnahmen.
Somit bleibt eigentlich nur zu sagen, dass es eine „Best
Practice“ in diesem Kapitel nicht wirklich gibt. Wichtig ist es,
für sich selbst einen Kompromiss zwischen Bedienungskomfort und
gewünschten Sicherheitslevel zu finden.
Eine Vorschlag wäre: ein Smartphone mit gerootetem, freiem
Betriebssystem zu nutzen und das Telefon ohne Simkarte zu betreiben.
Das Handy ist permanent im Flugzeugmodus (und im besten Fall den
Baseband Chip physisch entfernen oder die zumindest die Firmware
löschen), der Baseband Chip verliert seine Bedeutung. Alle Speicher
des Geräts sind vollverschlüsselt und eine App überwacht die
Anzahl der falsch eingebenen Entsperrmuster. Bei Überschreitung wird
das Handy ausgeschaltet (App ‚PrivacyLock‘). Eine Firewall überwacht
den Datenverkehr aller Apps und eine Sandbox isoliert kritische
Anwendungen vom restlichen System. Die Internetverbindung findet nur
über das Tor-Netz statt. Telefonate und Nachrichten werden nur über
verschlüsselte Internetverbindungen (VOIP) geführt. Verwende keine
Dienste, die nicht vertrauenswürdig sind (nur geprüfte OpenSource
Apps, z.B. aus dem App-Store FDroid), benutze Ende-zu-Ende
Verschlüsselung bei den Diensten und versuche konventionelle
Telefonie und SMS weitestgehend zu vermeiden.
Sei dir vor allem deiner Benutzung des Gerätes bewusst. Aktiviere nur die Schnittstellen, die du auch wirklich brauchst (WIFI, GPS, Bluetooth und andere Schnittstellen einfach ausschalten, wenn nicht benötigt!). Der Artikel soll dazu anregen, sich nicht auf Anwendung „On the top“ zu verlassen, nur weil sie eine verschlüsselte Verbindung garantieren oder Anonymität versprechen. Es gilt immer den zu sichernden Gegenstand als Ganzes und den eigenen Umgang damit zu betrachten!
Links zu lokalen Gruppen / Cryptopartys
Links zu Tutorials
Freie Betriebssysteme