Login
Newsletter
Werbung

Fr, 22. Juni 2018, 15:06

Software::Browser

Firefox wird reproduzierbar

Mozilla hat Firefox in den letzten Monaten dahingehend modifiziert, dass die Binärdateien nun reproduzierbar generiert werden können. Die Linux-Binärpakete werden nun unter Debian statt unter CentOS erstellt.

Mozilla

Die Idee der reproduzierbaren Builds kommt wohl aus dem Umfeld des Tor-Projekts und Bitcoin, denen es in besonderem Maße darauf ankommt, dass die Anwender verifizieren können, dass ein bestimmter Stand von Quellcode und Werkzeugen zu einem exakt identischen Binärpaket führt. Das zu erreichen, ist keineswegs trivial. Will man auf zwei verschiedenen Systemen identische Binärpakete erzeugen, müssen eine Vielzahl von Werkzeugen identisch sein. Auch variable Daten wie Zeitstempel, die in den Binärcode eingehen, müssen vermieden oder zumindest konstant gehalten werden.

Wie Gregor Szorc von Mozilla jetzt berichtet, hat sich auch Mozilla mit dem Problem der Reproduzierbarkeit befasst. Er bezeichnet dies als »deterministische Builds« und verkündet, dass Firefox mit der Version 60 zum ersten Mal als reproduzierbarer Build erstellt wurde. Damit einhergehend wurde die Umgebung, in der die Linux-Binärpakete von Firefox erstellt werden, von CentOS zu Debian migriert. Der Grund für die Umstellung ist, dass CentOS 7 in der Zeit entstand, als Reproduzierbarkeit noch kein Thema war. Debian hingegen erreichte bereits mit Debian 9.0 »Stretch« eine weitgehende Reproduzierbarkeit - rund 90% der Pakete lassen sich reproduzierbar bauen, und die Arbeit daran geht weiter voran. Im August 2017 wurden die Ziele von »Reproducible Builds« auch in die Debian-Richtlinien übernommen.

Für Mozilla stellte der Wechsel von CentOS zu Debian, wie jeder Wechsel an der Bau-Umgebung, ein Risiko dar. Das Risiko bestand darin, neue Fehler einzuschleppen oder dass manche Benutzer Firefox nicht mehr ausführen können. Um dieses Risiko zu minimieren, setzte sich Mozilla das Ziel, den mit CentOS und den mit Debian erstellten Firefox bis aufs letzte Bit identisch zu machen. Dabei ging Mozilla genauso vor, wie es jede andere Projekt ebenfalls tut, das Reproduzierbarkeit erreichen will. Die Entwickler analysierten mit dem Werkzeug Diffoscope die Unterschiede zwischen den Binärdateien und stellten die Ursachen ab, die zu diesen Unterschieden führten.

Was die Benutzer bei Mozilla herunterladen, ist zur Zeit aber trotzdem noch nicht die reproduzierbare Version von Firefox. Denn die offiziellen Binärpakete verwenden eine profilgesteuerte Optimierung (PGO), um möglichst effizienten Code zu generieren. PGO führt allerdings von Lauf zu Lauf wieder nichtdeterministische Elemente ein, die zur Zeit noch nicht behoben sind. Die Arbeit daran geht allerdings weiter und kann in Fehler 885777 verfolgt werden.

Werbung
Kommentare (Insgesamt: 22 || Alle anzeigen )
Re[5]: Sehr gute Entscheidung (Verfluchtnochmal_5987109, Fr, 29. Juni 2018)
Re[4]: Sehr gute Entscheidung (der-don, Di, 26. Juni 2018)
Re[4]: Sehr gute Entscheidung (Anonymous, Di, 26. Juni 2018)
Re[2]: Sehr gute Entscheidung (Unerkannt, Di, 26. Juni 2018)
Re[8]: Sehr gute Entscheidung (Verfluchtnochmal_5987109, So, 24. Juni 2018)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung