Sind die Gapps (zB von goo.im) manipulationssicher signiert? Gibt es eine Möglichkeit zu überprüfen, ob sie mit denen von Google übereinstimmen?
Prüfen alle / die meisten ROMs darauf?
Alle Android-Apps sind signiert.
Android führt keine unsignierte App aus. Darüber hinaus sind die Signaturen an die App-Berechtigungen gebunden, sodass andere Apps nicht mit ihr kommunizieren können und Sie keine Updates von Google Play erhalten können, wenn die Signatur falsch ist.
Die Android-Signierung wird ausführlicher unter Signing Your Applications in der Android-Entwicklerdokumentation behandelt, aus der die obigen Informationen stammen.
Wenn Sie paranoid sind und die Signatur einer App überprüfen möchten , können Sie das im Java Development Kit (JDK)jarsigner
enthaltene Dienstprogramm verwenden . Zum Beispiel:
jarsigner -verify -verbose -certs Vending.apk
Wenn Sie Ihre Gapps von erhalten goo.im
haben, können Sie manuell überprüfen, ob die MD5-Summe der heruntergeladenen .zip-Datei korrekt ist. Dies würde Ihnen versichern, dass die Datei nicht manipuliert wurde.
Beim Flashen durch ClockworkMod Recovery gibt es diese Option: install zip from sdcard > toggle signature verification
.
Wie die hilfreiche Antwort von Michael Hampton sagt, sind alle Android-Apps signiert. Das heisst:
All dies bedeutet nicht, dass eine Wiederherstellungskonsole wie TeamWin oder ClockworkMod Recovery die Signaturen dieser Schlüssel ordnungsgemäß überprüft, noch bedeutet es, dass ein Rom von Google stammt, nur weil jemand es ordnungsgemäß signiert hat.
Überprüfen gängige ROMs die Signaturen von Zip-Dateien? Ja, das tun sie
Glücklicherweise scheint die TeamWin-Wiederherstellung . Wenn ich es richtig verstehe, überprüft der Quellcode (hier sind die Installations- und Überprüfungsteile ) der TeamWin-Wiederherstellung, ob eine ZIP-Datei vollständig signiert wurde, indem ein privater Schlüssel verwendet wird, der einem der öffentlichen Schlüssel in /res/keys entspricht . Es tut dies, wenn es angewiesen wird, die Signatur einer signierten ZIP-Datei zu überprüfen, was sich von der Überprüfung der md5-Prüfsumme der Datei unterscheidet. In meiner Version (v2.7.0.0) sehe ich auf dem Installationsbildschirm die Option „Zip-Datei-Signaturüberprüfung“, von der ich annehme, dass diese Funktion aktiviert wird.
Die ClockworkMod-Wiederherstellung überprüft auch Zip-Datei-Signaturen . Der Quellcode (siehe Installationscode und Verifizierungscode ) verhält sich ganz ähnlich wie der von TeamWin: Eine Zip-Datei gilt als verifiziert, wenn sie mit einem privaten Schlüssel signiert ist, in dessen öffentlicher „anderer Hälfte“ sie lebt/res/keys
Können wir sicher sein, dass die Apps aufgrund dieser Signatur von Google stammen? Wahrscheinlich nicht!
/res/keys
signiert werden kann .Während Signaturen für APK-Dateien überprüft werden, scheint es, dass System-Apps (= installierte Apps auf /system/
) entspanntere Überprüfungen haben. Dies ermöglicht das Einfügen zusätzlicher Dateien in eine APK-Datei und besteht dennoch die Verifizierungsprüfungen.
Ich habe die Details auf dieser Seite gepostet , das Wesentliche ist, dass der Validierungscode in PackageParser.java (Teil von platform_frameworks_base) nur Dateien überprüft, die in der Manifestdatei aufgeführt sind, anhand des Zertifikats in der APK-Datei. Andere Dateien umgehen die Validierung.
Die Nexus Factory-Images enthalten Google Apps ohne die spezielle classes.dex
Datei (stattdessen haben sie eine „optimierte“ .odex-Datei in einem Unterverzeichnis neben der .apk-Datei). Dies bedeutet, dass jeder ein APK erstellen kann, das eine classes.dex
Datei enthält, die tatsächlich bösartig ist. Seien Sie vorsichtig mit Dateien aus nicht vertrauenswürdigen Quellen!
stochastisch
Michael Hamton
stochastisch