Pakete zweimal bauen und vergleichen

Zurzeit testen die Debian-Entwickler auf einem Testserver, wie sehr sich Pakete unterscheiden, wenn sie zweimal hintereinander mit denselben Optionen gebaut werden. Die Pakete unterscheiden sich dabei in vielen Details, das häufigste Problem sind Timestamps, die in den verschiedensten Dateiformaten mitgespeichert werden. Dazu kommt die Reihenfolge von Dateien, aber auch subtile Probleme, etwa Compile-Prozesse, die je nach CPU-Auslastung zu anderen Ergebnissen kommen.

Stellenmarkt
  1. IT Security Analyst (m/w/d)
    Scheidt & Bachmann GmbH, Mönchengladbach
  2. Spezialist (w/m/d) Conversational AI
    EnBW Energie Baden-Württemberg AG, Karlsruhe
Detailsuche

In den bisherigen Tests können bereits 81,7 Prozent der Debian-Pakete reproduzierbar gebaut werden. Das ist laut Holger Levsen schon ein großer Erfolg und war mit viel Arbeit verbunden. Doch der aktuelle Test hat einige Nachteile. So werden die Pakete immer auf derselben CPU und mit demselben Kernel gebaut. Ein künftig geplanter Test, in dem die Pakete auf unterschiedlichen Systemen gebaut werden, dürfte noch einige weitere Unterschiede zutage bringen. Statistiken über die Ergebnisse der Build-Prozesse können alle unter der URL reproducible.debian.net abgerufen werden.

Nichtdeterminismen können auch Privacy-Problem sein

Lunar erwähnte einige Beispiele, bei denen die in Dateien gespeicherten Informationen durchaus ein Privacy-Problem darstellen können. Dazu gehören beispielsweise Hostnamen, Benutzernamen, Pfade des Build-Prozesses oder Spracheinstellungen des Systems, die auf die ein oder andere Art in einem späteren Paket landen können. Reproduzierbare Builds sind also nicht nur aus Sicherheitsgründen sinnvoll, sie können auch zum Schutz der Privatsphäre der Entwickler beitragen.

Einige besonders exotische und unerwartete Beispiele kamen in der folgenden Diskussion ebenfalls zur Sprache. So speichern OGG-Dateien eine zufällig generierte Seriennummer, ein Kommentar aus dem Publikum merkte an, dass der GCC die Wahl bestimmter Hash-Funktionen von der aktuellen CPU abhängig macht. Die Krypto-Bibliothek NaCl nutzt automatische Benchmarks, um von verschiedenen Implementierungen eines Algorithmus den schnellsten auszuwählen. Laut Lunar sind es überraschenderweise in vielen Fällen nicht die kompilierten Dateien selbst, die die meisten Probleme machen, sondern die mitgelieferte Dokumentation, die in verschiedensten Dateiformaten ausgeliefert wird.

Golem Karrierewelt
  1. Jira für Anwender: virtueller Ein-Tages-Workshop
    03.06.2022, virtuell
  2. Go für Einsteiger: virtueller Zwei-Tages-Workshop
    25./26.07.2022, Virtuell
Weitere IT-Trainings

Das nächste Ziel des Projekts: Die übernächste Debian-Version Stretch soll reproduzierbare Build-Prozesse integrieren. Da einige Debian-Entwickler im Saal waren, fragte Levsen sie, ob irgendjemand dagegen sei, dies in Stretch zu implementieren. Niemand meldete sich. Levsen und Lunar riefen die Anwesenden dazu auf, sich an der weiteren Entwicklung von reproduzierbaren Builds zu beteiligen. Dafür gibt es Mailinglisten, einen IRC-Chat #debian-reproducible im OFTC-Netz und eine Wiki-Seite.

Binärtransparenz und Cross-Compiles

Für die Zukunft gibt es noch einige weitere Pläne, um das Vertrauen zusätzlich zu stärken. Der Debian-Entwickler Daniel Kahn Gillmore arbeitet an einem System zur Binärtransparenz. Die Idee dabei ist es, in einem öffentlich verifizierbaren Log, das ähnlich wie die Bitcoin-Blockchain oder Certificate Transparency funktioniert, Checksummen aller Binärpakete abzuspeichern. Damit könnte garantiert werden, dass alle Nutzer eines Systems dieselben Binärpakete erhalten. Ein weiteres Ziel: die Reproduzierbarkeit über Cross-Compiles auf unterschiedlichen Architekturen. Dadurch wäre gewährleistet, dass selbst eine Backdoor im Binärcode des Compilers nicht mehr unentdeckt bleiben könnte.

Neben Debian haben auch Entwickler bei Fedora und bei NixOS Interesse an reproduzierbaren Build-Prozessen. Die Debian-Entwickler hoffen besonders auf die Hilfe von Fedora, doch offenbar gab es dort außer einem Blogbeitrag bislang keine weitere Aktivität in dieser Richtung. Opensuse liefert immerhin schon ein Tool namens build-compare mit, welches Unterschiede zwischen verschiedenen Builds anzeigt. Die Hoffnung von Holger Levsen und Lunar: Künftig sollten reproduzierbare Builds der Normalfall werden. Ein großes Ziel - für mehr Sicherheit und Vertrauenswürdigkeit in die Software, die wir tagtäglich benutzen.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Softwaresicherheit: Vertrauen durch reproduzierbare Build-Prozesse
  1.  
  2. 1
  3. 2


EQuatschBob 04. Feb 2015

Sind sie meines Wissens nach nicht. Die Leute von F-Droid.org arbeiten wohl daran, sind...

EQuatschBob 04. Feb 2015

Sobald die FOSDEM-Leute die Videos ins Netz stellen, siehst Du was Holger und Lunar alles...

EQuatschBob 04. Feb 2015

Reproducible Builds schaffen definitiv keine "absolute Sicherheit". Aber das Erstellen...

MarioWario 02. Feb 2015

Nicht ohne Grund die größte und wichtigste Linux-Distribution, die haben es wirklich...



Aktuell auf der Startseite von Golem.de
Optibike
E-Bike mit 480 km Reichweite kostet 17.000 Euro

Das E-Bike Optibike R22 Everest setzt mit seinen zwei Akkus auf Reichweite.

Optibike: E-Bike mit 480 km Reichweite kostet 17.000 Euro
Artikel
  1. Krypto-Kriminalität: Behörden fahnden nach Onecoin-Betrügerin
    Krypto-Kriminalität
    Behörden fahnden nach Onecoin-Betrügerin

    Deutsche und internationale Behörden suchen nach den Hintermännern und -frauen von Onecoin. Der Schaden durch Betrug mit der vermeintlichen Kryptowährung geht in die Milliarden.

  2. Hassrede: Bayern will soziale Netzwerke bestrafen
    Hassrede
    Bayern will soziale Netzwerke bestrafen

    Der bayrische Justizminister fordert, bei der Verbreitung von Hassrede auch die Betreiber von sozialen Medien stärker zur Verantwortung zu ziehen.

  3. Prehistoric Planet: Danke, Apple, für so grandiose Dinosaurier!
    Prehistoric Planet
    Danke, Apple, für so grandiose Dinosaurier!

    Musik von Hans Zimmer, dazu David Attenborough als Sprecher: Apples Prehistoric Planet hat einen Kindheitstraum zum Leben erweckt.
    Ein IMHO von Marc Sauter

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Samsung 870 QVO 1 TB 79€ • Prime Video: Filme leihen für 0,99€ • Alternate (u. a. Recaro Rae Essential 429€) • Gigabyte RTX 3080 12 GB ab 1.024€ • Mindstar (u. a. AMD Ryzen 5 5600 179€, Palit RTX 3070 GamingPro 669€) • SanDisk Ultra microSDXC 256 GB ab 14,99€ • Sackboy 19,99€ [Werbung]
    •  /