Les développeurs de la distribution NixOS ont annoncé la mise en place d'un support pour la vérification de l'intégrité de l'image ISO minimale (iso_minimal.x86_64-linux) à l'aide du mécanisme de builds reproductibles. Auparavant, les builds reproductibles étaient disponibles au niveau des paquets individuels, mais sont désormais étendus à l'ensemble de l'image ISO. Tout utilisateur peut créer une image ISO, totalement identique à celle fournie pour le téléchargement, et s'assurer qu'elle est construite à partir des sources disponibles et ne contient pas de modifications cachées. Un script spécial a été préparé pour automatiser la vérification de l'image ISO NixOS à l'aide de builds reproductibles. à l'étape suivante, il est prévu d'assurer des builds reproductibles pour l'image ISO complÚte avec l'environnement de bureau GNOME.
Les builds reproductibles sont un Ă©lĂ©ment crucial pour garantir la sĂ©curitĂ©, car ils permettent de vĂ©rifier soi-mĂȘme que les builds proposĂ©es par la distribution correspondent exactement aux builds construites personnellement Ă partir des sources. Sans la possibilitĂ© de vĂ©rifier l'identitĂ© de la construction binaire, l'utilisateur n'a d'autre choix que de faire aveuglĂ©ment confiance Ă l'infrastructure de construction d'autrui, dont la compromission du compilateur ou de l'outillage de construction pourrait entraĂźner l'insertion de backdoors cachĂ©s. Pour assurer des builds reproductibles, il est nĂ©cessaire de reproduire le contenu et les paramĂštres de l'environnement de construction, d'utiliser des versions identiques des programmes, des dĂ©pendances et des composants de dĂ©marrage, d'exclure l'ajout de donnĂ©es variables (empreintes horaires, remplissages alĂ©atoires, etc.), ainsi que de conserver l'ordre de construction des fichiers et la fourniture des paquets dans l'image ISO.
Rappelons que la distribution NixOS est basĂ©e sur le gestionnaire de paquets Nix et offre plusieurs dĂ©veloppements propres facilitant la configuration et la maintenance du systĂšme. Par exemple, NixOS utilise un fichier de configuration systĂšme unique (configuration.nix), permet de revenir rapidement Ă des mises Ă jour antĂ©rieures, prend en charge le changement entre diffĂ©rents Ă©tats du systĂšme, prend en charge l'installation de paquets individuels par des utilisateurs sĂ©parĂ©s (le paquet est installĂ© dans le rĂ©pertoire personnel) et permet l'installation simultanĂ©e de plusieurs versions d'un mĂȘme programme. En utilisant Nix, les paquets sont installĂ©s dans un arbre de rĂ©pertoires sĂ©parĂ© /nix/store ou un sous-rĂ©pertoire dans le rĂ©pertoire de l'utilisateur. Par exemple, un paquet est installĂ© comme /nix/store/f2b5âŠ8a563-firefox-89.0.1/, oĂč « f2b5⊠» est l'identifiant unique du paquet utilisĂ© pour le contrĂŽle des dĂ©pendances.
Les paquets sont prĂ©sentĂ©s sous forme de conteneurs contenant tous les composants nĂ©cessaires au fonctionnement des applications. Il est possible de dĂ©finir des dĂ©pendances entre les paquets, et pour vĂ©rifier la prĂ©sence de dĂ©pendances dĂ©jĂ installĂ©es, la mĂ©thode de recherche repose sur le scanning des identifiants de hachage dans le rĂ©pertoire des paquets installĂ©s. Il est possible de tĂ©lĂ©charger des paquets binaires prĂȘts Ă l'emploi depuis le dĂ©pĂŽt (lors de l'installation des mises Ă jour, seules les modifications delta des paquets binaires sont tĂ©lĂ©chargĂ©es), ainsi que de complier Ă partir des sources avec toutes les dĂ©pendances. La collection de paquets est prĂ©sentĂ©e dans un dĂ©pĂŽt spĂ©cial Nixpkgs.
Source : opennet.ru
