Lennart Pottering stelde een nieuwe door Linux geverifieerde opstartarchitectuur voor

Lennart Poettering heeft een voorstel gepubliceerd om het opstartproces voor Linux-distributies te moderniseren, gericht op het oplossen van bestaande problemen en het vereenvoudigen van de organisatie van een volledig geverifieerde opstart die de betrouwbaarheid van de kernel en de onderliggende systeemomgeving bevestigt. De wijzigingen die nodig zijn om de nieuwe architectuur te implementeren zijn al opgenomen in de systemd-codebase en beïnvloeden componenten zoals systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase en systemd-creds.

De voorgestelde wijzigingen komen neer op het creëren van een enkele universele afbeelding UKI (Unified Kernel Image), die de Linux-kernelafbeelding combineert, een handler voor het laden van de kernel vanuit UEFI (UEFI boot stub) en de initrd-systeemomgeving die in het geheugen wordt geladen, gebruikt voor initiële initialisatie in de fase vóór het mounten van de root FS. In plaats van een initrd RAM-schijfkopie kan het hele systeem worden verpakt in UKI, waardoor u volledig geverifieerde systeemomgevingen kunt creëren die in RAM zijn geladen. De UKI-image is geformatteerd als een uitvoerbaar bestand in PE-formaat, dat niet alleen kan worden geladen met traditionele bootloaders, maar ook rechtstreeks vanuit de UEFI-firmware kan worden opgeroepen.

Dankzij de mogelijkheid om vanuit UEFI te bellen, kunt u een integriteitscontrole van digitale handtekeningen gebruiken die niet alleen de kernel bestrijkt, maar ook de inhoud van de initrd. Tegelijkertijd kunt u dankzij de ondersteuning voor het bellen vanuit traditionele bootloaders functies behouden zoals de levering van verschillende versies van de kernel en het automatisch terugdraaien naar een werkende kernel als er problemen worden gedetecteerd met de nieuwe kernel na het installeren van de update.

Momenteel gebruikt het initialisatieproces in de meeste Linux-distributies de keten “firmware → digitaal ondertekende Microsoft shim-laag → GRUB-bootloader digitaal ondertekend door de distributie → digitaal ondertekende Linux-kernel → niet-ondertekende initrd-omgeving → root FS.” Het ontbreken van initrd-verificatie in traditionele distributies zorgt voor beveiligingsproblemen, omdat in deze omgeving onder andere de sleutels voor het decoderen van het rootbestandssysteem worden opgehaald.

Verificatie van de initrd-image wordt niet ondersteund omdat dit bestand wordt gegenereerd op het lokale systeem van de gebruiker en niet kan worden gecertificeerd met een digitale handtekening van de distributiekit, wat de organisatie van de verificatie bij gebruik van de SecureBoot-modus (om de initrd te verifiëren, de de gebruiker moet zijn eigen sleutels genereren en deze in de UEFI-firmware laden). Bovendien staat de huidige opstartorganisatie het gebruik van informatie uit de TPM PCR-registers (Platform Configuration Register) niet toe om de integriteit van andere gebruikersruimtecomponenten dan shim, grub en de kernel te controleren. Onder de bestaande problemen worden ook de complexiteit van het updaten van de bootloader en het onvermogen om de toegang tot sleutels in de TPM te beperken voor oudere versies van het besturingssysteem genoemd, die na het installeren van de update irrelevant zijn geworden.

De belangrijkste doelstellingen van de introductie van de nieuwe laadarchitectuur zijn:

  • Het biedt een volledig geverifieerd opstartproces dat zich uitstrekt van firmware tot gebruikersruimte, waarbij de geldigheid en integriteit van de componenten die worden opgestart wordt bevestigd.
  • Gecontroleerde bronnen koppelen aan TPM PCR-registers, gescheiden per eigenaar.
  • Mogelijkheid om PCR-waarden vooraf te berekenen op basis van de kernel, initrd, configuratie en lokale systeem-ID die tijdens het opstarten wordt gebruikt.
  • Bescherming tegen rollback-aanvallen die gepaard gaan met het terugdraaien naar een eerdere kwetsbare versie van het systeem.
  • Vereenvoudig en verhoog de betrouwbaarheid van updates.
  • Ondersteuning voor OS-updates waarvoor geen nieuwe toepassing of lokale inrichting van door TPM beveiligde bronnen vereist is.
  • Het systeem is klaar voor certificering op afstand om de juistheid van het geladen besturingssysteem en de instellingen te bevestigen.
  • De mogelijkheid om gevoelige gegevens aan bepaalde opstartfasen te koppelen, bijvoorbeeld door coderingssleutels voor het rootbestandssysteem uit de TPM te extraheren.
  • Biedt een veilig, automatisch en gebruikersvrij proces voor het ontgrendelen van sleutels voor het decoderen van een rootpartitiestation.
  • Gebruik van chips die de TPM 2.0-specificatie ondersteunen, met de mogelijkheid om terug te draaien naar systemen zonder TPM.

Bron: opennet.ru

Voeg een reactie