Lennart Poettering (skaberen af Systemd) gjort det kendt for nylig et forslag til modernisering af opstartsprocessen af distributioner af Linux, med det formål at løse eksisterende problemer og forenkle organiseringen af en fuld verificeret boot, bekræfter ægtheden af kernen og det underliggende systemmiljø.
Foreslåede ændringer er reduceret til oprettelse af et enkelt universelt UKI-billede (Unified Kernel Image) som fusionerer kernebilledet Linux-driver til at indlæse kernen fra UEFI (UEFI boot stub) og systemmiljøet initrd indlæst i hukommelsen, bruges til indledende initialisering på stadiet før montering af FS.
I stedet for et ramdisk-image initrd, hele systemet kan pakkes i UKI, hvilket muliggør oprettelse af fuldt verificerede systemmiljøer, der indlæses i RAM. UKI-billedet er pakket som en eksekverbar fil i PE-format, som ikke kun kan indlæses med traditionelle bootloadere, men også kan kaldes direkte fra UEFI-firmwaren.
Muligheden for at ringe fra UEFI tillader brug af en digital signatur validitets- og integritetskontrol som dækker ikke kun kernen, men også indholdet af initrd. Samtidig giver understøttelse af opkald fra traditionelle bootloadere mulighed for at gemme funktioner såsom levering af flere kerneversioner og automatisk rulle tilbage til en fungerende kerne, hvis der opdages problemer med den nye kerne efter installation af den seneste version.
Currently, de fleste Linux-distributioner bruger lænke "firmware → digitalt signeret Microsoft shim layer → digitalt signeret distribution GRUB bootloader → digitalt signeret distribution Linux kerne → usigneret initrd miljø → FS root" i initialiseringsprocessen. Mangler initrd check i traditionelle distributioner skaber sikkerhedsproblemer, da dette miljø blandt andet udtrækker nøgler for at dekryptere FS-roden.
Bekræftelse af initrd-billede understøttes ikke, da denne fil er genereret på brugerens lokale system og ikke kan certificeres af distributionens digitale signatur, hvilket gør det meget vanskeligt at organisere verifikation, når du bruger SecureBoot-tilstand (for at verificere initrd, skal brugeren generere dine nøgler og indlæse dem i UEFI-firmwaren).
Derudover den eksisterende opstartsorganisation tillader ikke brug af information fra TPM PCR-registrene (Platform Configuration Registry) til at kontrollere integriteten af andre brugerrumskomponenter end shim, grub og kernel. 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 versioner af operativsystemet, som er blevet irrelevante efter installation af opdateringen.
De vigtigste mål for gennemførelsen den nye boot-arkitektur:
- Giv en fuldt verificeret downloadproces, der dækker alle stadier fra firmware til brugerplads og bekræfter gyldigheden og integriteten af downloadede komponenter.
- Sammenkobling af kontrollerede ressourcer til TPM PCR-registre med adskillelse af ejere.
- Evne til at forudberegne PCR-værdier baseret på kernestart, initrd, konfiguration og lokalt system-id.
- Beskyttelse mod rollback-angreb forbundet med at vende tilbage til den tidligere sårbare version af systemet.
- Forenkle og forbedre pålideligheden af opdateringer.
- Understøttelse af OS-opgraderinger, der ikke kræver genanvendelse eller klargøring af TPM-beskyttede ressourcer lokalt.
- Forberedelse af systemet til fjerncertificering for at bekræfte korrektheden af operativsystemet og opstartskonfigurationen.
- Muligheden for at vedhæfte følsomme data til bestemte opstartstrin, for eksempel ved at udtrække krypteringsnøgler til FS-roden fra TPM.
- Giv en sikker, automatisk og lydløs proces til at låse op for 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 en TPM.
De nødvendige ændringer at implementere den nye arkitektur er allerede inkluderet i den systemderede kodebase og påvirker komponenter såsom systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase og systemd-creds.
Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne i følgende link.
Mere skrald fra Lennart..