Sikker opstart: Sådan fungerer det

Se kategorier

Sikker opstart: Sådan fungerer det

4 min læses

Sikker opstart er en afgørende sikkerhedsfunktion designet til at sikre, at kun pålidelig software udføres under opstartsprocessen. Men efterhånden som sårbarheder dukker op, vil mere avancerede mekanismer som f.eks Secure Boot Advanced Targeting (SBAT) er blevet indført for at øge dens sikkerhed. Denne artikel forklarer nøglebegreberne bag SBAT, og hvordan det fungerer for at opretholde integriteten af ​​opstartsprocessen.

Sådan fungerer traditionel sikker boot #

Sikker opstart fungerer ved at validere hver komponent i opstartsprocessen, startende med, at firmwaren bekræfter bootloaderen, som igen validerer kernen og så videre. Denne tillidskæde sikrer, at kun verificerede og signerede komponenter får lov til at køre. Hvis der findes en sårbarhed, tilbagekalder systemet upålidelige komponenter ved at tilføje deres hash til en sortliste. Denne metode har været effektiv, men den står over for udfordringer med at håndtere skalaen og kompleksiteten af ​​moderne støvlemiljøer.

Sikker opstartsproces

På et højt niveau følger Secure Boot-processen en chain-of-trust-model:
1. UEFI Firmware: Bekræfter bootloader-signaturen.
2. Bootloader: Bekræfter kernesignaturen.
3. kernel: Validerer dynamisk indlæste moduler og eventuel yderligere kernekode.
4. Runtime-miljø: Tillid føres videre, hvilket sikrer systemets eksekveringsmiljø.

Denne model sikrer, at kun komponenter, der er signeret med en betroet nøgle, udføres. Men når en sårbarhed opdages i nogen af ​​disse komponenter (f.eks. bootloaderen), kræver en traditionel Secure Boot-implementering tilføjelse af komponentens hash til en sortliste, hvilket forhindrer den binære fil i at køre i fremtiden. Problemet? Scale.

Problemet: Håndtering af et stort antal binære filer #

Hver Linux-distribution kan for eksempel kompilere sin egen version af bootloaderen (f.eks. GRUB), hvilket skaber mange distinkte binære filer med unikke hashes. Når en sårbarhed er identificeret i den underliggende bootloader-kode, skal alle berørte binære filer tilbagekaldes individuelt. I betragtning af, at den tilgængelige lagerplads til tilbagekaldelses-hash (typisk gemt i NVRAM) er begrænset, er denne tilgang ikke bæredygtig for miljøer i stor skala.

SBAT: Enhancing Secure Boot Scalability #

Secure Boot Advanced Targeting (SBAT) er designet til at løse dette skalerbarhedsproblem ved at skifte væk fra at tilbagekalde individuelle binære hashes og i stedet introducere sikkerhedsgenerationer. SBAT-mekanismen fungerer som følger:
1. Sikkerhedsgenerationsnummer: Hver opstartskomponent (bootloader, kerne osv.) er tildelt et generationsnummer. Dette nummer er indlejret i den signerede binære under byggeprocessen.
2. SBAT Variabel: En ny firmwarevariabel introduceres for at gemme den mindst tilladte sikkerhedsgenerering for hver komponent.
3. Valideringslogik: Under opstartsprocessen tjekker systemet den næste komponents sikkerhedsgenerationsnummer mod minimumsgenereringen defineret i SBAT-variablen. Hvis komponentens generering er under tærsklen, afvises den, og opstartsprocessen stopper.

SBAT Flow #

  • Firmwaren starter bootloaderen og kontrollerer dens SBAT-sikkerhedsgenerering.
  • Bootloaderen validerer kernens generationsnummer.
  • Kernen kan validere andre modulers sikkerhedsgenereringsnumre efter behov.

Denne tilgang giver mulighed for at tilbagekalde flere versioner af sårbare binære filer ved blot at hæve minimumsgenerationstallet i SBAT-variablen, uden at det er nødvendigt at gemme individuelle hashes.

Implementering af SBAT: Nøglekomponenter #

SBAT-sektion i underskrevne binære filer #

Hver komponent i opstartskæden skal indeholde en SBAT-metadatasektion, der indeholder:

  • Komponentens navn.
  • Komponentens aktuelle sikkerhedsgenereringsnummer.

Firmware integration #

Systemets firmware skal opdateres for at genkende og håndtere SBAT-variablen. Dette omfatter:

  • Lagring af SBAT-variablen i NVRAM.
  • Kontrol af SBAT-metadata i boot-komponenter.
  • Afvisning af komponenter med forældede generationsnumre.

Styring af sikkerhedspolitik #

Opdatering af SBAT-variablen er en del af den overordnede sikkerhedspolitikstyring af systemet. Alle opdateringer skal øge generationsnummeret på tværs af alle relevante komponenter i boot-kæden for at sikre kontinuerlig beskyttelse.

SBAT og Secure Boot Hardening #

Ved at vedtage SBAT kan organisationer:
1. Reducer tilbagekaldelsesomkostninger: I stedet for at gemme mange hashes af sårbare binære filer, er det kun generationsnummeret, der skal opdateres.
2. Øg sikkerheden: Sårbare komponenter kan blokeres mere effektivt, hvilket mindsker risici uden at opbruge firmwarelageret.
3. Nemmere udrulninger: Systemadministratorer kan nemmere administrere firmwareopdateringer og Secure Boot-konfigurationer, hvilket sikrer hurtigere responstider på sårbarheder.

Konklusion #

Secure Boot Advanced Targeting (SBAT) er en effektiv metode til at håndtere sikkerhedsopdateringer i Secure Boot-kæden uden at overvælde systemets lager- eller sikkerhedsinfrastruktur. Ved at indlejre generationsnumre i hver opstartskomponent og bruge en enkelt opdateringsmekanisme til at håndhæve disse generationer, giver SBAT skalerbarhed og fleksibilitet til at styre det stadigt udviklende landskab af bootsikkerhed.

For moderne Linux- og Windows-systemer sikrer SBAT et stærkere, mere modstandsdygtigt Secure Boot-miljø, der er i stand til at reagere hurtigt på trusler med minimale driftsomkostninger.

📄 Download dette dokument i PDF-format #

    EMAIL: *

    drevet af BetterDocs