Login
Newsletter
Werbung

Di, 8. Juli 2014, 14:22

Software::Mobilgeräte

Garrett: Selbstsignierte Android-ROMs

Matthew Garrett hat in seinem Blog eine Anleitung veröffentlicht, wie man alternative ROMs für Android-Geräte kryptografisch signiert. Sinn der Übung ist es, mit der alternativen Firmware die gleiche Sicherheit zu erzielen wie mit der Hersteller-Firmware.

Google Nexus 7

Google

Google Nexus 7

Garrett beginnt mit einem Überblick über das Sicherheitsmodell bei Nexus-Geräten von Google. Das Android-System verhindert direkte Zugriffe auf die Flash-Chips. Der Bootloader erlaubt das Überschreiben des Flash-Speichers nur, wenn er entsperrt ist. Das Recovery-Image erlaubt nur die Installation von Images, die mit einem bekannten Schlüssel signiert wurden, dem vertraut wird. Diese Maßnahmen verhindern, dass ein Angreifer das Betriebssystem ändern kann. Das ist nur durch das Entsperren des Bootloaders möglich, was alle Benutzerdaten löscht.

Um ein eigenes Image auf dem Gerät zu installieren, muss man zunächst den Bootloader entsperren, dann ein neues Recovery-Image installieren. Laut Garrett ist das eine Notwendigkeit, da das Recovery-Image die Datenbank der (öffentlichen) kryptografischen Schlüssel enthält, denen vertraut werden soll. Das Problem ist nun, dass jedes Android-Image, das nicht vom Originalhersteller kommt, entweder gar nicht oder mit den öffentlich bekannten Android-Testschlüsseln signiert ist. Das neue Recovery-Image wird daher jedes beliebige Image flashen, selbst wenn der Bootloader wieder gesperrt ist. Damit könnten Kriminelle oder Geheimdienste, die das Gerät in die Hände bekommen, ein Image installieren, das Kreditkartendaten oder geheime Schlüssel ausspioniert oder alle Daten zur NSA übermittelt.

Die Probleme lassen sich verhindern, was allerdings mit einigem Aufwand verbunden ist und von Garrett jetzt zum möglicherweise ersten Mal dokumentiert wurde. Es erfordert, dass man jedes Update selbst neu signiert, doch die höhere Sicherheit sollte den Aufwand wert sein. Zu empfehlen ist das Vorgehen allerdings nur erfahrenen Benutzern. Garrett hofft, dass anhand der Dokumentation jemand eine benutzerfreundlichere Methode entwickelt.

Im ersten Schritt muss man wie üblich den Bootloader entsperren, was die eigenen Daten auf /data löscht, die man also vorher gesichert haben muss. Danach besorgt man sich das Original Recovery-Image für das Gerät. Dieses wird mit einigen Kommandozeilenprogrammen entpackt, dann fügt man seine eigenen Schlüssel hinzu und packt das Image wieder zusammen. Nachdem man dieses Image in das Gerät geflasht hat, kann man es nutzen, um ein beliebiges anderes Image, das man selbst signiert hat, zu flashen. Dann kann man den Bootloader wieder sperren.

Es versteht sich von selbst, dass man seinen privaten Schlüssel sicher aufbewahren und auch das Mobilgerät ausreichend absichern muss, beispielsweise die Sicherung des Root-Zugangs mit einer PIN. Garrett hat einige Vorstellungen, wie sich der komplizierte Vorgang des Firmware-Updates vereinfachen ließe. Insbesondere wäre ein Standard-Mechanismus für die Schlüsselverwaltung wünschenswert, weil dann der Aufwand auf vier relativ einfache Schritte reduzierbar wäre: Entsperren des Bootloaders, Installation eines neuen Schlüssels, erneutes Sperren des Bootloaders und schließlich Flashen des neuen, mit dem zuvor installierten Schlüssel signierten ROMs. Garrett ist immerhin zufrieden, dass es überhaupt eine Möglichkeit gibt, eigene Schlüssel zu verwenden. Zuvor hatte er Google kritisiert, weil er keine solche Möglichkeit gesehen hatte.

Werbung
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung