Razvojni tim distribucije NixOS objavio je implementaciju podrške za verifikaciju integriteta minimalne iso-slike (iso_minimal.x86_64-linux) uz pomoć mehanizma ponovljivih građevina. Ranije su ponovljive građevine bile dostupne na nivou pojedinačnih paketa, a sada su proširene i na celu iso-sliku. Svaki korisnik može da formira iso-sliku koja je potpuno identična onoj koja se pruža za preuzimanje, i da se uveri da je izgrađena iz dostupnih izvornika i da ne sadrži skrivene promene. Za automatizaciju provere iso-slike NixOS uz pomoć ponovljivih građevina pripremljen je poseban skript. U sledećoj fazi planira se obezbeđivanje ponovljivih građevina za punu iso-sliku sa radnim okruženjem GNOME.
Ponovljive građevine su važna karika u obezbeđivanju sigurnosti, jer omogućavaju korisnicima da samostalno provere da li se binarne građevine koje nudi distribucija poklapaju sa građevinama koje su lično izgrađene iz izvora. U nedostatku mogućnosti da se proveri identitet binarne građevine, korisnici su primorani da slepo veruju tuđoj infrastrukturi za izgradnju, čija bi kompromitacija kompajlera ili alata za izgradnju mogla dovesti do umetanja skrivene špijunske opreme. Da bi se obezbedile ponovljive građevine, potrebno je reprodukovati postavke i parametre okruženja za izgradnju, koristiti identične verzije programa, zavisnosti i pokretnih komponenti, isključiti promene podataka (vremenske oznake, slučajni podaci itd.), kao i održati redosled izgradnje datoteka i isporuke paketa u iso-slici.
Podsjećamo da se distribucija NixOS temelji na upravitelju paketa Nix i nudi niz vlastitih rješenja koja pojednostavljuju postavljanje i održavanje sustava. Na primjer, u NixOS-u se koristi jedinstvena datoteka za konfiguraciju sustava (configuration.nix), omogućena je brza povratna operacija ažuriranja, podržava se prebacivanje između različitih stanja sustava, podržava se instalacija individualnih paketa od strane pojedinačnih korisnika (paket se instalira u korisnički direktorij) i moguća je istodobna instalacija nekoliko verzija istog programa. Kada se koriste Nix, paketi se instaliraju u zasebno stablo direktorija /nix/store ili poddirektorij unutar korisničkog direktorija. Na primjer, paket se instalira kao /nix/store/f2b5…8a563-firefox-89.0.1/, gdje je „f2b5…” jedinstveni identifikator paketa koji se koristi za kontrolu ovisnosti.
Paketi su oblikovani kao kontejneri koji sadrže potrebne komponente za rad aplikacija. Između paketa moguće je definirati ovisnosti, pri čemu se za provjeru prisutnosti već instaliranih ovisnosti koristi skeniranje heš-identifikatora u direktoriju instaliranih paketa. Moguće je učitati gotove binarne pakete iz repozitorija (prilikom instalacije ažuriranja za binarne pakete preuzimaju se samo delta-izmjene), kao i kompilirati iz izvornog koda sa svim ovisnostima. Kolekcija paketa predstavljena je u posebnom repozitoriju Nixpkgs.
Izvor: opennet.ru
