Lennart Poettering (tvorac Systemd-a) dao do znanja nedavno prijedlog za modernizaciju procesa pokretanja distribucija Linuxa, s ciljem rješavanja postojećih problema i pojednostaviti organizaciju potpuno verifikovanog pokretanja, potvrđujući autentičnost kernela i osnovnog sistemskog okruženja.
Predložene izmjene svode se na stvaranje jedinstvene univerzalne slike UKI (Jedinstvena slika kernela) koji spaja sliku kernela Linux drajver za učitavanje kernela iz UEFI (UEFI boot stub) i sistemsko okruženje initrd učitano u memoriju, koji se koristi za početnu inicijalizaciju u fazi prije montiranja FS-a.
Umjesto slike ram diska initrd, cijeli sistem se može upakovati u UKI, omogućava kreiranje potpuno provjerenih sistemskih okruženja koja se učitavaju u RAM. UKI slika je upakovana kao izvršna datoteka u PE formatu, koja ne samo da se može učitati tradicionalnim bootloaderima, već se može pozvati i direktno iz UEFI firmvera.
Mogućnost pozivanja iz UEFI-ja omogućava korištenje provjere valjanosti i integriteta digitalnog potpisa koji pokriva ne samo kernel, već i sadržaj initrd-a. Istovremeno, podrška za pozive iz tradicionalnih pokretača omogućava čuvanje funkcija kao što je isporuka više verzija kernela i automatsko vraćanje na radni kernel u slučaju da se problemi s novim kernelom otkriju nakon instaliranja najnovije verzije. update.
Trenutno, većina Linux distribucija koristi lanac "firmware → digitalno potpisani Microsoft shim sloj → digitalno potpisana distribucija GRUB boot loader → digitalno potpisana distribucija Linux kernel → nepotpisano initrd okruženje → FS root" u procesu inicijalizacije. Nedostaje initrd provjera u tradicionalnim distribucijama stvara bezbednosne probleme, budući da, između ostalog, ovo okruženje izdvaja ključeve za dešifrovanje FS root-a.
Provjera initrd slike nije podržana, budući da je ova datoteka generirana na korisničkom lokalnom sistemu i ne može biti certificirana digitalnim potpisom distribucije, što otežava organiziranje verifikacije kada se koristi SecureBoot način rada (da bi potvrdio initrd, korisnik mora generirati vaše ključeve i učitati ih u UEFI firmver).
Takođe, postojeća organizacija pokretanja ne dozvoljava korištenje informacija iz TPM PCR registara (Registar konfiguracije platforme) za kontrolu integriteta komponenti korisničkog prostora osim podloška, gruba i kernela. Među postojećim problemima spominju se i komplikovanost ažuriranja bootloadera i nemogućnost ograničavanja pristupa ključevima u TPM-u za starije verzije operativnog sistema koje su postale nevažne nakon instaliranja ažuriranja.
Glavni ciljevi implementacije nova arhitektura pokretanja:
- Obezbedite potpuno verifikovan proces preuzimanja, koji pokriva sve faze od firmvera do korisničkog prostora i potvrđuje validnost i integritet preuzetih komponenti.
- Povezivanje kontrolisanih resursa sa TPM PCR registrima uz odvajanje po vlasnicima.
- Mogućnost prethodnog izračunavanja PCR vrijednosti na osnovu pokretanja kernela, initrd-a, konfiguracije i lokalnog ID-a sistema.
- Zaštita od napada vraćanja unatrag povezanih s vraćanjem na prethodnu ranjivu verziju sistema.
- Pojednostavite i poboljšajte pouzdanost ažuriranja.
- Podrška za nadogradnje OS-a koje ne zahtijevaju ponovnu primjenu ili lokalno obezbjeđivanje resursa zaštićenih TPM-om.
- Priprema sistema za daljinsku sertifikaciju radi potvrde ispravnosti operativnog sistema i konfiguracije pokretanja.
- Mogućnost pričvršćivanja osjetljivih podataka određenim fazama pokretanja, na primjer izdvajanjem ključeva za šifriranje za FS root iz TPM-a.
- Obezbedite siguran, automatski i tih proces za otključavanje ključeva za dešifrovanje disk jedinice sa root particijom.
- Upotreba čipova koji podržavaju TPM 2.0 specifikaciju, sa mogućnošću vraćanja na sisteme bez TPM-a.
Neophodne promjene implementirati novu arhitekturu su već uključeni u systemd kodnu bazu i utiču na komponente kao što su systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase i systemd-crds.
Konačno ako ste zainteresirani da saznate više o tome, detalje možete provjeriti u sljedeći link.
Još smeća od Lennarta..