Lennart Pottering foreslog en ny Linux-verificeret boot-arkitektur

Lennart Poettering har offentliggjort et forslag til at modernisere opstartsprocessen for Linux-distributioner, rettet mod at løse eksisterende problemer og forenkle organiseringen af ​​en fuldgyldig verificeret opstart, hvilket bekræfter ægtheden af ​​kernen og det underliggende systemmiljø. De ændringer, der kræves for at implementere den nye arkitektur, er allerede inkluderet i systemd-kodebasen og påvirker komponenter som systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase og systemd-creds.

De foreslåede ændringer er reduceret til oprettelsen af ​​et enkelt universelt UKI (Unified Kernel Image) billede, der kombinerer Linux-kernebilledet, handleren til indlæsning af kernen fra UEFI (UEFI boot stub) og initrd systemmiljøet indlæst i hukommelsen, brugt til initialisering på stadiet før montering af root FS. I stedet for et initrd RAM-diskbillede kan hele systemet pakkes i UKI, som giver dig mulighed for at skabe fuldt verificerede systemmiljøer, der er indlæst i RAM. UKI-image er lavet i form af en eksekverbar fil i PE-format, som ikke kun kan indlæses ved hjælp af traditionelle bootloadere, men kaldes direkte fra UEFI-firmwaren.

Muligheden for at ringe fra UEFI giver dig mulighed for at bruge en digital signaturs integritets- og gyldighedskontrol, der dækker ikke kun kernen, men også indholdet af initrd. Samtidig giver understøttelse af opkald fra traditionelle bootloadere dig mulighed for at gemme funktioner som levering af flere versioner af kernen og automatisk tilbagerulning til en fungerende kerne, hvis der opdages problemer med den nye kerne efter installation af opdateringen.

I øjeblikket bruger de fleste Linux-distributioner kæden "firmware → digitalt signeret Microsoft shim-lag → digitalt signeret distribution GRUB bootloader → digitalt signeret distribution Linux-kerne → usigneret initrd-miljø → root FS" i initialiseringsprocessen. Manglen på initrd-verifikation i traditionelle distributioner skaber sikkerhedsproblemer, da dette miljø blandt andet udtrækker nøgler for at dekryptere root FS.

Verifikation af initrd-billedet understøttes ikke, da denne fil er genereret på brugerens lokale system og ikke kan certificeres af distributionens digitale signatur, hvilket i høj grad komplicerer tilrettelæggelsen af ​​verifikationen, når du bruger SecureBoot-tilstanden (for at verificere initrd'en, har brugeren brug for for at generere sine nøgler og indlæse dem i UEFI-firmwaren). Derudover tillader den eksisterende opstartsorganisation ikke brug af information fra TPM PCR-registrene (Platform Configuration Register) til at kontrollere integriteten af ​​andre brugerrumskomponenter end shim, grub og kernen. Blandt de eksisterende problemer nævnes også komplikationen ved at opdatere bootloaderen og manglende evne til at begrænse adgangen til nøgler i TPM for ældre OS-versioner, der er blevet irrelevante efter installation af opdateringen.

Hovedmålene med at implementere den nye boot-arkitektur er:

  • Leverer en fuldt verificeret downloadproces, der dækker alle stadier fra firmware til brugerplads og bekræfter gyldigheden og integriteten af ​​de downloadede komponenter.
  • Binding af kontrollerede ressourcer til TPM PCR-registre med opdeling efter ejere.
  • Evne til at forudberegne PCR-værdier baseret på kernestart, initrd, konfiguration og lokalt system-id.
  • Beskyttelse mod rollback-angreb forbundet med rollback til den tidligere sårbare version af systemet.
  • Forenkle og forbedre pålideligheden af ​​opdateringer.
  • Understøttelse af OS-opdateringer, der ikke kræver genanvendelse eller lokal levering af TPM-beskyttede ressourcer.
  • Systemets parathed til fjerncertificering for at bekræfte rigtigheden af ​​det bootbare OS og indstillingerne.
  • Evnen til at vedhæfte følsomme data til bestemte opstartsfaser, for eksempel at udtrække krypteringsnøgler til root FS fra TPM.
  • Giv en sikker, automatisk og lydløs proces til oplåsning af nøgler for at dekryptere et drev med en rodpartition.
  • Brugen af ​​chips, der understøtter TPM 2.0-specifikationen, med mulighed for at falde tilbage til systemer uden TPM.

Kilde: opennet.ru

Tilføj en kommentar