Omzeiling van schijfversleuteling die TPM2 gebruikt voor automatische ontgrendeling

Een van de bijbehorende pakketten in NixOS heeft een aanvalstechniek gepresenteerd waarmee toegang kan worden verkregen tot gegevens op versleutelde schijfpartities, in configuraties die geen invoer van een ontgrendelingswachtwoord bij het opstarten vereisen, dankzij de opslag van decryptie-informatie in de TPM2 (Trusted Platform Module). Dergelijke configuraties worden vaak gebruikt op servers of multi-gebruikers werkstations, waarbij het problematisch is om na elke herstart handmatig een wachtwoord in te voeren.

Bij het toepassen van een dergelijke schijfversleuteling wordt de decryptie uitgevoerd met behulp van een aanvullende sleutel, die in de TPM is opgeslagen en alleen wordt uitgegeven bij bevestiging van de oorspronkelijke systeemstatus. De systeemstatus wordt bewaard in de vorm van hashes in de PCR-registers (Platform Configuration Register) en is gekoppeld aan een digitale handtekening die het opstartprogramma ondertekent, evenals aan de checksums van het opstartprogramma en de initiƫle opstartomgeving (initrd). Toegang tot de sleutel in de TPM wordt alleen verleend wanneer alle bijbehorende PCR-registers zich in dezelfde staat bevinden als bij het opslaan van de sleutel.

Het is impliciet dat de opstartketen van het besturingssysteem wordt geverifieerd met behulp van UEFI Secure Boot en toegang tot de sleutels alleen kan worden verkregen vanuit een onveranderd initrd-image. Bij een succesvolle verificatie wordt de schijf automatisch ontgrendeld, maar toegang tot de ontsleutelde gegevens kan alleen worden verkregen door in te loggen op uw account in het systeem. Bij toegang zonder geverifieerde opstart of bij een poging om de initrd te vervangen of te wijzigen om sleutels te onderscheppen, zal de keten van vertrouwen worden verbroken, de status van de PCR-registers veranderen en zal de TPM2 geen informatie geven die nodig is voor decryptie.

De gepubliceerde aanvalsmethode maakt het mogelijk om zonder wijzigingen aan de initrd-inhoud om te gaan met configuraties die geen versleutelde LUKS-partities identificeren. Het valt op dat het inschakelen van een dergelijke partitiecontrole niet wordt beschreven in alle gevonden instructies voor schijfversleuteling, aangezien de identificatie van de partitie de configuratie aanzienlijk complicateert (een extra PCR-register is vereist voor de controle van de partitie sleutel en de generering van initrd rekening houdend met de waarde hiervan). Voorbeelden van de aanval zijn gedemonstreerd voor Fedora Linux in combinatie met de clevis-tools en voor NixOS in samenhang met systemd-cryptenroll. Voor het uitvoeren van de aanval is fysieke toegang tot de computer en de mogelijkheid om de opslagmedia te extraheren vereist.

De methode is gebaseerd op het feit dat de aanvaller de bestaande versleutelde rootpartitie kan vervangen door zijn eigen versleutelde partitie, gemaakt met dezelfde UUID-identificator en met bekende decryptiesleutels. De initrd-omgeving zal de controle overdragen aan het init-proces in de partitie van de aanvaller. Aangezien de inhoud van de initrd niet is gewijzigd, zal de toestand van de TPM niet worden aangetast en kan de aanvaller die controle heeft gekregen in zijn omgeving de TPM gebruiken om de sleutel van de oorspronkelijke schijfpartitie te ontsleutelen.

De aanval bestaat uit de volgende stappen:

  • Het extraheren van de schijf en het uitvoeren van een analyse van de niet-versleutelde gegevens op de /boot-partitie op een andere computer. Het bepalen van de informatie over de versleutelde partitie en de UUID-identificator ervan vanuit het initrd-image dat zich op de /boot-partitie bevindt.
  • Het maken van een back-up van de eerste 64MB van de versleutelde LUKS-partitie.
  • Het vervangen van de opgegeven 64MB door een image met een eigen rootpartitie, versleuteld met behulp van de voor de aanvaller bekende sleutel en met dezelfde UUID-identificator als de oude partitie.
  • De schijf terugplaatsen in de oorspronkelijke computer en opstarten met de vervangen rootpartitie. Aangezien de automatische ontgrendeling met de sleutel vanuit de TPM voor de vervangen partitie mislukt, vraagt de initrd om handmatige invoer van het wachtwoord.
  • Het verkrijgen van de originele sleutel uit de TPM, met gebruikmaking van metadata over de TPM en de versleutelde token uit de LUKS-header van de oude partitie.
  • De schijf opnieuw installeren op de computer van de aanvaller, het herstellen van het overschreven deel van de LUKS-partitie vanuit de back-up en het gebruik van de verkregen originele sleutel voor toegang tot de gegevens.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster