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
