Lennart Pottering foreslo en ny Linux-verifisert oppstartsarkitektur

Lennart Poettering har publisert et forslag om å modernisere oppstartsprosessen for Linux-distribusjoner, rettet mot å løse eksisterende problemer og forenkle organiseringen av en fullverifisert oppstart som bekrefter påliteligheten til kjernen og det underliggende systemmiljøet. Endringene som kreves for å implementere den nye arkitekturen er allerede inkludert i systemd-kodebasen og påvirker komponenter som systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase og systemd-creds.

De foreslåtte endringene koker ned til opprettelsen av et enkelt universelt bilde UKI (Unified Kernel Image), som kombinerer Linux-kjernebildet, en behandler for å laste inn kjernen fra UEFI (UEFI boot stub) og initrd-systemmiljøet lastet inn i minnet, brukt for initialisering på stadiet før montering av rot-FS. I stedet for et initrd RAM-diskbilde, kan hele systemet pakkes i UKI, som lar deg lage fullstendig verifiserte systemmiljøer lastet inn i RAM. UKI-bildet er formatert som en kjørbar fil i PE-format, som ikke bare kan lastes ved hjelp av tradisjonelle oppstartslastere, men kan kalles direkte fra UEFI-fastvaren.

Muligheten til å ringe fra UEFI lar deg bruke en integritetssjekk av digital signatur som ikke bare dekker kjernen, men også innholdet i initrd. Samtidig lar støtte for anrop fra tradisjonelle oppstartslastere deg beholde funksjoner som levering av flere versjoner av kjernen og automatisk tilbakerulling til en fungerende kjerne dersom det oppdages problemer med den nye kjernen etter installasjon av oppdateringen.

For øyeblikket, i de fleste Linux-distribusjoner, bruker initialiseringsprosessen kjeden "fastvare → digitalt signert Microsoft shim-lag → GRUB oppstartslaster digitalt signert av distribusjonen → digitalt signert Linux-kjerne → ikke-signert initrd-miljø → root FS." Mangelen på initrd-verifisering i tradisjonelle distribusjoner skaper sikkerhetsproblemer, siden blant annet i dette miljøet hentes nøklene for dekryptering av rotfilsystemet.

Verifikasjon av initrd-bildet støttes ikke siden denne filen er generert på brukerens lokale system og ikke kan sertifiseres med en digital signatur av distribusjonssettet, noe som i stor grad kompliserer organiseringen av verifiseringen når du bruker SecureBoot-modus (for å verifisere initrd, brukeren må generere sine egne nøkler og laste dem inn i UEFI-fastvaren). I tillegg tillater ikke den nåværende oppstartsorganisasjonen bruk av informasjon fra TPM PCR-registrene (Platform Configuration Register) for å kontrollere integriteten til andre brukerplasskomponenter enn shim, grub og kjernen. Blant de eksisterende problemene nevnes også kompleksiteten ved å oppdatere bootloaderen og manglende evne til å begrense tilgangen til nøkler i TPM for eldre versjoner av OS som har blitt irrelevante etter installasjon av oppdateringen.

Hovedmålene med å introdusere den nye lastearkitekturen er:

  • Gir en fullstendig verifisert oppstartsprosess som spenner fra fastvare til brukerplass, og bekrefter gyldigheten og integriteten til komponentene som lastes.
  • Kobling av kontrollerte ressurser til TPM PCR-registre, atskilt etter eier.
  • Evne til å forhåndsberegne PCR-verdier basert på kjernen, initrd, konfigurasjon og lokal system-ID brukt under oppstart.
  • Beskyttelse mot tilbakeføringsangrep knyttet til tilbakerulling til en tidligere sårbar versjon av systemet.
  • Forenkle og øke påliteligheten til oppdateringer.
  • Støtte for OS-oppdateringer som ikke krever ny applikasjon eller lokal klargjøring av TPM-beskyttede ressurser.
  • Systemet er klart for ekstern sertifisering for å bekrefte riktigheten av det innlastede operativsystemet og innstillingene.
  • Muligheten til å knytte sensitive data til visse oppstartstrinn, for eksempel å trekke ut krypteringsnøkler for rotfilsystemet fra TPM.
  • Gir en sikker, automatisk og brukerfri prosess for å låse opp nøkler for å dekryptere en rotpartisjonsstasjon.
  • Bruk av brikker som støtter TPM 2.0-spesifikasjonen, med mulighet for tilbakerulling til systemer uten TPM.

Kilde: opennet.ru

Legg til en kommentar