F-Droid und Janusangriffe

Janusangriffe sind auf die Android-Welt übergesprungen, und wir sind in Aktion getreten, um sie uns vom Leib zu halten.

Zunächst einmal, f-droid.org, guardianproject.info/fdroid und apt.izzysoft.de/fdroid wurden auf mögliche Janus-Exploits durchsucht, und es wurden keine gefunden. Der größte Schutz von f-droid.org gegen Schadsoftware ist die Notwendigkeit, dass alles aus der Quelle hergestellt werden muss, Menschen alle Apps, die hinzugefügt werden, überprüfen, und für immer ein Source-Tarball für jede Version gespeichert wird. Exploit-Schreiber möchten den Quelltext für ihre Schadsoftware nicht aus den Händen geben, noch ihre Aktivitäten permanent in git protokolliert haben, somit hält dieses Vorgehen sie fern. In seiner 7-jährigen Tätigkeit wurden bei f-droid.org noch keine Schadprogramme gefunden.

F-Droid ist auch ein offenes Ökosystem, das bedeutet, viele Leute beziehen Apps aus weiteren Quellen. Aus diesem Grund arbeiten wir daran, die F-Droid-App durch eine Janus-Erkennung zu ergänzen. Wenn eine APK mit einem Janus-Exploit entdeckt wird, wird die Erkennung den Anwender auf der “Updates”-Seite dazu auffordern, diese zu deinstallieren. Sollte eine APK mit einem Janus-Exploit aus einem Repo, das es eingelassen hat, heruntergeladen werden, wird die Erkennung die Durchführung einer Installation blockieren.

Ferner gibt es zufällig einige gute Nachrichten: Es stellt sich heraus, dass keines, der ungefähr 10 existierenden Janusbeispiele fdroid update überwinden kann. Die meisten von ihnen scheiterten an der Überprüfung, wenn fdroid update aapt dump badging abruft. Die einzige Datei, die an diesen Tests vorbeikam, war die öffentlich gemachte Janus Demo APK. Sie hatte jedoch merkwürdige Zeitwerte wie 2042-14-03 00:62:15 in den ZIP-Einträgen, wahrscheinlich wegen der Tricks, die nötig sind, um diese DEX+ZIP-Datei zusammenzufügen. Dies löste einen Absturz in fdroid update bei der Analyse des Datums von AndroidManifest.xml aus. Python bemängelt, dass es keinen 14. Monat gibt. Dieser Absturz verhindert das Hinzufügen der APK zum Repo. Wir haben darüberhinaus eine explizite Sperre für APKs eingefügt, die versuchen Janus auszunutzen.

Außerdem, apksigner ist besser bei der Überprüfung von APK-Signaturen, und viele Janusangriffe schlugen fehl. Wenn apksigner installiert ist, dann wird es von fdroid build verwendet. Wenn eine APK mit einer v2-APK-Signatur signiert ist, sind Dinge wie Janus-Exploite nicht möglich. So sollten Sie bei Arbeiten mit APKs, die nicht aus der Quelle erstellt wurden, sicherheitshalber apksigner installieren.

Somit können wir sicher sagen, dass es schwierig wäre, ein Janus-Exploit versehentlich in ein F-Droid-Repo einzuschleusen. Und mit den neuen Schutzmechanismen in der Android-App kann ein Repo den Anwender nicht dazu zwingen, eines zu installieren.