Debian Reproducible Builds: „Reproduzierbares Paketarchiv“ fast fertig
Ein Vorteil freier Software ist, dass jeder deren Quelltext einsehen kann. Aber entstammen die von Linux-Distributionen verteilten Binärpakete dem veröffentlichten Quelltext? Dieser Nachweis war bislang schwierig. Ein Debian-Projekt möchte solche Nachweise automatisieren – und hat das bereits bei 80% der Pakete geschafft.
Anwender müssen in der Lage sein, den Paketen ihrer Distribution zu vertrauen. Bei Debian wird dafür derzeit ein System benutzt, das ein auf PGP-Schlüsseln basierendes Web of Trust verwendet. Um ein Paket in das Debian-Paketarchiv zu laden, muss dessen Maintainer es mit seinem privaten Schlüssel signieren, den wiederum das Debian-Projekt als vertrauenswürdig einstuft. Man vertraut also den Maintainern. Ein Nachweis, dass das Paket tatsächlich dem veröffentlichten Quelltext entstammt, war bislang mit viel manuellem Aufwand verbunden.
Das ReproducibleBuilds-Projekt bei Debian blüht eher im Verborgenen. Jérémy Bobbio und seine Mitstreiter haben als erstes eine für das Projekt benötigte alternative Toolchain erstellt. Darunter sind für Bau und Handhabung von Paketen wichtige Werkzeuge wie debhelper und dpkg. Die überprüfbaren Pakete, die als Ergebnis entstehen, unterscheiden sich in einigen Punkten von herkömmlichen .deb-Paketen. Die Datei .buildinfo ist eine Erweiterung der Datei .changes, welche in jedem Debian-Paket die Änderungen zur Vorversion ausweist, enthält genaue Angaben über die benötigten Pakete und die verwendeten Versionen beim Bau des Pakets.
Die Datei .buildinfo kann dann von Debian Entwicklern (DD) mit ihrem Schlüssel versehen werden. So wird ausgedrückt, dass der Entwickler das Paket mit den in der Datei befindlichen Angaben byte-genau nachbauen konnte. Diese Information wird in die Datei Packages in der Sektion Build-Signed-Off-By mitgeführt. So können Anwender auch ohne das Paket selbst reproduzierbar nachzubauen über die Anzahl der Signaturen Vertrauen schöpfen.
Wer das trotzdem tun möchte, findet Informationen hierzu in einem HowTo. Zudem gibt es ein Repository für Anwender, die reproduzierbar gebaute Pakete installieren wollen. Bobbio möchte ReproducibleBuilds mit Debian 9 „Stretch“ zum Standard machen. Dazu hat er rund zwei Jahre Zeit. Allerdings werden die restlichen 20 Prozent der Pakete schwieriger reproduzierbar zu bauen sein als die bisherigen 80 Prozent, die über 17.000 Pakete darstellen.