(de) fda-ifa: Wie war das noch gleich mit Smartphones? von IT-Kollektiv -- Ein Hintergrundartikel zur (Un-)Sicherheit von Mobiltelefonen

a-infos-de at ainfos.ca a-infos-de at ainfos.ca
Fr Apr 3 08:49:02 CEST 2020


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
Freie Betriebssysteme
https://lineageos.org/
https://replicant.us/
https://www.omnirom.org/

https://fda-ifa.org/wie-war-das-noch-gleich-mit-smartphones/


Mehr Informationen über die Mailingliste A-infos-de