Övervinning av diskchiffering som anvĂ€nder TPM2 för automatisk upplĂ„sning

En av tillÀggspaketen i NixOS presenterade en attackteknik som gör det möjligt att fÄ Ätkomst till data pÄ krypterade diskpartitioner, i konfigurationer som inte krÀver inmatning av upplÄsningslösenord vid uppstart, tack vare placeringen av avkodningsinformation i TPM2 (Trusted Platform Module). SÄdana konfigurationer anvÀnds ofta pÄ servrar eller fleranvÀndararbetsstationer, dÀr det Àr problematiskt att manuellt ange lösenord efter varje omstart.

Vid anvĂ€ndning av en sĂ„dan metod för diskchiffering sker avkodning med hjĂ€lp av en ytterligare nyckel som lagras i TPM och endast ges ut efter bekrĂ€ftelse av systemets ursprungliga tillstĂ„nd. Systemets tillstĂ„nd lagras i form av hash-vĂ€rden i PCR-register (Platform Configuration Register) och kopplas till en digital signatur som verifierar bootloadern, samt till kontrollsummor för bootloadern och det initiala bootmiljön (initrd). Åtkomst till nyckeln i TPM ges endast nĂ€r alla registren PCR som Ă€r kopplade till den Ă€r i samma tillstĂ„nd som nĂ€r nyckeln sparades.

Det antas att operativsystemets uppstartskedja verifieras med UEFI Secure Boot och att Ätkomst till nycklarna endast kan erhÄllas frÄn en oförÀndrad initrd-avbildning. Vid en lyckad verifiering lÄses disken automatiskt upp, men Ätkomst till de avkodade data kan endast ges genom inloggning i sitt konto i systemet. Vid Ätkomst utan verifierad uppstart eller vid försök att ersÀtta eller Àndra initrd i syfte att fÄnga nycklar, kommer förtroendekedjan att brytas, tillstÄndet för PCR-register att förÀndras och TPM2 kommer inte att ge informationen som krÀvs för avkodning.

Den publicerade attackmetoden gör det möjligt att undvika att Àndra innehÄllet i initrd i konfigurationer som inte identifierar LUKS-krypterade partitioner. Det noteras att inkluderingen av en sÄdan kontroll av partitioner inte beskrivs i alla hittade instruktioner för konfiguration av diskryptering, eftersom identifiering av partitionen avsevÀrt komplicerar konfigurationen (det krÀvs att ytterligare en PCR-register anvÀnds för att kontrollera partitionens nyckel och generera initrd med hÀnsyn till dess vÀrde). Exempel pÄ genomförande av attacken har demonstrerats för Fedora Linux i kombination med verktyget clevis och för NixOS i kombination med systemd-cryptenroll. För att genomföra attacken krÀvs fysisk tillgÄng till datorn och möjlighet att extrahera lagringsmediet.

Metoden bygger pÄ att angriparen kan ersÀtta den befintliga rotkrypterade partitionen med sin egen krypterade partition, skapad med samma UUID-identifierare och kÀnda dekrypteringsnycklar för angriparen. Initrd-miljön kommer att överföra kontrollen till init-processen i angriparens partition. Eftersom innehÄllet i initrd inte har Àndrats, kommer TPM-tillstÄndet inte att brytas och nÀr angriparen fÄr kontroll i sin miljö kan han anvÀnda TPM för att dekryptera nyckeln för den ursprungliga diskpartitionen.

Attacken kan sammanfattas i följande steg:

  • Extrahering av disken och analys av de okrypterade data som finns i partitionen /boot pĂ„ en annan dator. Identifiera information om den krypterade partitionen och dess UUID-identifierare frĂ„n initrd-avbildningen som finns i partitionen /boot.
  • Skapa en sĂ€kerhetskopia av de första 64 MB av den krypterade LUKS-partitionen.
  • ErsĂ€tta de angivna 64 MB med en avbildning av den egna rotpartitionen, krypterad med en nyckel som Ă€r kĂ€nd för angriparen och med UUID-identifierare som den gamla partitionen.
  • ÅtervĂ€nda disken till den ursprungliga datorn och starta med den utbytta rotpartitionen. Eftersom den automatiska upplĂ„sningen med nyckeln frĂ„n TPM för den utbytta partitionen misslyckas, begĂ€r initrd manuellt inmatning av lösenord.
  • HĂ€mta den ursprungliga nyckeln frĂ„n TPM, med hjĂ€lp av metadata om TPM och den krypterade token frĂ„n LUKS-huvudet för den gamla partitionen.
  • Byta ut disken pĂ„ angriparens dator, Ă„terstĂ€lla den överskrivna delen av LUKS-partitionen frĂ„n sĂ€kerhetskopian och anvĂ€nda den erhĂ„llna ursprungliga nyckeln för Ă„tkomst till data.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster