# MicroG

microG ist eine quelloffene, via Reverse Engineering geschaffene Implementierung der proprietären Google-Play-Dienste für das Android-Betriebssystem. microG ermöglicht Nutzern, Anwendungen zu benutzen, welche normalerweise die Google-Play-Dienste benötigen, wobei weniger Daten an Google gesendet werden. In einer Präsentation beschrieb der Hauptentwickler microG als das Framework, um eine vollständig kompatible Android-Distribution ohne die proprietären Google-Komponenten zu erstellen.

## Hintergrund

Obwohl Google das Android-Betriebssystem 2007 ursprünglich als Open-Source-Software veröffentlichte, ersetzte das Unternehmen nach und nach einige der Open-Source-Komponenten von Android durch proprietäre Software. Der deutsche Softwareentwickler Marvin Wißfeld schuf 2012 das NOGAPPS-Projekt als freien Open-Source-Ersatz der Google-Play-Dienste, welche auf fast allen Android-Geräten vorinstalliert sind. Das NOGAPPS-Projekt wurde 2016 zu microG umbenannt. Anfang 2019 bewarb Wißfeld sich erfolgreich für eine Förderung durch den vom Bundesministerium für Bildung und Forschung finanzierten Prototype Fund der Open Knowledge Foundation Deutschland, womit er über 6 Monate hin sowohl finanziell mit maximal 47.500 € gefördert wurde als auch im Aufbau eines möglichst nachhaltigen Finanzierungsmodells seiner Arbeit Unterstützung erhielt.

## Funktionen

microG bietet Android-Anwendungen eine Nachbildung der von den Google-Play-Diensten bereitgestellten Programmierschnittstellen (APIs). Dies umfasst unter anderem das Maps API, Google Cloud Messaging, SafetyNet, das Exposure Notification Framework, welches von der Corona-Warn-App verwendet wird, und Network Location Provider. Im Gegensatz zu den Google-Play-Diensten verfolgt microG nicht die Nutzeraktivitäten auf dem Gerät, und Nutzer können bestimmte API-Funktionen einzeln aktivieren und deaktivieren.

### SafetyNet

Die Unterstützung von SafetyNet kann optional aktiviert werden, in früheren Versionen musste die microG-eigene Anwendung „DroidGuard“ installiert werden, dies ist in neueren Versionen nicht mehr nötig. Da SafetyNet das Smartphone auf Veränderungen der Hardware und des Systems prüft, muss das System entsprechend mit Drittanbieter Patches wie z. B. ih8sn, Zygisk-Assistant, Universal SafetyNet Fix, die ein nicht verändertes Androidgerät vortäuschen, vorbereitet werden.

### Play Integrity

Seit der Version 0.3.6.244735 unterstützt microG auch den SafetyNet-Nachfolger Play Integrity.

### microG Companion/FakeStore

microG Companion früher FakeStore ist ein leeres Paket, welches mithilfe von Signatur-Spoofing vortäuscht, dass der Google Play Store auf dem Gerät installiert sei.

### Fido

Seit dem Release 0.2.25.223616 am 21. Oktober 2022 unterstützt microG die Verwendung von U2F- und FIDO-Geräten über USB oder NFC mit unterstützten Browsern (Chromium und Firefox). Außerdem kann der sichere Schlüsselspeicher auf unterstützter Hardware als virtuelles Fido-Gerät verwendet werden.

#### play-services-fido

Die Open-Source-Bibliothek play-services-fido ist eine freie Client-Bibliothek, die Browser anstelle der proprietären Google Fido-Implementierung verwenden können.

### Exposure Notification

Das Exposure Notification Framework ist ein System, dessen Ziel die Reduzierung der Verbreitung von COVID-19 durch Contact-Tracing ist.

### Firebase Cloud Messaging

Firebase Cloud Messaging (FCM), früher bekannt als Google Cloud Messaging (GCM), ist eine Cloud-Lösung für Nachrichten und Benachrichtigungen.

## LineageOS for microG

Im Jahr 2017 veröffentlichte microG „LineageOS for microG“ („LineageOS für microG“), eine Abspaltung von LineageOS – einem freien und quelloffenen Android-basierten Betriebssystem, das sowohl microG als auch den App-Store F-Droid als vorinstallierte Software enthält. LineageOS für microG wurde geschaffen, nachdem die LineageOS-Entwickler es abgelehnt hatten, microG in LineageOS zu integrieren. Die Entwickler zitierten die Notwendigkeit von microG, Codesignaturen zu fälschen, als Sicherheitsbedenken. Um die Funktionalität von microG zu ermöglichen, enthält LineageOS für microG eine begrenzte Unterstützung für das sogenannte Spoofing von Signaturen.
Die microG-Entwickler geben an, dass ältere Smartphones mit LineageOS für microG im Vergleich zu Betriebssystemen, die Google-Play-Dienste verwenden, weniger Strom verbrauchen. LineageOS für microG unterstützt dieselben Gerätemodelle wie LineageOS. Geräte erhalten neuere Versionen durch Updates, welche zweimal im Monat ausgeliefert werden.

## Verwendung

Für eine 2018 veröffentlichte wissenschaftliche Publikation über den Datenschutz von Android-Anwendungen verwendeten Sicherheitsforscher der Universität Nagoya microG, um Googles Sicherheitsmechanismus SafetyNet auf einem Android Marshmallow-Emulator zu umgehen. Die Forscher änderten den Paketmanager von Android und implementierten Signatur-Spoofing, um microG auf dem Emulator zu verwenden.

## Verwendung in Custom-ROMs

Das Android-Custom-ROM /e/OS, eine auf die Privatsphäre ausgerichtete Abspaltung von LineageOS, enthält standardmäßig microG. Im Jahr 2019 begann /e/ mit dem Verkauf von wiederaufbereiteten Smartphones mit vorinstalliertem microG.
Im Jahr 2020 begann OmniROM mit der Bereitstellung von Versionen, in denen microG für bestimmte Geräte eingebaut ist.
Das im Jahr 2020 erschienene Custom-ROM CalyxOS bietet microG optional bei der Installation an.

## Rezeption

Im Jahr 2016 erwartete Nathan Willis von LWN.net, dass microG eine „willkommene Ergänzung“ für Benutzer alternativer Android-basierter Projekte einschließlich LineageOS, Replicant und Blackphone sein wird. Willis schlug vor, dass microG seine Akzeptanz durch die Zusammenarbeit mit diesen Projekten steigern könnte.
Corbin Davenport, der im April 2018 für die Webseite Android Police schrieb, installierte LineageOS für microG auf einem Xiaomi-Mi-4c-Smartphone unter Verwendung des TWRP-Image in einem Experiment, bei dem er ausschließlich Open-Source-Software auf Android verwendete. Davenport war nicht in der Lage, sich über microG in sein Google-Konto einzuloggen und kam zu dem Schluss, dass es trotz der hohen Qualität einiger Open-Source-Android-Anwendungen nicht möglich ist, ganz auf Open Source zu setzen. Brendan Hesse von Lifehacker empfahl microG in seinem Tutorial vom November 2018, um Google zu umgehen. Hesse sah in microG eine „vielversprechende“ Alternative zu den Google-Play-Diensten, die „unvollständig und noch in der Entwicklung“, aber „brauchbar“ sei und „ziemlich gut laufen“ würde.