• IT-Karriere:
  • Services:

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. DAW SE, Ober-Ramstadt bei Darmstadt
  2. Katholische Hospitalvereinigung Ostwestfalen gem. GmbH, Bielefeld

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 Akademie
  1. Advanced Python - Fortgeschrittene Programmierthemen
    17./18. Juni 2021, online
  2. Einführung in die Programmierung mit Rust
    21.-24. September 2021, online
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


Anzeige
Top-Angebote
  1. (u. a. LG OLED65CX9LA 65 Zoll OLED 120Hz + LG Velvet Smartphone für 1.799€, 2x Sandisk Extreme...
  2. (u. a. Angebote zu Spielen, PC- und Konsolen-Zubehör, Laptops, Monitore, Fernsehern uvm.)
  3. (u. a. Viewsonic VX2718 27 Zoll Curved WQHD 165Hz für 253,99€, Samsung G7 27 Zoll QLED Curved...
  4. (u. a. Raspberry Pi 400 Mini-PC für 71,90€, Biostar B560GTQ Mainboard für 139,90€, Biostar...

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...


Folgen Sie uns
       


Sony Alpha 1 - Fazit

Die Alpha 1 von Sony überzeugt in unserem Test.

Sony Alpha 1 - Fazit Video aufrufen
Programm für IT-Jobeinstieg: Hoffen auf den Klebeeffekt
Programm für IT-Jobeinstieg
Hoffen auf den Klebeeffekt

Aktuell ist der Jobeinstieg für junge Ingenieure und Informatiker schwer. Um ihnen zu helfen, hat das Land Baden-Württemberg eine interessante Idee: Es macht sich selbst zur Zeitarbeitsfirma.
Ein Bericht von Peter Ilg

  1. Arbeitszeit Das Sechs-Stunden-Experiment bei Sipgate
  2. Neuorientierung im IT-Job Endlich mal machen!
  3. IT-Unternehmen Die richtige Software für ein Projekt finden

Weclapp-CTO Ertan Özdil: Wir dürfen nicht in Schönheit und Perfektion untergehen!
Weclapp-CTO Ertan Özdil
"Wir dürfen nicht in Schönheit und Perfektion untergehen!"

Der CTO von Weclapp träumt von smarter Software, die menschliches Eingreifen in der nächsten ERP-Generation reduziert. Deutschen Perfektionismus hält Ertan Özdil aber für gefährlich.
Ein Interview von Maja Hoock


    Fiat 500 als E-Auto im Test: Kleinstwagen mit großem Potenzial
    Fiat 500 als E-Auto im Test
    Kleinstwagen mit großem Potenzial

    Fiat hat einen neuen 500er entwickelt. Der Kleine fährt elektrisch - und zwar richtig gut.
    Ein Test von Peter Ilg

    1. Vierradlenkung Elektrischer GMC Hummer SUV fährt im Krabbengang seitwärts
    2. MG Cyberster MG B Roadster mit Lasergürtel und Union Jack
    3. Elektroauto E-Auto-Prämie übersteigt in 2021 schon Vorjahressumme

      •  /