c't 14/2019
S. 186
Know-how
Apps mit Reproducible Builds bauen
Aufmacherbild
Bild: Thorsten Hübner

Apps richtig klonen

Mit Reproducible Builds modifizierte Apps erkennen

Ein vorliegender Sourcecode garantiert noch lange nicht, dass eine App auch im Store frei von Hintertüren und Trojanern ist. Reproducible Builds können den Bau-Prozess absichern. Das hat nicht bloß für Programmierer Vorteile, sondern auch für normale Nutzer.

Reproducible Builds ähneln dem Autokauf. Wie das? Na, wenn Sie ein Auto kaufen, vertrauen Sie dem Händler, dass er Ihnen ein solides Gefährt verkauft. Und dass es nach erteilter Zulassung keine illegalen Erweiterungen mehr bekommen hat, etwa überbreite Reifen oder einen lärmigen Sportauspuff. Nachträgliche Erweiterungen, die gibt es auch bei Smartphone-Apps, und darüber können sich Schädlinge einschleichen und Hintertüren öffnen, was sich zum Privatsphären-Risiko auswächst. Das Gleiche gilt für Desktop-Anwendungen.

Der Nutzer sieht im App-Store nur die fertige App. Zwar gibt es hin und wieder die Möglichkeit, sich den Quelltext der App anzuschauen – der alternative App-Store F-Droid prüft diesen sogar akribisch vor Aufnahme in seinen Katalog – aber: Was zwischen dem Quelltext und der fertigen App noch einfließt und was schließlich während des Build-Prozesses passiert, bleibt im Dunkeln. Tatsächlich ist es durchaus schon passiert, dass Angreifer die Rechner der Entwickler mit speziellen Schädlingen infizieren, die während des Bauprozesses unerkannt Änderungen in die Apps einschleusen, die eben nicht aus dem Sourcecode ersichtlich waren.