Gli sviluppatori del progetto openSUSE hanno annunciato di aver garantito il supporto per le build ripetibili nel repository openSUSE Factory, che adotta un modello di aggiornamento continuo delle versioni software (rolling release) e serve da base per costruire la distribuzione openSUSE Tumbleweed. La configurazione di build di openSUSE Factory ora consente di verificare che i file binari distribuiti nei pacchetti siano stati compilati dai sorgenti forniti e non contengano modifiche nascoste. Ad esempio, chiunque può verificare personalmente che le build proposte corrispondano bit a bit alle build compilate personalmente dai sorgenti.
Nella formazione delle build ripetibili vengono considerati aspetti come la corrispondenza esatta delle dipendenze, l'uso di invarianti e versioni dello strumento di build, l'impostazione identica delle opzioni e delle configurazioni predefinite, il mantenimento dell'ordine di compilazione dei file (applicazione degli stessi metodi di ordinamento), la disattivazione dell'aggiunta da parte del compilatore di informazioni accessorie volatili, come valori casuali, riferimenti a percorsi di file e dati sulla data e l'ora della build.
La possibilità di verificare l'identità di una compilazione binaria consente di non basarsi solo sulla fiducia nell'infrastruttura di compilazione, poiché la compromissione del compilatore o degli strumenti di compilazione può portare all'inserimento di backdoor nascoste. Ad esempio, compilazioni ripetute sono state utilizzate dagli sviluppatori di openSUSE per escludere modifiche dannose che potrebbero essere emerse nel repository a causa di un incidente che ha portato all'aggiunta di un backdoor nel pacchetto xz (una libreria compromessa, liblzma, utilizzata per estrarre l'archivio con il codice GCC, potrebbe aver apportato modifiche al codice GCC che potrebbero essere state utilizzate per inserire elementi dannosi nelle applicazioni compilate).
Il repository Factory non è destinato agli utenti finali ed è principalmente utilizzato dagli sviluppatori del distributore, poiché non garantisce stabilità in qualsiasi momento. I pacchetti di sistema aggiunti a Factory vengono sottoposti a test automatizzati tramite strumenti openQA. Al termine dei test e della verifica dello stato coerente delle dipendenze, il contenuto del repository viene scaricato su specchi e un'istantanea dello stato viene pubblicata come openSUSE Tumbleweed alcune volte a settimana.
Fonte: opennet.ru
