Lennart Pottering je predlagal novo preverjeno zagonsko arhitekturo za Linux

Lennart Poettering je objavil predlog za posodobitev zagonskega procesa za distribucije Linuxa, katerega namen je rešiti obstoječe težave in poenostaviti organizacijo popolnega preverjenega zagona, ki potrjuje zanesljivost jedra in osnovnega sistemskega okolja. Spremembe, potrebne za implementacijo nove arhitekture, so že vključene v kodno zbirko systemd in vplivajo na komponente, kot so systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase in systemd-creds.

Predlagane spremembe se nanašajo na ustvarjanje enotne univerzalne slike UKI (Unified Kernel Image), ki združuje sliko jedra Linuxa, upravljalnik za nalaganje jedra iz UEFI (UEFI boot stub) in sistemsko okolje initrd, naloženo v pomnilnik, ki se uporablja za začetna inicializacija na stopnji pred namestitvijo korenskega FS. Namesto slike diska initrd RAM lahko celoten sistem zapakirate v UKI, kar vam omogoča ustvarjanje popolnoma preverjenih sistemskih okolij, naloženih v RAM. Slika UKI je oblikovana kot izvršljiva datoteka v formatu PE, ki jo je mogoče naložiti ne le s tradicionalnimi zagonskimi programi, ampak jo je mogoče priklicati neposredno iz vdelane programske opreme UEFI.

Možnost klica iz UEFI vam omogoča uporabo preverjanja celovitosti digitalnega podpisa, ki ne zajema samo jedra, ampak tudi vsebino initrd. Hkrati vam podpora za klicanje iz tradicionalnih zagonskih nalagalnikov omogoča, da ohranite funkcije, kot je dostava več različic jedra in samodejni povratek na delujoče jedro, če se po namestitvi posodobitve odkrijejo težave z novim jedrom.

Trenutno v večini distribucij Linuxa postopek inicializacije uporablja verigo »vdelana programska oprema → digitalno podpisana Microsoftova shim plast → zagonski nalagalnik GRUB, digitalno podpisan s strani distribucije → digitalno podpisano jedro Linuxa → nepodpisano initrd okolje → korenski FS.« Pomanjkanje preverjanja initrd v tradicionalnih distribucijah ustvarja varnostne težave, saj se med drugim v tem okolju pridobijo ključi za dešifriranje korenskega datotečnega sistema.

Preverjanje slike initrd ni podprto, ker je ta datoteka ustvarjena v lokalnem sistemu uporabnika in je ni mogoče potrditi z digitalnim podpisom distribucijskega kompleta, kar močno oteži organizacijo preverjanja pri uporabi načina SecureBoot (za preverjanje initrd, uporabnik mora ustvariti lastne ključe in jih naložiti v vdelano programsko opremo UEFI). Poleg tega trenutna organizacija zagona ne dovoljuje uporabe informacij iz registrov TPM PCR (Platform Configuration Register) za nadzor celovitosti komponent uporabniškega prostora, razen shim, grub in jedra. Med obstoječimi težavami je omenjena tudi zapletenost posodabljanja zagonskega nalagalnika in nezmožnost omejitve dostopa do ključev v TPM za starejše različice OS, ki so po namestitvi posodobitve postale nepomembne.

Glavni cilji uvedbe nove nakladalne arhitekture so:

  • Zagotavlja popolnoma preverjen zagonski proces, ki se razteza od vdelane programske opreme do uporabniškega prostora in potrjuje veljavnost in celovitost komponent, ki se nalagajo.
  • Povezovanje nadzorovanih virov z registri TPM PCR, ločenimi po lastniku.
  • Možnost vnaprejšnjega izračuna vrednosti PCR glede na jedro, initrd, konfiguracijo in ID lokalnega sistema, uporabljenega med zagonom.
  • Zaščita pred napadi povrnitve, povezanimi s povrnitvijo na prejšnjo ranljivo različico sistema.
  • Poenostavite in povečajte zanesljivost posodobitev.
  • Podpora za posodobitve OS, ki ne zahtevajo ponovne uporabe ali lokalnega zagotavljanja sredstev, zaščitenih s TPM.
  • Sistem je pripravljen na oddaljeno certificiranje za potrditev pravilnosti naloženega OS in nastavitev.
  • Možnost pripenjanja občutljivih podatkov v določene zagonske faze, na primer ekstrahiranje šifrirnih ključev za korenski datotečni sistem iz TPM.
  • Zagotavljanje varnega, samodejnega postopka brez uporabnika za odklepanje ključev za dešifriranje pogona korenske particije.
  • Uporaba čipov, ki podpirajo specifikacijo TPM 2.0, z možnostjo povrnitve na sisteme brez TPM.

Vir: opennet.ru

Dodaj komentar