Toolkit , der eine unabhängige Überprüfung von Binärpaketen des Distributionspakets ermöglicht, indem ein kontinuierlicher Build-Prozess bereitgestellt wird, der die heruntergeladenen Pakete mit den Paketen vergleicht, die durch erneutes Kompilieren auf einem lokalen System erzeugt werden. Das Werkzeug ist in der Programmiersprache Rust geschrieben und wird unter der GPLv3-Lizenz vertrieben.
Derzeit bietet rebuilderd nur experimentelle Unterstützung für die Überprüfung von Paketen aus Arch Linux, aber es werden bald auch Debian unterstützt. Im einfachsten Fall für den Start von rebuilderd muss das Paket rebuilderd aus dem regulären Repository installiert, der GPG-Schlüssel zur Überprüfung der Umgebung importiert und der entsprechende Systemdienst aktiviert werden. Es ist auch möglich, ein Netzwerk aus mehreren Instanzen von rebuilderd einzurichten.
Der Dienst überwacht den Status des Paketindex und startet automatisch die Neubauten neuer Pakete in einer Referenzumgebung, deren Zustand mit den Einstellungen der Haupt-Bauumgebung von Arch Linux synchronisiert ist. Bei der Neubauten werden solche Feinheiten berücksichtigt, wie die genaue Übereinstimmung der Abhängigkeiten, die Verwendung einer unveränderten Zusammensetzung und Versionen des Build-Tools, identische Optionen und Standardeinstellungen sowie die Beibehaltung der Reihenfolge des Zusammenbaus von Dateien (Anwendung derselben Sortiermethoden). Die Einstellungen des Build-Prozesses schließen die Hinzufügung von zufälligen Werten, Verweisen auf Dateipfade und Daten zum Datum und zur Uhrzeit des Builds durch den Compiler aus.
Derzeit sind die wiederholbaren Builds für 84.1% der Pakete im core-Repository von Arch Linux, 83.8% im extras-Repository und 76.9% im community-Repository. Zum Vergleich liegt dieser Wert in Debian 10 bei 94.1%. Wiederholbare Builds sind ein wichtiger Bestandteil der Sicherheit, da sie jedem Benutzer ermöglichen, sicherzustellen, dass die vom Distribution angebotenen Binär-Paket-Bauten 1:1 mit denjenigen übereinstimmen, die persönlich aus dem Quellcode gebaut wurden. Ohne die Möglichkeit, die Identität des Binärbaus zu überprüfen, bleibt dem Benutzer nur, der fremden Build-Infrastruktur blind zu vertrauen, deren Kompromittierung des Compilers oder des Build-Tools dazu führen kann, dass versteckte Backdoors eingeschleust werden.
Quelle: opennet.ru
