Lennart Pottering föreslog en ny Linux-verifierad startarkitektur

Lennart Poettering har publicerat ett förslag om att modernisera uppstartsprocessen för Linux-distributioner, som syftar till att lösa befintliga problem och förenkla organisationen av en fullständigt verifierad start som bekräftar kärnans tillförlitlighet och den underliggande systemmiljön. De förändringar som krävs för att implementera den nya arkitekturen är redan inkluderade i systemd-kodbasen och påverkar komponenter som systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase och systemd-creds.

De föreslagna ändringarna kokar ner till skapandet av en enda universell bild UKI (Unified Kernel Image), som kombinerar Linux-kärnavbildningen, en hanterare för att ladda kärnan från UEFI (UEFI boot stub) och initrd-systemmiljön laddad i minnet, som används för initial initiering vid steget före montering av rot-FS. Istället för en initrd RAM-diskavbildning kan hela systemet paketeras i UKI, vilket gör att du kan skapa fullständigt verifierade systemmiljöer inlästa i RAM. UKI-avbildningen är utformad som en körbar fil i PE-format, som inte bara kan laddas med traditionella startladdare, utan kan anropas direkt från UEFI-firmwaren.

Möjligheten att ringa från UEFI låter dig använda en integritetskontroll för digital signatur som täcker inte bara kärnan utan även innehållet i initrd. Samtidigt tillåter stöd för anrop från traditionella bootloaders dig att behålla funktioner som leverans av flera versioner av kärnan och automatisk återställning till en fungerande kärna om problem upptäcks med den nya kärnan efter installation av uppdateringen.

För närvarande, i de flesta Linux-distributioner, använder initieringsprocessen kedjan "firmware → digitalt signerat Microsoft shim layer → GRUB boot loader digitalt signerat av distributionen → digitalt signerad Linux-kärna → icke-signerad initrd-miljö → root FS." Bristen på initrd-verifiering i traditionella distributioner skapar säkerhetsproblem, eftersom bland annat i denna miljö nycklarna för att dekryptera rotfilsystemet hämtas.

Verifiering av initrd-bilden stöds inte eftersom den här filen genereras på användarens lokala system och inte kan certifieras med en digital signatur av distributionssatsen, vilket avsevärt komplicerar organisationen av verifieringen när du använder SecureBoot-läget (för att verifiera initrd, användaren måste generera sina egna nycklar och ladda dem i UEFI-firmwaren). Dessutom tillåter den nuvarande startorganisationen inte användningen av information från TPM PCR-registren (Platform Configuration Register) för att kontrollera integriteten för andra användarutrymmeskomponenter än shim, grub och kärnan. Bland de befintliga problemen nämns också komplexiteten i att uppdatera bootloadern och oförmågan att begränsa åtkomsten till nycklar i TPM för äldre versioner av operativsystemet som har blivit irrelevanta efter installation av uppdateringen.

Huvudmålen med att introducera den nya lastningsarkitekturen är:

  • Tillhandahåller en fullständigt verifierad startprocess som sträcker sig från firmware till användarutrymme, vilket bekräftar giltigheten och integriteten för de komponenter som startas.
  • Länka kontrollerade resurser till TPM PCR-register, separerade av ägare.
  • Möjlighet att förberäkna PCR-värden baserat på kärnan, initrd, konfiguration och lokalt system-ID som används under uppstart.
  • Skydd mot återställningsattacker i samband med återställning till en tidigare sårbar version av systemet.
  • Förenkla och öka tillförlitligheten för uppdateringar.
  • Stöd för OS-uppdateringar som inte kräver omapplicering eller lokal provisionering av TPM-skyddade resurser.
  • Systemet är redo för fjärrcertifiering för att bekräfta att det laddade operativsystemet och inställningarna är korrekta.
  • Möjligheten att bifoga känslig data till vissa startsteg, till exempel extrahera krypteringsnycklar för rotfilsystemet från TPM.
  • Tillhandahåller en säker, automatisk och användarfri process för att låsa upp nycklar för att dekryptera en rotpartitionsenhet.
  • Användning av chips som stöder TPM 2.0-specifikationen, med möjlighet att återställa till system utan TPM.

Källa: opennet.ru

Lägg en kommentar