Omgåelse af disk kryptering, der anvender TPM2 til automatisk oplåsning.

En af de medfølgende pakker i NixOS præsenterede en angrebsteknik, der gør det muligt at få adgang til data på krypterede partitions, i konfigurationer der ikke kræver indtastning af en oplåsning adgangskode ved opstart, takket være placeringen af information til dekryptering i TPM2 (Trusted Platform Module). Sådanne konfigurationer bruges ofte på servere eller multibruger arbejdsstationer, hvor det er problematisk at indtaste adgangskoden manuelt efter hver genstart.

Ved anvendelse af en sådan metode til disk kryptering udføres dekryptering ved hjælp af en ekstra nøgle, der opbevares i TPM og kun udleveres ved bekræftelse af systemets oprindelige tilstand. Systemets tilstand gemmes i form af hashes i PCR (Platform Configuration Register) registre og knyttes til en digital signatur, der bekræfter bootloaderen, samt til checksummer af bootloaderen og det indledende boot-miljø (initrd). Adgang til nøglen i TPM gives kun, når alle tilknyttede PCR registre er i samme tilstand som ved gemmelsen af nøglen.

Det forstås, at opstartssekvensen for operativsystemet verificeres ved hjælp af UEFI Secure Boot, og at adgang til nøglerne kun kan opnås fra et uimodificeret initrd billede. Ved succesfuld verifikation låses disken automatisk op, men adgang til de dekrypterede data kan kun opnås gennem login til sin brugerkonto i systemet. Ved at forsøge at tilgå uden verificeret opstart, eller ved forsøg på at ændre initrd med henblik på at opsnappe nøgler, vil tillidskæden blive brudt, tilstanden for PCR registrene vil ændre sig, og TPM2 vil ikke returnere de nødvendige oplysninger for dekryptering.

Den offentliggjorte angrebsmetode tillader at omgå ændringer i indholdet af initrd i konfigurationer, der ikke identificerer LUKS-krypterede partitioner. Det bemærkes, at inkluderingen af en sådan kontrol af partitioner ikke beskrives i alle de fundne vejledninger til opsætning af disk kryptering, da identificeringen af partitionen væsentligt komplicerer konfigurationen (kræver involvering af en ekstra PCR-register til kontrol af partitionens nøgle og generering af initrd med hensyn til dens værdi). Eksempler på udførelse af angrebet er demonstreret for Fedora Linux i forbindelse med værktøjet clevis og for NixOS i forbindelse med systemd-cryptenroll. For at udføre angrebet kræves fysisk adgang til computeren og mulighed for at fjerne lagringsenheden.

Metoden er baseret på, at angriberen kan erstatte den eksisterende krypterede rodpartition med sin egen krypterede partition, der er oprettet med den samme UUID-identifikator og kendte nøgler til dekryptering, som angriberen har. Initrd-miljøet vil overføre kontrol til init-processen i angriberens partition. Da indholdet af initrd ikke er blevet ændret, vil TPM-tilstanden ikke blive overtrådt, og ved at få kontrol i sit eget miljø kan angriberen bruge TPM til at dekryptere den oprindelige diskpartitionnøgle.

Angrebet kan opsummeres i følgende trin:

  • Fjernelse af disken og udførelse af analyse af de ukrypterede data på partitionen /boot på en anden computer. Bestemmelse af oplysninger om den krypterede partition og dens UUID-identifikator fra initrd-billedet, der er placeret i partitionen /boot.
  • Oprettelse af en back-up af de første 64 MB af den krypterede LUKS-partition.
  • Erstatning af de angivne 64 MB med et billede af sin egen rodpartition, krypteret med en kendt nøgle og med UUID-identifikatoren som den gamle partition.
  • Returnering af disken til den oprindelige computer og opstart med den ændrede rodpartition. Da automatisk låsning med nøgle fra TPM for den ændrede partition mislykkes, beder initrd om manuel indtastning af kodeord.
  • Hentning af den oprindelige nøgle fra TPM ved brug af metadata om TPM og den krypterede token fra LUKS-hovedet på den gamle partition.
  • Flytning af disken til angriberens computer, gendannelse af den overskrevne del af LUKS-partitionen fra backup og brug af den opnåede oprindelige nøgle til adgang til data.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster