De ontwikkelaars van het openSUSE-project hebben aangekondigd dat ze steun bieden voor reproduceerbare builds in de openSUSE Factory repository. Deze repository maakt gebruik van een model van doorlopende versie-updates (rolling updates) en vormt de basis voor de openSUSE Tumbleweed distributie. De buildconfiguratie van openSUSE Factory maakt het nu mogelijk om te verifiëren dat de in de pakketten verspreide binaire bestanden zijn samengesteld uit de aangeleverde bronbestanden en geen verborgen wijzigingen bevatten. Elke gebruiker kan bijvoorbeeld persoonlijk controleren dat de aangeboden builds bit voor bit overeenkomen met de builds die persoonlijk zijn samengesteld uit de bronbestanden.
Bij het creëren van reproduceerbare builds worden nuances in overweging genomen, zoals de exacte overeenstemming van afhankelijkheden, het gebruik van onveranderde samenstelling en versies van de buildtools, een identieke set opties en standaardinstellingen, het behoud van de volgorde van de bestandbouw (gebruik van dezelfde sorteermethoden), en het uitschakelen van het toevoegen door de compiler van niet-reproduceerbare metadata, zoals willekeurige waarden, padverwijzingen en gegevens over de datum en tijd van de build.
De mogelijkheid om de identiteit van een binaire build te controleren, stelt ons in staat om niet alleen op vertrouwen in de build-infrastructuur te steunen. Compromittering van de compiler of buildtools kan leiden tot het invoegen van verborgen achterdeuren. Bijvoorbeeld, reproduceerbare builds zijn door de ontwikkelaars van openSUSE gebruikt om schadelijke modificaties uit te sluiten, die in de repository konden verschijnen als gevolg van een incident waarbij een backdoor werd toegevoegd aan het xz-pakket (de gecompromitteerde bibliotheek liblzma, die werd gebruikt voor het uitpakken van de archief met de GCC-code, kon mogelijk wijzigingen in de GCC-code hebben aangebracht die konden worden gebruikt om schadelijke elementen in de samengestelde applicaties in te voeren).
De Factory-repository is niet bedoeld voor eindgebruikers en wordt voornamelijk gebruikt door distributie-ontwikkelaars, omdat er geen garantie is op stabiliteit op elk moment. De aan de Factory toevoegingen van systeempakketten ondergaan geautomatiseerde tests met behulp van de openQA-toolset. Na voltooiing van de tests en de controle op inconsistente afhankelijkheden wordt de inhoud van de repository meerdere keren per week naar mirrors gedumpt en wordt de gevormde snapshot van de status gepubliceerd als openSUSE Tumbleweed.
Bron: opennet.ru
