Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:android:geraetesicherheit

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howto:android:geraetesicherheit [2022/01/10 00:23] – [Bootloader-Entsperrung und verifizierter Boot] link: übersicht verifizierter boot yaddahowto:android:geraetesicherheit [2023/02/06 16:19] (aktuell) – [Hardware-basierte Limitierung von PIN-Eingaben] yadda
Zeile 1: Zeile 1:
-====== Betriebssystem und Gerät für ein google-freies Android auswählen ======+====== Infos zur (Geräte-)Sicherheit von google-freien Androids ======
  
 Diese Seite sammelt einige Überlegungen zu Sicherheit und Nutzbarkeit bei der Auswahl des passenden Gerätes für ein google-freies Android-Smartphone. Diese Seite sammelt einige Überlegungen zu Sicherheit und Nutzbarkeit bei der Auswahl des passenden Gerätes für ein google-freies Android-Smartphone.
 +===== Hintergrund-Infos =====
  
-===== Alternative Android-Betriebssysteme =====+==== Alternative Android-Betriebssysteme ====
  
-Das //Android Open Source Project// (AOSP) ist ein freies und quelloffenes Betriebssystem. Zwar wird es maßgeblich von Google entwickelt, der Quellcode steht allerdings allen Menschen zur Inspektion und Veränderung bereit. Dadurch ist es möglichdass andere Entwickler:innen als die, die bei Google arbeiten, ihre eigenen Änderungen beisteuern, oder eine //Custom-ROM//, d.h. eine eigene, modifizierte Version von Android veröffentlichen, wie z.B. LineageOS.+Das //Android Open Source Project// (AOSP) ist ein freies und quelloffenes Betriebssystem. Zwar wird es maßgeblich von Google entwickelt, der Quellcode steht allerdings allen Menschen zur Inspektion und Veränderung bereit. Die meisten Smartphone-Hersteller vertreiben auf ihren Geräte leicht modifizierte Androidsauf denen in der Regel die Standard-Apps von Google oder je nach Hersteller auch andere Apps vorinstalliert sind (z.B. haben Samsung-Geräte einen eigenen App-Store vorinstalliert)
  
-===== Sicherheitsupdates für Android =====+Prinzipiell steht es allen offen, eigene Änderungen beizusteuern oder eine eigene, modifizierte Version von Android zu veröffentlichen. Über die Zeit sind einige Projekte und Communities entstanden, die sich die Entwicklung und Wartung Google-freier Android-Betriebssysteme ("//Custom-ROMs//") zur Aufgabe machen. 
 + 
 + 
 +==== Sicherheitsupdates für Android ====
  
 Wie bei jeder anderen Software können auch beim Android-Betriebssystem Sicherheitslücken entdeckt werden. In der Regel werden sie bei Bekanntwerden so schnell wie möglich durch die Entwickler:innen von Google geschlossen und Updates zur Verfügung gestellt. Wie bei jeder anderen Software können auch beim Android-Betriebssystem Sicherheitslücken entdeckt werden. In der Regel werden sie bei Bekanntwerden so schnell wie möglich durch die Entwickler:innen von Google geschlossen und Updates zur Verfügung gestellt.
  
-Viele Smartphone-Hersteller vertreiben auf ihren Geräte leicht modifizierte Androids (z.B. hat Samsung lange einen eigenen App-Store mitinstalliert)weswegen diese ihrerseits oft die Sicherheitsupdates in ihren eigenen Android-Varianten einspielen müssen bevor sie bei den Nutzer:innen landen. Auch die Betreuer:innen von //Custom-ROMs// müssen sich um das einspielen dieser Updates in ihre eigene Android-Version kümmern.+Da viele Smartphone-Hersteller ihre Geräte mit modifizierten Versionen von Android ausliefernmüssen sie  diese die Sicherheitsupdates zunächst in ihren eigenen Android-Varianten einspielenbevor diese bei den Nutzer:innen landen. Auch die Betreuer:innen alternativer Android-Betriebssysteme müssen sich um das einspielen dieser Updates in ihre eigene Android-Version kümmern.
  
 Für die verschiedenen Android-Versionen gibt es dabei unterschiedliche Support-Zeiträume. Während die neueste Version, Android 11 (Stand 2020) sicher noch einige Jahre mit Sicherheitsupdates versorgen werden wird, hat Google z.B. den Support für Android 7 Ende 2019 eingestellt. Für die verschiedenen Android-Versionen gibt es dabei unterschiedliche Support-Zeiträume. Während die neueste Version, Android 11 (Stand 2020) sicher noch einige Jahre mit Sicherheitsupdates versorgen werden wird, hat Google z.B. den Support für Android 7 Ende 2019 eingestellt.
 +
 +<note tip>Auf https://endoflife.date/android gibt es eine ausführliche Übersicht, welche Android-Versionen noch Sicherheitsupdates erhalten.</note>
  
 Durch alternative Betriebssysteme ist es möglich, ältere Telefone, die von ihren Herstellern längst nicht mehr auf sichere Android-Versionen aktualisiert werden, wieder sicher benutzen zu können. Es gibt allerdings auch //Custom-ROMs//, die selbst noch auf veralteten Android-Versionen basieren. Bei solchen Custom-ROMs ist Vorsicht geboten: Zwar können deren Entwickler:innen die Verantwortung dafür übernehmen, beim Bekanntwerden von Sicherheitslücken ihre Custom-ROM zu patchen. Allerdings stehen einem kleines Team unabhängiger Entwickler:innen, die in der Regel in ihrer Freizeit eine Custom-ROM betreuen, ganz andere Ressourcen zur Verfügung als Google. Durch alternative Betriebssysteme ist es möglich, ältere Telefone, die von ihren Herstellern längst nicht mehr auf sichere Android-Versionen aktualisiert werden, wieder sicher benutzen zu können. Es gibt allerdings auch //Custom-ROMs//, die selbst noch auf veralteten Android-Versionen basieren. Bei solchen Custom-ROMs ist Vorsicht geboten: Zwar können deren Entwickler:innen die Verantwortung dafür übernehmen, beim Bekanntwerden von Sicherheitslücken ihre Custom-ROM zu patchen. Allerdings stehen einem kleines Team unabhängiger Entwickler:innen, die in der Regel in ihrer Freizeit eine Custom-ROM betreuen, ganz andere Ressourcen zur Verfügung als Google.
  
-===== Sicherheitsupdates für Firmware =====+==== Sicherheitsupdates für Firmware ====
  
 Neben den Updates für das Android-Betriebssystem spielt die //Firmware// des Gerätes eine Rolle. Mit //Firmware// sind Gerätetreiber gemeint, die für die Funktionalität der Hardware benötigt werden. Beispielsweise Treiber für den WLAN-Chip, den Prozessor, oder das Bluetooth-Modul. Neben den Updates für das Android-Betriebssystem spielt die //Firmware// des Gerätes eine Rolle. Mit //Firmware// sind Gerätetreiber gemeint, die für die Funktionalität der Hardware benötigt werden. Beispielsweise Treiber für den WLAN-Chip, den Prozessor, oder das Bluetooth-Modul.
Zeile 27: Zeile 33:
 <note tip>LineageOS-Nutzer:innen können mithilfe der **[[https://www.xda-developers.com/lineageos-trust-centralized-interface-security-privacy|Trust]]**-App unter ''Einstellungen -> Datenschutz -> Trust'' überprüfen ob Firmware und Betriebssystem aktuell sind. </note> <note tip>LineageOS-Nutzer:innen können mithilfe der **[[https://www.xda-developers.com/lineageos-trust-centralized-interface-security-privacy|Trust]]**-App unter ''Einstellungen -> Datenschutz -> Trust'' überprüfen ob Firmware und Betriebssystem aktuell sind. </note>
  
-===== microG und "Signature Spoofing" =====+==== microG und "Signature Spoofing" ====
  
 Manche praktische Funktionen von Android-Smartphones sind nicht bereits im quell-offenen AOSP enthalten, sondern in den Google-Play-Services implementiert. Wer also ein googlefreies Android-System installiert, könnte manche dieser Funktionen vermissen, zum Beispiel die Batterie-schonende Ortungsfunktion mithilfe von Mobilfunk und Wifi anstatt mit GPS oder die Contact-Tracing-Schnittstelle die benötigt wird um Contact-Tracing-Apps wie die Corona-Warn-App zu benutzen. Manche praktische Funktionen von Android-Smartphones sind nicht bereits im quell-offenen AOSP enthalten, sondern in den Google-Play-Services implementiert. Wer also ein googlefreies Android-System installiert, könnte manche dieser Funktionen vermissen, zum Beispiel die Batterie-schonende Ortungsfunktion mithilfe von Mobilfunk und Wifi anstatt mit GPS oder die Contact-Tracing-Schnittstelle die benötigt wird um Contact-Tracing-Apps wie die Corona-Warn-App zu benutzen.
Zeile 33: Zeile 39:
 Eine Alternative zu den Google-Play-Services ist //[[https://microg.org/|microG]]//. Das ist ein OpenSource-Projekt, dass einige Funktionen der Google-Play-Services privatsphäre-freundlich implementiert und sich gegenüber anderen Apps als Google-App ausgibt. Für wenige der bereitgestellten Funktionen ist aber weiterhin der Login in einen Google-Account erforderlich, das ist aber optional. Eine Alternative zu den Google-Play-Services ist //[[https://microg.org/|microG]]//. Das ist ein OpenSource-Projekt, dass einige Funktionen der Google-Play-Services privatsphäre-freundlich implementiert und sich gegenüber anderen Apps als Google-App ausgibt. Für wenige der bereitgestellten Funktionen ist aber weiterhin der Login in einen Google-Account erforderlich, das ist aber optional.
  
-Um sich als Google-Play-Services ausgeben zu können, muss das Betriebssystem das Vortäuschen einer Signatur (“signature spoofing”) erlauben. Manche halten das für ein unnötiges Sicherheitsrisiko, es könnte sich ja schlimmstenfalls eine bösartige App als eine andere App ausgeben. Da das Vortäuschen einer Signatur allerdings die aktive Zustimmung der Besitzerin benötigen würde, ordnen die Entwickler:innen von microG dieses Risiko als unwahrscheinlich ein.+Die Sicherheit von microG ist ein Streitthema unter Android-Entwickler:innen: Um sich als Google-Play-Services ausgeben zu können, muss das Betriebssystem das Vortäuschen einer Signatur (“signature spoofing”) erlauben. Manche halten das für ein unnötiges Sicherheitsrisiko, es könnte sich ja schlimmstenfalls eine bösartige App als eine andere App ausgeben. Die Entwickler:innen von microG schätzen das als unwahrscheinlich ein, da das Vortäuschen einer Signatur nicht von irgendwelchen Apps eingefordert werden kann, sondern aktive Zustimmung des Geräteadministrators erfordert.
  
 <note tip>Um die [[https://www.coronawarn.app/de/|Corona-Warn-App des Robert-Koch-Institutes]] zu benutzen sind Google-Play-Services oder alternativ microG nicht mehr nötig. Mit [[https://f-droid.org/packages/de.corona.tracing/|Corona Contact Tracing Germany]] steht bei FDroid ein Fork der Corona-Warn-App zur Verfügung, bei dem die nötige Contact-Tracing-Schnittstelle direkt in der App selbst eingebaut ist.</note> <note tip>Um die [[https://www.coronawarn.app/de/|Corona-Warn-App des Robert-Koch-Institutes]] zu benutzen sind Google-Play-Services oder alternativ microG nicht mehr nötig. Mit [[https://f-droid.org/packages/de.corona.tracing/|Corona Contact Tracing Germany]] steht bei FDroid ein Fork der Corona-Warn-App zur Verfügung, bei dem die nötige Contact-Tracing-Schnittstelle direkt in der App selbst eingebaut ist.</note>
  
-===== Bootloader-Entsperrung und verifizierter Boot====+==== Bootloader-Entsperrung ====
- +
-Der Bootloader ist ein kleines Stück Software, das dafür zuständig ist beim Einschalten das installierte Betriebssystem zu starten. Bei moderneren Smartphones hat der Bootloader zusätzlich die Aufgabe, das für den Start vorgesehene Betriebssystem auf seine Integrietät und Echtheit zu überprüfen. Für diese Prüfung ist das Betriebssystem bereits bei der Auslieferung vom Hersteller mit einer kryptografischen Signatur gekennzeichnet, die nur vom Hersteller ausgestellt werden kann. Der Bootloader überprüft, ob die Signatur korrekt ist, und dass das System nicht nachträglich nach der Ausstellung der Signatur manipuliert wurde. +
- +
-Um auf einem Gerät eine Custom-ROM zu installieren, ist es in der Regel nötig den Bootloader dafür zu entsperren. Die Entsperrung ist natürlich nicht vor dem Boot möglich, sondern erst nachdem man das Telefon gestartet und es entsperrt hat, ist es möglich in den Systemeinstellungen die Entsperrung zu erlauben. Aus Sicherheitsgründen wird das installierte Betriebssystem bei einer Entsperrung des Bootloaders auf Werkseinstellungen zurückgesetzt und der Speicher geleert, um zu verhindern dass jemand mit physischem Zugriff auf ein Smartphone die Passwortsperre des Betriebssystem umgeht und sich über den Bootloader Zugriff auf persönliche Daten verschafft. +
- +
-Das Entsperren des Bootloaders hinterlässt viele Geräte, auf denen eine Custom-ROM installiert wurde, mit einer Sicherheitslücke: Da der Bootloader bereits entsperrt ist, könnte jemand mit physischem Zugriff auf das Gerät unbemerkt zusätzliche (Schad-)Software auf dem Gerät installieren.  +
- +
-Bei manchen Geräten ist es möglich, den Bootloader nach Installation der Custom-ROM wieder zu sperren. Der verifizierte Boot als Sicherheitsfeature des ausgelieferten Betriebssystems geht dabei dennoch verloren. +
- +
-Wenige Geräte unterstützen die Wiederherstellung des verifizierten Bootvorgangs mit einer Custom-ROM. Dabei wird +
- +
-  - das neu installierte Betriebssystem mit einer digitalen Signatur versehen - diesmal mit der eigenen Signatur der Custom-ROM anstatt der des Herstellers +
-  - der Bootloader konfiguriert, die Integrität des Betriebssystems mit der kryptografischen Signatur der Custom-ROM (anstatt des Herstellers) abzugleichen +
-  - im letzten Schritt der Bootloader wieder gesperrt +
- +
-Es gibt eine [Übersicht](https://hub.libranet.de/wiki/and-priv-sec/wiki/verified-boot), welche Geräte einen verifizierten Bootvorgang (zu welchem Grad) unterstützen. +
- +
----- +
- +
-===== Empfohlene google-freie Custom-ROMs ===== +
- +
-==== GrapheneOS ==== +
- +
-{{ :howto:android:grapheneos-logo.png?nolink&60|}} +
- +
-Eine alternatives Android mit Fokus auf Stabilität und Sicherheit: [[https://grapheneos.org/|GrapheneOS]] enthält unter der Haube viele Anpassungen, die das ausnutzen von Sicherheitslücken durch Angreifer:innen erschweren sollen. Manche dieser Anpassungen können allerdings dazu führen, dass manche Apps nicht auf GrapheneOS funktionieren. Sicherheitsupdates werden sehr schnell bereitgestellt.  +
- +
-==== CalyxOS ==== +
- +
-{{ :howto:android:calyxos-logo.jpg?nolink&60|}}  +
- +
-[[https://calyxos.org/|CalyxOS]] erbt einige der Sicherheits-Features von GrapheneOS, verzichtet aber auf manche Sicherheits-Features und hat //microG// vorinstalliert, um eine größere Kompatibilität mit Apps zu ermöglichen. Es ist nicht nur auf Sicherheit, sondern auch auf Benutzerfreundlichkeit ausgelegt. Apps wie F-Droid, Tor Browser, Signal Messenger und RiseupVPN sind bereits vorinstalliert. Eine gute Auswahl, wenn das Telefon "einfach nur funktionieren" soll. +
- +
-<note>GrapheneOS und CalyxOS sind nur für die neueren //Google Pixel// Geräte verfügbar. Diese enge Auswahl wird damit begründet dass diese Geräte vom Hersteller zuverlässig mit mit Sicherheitsupdates versorgt werden. Außerdem unterstützen sie das erneute [[#bootloader-entsperrung_und_verifizierter_boot|Sperren des Bootloaders und verifizierten Boot]].</note> +
- +
-==== LineageOS ==== +
- +
-{{ :howto:android:lineageos-logo.png?nolink&60|}}+
  
-[[https://lineageos.org/|Lineage]] ist die am meisten verbreitete Custom-ROMSie wird von einer großen open-source community gepflegt und unterstützt eine Vielzahl von Geräten. Es wird wöchentlich mit Updates versorgt. Es ist nach der Erstinstallation sehr minimalistisch eingerichtet: Selbst einen App-Store wie F-Droid oder Aurora muss man selbst nachinstallieren+Der Bootloader ist ein kleines Stück Software, das dafür zuständig ist beim Einschalten das installierte Betriebssystem zu startenUm auf einem Gerät ein alternatives Betriebssystem zu installieren, ist es in der Regel nötig den Bootloader dafür zu entsperrenDie Entsperrung ist nicht vor dem Boot möglich, sondern erst nachdem man das Telefon gestartet hat, kann nach Eingabe der PIN die Entsperrung in den Systemeinstellungen erlaubt werden werden
  
-Eine allgemeine Liste unterstützter Geräte ist in ihrem [[https://wiki.lineageos.org/devices/|Wiki]]. Auf https://lineageosdevices.com/ kann man gezielt mit Suchkriterien wie z.B. Displaygröße das passende Gerät finden.+Aus Sicherheitsgründen wird das installierte Betriebssystem bei einer Entsperrung des Bootloaders auf Werkseinstellungen zurückgesetzt und der Speicher geleert, um zu verhindern dass jemand mit physischem Zugriff auf ein Smartphone die Passwortsperre des Betriebssystem umgeht und sich über den Bootloader Zugriff auf persönliche Daten verschafft.
  
-==== LineageOS for microG ====+<note important>Nur manche Geräte erlauben es, den Bootloader nach erfolgreicher Installation eines alternativen Betriebssystems wieder zu sperren. Ein entsperrter Bootloader hinterlässt ein Gerät mit einer Sicherheitslücke: Da der Bootloader bereits entsperrt ist, könnte jemand mit physischem Zugriff auf das Gerät unbemerkt zusätzliche (Schad-)Software auf dem Gerät installieren. Auch ein sogenannter //[[https://de.wikipedia.org/wiki/Kaltstartattacke|Cold Boot Attack]]// ist denkbar: Mit diesem kann die Geräteverschlüsselung eines eingeschalteten aber gesperrten Gerätes potenziell umgangen werden.</note>
  
-{{ :howto:android:lineage-microg-logo.png?nolink&60|}}+==== Verifizierter Boot ====
  
-[[https://lineage.microg.org/|LineageOS for microG]] ist eine minimal angepasste Version von Lineage, auf der microG und F-Droid vorinstalliert sindUnterstützt werden alle Gerätefür die Lineage verfügbar ist. Auch für //LineageOS for microG// gibt es regelmäßige Updates.+Bei moderneren Smartphones hat der Bootloader zusätzlich die Aufgabedas für den Start vorgesehene Betriebssystem auf seine Integrität und Echtheit zu überprüfenSo soll ausgeschlossen werden, dass die Kernfunktionen des Betriebssystems seit Auslieferung manipuliert oder beschädigt wurden. Für diese Prüfung ist das Betriebssystem vom Hersteller mit einer kryptografischen Signatur gekennzeichnetDer Bootloader überprüft, ob die Signatur übereinstimmt ist und vom Hersteller stammt.
  
-==== /e/ ====+Der verifizierte Boot als Sicherheitsfeature des ausgelieferten Betriebssystems geht bei der Installation eines alternativen Betriebssystems meistens verloren. Nur wenige Geräte unterstützen sowohl das Sperren des Bootloaders als auch die Wiederherstellung des verifizierten Bootvorgangs mit einem alternativen Betriebssystem. 
  
-{{ :howto:android:e_os-logo.jpg?nolink&60|}}+Es gibt eine [[https://hub.libranet.de/wiki/and-priv-sec/wiki/verified-boot|Übersicht]], welche Geräte einen verifizierten Bootvorgang (zu welchem Grad) unterstützen.
  
-//[[https://e.foundation|/e/]]// ist ein ebenfalls ein //Fork//, d.h. eine modifizierte Version, von LineageOS: Es kommt mit einem eigenen App-Store, über den sowohl Apps von F-Droid als auch Google Play installiert werden können, microG und weiteren vorinstallierten Apps. Gute Wahl, wenn man ein benutzer:innenfreundliches Android möchte, das gleich nach der Installation "einfach funktioniert”.+==== Hardware-basierte Limitierung von PIN-Eingaben ====
  
-Es werden mehr Geräte unterstützt als zurzeit von LineageOS ([[https://doc.e.foundation/devices/|Geräteliste]]). Für manche Geräte sind nur auf Android 7 basierte Versionen verfügbar, die aufgrund der oben genannten Gründe nur bedingt empfehlenswert sind.+Insbesondere Smartphones stehen vor dem Problem, dass wirklich sichere Passwörter für einen Touch-Display in der Regel zu lang wären und sich nicht leicht merken lassenJemand mit unbefugtem Zugriff auf das Gerät ist allerdings nicht auf das unhandliche Touch-Display und eine Limitierung von PIN-Eingaben durch das Display beschränktsondern könnte den Speicher des Gerätes einfach auf eine Festplatte übertragen und die PIN-Eingaben automatisiert, mit vielen Tausend PIN-Kombinationen pro Minute, von einem anderen Computer aus durchführen. Diese Methode, um an den Inhalt eines verschlüsselten Datenträgers zu gelangen, nennt sich "Brute Force" (eng,: Rohe Gewalt).
  
-<note important>Bei den meisten Gerätendie für LineageOS oder dessen //Forks// geeignet sind, ist es nicht möglich, den Bootloader nach der Installation wieder zu sperrenEin zusätzlich auch noch verifizierter Bootvorgang wird unabhängig vom Gerät grundsätzlich nicht unterstützt. Wie [[#bootloader-entsperrung_und_verifizierter_boot|oben]] erklärt ist das ein Abstrich in der Sicherheit des Gerätes</note>+Aus diesem Grund sind mittlerweile viele Smartphones mit einem Hardware-Chip ausgestattet, der diese Art von Angriff erschweren soll. Dieser Hardware-Chip ist an ein spezifisches Gerät gebunden und so beschaffen, dass seine interne Informationen nicht einfach ausgelesen oder kopiert werden können. Bei der Geräteverschlüsselung mit einem solchen Hardware-Chip wird das kryptografische Geheimnis, also der Schlüssel, mit dem der Speicher verschlüsselt ist, sozusagen zweigeteilt: Der eine Schlüssel ist der PIN, den man zum Entsperren benutzt. Der andere Schlüssel ist im Chip verstecktund wird nur freigegebenwenn der eingegebene PIN korrekt ist. Eine Angreiferin könnte den Speicher eines derart verschlüsselten Smartphones zwar auf eine andere Festplatte kopieren, würde aber dabei mit dem Hardware-Chip den zweiten Schlüssel für die Entschlüsselung verlieren: Selbst mit unendlich vielen Versuchen wäre eine Entschlüsselung also nicht mehr möglich. Der Chip kann auch so konfiguriert sein, sich ab einer bestimmten Anzahl von Fehlversuchen selbst zu leerenund dadurch unwiederbringlich den Schlüssel zu löschen.
  
 +Smartphones, die über eine Hardware-basierte Limitierung von PIN-Eingaben verfügen, sind in der Theorie besser gegen Datendiebstahl durch 'Brute Force' geschützt. Gleichzeitig ist ein solcher Hardware-Chip kein Wundermittel, sondern eine sehr komplexe und von Menschen gemachte Technologie, deren Konzeption oder Implementation potenziell Sicherheitslücken aufweisen könnte. Zudem sind sie in aller Regel //proprietär//, d.h. Quellcode oder Design der Chips ist nicht öffentlich einsehbar oder überprüfbar. Zudem schützt eine limitierte PIN-Eingabe nur gegen 'Brute Force'-Angriffe, und nicht schlechte Passwörter, die sich aus der Biografie vermuten lassen (z.B. Geburtsdaten oder Namen).
howto/android/geraetesicherheit.1641770608.txt.gz · Zuletzt geändert: 2022/01/10 00:23 von yadda

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki