LineageOS

LineageOS: Beliebtes freies Android-Betriebssystem

Das von der LineageOS Open-Source-Commu­nity entwi­ckelte freie Android-Betriebs­system wurde am 24. Dezember 2016 veröf­fent­licht. Wir zeigen Ihnen alles Wich­tige rund um das Betriebs­system als Android-Alter­native.
Von Julian Ruecker

Das freie und quellof­fene Android-Betriebs­system LineageOS ist für den Einsatz auf Smart­phones, Tablets und Set-Top-Boxen konzi­piert. Gepflegt und entwi­ckelt wird es von Frei­wil­ligen der LineageOS Open-Source-Commu­nity. Der Name Lineage (auf Deutsch: Abstam­mung) gibt Hinweis auf die Herkunft: Es ist der Nach­folger des eben­falls freien und quellof­fenen Android-Betriebs­sys­tems CyanogenMod, stammt also von diesem ab. Bis zur Einstel­lung der Weiter­ent­wick­lung von CyanogenMod im Dezember 2016 war es mit schät­zungs­weise etwa 50 Millionen Nutzern (Stand: 2015) das welt­weit am weitesten verbrei­tete Commu­nity-basierte Android-Derivat. Laut eigener Statistik zählt LineageOS über 4 Millionen aktive Instal­lationen (November 2022). LineageOS Logo LineageOS Logo
Bild: LineageOS

Die Geschichte von LineageOS

Stefanie Kondik (ehem. Steve Kondik, Benut­zer­name: Cyanogen) veröf­fent­lichte am 1. Juli 2009 die erste Version von CyanogenMod im XDA-Deve­lopers-Forum. Dieser Veröf­fent­lichung voraus­gegangen war die Entde­ckung einer Methode, Root-Zugriff auf das Linux-Subsystem des Handys HTC Dream zu erlangen, gefolgt von modi­fizierter Firm­ware, die unter Android-Benut­zern verteilt wurde. Eine davon, entwi­ckelt und gepflegt von einem Program­mierer mit Pseud­onym "JesusFreke", wurde unter Dream-Nutzern populär. Nachdem Google im November 2008 mit seinem RC30-OTA-Update die Lücke geschlossen hatte, wurde auch eine neuer­lich modi­fizierte Firm­ware, die wieder Root-Zugriff ermög­lichte, verteilt. Im August 2009 schließ­lich empfahl "JesusFreke" dann den Umstieg auf die von Cyanogen verbes­serte Betriebs­system-Version (CyanogenMod) und been­dete seine Arbeit.

Der Erfolg und die weite Verbrei­tung des Betriebs­sys­tems weckte Ambi­tionen. So wurde 2013 das Unter­nehmen Cyanogen Inc. gegründet und erhielt eine Wagnis­kapital-Finan­zie­rung mit dem Ziel der Kommer­zia­lisie­rung. Dies führte zu Konflikten inner­halb der Commu­nity. Trotz einiger Verträge mit Gerä­teher­stel­lern schei­terte der Versuch der Kommer­zia­lisie­rung jedoch und es folgten Umstruk­turie­rungen, Entlas­sungen, Schlie­ßung von Büros und am 23. Dezember 2016 schließ­lich die komplette Einstel­lung der Entwick­lung. Der quellof­fene Code von CyanogenMod wurde durch die Commu­nity für die Fort­füh­rung der Entwick­lung unter dem neuen Projekt namens LineageOS benutzt, wobei der 24. Dezember 2016 durch die Veröf­fent­lichung des Quell­codes auf GitHub und GitLab als offi­zieller Start des Projekts gilt. Am 22. Januar 2017 waren dann die ersten offi­ziellen Versionen 13.0 und 14.1 verfügbar, seitdem wird regel­mäßig jedes Jahr eine neue Version veröf­fent­licht.

Unter­stützte Geräte und Apps

LineageOS wird für zahl­reiche Geräte namhafter aber auch weniger bekannter Hersteller ange­boten, aller­dings ausschließ­lich zur Selbst­instal­lation. Als da wären Geräte von Asus, BQ, Essen­tial, F(x)tec, Fair­phone, Google, LeEco, Lenovo, LG, Moto­rola, Nextbit, Nokia, Nubia, OnePlus, Razer, Samsung, Shift, Sony, Xiaomi und ZUK.

Wie bei mobilen Betriebs­sys­temen üblich wird auch LineageOS mit vorin­stal­lierten Apps ausge­lie­fert. Diese sind u. a. ein Browser, eine Kamera, eine MMS-/SMS-Messa­ging-App und einige mehr.

LineageOS for microG: Fork mit Signa­ture Spoo­fing

LineageOS for microG LineageOS for microG
Bild: https://github.com/lineageos4microg
Im Gegen­satz zu LineageOS beinhaltet die Abspal­tung ("fork") LineageOS for microG Unter­stüt­zung für Signa­ture Spoo­fing. Das LineageOS-for-microG-Projekt wurde ins Leben gerufen, da sich die LineageOS-Entwickler mehr­fach gegen die Imple­men­tie­rung des Patches entschieden haben. Nach eigenen Angaben wurde die Entschei­dung aus Sicher­heits­gründen getroffen. Wie weiter unten ausge­führt, kann sich durch Signa­ture Spoo­fing prin­zipiell jede App als eine andere ausgeben - und dies in schäd­licher Weise miss­brau­chen (was LineageOS for microG durch einige Vorkeh­rungen aller­dings ausschließt). Hier muss also der Nutzer nach Abwä­gung von Risiken entscheiden, welches Betriebs­system er instal­lieren möchte, ob mit oder ohne Signa­ture Spoo­fing, microG oder auch das Umgehen von SafetyNet. SafetyNet 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.

Einge­fleischten Android-Custom-ROM-Benut­zern dürften auch 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.

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-Logo microG-Logo
Bild: https://github.com/microg
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 LineageOS-for-microG-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 LineageOS for microG 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.

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.