DS24: Input Vortrag von Bricken Impossible
Added:
❓ Wichtige Begriffe und Definitionen
Quelle:1
ROM? Nicht nur eine Stadt in Italien!? 🏙️🇮🇹
Was sind Android-ROMs (Distributionen)1
- Definition:
- Android ROM = Android Read Only Memory
- bezeichnet umgangssprachlich eine Datei, die ein Android-System enthält.
- Arten von ROMs
- StockROM: vorinstalliertes Android-System, welches der Hersteller mit dem Gerät ausliefert → kann wieder installiert werden, wenn beim Flashen etwas schiefläuft.
- CustomROM: Android-System von Drittanbietern, welches nachträglich auf dem Gerät installiert werden kann und tiefe Eingriffe in das System hat.
- Verwirrender Name:
- Besserer Name: Android-Distribution (ähnlich zur Linux-Distribution)
- Im Folgenden: Verwenden der Wörter als Synonyme (Vor allem, weil man mit “ROM” bessere Wortspiele hat)
Bricken und Flashen
- Def: Flashen
- beschreibt das Installieren eines neuen Android-Systems auf dem Flash-Speicher des Gerätes.
- Def: Bricken
- geschieht, wenn ein Gerät nach dem Flashen nicht mehr funktionsfähig ist. Das äußert sich z.B. durch Bootloops und passiert, weil beim Flashen Fehler gemacht wurden oder die ROMs Fehler enthalten.
✅ Gute Gründe für alternative Betriebssysteme
Alle Wege führen nach ROM! 🛤️📀
- Kontrolle über das eigene Gerät
- moralisches Argument
- Man sollte selbst die Wahl haben, welche Software man auf dem selbst gekauften Gerät installiert
- Längere Software-Updates
- 2 Arten von Updates:
- Android-Version-Upgrade: Android-Software-Update, welches die Android-Version z.B. von 12 auf 13 erhöht
- Security Patch: Kleines Update innerhalb einer Android-Version
- Firmware Update: Update, welches die proprietären Teile der Firmware des Gerätes aktualisiert (Teil eines anderen Updates)
- Durchschnittlicher Softwaresupport:2
- 2 Android-Version-Upgrades und 2-3 Jahre Security Patches
- vereinzelte Hersteller mit mehr, aber vor allem bei teuren Premium- bzw. Flaggschiff-Geräten
- Gedanken:
- Viele Menschen kaufen ein Smartphone nicht zur Veröffentlichung, sondern später, d.h.: weniger als 2 Jahre Updates
- Smartphones sind heutzutage sehr leistungsstark und können locker auch 4 Android-Version-Upgrades verkraften.
- Wenn das Smartphone nach 2 Jahren keine Updates bekommt, muss ein neues angeschafft werden, um weiter eine sichere Nutzung zu gewährleisten.
- auch wenn Smartphone keine Android-Updates mehr erhält, kann es noch Updates durch ROMs geben: Das sind dann Android-Version-Upgrades oder Security Patches
- 9 Jahre altes Fairphone 2 bekommt immer noch Android-Version-Upgrades und Security Patches → Das ist aber die Ausnahme, da das Gerät sehr beliebt war.
- 2 Arten von Updates:
- Personalisierung
- Durch ROM kann das Gerät an die eignen Bedürfnisse angepasst werden:
- mehr Sicherheit
- aktuellste Android-Versionen
- kein Google
- tiefere Systemrechte
- anderes Design
- Durch ROM kann das Gerät an die eignen Bedürfnisse angepasst werden:
- Verbesserte Privatsphäre
- keine unerwünschten, vorinstallierten Programme, die Verbindungen zum Entwickler aufbauen
- weniger Abhängigkeiten von Google-Diensten
- Geschäftsmodell: Tracking, Profilbildung, Werbung
- ohne Google: weniger Tracking
- weniger Dienste des Herstellers. Diese können Nutzer noch zusätzlich zu Google tracken.
- keine Pflicht für einen Google-Account
- erhöhte Sicherheit
- manche ROMs mit extra Sicherheits-Bemühungen
- Härten von wichtigen Systemkomponenten
- sehr schnelle Updates
- Entziehen von Privilegien für bestimmte Apps
- zusätzliche Sicherheitspatches
- viele Projekte mit offenem Source-Code
- manche ROMs mit extra Sicherheits-Bemühungen
- mehr technisches Verständnis
- für viele Menschen → Smartphone wichtigster Begleiter, trotzdem wenig Wissen über innere Funktionsweise
- durch technische Auseinandersetzung (durch Flashen), erhalten von mehr Einsichten über Innereien des Geräts und auch Computern an sich
- Welche Komponenten lassen sich verändern?
- Was ist ein Betriebssystem?
- Wie startet ein Smartphone?
❌ Gute Gründe gegen alternative Betriebssysteme
Das sind nicht die An-Droiden, die ihr sucht! 🚫🤖
- Sicherheit
- viele ROMs mit verspätete Sicherheitsupdates (erst Monate später) → offene Sicherheitslücken
- durch Hinzufügen von Code durch Maintainer → neue Sicherheitslücken möglich
- wenig finanzielle Mittel für z.B. Sicherheits-Audits, da Projekte häufig Hobbys oder spendenfinanziert
- App-Support
- Installation fast aller Apps aus alternativen Quellen möglich:
- F-Droid: App-Store mit ausschließlich freien Apps
- Google-Play-Proxy (z.B. Aurora-Store möglich): App, welche APKs (also Installationsdateien) aus dem Playstore zur Verfügung stellen
- Push-Notifications nicht nutzbar, wenn App den Push-Service von Google nutzt (Alternative erforderlich)
- Apps nicht nutzbar, wenn sie Googles SafetyNet-Verifikation erfordern (häufig Banking-Apps)
- SaftyNet erkennt gefährliche Apps oder Veränderungen am Gerät.
- App-Support ist jedoch stark von ROM abgängig.
- Installation fast aller Apps aus alternativen Quellen möglich:
- Prozess des Flashens
- Einfachheit stark vom Gerät abhängig (Beliebtheit)
- Schwierigkeit je nach Flash-Methode (GUI-Anwendung, Commandline)
- Qualität der Tutorials stark schwankend
- Wissen über Command-Line erforderlich
- Es sind mitunter erweiterte Kenntnisse nötig, falls es zu Fehlern kommt.
- Tools zum Flashen haben oft schlechte UX und sind auf verdächtigen Websites erhältlich.
- Einfachheit stark vom Gerät abhängig (Beliebtheit)
- Instabilität
- aufgrund sehr kleiner Entwicklerteams nur begrenztes Testen möglich
- kleine Bugs oder Abstürze möglich
- Instabilitäten aber eher selten, da Basis Android sehr gut getestet.
📀 ROM-Dating
Alle 2 Jahre verliebt sich ein Android-User in eine Custom-ROM!
Die Kandidaten
- LineageOS3
- Android-basiertes (AOSP-basiert) Betriebssysteme mit größtenteils freier Software
- von gerätespezifischen (ehrenamtlichen) Entwicklern bereitgestellt
- Nachfolger von Cyanogenmod
- Basis für viele andere Android Distributionen
- Fokus: breiter Gerätesupport
- /e/OS4
- auf LineageOS basierend
- Verwaltung durch französische Non-Profit-Organisation
- französische For-Profit-Organisation Murena: Verkauf von Geräten mit /e/OS, Entwicklung des Betriebssystems, Bereitstellung Onlinedienste
- Fokus: Google-freies Ökosystem
- DivestOS5
- auf LineageOS basierend
- “Vollzeit passion project” des Entwicklers Tavi seit 2014
- spenden-finanziert
- Fokus: Privatsphäre & Sicherheit
- GrapheneOS6
- basiert auf dem Android Open Source Project (AOSP)
- aufregende Geschichte mit CopperheadOS und Chefentwickler → genug Stoff für eigenen Vortrag
- spenden-finanziertes Community-Projekt
- Anpassungen auf Systemebene zur Verbesserung von Sicherheit und Privatsphäre
- Fokus: Sicherheit++
Unterstützte Geräte, Sicherheit, Privatsphäre
ROM | #Unterstützter Geräte | Privatsphäre | Sicherheit | Schwierigkeit der Installation |
---|---|---|---|---|
DivestOS | o (170) | o (kaum Google-Abhängigkeiten) | o (sehr schnelle Updates; (teilweise) Verified Boot; kein Update für proprietäre Firmware bei älteren Geräten) | o (mit Heimdall/Fastboot) |
LineageOS | ✅✅ (206 + 288 EOL) | ❌ (Abhängigkeiten von Googlediensten → Netzwerkverkehr mit Google) | ❌ (verzögerte Sicherheitsupdates; kein Update von proprietären Komponenten; schlechte Verified Boot Unterstützung) | o (je nach Gerät mit Heimdall oder Fastboot) |
/e/OS | ✅ (270) | o (kaum Abhängigkeiten von Google; aber eindeutiger Identifier bei der Update-Prüfung) | ❌ (verzögerte Sicherheitsupdates; kein Update von proprietären Komponenten; kein Verified Boot) | o (mit Heimdall/Fastboot) / ✅ (mit Easy-Installer) |
GrapheneOS | ❌❌ (12 + 2 EOL; Nur Google-Pixel-Geräte) | ✅ (keine ungewollte Abhängigkeit von Google; Verzicht auf Geräte-Identifikatoren; Privacy by default) | ✅✅ (schnelle Updates; Update proprietärer Komponenten; erweiterte Schutzmechanismen) | ✅ (GUI-Installer im Browser) |
Referenzwert ist DivestOS
Features
ROM | Google-Dienste | Ökosystem | Besondere Features |
---|---|---|---|
DivestOS | ❌ (unprivileged MicroG möglich) | ❌ | automatisches Kernel-Patching; Entfernen vieler proprietärer Software-Blobs; Viren-Scanner; F-Droid vorinstalliert; gehärtete System Web-View; … |
LineageOS | ❌ (manuelle Installation der normalen Play-Dienste oder MicroG möglich) | ❌ | extrem langer Softwaresupport; Alternative Standard-Apps für Kalender, Kamera, Telefon, … |
/e/OS | ✅ (MicroG) | ✅ (Murena.io; Nextcloud-Stack mit kostenlosem Zugang und 1 GB Cloudspeicher; E-Mail Plattform; Notizen-Sync) | Entfernen von Google-Abhängigkeiten; PlayStore Alternative; Advanced-Privacy App (mehr Infos zu Netzwerkverkehr und Berechtigungen); iOS-ähnliches Design |
GrapheneOS | ✅ (Sandboxed Play-Services) | ❌ | tiefgreifende Änderungen im System für mehr Sicherheit. Siehe Datenspuren-Vortrag12 |
⚡ Flashing 101
Wie vom Blitz getroffen… 📱⚡
Wichtige Flash-Begriffe
- Bootloader15
- ist ein Computerprogramm, welches für das initiale Hochfahren des Computers zuständig ist. Er sorgt unter anderem dafür, dass das Betriebssystem geladen wird.
- Recovery16
- spezieller Modus eines Android-Gerätes, welcher zur Fehlerbehebung (Recovery = Wiederherstellung) gedacht ist.
- aufgrund der Funktionen → unspektakuläres Aussehen
- Unser Nutzen: Flashen des Systems über das Recovery
- Fastboot17
- Bezeichnung für 3 verschiedene Dinge
- Protokoll zur Kommunikation mit Android-Geräten
- Command-Line-Tool, um dieses Protokoll zu nutzen
- Modus auf dem Android-Smartphone, in welchem es Befehle dieses Protokolls entgegennimmt (Teil des Bootloaders des Gerätes)
- Manipulation des Flash-Dateisystems des angeschlossenen Gerätes möglich
- dadurch Folgendes möglich:
- Entsperren des Bootloaders
- Installieren eines Custom-Recoveries und einer CustomROM
- Bezeichnung für 3 verschiedene Dinge
- Odin
- SAMSUNG-eigene Fastboot-Implementierung.
- ADB18
- Android Debug Bridge
- Tool, um Android-Geräte zu modifizieren.
- Features:
- Anschauen von Logs
- Kopieren von Dateien
- Installation von Apps
- teilweise zum Flashen
Vorbereitung aufs Flashen
- Recherche
- Suchen einer ROM mit Unterstützung für das eigene Gerät (Kriterien siehe ROM-Dating)
- Durchlesen eines Flash-Tutorials für das jeweilige Gerät (meist auf der Seite der CutomROM zu finden)
- Backups, Backups, Backups
- Sichern aller wichtigen Dateien/Medien (Fotos, Dokumente, Videos etc.)
- Sichern wichtiger Apps
- z.B. Banking-App, TAN-Generator, Messenger, Fitness-Tracker-Apps, etc.
- Eventuell ist eine neue Beantragung eines Pins notwendig.
- Vorbereiten des Computers
- Flashen ohne Computer nicht möglich
- Installieren der nötigen Flash-Programme
- Herunterladen von CustomROM und Recovery
- Genau Lesen
- Vollständiges Lesen der Installationsanweisungen vor dem Beginn der Installation
- Klären von Unklarheiten
- erst dann beginnen
Flashing-Methoden - Die Flashtastischen 4
Quelle:7
- Fastboot
- OEM-Unlock (Bootloader)
- Boote in den Fastboot-Modus
- Flashe Custom-Recovery mit Standard Android-Tool
fastboot
- Flashe Software-Zip im neuen Cutom-Recovery
- Fastboot (Vendor)
- genau wie “Fastboot”, nur dass das Unlocking des Bootloaders schwierig ist.
- Heimdall/Odin (Samsung)
- Odin = spezielle von Samsung eingesetzte Fastboot-Version
- Nutzen von speziellen Samsung Install-Tools zum Installieren der Custom-RO
- Grafische Installer oder Installations-Skripte (/e/OS, GrapheneOS)
- Installation über Website oder mit GUI-Programm
- im Hintergrund meist Fastboot
Firmware-Reset-Tools
- Software wie fastboot, heimdall oder adb ist OpenSource.
- Woher kommen Odin, MSM Tool und co?
- umgangssprachlich ist sie “vom Laster gefallen”
- Leaks aus Hacking-Angriffen → Odin4 kommt aus den Dateien des Lapsus$-Samsung-Hack19
- Veröffentlichung durch Mitarbeitende
-
PCMag. Encyclopedia: Android ROM. Last accessed: 02.09.2024. https://www.pcmag.com/encyclopedia/term/android-rom ↩︎ ↩︎
-
C. Scott Brown. (17.06.2024). Here are the phone update policies from every major Android manufacturer. Last access: 22.08.2024. https://www.androidauthority.com/phone-update-policies-1658633/ ↩︎
-
Wikipedia Contributors. LineageOS. Last accessed: 23.08.2024. https://en.wikipedia.org/wiki/LineageOS ↩︎
-
e Foundation. /e/OS. Last accessed: 23.08.2024. https://e.foundation/e-os/ ↩︎ ↩︎
-
Divested Computing Group. About. Last accessed: 23.08.2024. https://divestos.org/pages/about ↩︎
-
GrapheneOS. About. Last accessed: 23.08.2024. https://grapheneos.org/ ↩︎
-
Divested Computing Group. Device Downloads. Last accessed 22.08.2024. https://divestos.org/pages/devices ↩︎ ↩︎
-
/e/OS. Smartphone Selector.Last accessed 22.08.2024. https://doc.e.foundation/devices ↩︎
-
LineageOS Wiki. Devices. Last accessed: 22.08.2024. https://wiki.lineageos.org/devices ↩︎
-
GrapheneOS. FAQ. Last accessed: 22.08.2024. https://grapheneos.org/faq#supported-devices ↩︎
-
Kuketz, Mike. (10.01.2023). Android: GrapheneOS, CalyxOS und Co. unter der Lupe – Custom-ROMs Teil1. Last accessed: 23.08.2024. https://www.kuketz-blog.de/android-grapheneos-calyxos-und-co-unter-der-lupe-custom-roms-teil1/ ↩︎
-
Basti n00b0ss. (16.09.2024). GrapheneOS eine datenschutzfreundliche Android Alternative. Last accessed: 29.08.2024. https://media.ccc.de/v/ds23-253-grapheneos-eine-datenschutzfreundliche-android-alternative ↩︎
-
Divested Computing Group. Key Features. Last accessed: 29.08.2024. https://divestos.org/index.html ↩︎
-
GrapheneOS. Features Overview. Last accessed: 29.08.2024. https://grapheneos.org/features ↩︎
-
Wikipedia Contributors. Bootloader. Last accessed: 03.09.2024. https://en.wikipedia.org/wiki/Bootloader ↩︎
-
Hill, Simon. (27.10.2021). How to Use Android Recovery Mode. Last accessed: 02.09.2024. https://www.wired.com/story/how-to-use-android-recovery-mode/ ↩︎
-
Wikipedia Contributors. Fastboot. Last accessed: 02.09.2024. https://en.wikipedia.org/wiki/Fastboot ↩︎
-
Wikipedia Contributors. Android Debug Bridge. Last accessed: 03.09.2024. https://en.wikipedia.org/wiki/Android_Debug_Bridge ↩︎
-
TheAirBlow. (03.10.2022). “This is official odin from the LAP$US Samsung leak. I didn’t find it’s source code as the executable itself was used in some sort of CI.” Last accessed: 14.09.2024. https://xdaforums.com/t/official-samsung-odin-v4-1-2-1-dc05e3ea-for-linux.4453423/ ↩︎