Login
Newsletter
Werbung

Mo, 11. Mai 2015, 10:03

Software::Distributionen::Debian

GSoC-Projekte zu reproduzierbaren Builds in Debian

Wie können Entwickler und Anwender sicher sein, dass ein Binärpaket in Debian bitgenau dem zugrunde liegenden Quellcode entspricht und somit nicht manipuliert ist? Reproduzierbare Builds sollen gewährleisten, dass dies jederzeit durch einen kryptografischen Hash verifizierbar ist.

Software in the Public Interest (SPI)

Bisher vertrauen Anwender von Binärpaketen aus Debians Archiven dem PGP-Schlüssel des Maintainers, der das Paket erstellt hat. Das reicht aber in Zeiten, in denen immer mehr Schadsoftware kursiert, vielen Anwendern nicht mehr aus. Die Furcht vor manipulierten Paketen wird durch einen Vortrag von Mike Perry vom Tor-Projekt und Seth Schoen von der Electronic Frontier Foundation (EFF) auf dem letzten Chaos Communication Congress (31C3) untermauert, in dem sie vorführen, wie ein Buildserver kompromittiert werden kann, um versteckte Funktionalität wie etwa eine Hintertür unbemerkt während des Build-Vorgangs zu implementieren.

Das Tor-Projekt hat eine besonderes Interesse, seine Anwender versichern zu können, dass Binärpakete des Tor-Browser-Bundle reproduzierbar dem Quellcode entsprechen. Lunar, ein Tor-Entwickler, der gleichzeitig für Debian entwickelt, rief das Projekt für reproduzierbare Builds in Debian 2013 ins Leben und erreichte mit der Hilfe viele Mitstreiter zu Jahresbeginn einen Stand von über 80 Prozent reproduzierbar gebauter Pakete aus dem Unstable-Archiv. Der verbleibende Rest lässt sich nicht ohne Weiteres mit Hilfe der für das Projekt erstellten Werkzeuge, insbesondere »debbindiff« und »strip-nondeterminism« erstellen.

Hier sollen das GSOC-Projekt eines spanischen Studenten Abhilfe schaffen, indem die Werkzeuge verbessert und Pakete so gepatcht werden, dass Jenkins, ein System zur kontinuierlichen Integration, diese reproduzierbar erstellen kann. Zudem wurde ein zweites GSoC-Projekt zu diesem Thema bewilligt. Probleme bei der Erstellung von reproduzierbaren Builds liegen besipielsweise in technisch unterschiedlichen Buildservern, die in unterschiedlichen Zeitzonen ihre Zeitstempel erstellen. Auch die Reihenfolge der Dateien in einem gepackten Archiv kann unterschiedlich sein. All dies verhindert, dass ein Paket reproduzierbar erstellt werden kann.

Die verbleibenden Pakete stellen Spezialfälle dar, die durch Besonderheiten im Quellcode oder der Toolchain nicht automatisch erstellt werden können. Hier soll vor allem das Tool »strip-nondeterminism« erweitert werden, um zu verhindern, dass durch die verwendete Toolchain non-deterministische Elemente eingestreut werden, die wiederum die Reproduzierbarkeit verhindern. Das Ziel des Debian-Projekts ist, Debian 9 »Stretch« zu 100 Prozent aus reproduzierbaren Paketen zu erstellen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung