Lennart Poettering navrhl novou architekturu pro ověřené spouštění Linux

Lennart Poettering zveřejnil návrh na modernizaci procesu spouštění. Linux-distribuce, jejichž cílem je řešit stávající problémy a zjednodušit organizaci plně ověřeného bootovacího procesu, který potvrzuje platnost jádra a podkladového systémového prostředí. Změny potřebné k implementaci nové architektury již byly začleněny do kódové základny systemd a ovlivňují komponenty jako systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase a systemd-creds.

Navrhované změny se redukují na vytvoření jediného univerzálního obrazu UKI (Unified Kernel Image), který kombinuje obraz jádra Linux, obslužný program pro načítání jádra z UEFI (UEFI boot stub) a systémové prostředí initrd načtené do paměti, které se používá pro inicializaci před připojením kořenového souborového systému. Místo obrazu RAM disku initrd lze celý systém zabalit do UKI, což umožňuje vytváření plně ověřených systémových prostředí načtených do RAM. Obraz UKI je zabalen jako spustitelný soubor ve formátu PE, který lze načíst nejen tradičními bootloadery, ale také přímo z firmwaru UEFI.

Možnost volání z UEFI umožňuje ověření integrity a platnosti digitálního podpisu, a to nejen jádra, ale i obsahu initrd. Podpora volání z tradičních bootloaderů také zachovává funkce, jako je zřizování více verzí jádra a automatický návrat k funkčnímu jádru, pokud se po instalaci aktualizace zjistí problémy s novým jádrem.

V současné době většina distribucí Linux Proces inicializace používá následující řetězec: firmware → vrstva shim certifikovaná digitálním podpisem společnosti Microsoft → zavaděč GRUB certifikovaný digitálním podpisem distribuce → jádro certifikované digitálním podpisem distribuce Linux → neověřené prostředí initrd → kořenový souborový systém." Absence ověření initrd v tradičních distribucích vytváří bezpečnostní problémy, protože toto prostředí se mimo jiné používá k extrakci klíčů pro dešifrování kořenového souborového systému.

Ověřování obrazu initrd není podporováno, protože tento soubor je generován v lokálním systému uživatele a nemůže být digitálně podepsán distribucí. To značně komplikuje ověřování při použití režimu SecureBoot (pro ověření souboru initrd musí uživatel vygenerovat vlastní klíče a načíst je do firmwaru UEFI). Současná organizace bootování navíc neumožňuje použití informací z TPM PCR (Platform Configuration Register) k monitorování integrity komponent uživatelského prostoru jiných než shim, grub a kernel. Mezi další uváděné problémy patří obtížnost aktualizace bootloaderu a nemožnost omezit přístup ke klíčům TPM pro starší verze operačních systémů, které se po instalaci aktualizace staly zastaralými.

Hlavní cíle implementace nové architektury spouštění jsou:

  • Poskytuje plně ověřený proces spouštění, který zahrnuje všechny fáze od firmwaru až po uživatelský prostor a potvrzuje platnost a integritu spouštěných komponent.
  • Vazba kontrolovaných zdrojů na registry TPM PCR s dělením podle vlastníků.
  • Schopnost předběžně vypočítat hodnoty PCR na základě jádra, initrd, konfigurace a lokálního identifikátoru systému použitého během bootování.
  • Ochrana před útoky typu rollback, které zahrnují návrat k předchozí zranitelné verzi systému.
  • Zjednodušení a zlepšení spolehlivosti aktualizací.
  • Podpora aktualizací operačního systému, které nevyžadují opětovnou aplikaci ani lokální zřizování zdrojů chráněných čipem TPM.
  • Systém je připraven k vzdálené certifikaci, která potvrdí správnost bootovacího operačního systému a nastavení.
  • Možnost připojit citlivá data ke konkrétním fázím spouštění, například extrahovat šifrovací klíče pro kořenový souborový systém z TPM.
  • Poskytuje bezpečný, automatický a bezuživatelský proces pro odemykání klíčů k dešifrování disku s kořenovým oddílem.
  • Použití čipů, které podporují specifikaci TPM 2.0, s možností návratu k systémům bez TPM.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster