Wie war das noch gleich mit Smartphones?
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
- https://resist.berlin/
- https://www.cryptoparty.in/berlin/c-base
- https://www.cryptoparty.in/
- https://www.cccfr.de/projekte/
Links zu Tutorials
- https://wiki.systemli.org/howto/android/setup
- https://www.systemli.org/assets/data/Android_Smartphone_google-frei_einrichten_-_systemli.org.pdf
- https://www.kuketz-blog.de/android-ohne-google-take-back-control-teil1/
- https://www.privacy-handbuch.de/handbuch_70.htm
- Galaxy S3 von Hardware Chips befreien: https://www.ifixit.com/Teardown/Samsung+Galaxy+S+III+Teardown/9391