Gli sviluppatori della distribuzione openSUSE hanno annunciato i progressi del progetto volto a garantire il supporto per compilazioni riproducibili. Nell'ambito del progetto è stato preparato un fork concettuale della distribuzione Reproducible-openSUSE (RBOS), per il quale è stata raggiunta la possibilità di costruire pacchetti binari 100% identici basati sul repository proposto contenente i codici sorgente, che include 3300 pacchetti. Nel processo di lavoro sul progetto sono stati preparati circa 40 patch (1, 2, 3) che risolvono problemi con il ri-compilazione riproducibile dei pacchetti. Circa la metà di queste patch è già stata trasferita ai progetti upstream. Le compilazioni di Reproducible-openSUSE sono attualmente destinate solo ai test e non sono raccomandate per l'uso in sistemi di produzione, poiché per esse non vengono rilasciati aggiornamenti per la risoluzione delle vulnerabilità.
Il progetto consente all'utente di formare proprie compilazioni, che coincidono bit a bit con quelle pronte per il download, per assicurarsi che i file binari distribuiti nei pacchetti siano stati compilati dai codici sorgente forniti e non contengano modifiche nascoste. La possibilità di verificare l'identità del pacchetto binario consente di non fare affidamento solo sulla fiducia nell'infrastruttura di compilazione della distribuzione, poiché una compromissione del compilatore o degli strumenti di compilazione può portare all'inserimento di backdoor nascoste.
Nella formazione di compilazioni riproducibili si tengono in considerazione dettagli come la corrispondenza esatta delle dipendenze, l'uso di versioni e composizioni invariabili degli strumenti di compilazione, un set identico di opzioni e impostazioni predefinite, il mantenimento dell'ordine di compilazione dei file (utilizzando gli stessi metodi di ordinamento), la disabilitazione dell'aggiunta da parte del compilatore di informazioni inutili come valori casuali, riferimenti ai percorsi dei file e dati sulla data e l'ora della compilazione. La riproducibilità delle compilazioni è influenzata anche da errori e stati di gara negli strumenti di compilazione.
Fonte: opennet.ru
