Lennart Pottering stelde in nije Linux ferifiearre boot-arsjitektuer foar

Lennart Poettering hat in foarstel publisearre om it bootproses foar Linux-distribúsjes te modernisearjen, rjochte op it oplossen fan besteande problemen en it ferienfâldigjen fan de organisaasje fan in folslein ferifiearre boot dy't de betrouberens fan 'e kernel en de ûnderlizzende systeemomjouwing befestiget. De wizigingen dy't nedich binne om de nije arsjitektuer te ymplementearjen binne al opnommen yn 'e systemd codebase en beynfloedzje komponinten lykas systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase en systemd-creds.

De foarstelde wizigingen komme del op it meitsjen fan in inkele universele ôfbylding UKI (Unified Kernel Image), kombinearjen fan de Linux kernel ôfbylding, in handler foar it laden fan de kernel fan UEFI (UEFI boot stub) en de initrd systeem omjouwing laden yn it ûnthâld, brûkt foar inisjalisaasje op it poadium foar it montearjen fan de root FS. Yn stee fan in initrd RAM skiif ôfbylding, it hiele systeem kin wurde ferpakt yn UKI, dat kinne jo meitsje folslein ferifiearre systeem omjouwings laden yn RAM. De UKI-ôfbylding is opmakke as in útfierber bestân yn PE-formaat, dat kin wurde laden net allinich mei tradisjonele bootloaders, mar kin direkt wurde neamd fan 'e UEFI-firmware.

De mooglikheid om te skiljen fan UEFI lit jo in yntegriteitskontrôle fan digitale hantekening brûke dy't net allinich de kernel beslacht, mar ek de ynhâld fan 'e initrd. Tagelyk, stipe foar oproppen fan tradisjonele bootloaders kinne jo sokke funksjes behâlde as it leverjen fan ferskate ferzjes fan 'e kernel en automatysk weromdraaien nei in wurkjende kernel as problemen wurde ûntdutsen mei de nije kernel nei it ynstallearjen fan de fernijing.

Op it stuit, yn 'e measte Linux-distribúsjes, brûkt it inisjalisaasjeproses de ketting "firmware → digitaal ûndertekene Microsoft shim-laach → GRUB-bootlader digitaal ûndertekene troch de distribúsje → digitaal ûndertekene Linux-kernel → net-ûndertekene initrd-omjouwing → root FS." It ûntbrekken fan initrd-ferifikaasje yn tradisjonele distribúsjes makket feiligensproblemen, om't ûnder oare yn dizze omjouwing de kaaien foar it ûntsiferjen fan it rootbestânsysteem wurde ophelle.

Ferifikaasje fan 'e initrd-ôfbylding wurdt net stipe, om't dit bestân wurdt oanmakke op it lokale systeem fan 'e brûker en kin net sertifisearre wurde mei in digitale hantekening fan 'e distribúsjekit, wat de organisaasje fan ferifikaasje tige komplisearret by it brûken fan de SecureBoot-modus (om de initrd te ferifiearjen, de brûker moat har eigen kaaien generearje en se laden yn 'e UEFI-firmware). Dêrnjonken lit de hjoeddeistige bootorganisaasje it gebrûk fan ynformaasje fan 'e TPM PCR (Platform Configuration Register) registers net tastean om de yntegriteit fan brûkersromtekomponinten oars as shim, grub en de kernel te kontrolearjen. Under de besteande problemen wurdt ek neamd de kompleksiteit fan it bywurkjen fan de bootloader en de ûnfermogen om tagong te beheinen ta kaaien yn 'e TPM foar âldere ferzjes fan it OS dy't irrelevant wurden binne nei it ynstallearjen fan de fernijing.

De wichtichste doelen fan it yntrodusearjen fan de nije laden arsjitektuer binne:

  • It leverjen fan in folslein ferifiearre opstartproses dat spant fan firmware oant brûkersromte, en befêstiget de jildigens en yntegriteit fan 'e komponinten dy't wurde opstart.
  • Kontroleare boarnen keppelje oan TPM PCR-registers, skieden troch eigner.
  • Mooglikheid om PCR-wearden foarôf te berekkenjen basearre op de kernel, initrd, konfiguraasje en lokale systeem-ID brûkt by it opstarten.
  • Beskerming tsjin rollback oanfallen ferbûn mei it weromrollen nei in eardere kwetsbere ferzje fan it systeem.
  • Ienfâldigje en fergrutsje de betrouberens fan updates.
  • Stipe foar OS-fernijings dy't gjin opnij tapassing of lokale foarsjenning fan TPM-beskerme boarnen fereaskje.
  • It systeem is klear foar sertifikaasje op ôfstân om de krektens fan it laden OS en ynstellingen te befêstigjen.
  • De mooglikheid om gefoelige gegevens te heakjen oan bepaalde opstartstadia, bygelyks it ekstrahearjen fan fersiferingskaaien foar it rootbestânsysteem fan 'e TPM.
  • It leverjen fan in feilich, automatysk en brûkerfrij proses foar it ûntsluten fan kaaien om in root-partition-drive te ûntsiferjen.
  • Gebrûk fan chips dy't de TPM 2.0-spesifikaasje stypje, mei de mooglikheid om werom te gean nei systemen sûnder TPM.

Boarne: opennet.ru

Add a comment