Lennart Pottering je predložio novu Linux verificiranu arhitekturu pokretanja

Lennart Poettering je objavio prijedlog za modernizaciju procesa pokretanja Linux distribucija, s ciljem rješavanja postojećih problema i pojednostavljenja organizacije potpunog verifikovanog pokretanja, potvrđujući autentičnost kernela i osnovnog sistemskog okruženja. Promjene potrebne za implementaciju nove arhitekture su već uključene 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.

Predložene promjene se svode na kreiranje jedne univerzalne UKI (Unified Kernel Image) slike koja kombinuje sliku jezgre Linuxa, rukovaoca za učitavanje kernela iz UEFI (UEFI boot stub) i initrd sistemskog okruženja učitanog u memoriju, koji se koristi za početna inicijalizacija u fazi prije montiranja korijenskog FS-a. Umjesto slike initrd RAM diska, cijeli sistem može biti upakovan u UKI, omogućavajući kreiranje potpuno verifikovanih sistemskih okruženja koje se učitavaju u RAM. UKI-slika je napravljena u obliku izvršne datoteke u PE formatu, koja se može učitati ne samo pomoću tradicionalnih bootloadera, već se direktno poziva iz UEFI firmvera.

Mogućnost pozivanja iz UEFI-ja vam omogućava da koristite provjeru integriteta i valjanosti digitalnog potpisa koja pokriva ne samo kernel, već i sadržaj initrd-a. Istovremeno, podrška za pozivanje iz tradicionalnih pokretača omogućava vam da sačuvate funkcije kao što su isporuka nekoliko verzija kernela i automatsko vraćanje na radni kernel u slučaju da se problemi s novim kernelom otkriju nakon instaliranja ažuriranja.

Trenutno, većina Linux distribucija koristi lanac „firmware → digitalno potpisani Microsoft shim sloj → digitalno potpisana distribucija GRUB bootloader → digitalno potpisana distribucija Linux kernel → nepotpisano initrd okruženje → root FS“ u procesu inicijalizacije. Nedostatak initrd verifikacije u tradicionalnim distribucijama stvara sigurnosne probleme, jer, između ostalog, ovo okruženje izdvaja ključeve za dešifrovanje korijenskog FS-a.

Provjera initrd slike nije podržana, jer se ova datoteka generira na korisničkom lokalnom sistemu i ne može biti certificirana digitalnim potpisom distribucije, što uvelike otežava organizaciju verifikacije pri korištenju SecureBoot moda (da bi provjerio initrd, korisniku je potrebno da generiše svoje ključeve i učita ih u UEFI firmver). Osim toga, postojeća organizacija pokretanja ne dozvoljava korištenje informacija iz TPM PCR (Registar konfiguracije platforme) registara za kontrolu integriteta komponenti korisničkog prostora osim shim-a, grub-a i kernela. Među postojećim problemima spominju se i komplikacija ažuriranja bootloadera i nemogućnost ograničavanja pristupa ključevima u TPM-u za starije verzije OS-a koji su postali nebitni nakon instaliranja ažuriranja.

Glavni ciljevi implementacije nove arhitekture pokretanja su:

  • Pružanje potpuno verifikovanog procesa preuzimanja, koji pokriva sve faze od firmvera do korisničkog prostora i potvrđuje validnost i integritet preuzetih komponenti.
  • Vezanje kontrolisanih resursa za TPM PCR registre sa podjelom 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 ažuriranja OS-a koja ne zahtijevaju ponovnu primjenu ili lokalno obezbjeđivanje resursa zaštićenih TPM-om.
  • Spremnost sistema za daljinsku sertifikaciju za potvrdu ispravnosti OS i postavki za pokretanje sistema.
  • Mogućnost pričvršćivanja osjetljivih podataka određenim fazama pokretanja, na primjer, izdvajanje ključeva za šifriranje za korijenski FS iz TPM-a.
  • Obezbedite siguran, automatski i tihi 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.

izvor: opennet.ru

Dodajte komentar