CalyxOS

CalyxOS: Ein alternatives Android-Betriebssystem

Das freie und quellof­fene mobile Android-Betriebs­system CalyxOS wirbt mit seinem "Privacy-by-Design"-Ansatz. Wir zeigen Ihnen, was sich dahinter verbirgt und alles weitere Wich­tige über das Betriebs­system.

Das freie und quellof­fene Android-Betriebs­system CalyxOS wird von Frei­wil­ligen und dem Team der 2010 gegrün­deten Non-Profit-Orga­nisa­tion Calyx Insti­tute mit Sitz in New York entwi­ckelt und gepflegt.

Das Calyx-Institut ist nach eigenen Angaben eine Orga­nisa­tion, die sich die Entwick­lung und Verbrei­tung von freier Daten­schutz-Soft­ware sowie die Aufklä­rung darüber auf die Fahnen geschrieben hat. Dadurch soll es ermög­licht werden, dass jeder einfa­chen und kosten­losen Zugang zu Werk­zeugen erhält, die Sicher­heit und Wahrung der Privat­sphäre garan­tieren. Dies soll eben­falls Rede­frei­heit, freie Meinungs­äuße­rung, bürger­schaft­liches Enga­gement und Daten­schutz(-Rechte) im Internet und bei der mobilen Kommu­nika­tion fördern.

Das Projekt bietet auch einen VPN-Dienst an, der auf dem Open-Source-Projekt LEAP basiert, betreibt einen eigenen XMPP-Server und hostet mehrere Exit-Nodes des Tor-Projekts. Mit dem Aurora-Store steht neben F-Droid, dem Stan­dard-App-Store von CalyxOS, ein weiterer Store zur Verfü­gung. Dieser hat anonymen Zugriff auf den Google-App-Katalog und kann so Apps direkt aus der Google-Cloud instal­lieren. Da es dabei ohne weitere Vorkeh­rungen zu Problemen kommen würde, ist zusätz­liche Soft­ware nötig. CalyxOS löst dies durch den Einsatz von microG, das weiter unten genauer beleuchtet wird.

Unter­stützte Geräte und Apps

CalyxOS Logo CalyxOS Logo
The Calyx Institute

CalyxOS-fähige Smart­phones (Auswahl)
Neben Google-Pixel-Smart­phones wird anfangs zunächst das Xiaomi Mi A2 unter­stützt. Als Test­ver­sion ist das OS erhält­lich für das Fair­phone 4, das OnePlus 8T und das OnePlus 9. Prin­zipiell kommen alle Geräte für die Verwen­dung/Portie­rung von CalyxOS infrage, die bestimmte Krite­rien erfüllen. Diese sind:
  • Android 12 (bzw. immer die aktu­ellste Version) instal­liert
  • Entsper­rung des Boot­loa­ders möglich
  • neuer­liche Sper­rung des Boot­loa­ders nach CalyxOS-Instal­lation möglich
  • zeit­nahe Sicher­heits- und Versions-Updates seitens der Geräte-Hersteller
  • SoC von Qual­comm (bevor­zugt)
Wie bei mobilen Betriebs­sys­temen üblich wird auch CalyxOS mit vorin­stal­lierten Apps ausge­lie­fert. Diese sind u. a. die erwähnten App-Stores F-Droid und Aurora Store, mehrere VPN Dienste (darunter der von Calyx selbst), mehrere Privacy-Browser, eine Karten-App, die Messenger Briar und Signal, Terminal-Apps sowie weitere Daten­schutz- und Sicher­heits-Programme.

F-Droid und microG: Die Google-freien FOSS-Projekte

F-Droid und microG F-Droid und microG
Bilder: microg.org, f-droid.org, Montage: teltarif.de

Einge­fleischten Android-Custom-ROM-Benut­zern dürften F-Droid und microG ein Begriff sein. Hinter F-Droid versteckt sich ein App-Store, der ausschließ­lich FOSS anbietet - und völlig ohne Google auskommt. Nach­teil ist, dass dementspre­chend nicht alle Apps in einer F-Droid-Version verfügbar sind. Zu den belieb­testen Apps, die dennoch verfügbar sind, zählen zum Beispiel der Messenger-Dienst Tele­gram und sogar eine "WhatsApp-Web-To-Go-App". Darüber hinaus steht mit "NewPipe" ein YouTube-Client zur Verfü­gung, der ohne Google-Konto benutzt werden kann - nur auf das Bewerten von Videos muss dann verzichtet werden. Eben­falls verfügbar sind mehrere Twitter-Clients und VPN-Dienste (z. B. von Calyx). Es lohnt sich, vor dem Instal­lieren einer App die Ange­bote von F-Droid zu eruieren, ob dort entspre­chende FOSS-Apps ange­boten werden. Es gibt einiges zu entde­cken. Installierte F-Droid Apps Installierte F-Droid Apps
Screenshot: teltarif.de
Das microG-Projekt, seit 2020 von der e-Founda­tion gespon­sert, entwi­ckelt und pflegt die freie Soft­ware-Nach­bil­dung von Googles proprie­tärer Kern-Programm-Biblio­thek und Google-Anwen­dungen. Da viele Apps auf Google Play Services ange­wiesen sind, ist zumin­dest ein Teil davon für das Funk­tio­nieren von Android-Apps erfor­der­lich. Das bringt also die Heraus­for­derung mit sich, nur die Teile dieses Dienstes zu nutzen, die für die eigent­liche App notwendig sind, während solche, die der Daten­samm­lung, Standort-Loka­lisie­rung und weiteren Über­wachungs-Methoden dienen, ausge­sperrt werden. Eine Akti­vie­rung bestimmter Google-Dienste ist auf Wunsch möglich, jedoch nach eigenen Angaben kaum nötig, da die meisten Apps ohne Google-Dienste funk­tio­nieren. Weitere wich­tige Dienste, die Google-frei reali­siert werden (müssen), sind Push-Benach­rich­tigungen und Standort-Dienste. Wie dies alles mithilfe von "Signa­ture Spoo­fing" erreicht wird, beschreiben folgende Abschnitte.

Mehr zu microG

microG-Einstellungen microG-Einstellungen
Screenshot: teltarif.de
Das Linux-basierte Android-Betriebs­system ist in seiner Grund­struktur als Teil des Android-Open-Source-Projekts (AOSP) quelloffen, die meisten seiner Kern-Apps jedoch nicht, d. h. sie sind proprietär und streng durch Google kontrol­liert. Dies führt dazu, dass Android selbst in seiner Gesamt­heit immer mehr zu eben­falls proprie­tärer Soft­ware wird, immer mehr Teile werden in die geschlos­senen Google-Dienste über­führt. Aller­dings sind die Apps nicht nur immer mehr proprietär, auch sind immer mehr Programm-Biblio­theken und APIs ausschließ­lich auf Geräten mit vorin­stal­lierten Google-Apps verfügbar, was Dritt­anbieter-Apps kate­gorisch aus dem Betriebs­system ausschließt. Das bedeutet, dass auch quellof­fene Apps einige proprie­täre Google-Dienste benö­tigen. microG besteht aus mehreren Kompo­nenten, die im Folgenden kurz erläu­tert werden.

Service Core (GmsCore) ist eine freie Biblio­theks-Soft­ware, die Google-Play-Dienste reimple­men­tiert. Dies erlaubt Apps, die proprie­täre Google-APIs aufrufen, auf AOSP-Betriebs­sys­temen wie CalyxOS oder LineageOS zu laufen. GmsCore fungiert also als freier Ersatz der Google-Dienste. Darin enthalten ist auch der Dienste UnifiedNlp, der hier eben­falls kurz erklärt wird.

Services Frame­work Proxy (GsfProxy) ist ein Hilfs-Dienst-Programm, das Apps, die für "Google Cloud to Device Messa­ging" (C2DM) entwi­ckelt wurden, die Benut­zung des kompa­tiblen Google-Cloud-Messa­ging-Diensts, der in GmsCore enthalten ist, erlaubt.

Unified Network Loca­tion Provider (UnifiedNlp) ist eine Biblio­thek, die Apps, die WLAN- und Mobil­funk-Mast-basierte Ortung verwenden, Googles Netz­werk-Ortungs-Dienst bereit­stellt.

Maps API (mapsv1) ist eine System-Biblio­thek, die die gleiche Funk­tio­nalität wie die mitt­ler­weile veral­tete Google-Maps-API (v1) bietet.

Store (Phonesky) schließ­lich ist eine Frontend-Anwen­dung, die Zugang zum Google Play Store sowie Down­loads und Updates ermög­licht.

Signa­ture-Spoo­fing und CalyxOS-Imple­men­tie­rung

Signa­ture Spoo­fing (wört­lich über­setzt "(Vor)täuschen einer Signatur") erlaubt es, Apps vorzu­täu­schen, andere zu sein, was der GmsCore-App erlaubt, vorzu­geben, die Google-Play-Store-App zu sein. Um Signa­ture Spoo­fing nutzen zu können, ist eine ROM, die dies unter­stützt, nötig. Neben LineageOS for microG und CalyxOS gibt es eine Reihe weiterer ROMs, die Signa­ture-Spoo­fing-Unter­stüt­zung von Vorn­herein bieten und weitere ROMs, die über nach­träg­liches Patchen eine Unter­stüt­zung errei­chen können. Prin­zipiell kann jede App vorgeben, eine andere zu sein, weshalb der Nutzer hier bei der Wahl des Betriebs­sys­tems und der Benut­zung von Signa­ture Spoo­fing sehr vorsichtig sein muss. Im Fall von CalyxOS ist sicher­gestellt, dass ausschließ­lich GmsCore die entspre­chende Signatur vortäuscht und somit Miss­brauch anderer Apps ausge­schlossen ist. Daneben sorgen weitere program­mie­rungs­tech­nische Anpas­sungen für hohe Sicher­heit.

Der Nutzer von CalyxOS hat die Wahl zwischen drei Optionen: microG deak­tiviert, microG akti­viert aber kein Google-Account (Stan­dard) und microG akti­viert mit einem Google-Account. Die erste Option kann der Nutzer bei erst­maliger Einrich­tung seines Geräts verwenden, sodass keinerlei Kommu­nika­tion mit Google-Diensten statt­findet. Entspre­chend werden nur wenige Apps funk­tio­nieren, aller­dings besteht so die Möglich­keit, das Gerät ohne Daten­über­mitt­lung an Google- oder andere Server einzu­richten. Die zweite Option, die empfohlen wird, sorgt dafür, dass die meisten Apps funk­tio­nieren und nur die für ihre ordnungs­gemäße Funk­tion benö­tigten Daten an Google gesendet werden  - und zwar anonym oder zumin­dest semi-anonym. So wird bei der Erst­regis­trie­rung von microG die IP und das Geräte-Modell an Google gesendet, die Google Adver­tising ID (GAID) ist jedoch komplett deak­tiviert. Bei der letzten, nicht empfoh­lenen, Einstel­lung wird auf die Semi-Anony­mität verzichtet und es können weitere Apps oder Dienste (wie Google Fi) genutzt werden, aller­dings mit entspre­chenden Abstri­chen bei der Privat­sphäre und dem Daten­schutz: Nun wird auch der Name des Google-Accounts an Google gesendet.

Ein weiterer wich­tiger Punkt ist SafetyNet. Das ist eine von Google entwi­ckelte API, die Android-Smart­phones auf Verän­derung von Hard- und Soft­ware hin über­prüft. Begründet wird dies mit der mögli­chen Entde­ckung etwa­iger schäd­licher oder bösar­tiger Apps. Kritisch hieran ist, dass ein entspre­chender Dienst Daten über das Gerät sammelt und an Google sendet, die dann mit unbe­kannten Analysen ausge­wertet werden. Bei Instal­lation einer CustomROM (wie LineageOS) wird schon dadurch die Soft­ware verän­dert, was zu einem nega­tiven SafetyNet-Test führt und manche Apps dadurch nicht mehr funk­tio­nieren. Versuche, trotz Verän­derung an der Soft­ware den SafetyNet-Test zu bestehen, sind äußerst schwierig, da Google u. a. regel­mäßig die Methoden für die Analyse ändert.

Push-Benach­rich­tigungen und Standort

Schließ­lich muss noch auf den Push-Dienst und den Standort-Dienst einge­gangen werden, denn auch hier können - bzw. müssen - zumin­dest semi-anonyme Infor­mationen an Google gesendet werden. Die Domain mtalk.google.com wird benö­tigt, um Push-Benach­rich­tigungen von Apps zu erhalten. Auch microG benutzt diese für das entspre­chende Gerät. Hier kommt es dann auf die App an, welche Infor­mationen an Google gesendet werden. Signal beispiels­weise sendet nur die Zeit des Empfangs einer Nach­richt an Google, andere Apps können z. B. auch den Nach­rich­ten­inhalt und Meta­daten weiter­geben.

Dass das Handy unun­ter­bro­chen Daten sendet und empfängt, sollte jedem klar sein. Zu den gesam­melten und gesen­dete Infor­mationen gehört auch der Standort zu jeder Zeit an jedem Ort, wo sich das Gerät befindet. Google-Server nutzen verschie­dene Methoden gleich­zeitig, um den möglichst genauen Standort zu schätzen (GPS wäre genauer, jedoch ist der Ener­gie­ver­brauch recht hoch sowie der Empfang in Gebäuden zum Teil zu schlecht): Mithilfe des Netz­werks des Netz­betrei­bers und Mobil­funk-Masten, durch eindeu­tige Zuord­nungs­merk­male von sich in der Nähe befin­denden WLAN-Netz­werken und durch Blue­tooth-Signale von entspre­chenden Geräten in der Nähe. Das eigene Gerät sendet dann die IP-Adresse, die Stärke des Signals der Mobil­funk-Masten sowie die WLAN- und Blue­tooth-Netz­werk-Infor­mationen an Google, wodurch der Standort dann mehr oder weniger genau geschätzt wird.