Diski krüpteerimise ringkäik, mis kasutab TPM2 automaatseks avamiseks

Üks NixOS-i pakette saatvatest arendajatest tutvustas rünnetehnika, mis võimaldab juurde pääseda andmetele krüpteeritud kettahaldustes, konfiguratsioonides, mis ei nõua käivitamisel parooli sisestamist, tänu TPM2 (Trusted Platform Module) salvestatud teabele dekrüpteerimiseks. Tõenäoliselt kasutatakse selliseid konfiguratsioone serverites või mitme kasutajaga tööjaamades, kus on keeruline pärast iga taaskäivitamist käsitsi parooli sisestada.

Seda tüüpi kettashifri kasutamisel toimub dešifreerimine täiendava võtme abil, mis on salvestatud TPM-is ja väljastatakse ainult siis, kui süsteemi algne olek on kinnitatud. Süsteemi olek salvestatakse ringleva PCR (Platform Configuration Register) registrisse jahutamishashidena ja sideme alla digitaalallkirjaga, millega on allkirjastatud alglaadija, samuti kontrollsummadega alglaadija ja esialgse laadimisosa (initrd) kohta. TPM-is on võtmele juurdepääs lubatud ainult siis, kui kõik sellega seotud PCR registrid on samas olekus nagu võtme salvestamise ajal.

Eeldatakse, et operatsioonisüsteemi laadimisprotsess kinnitatakse UEFI Secure Booti kaudu ning juurdepääs võtmetele on saadaval ainult muutmata initrd pildist. Kui kontroll on edukas, lukustatakse tahtmatult ketas, kuid juurdepääs dekrüpteeritud andmetele on võimalik ainult läbi oma süsteemikonto. Kui üritatakse ligi pääseda ilma kinnitatud laadimiseta või kui proovitakse asendada või muuta initrd, et võtmeid tabada, rikutakse usaldusväärsuse kett ning PCR-registeride seisund muutub, mistõttu TPM2 ei anna dekrüptimiseks vajalikke andmeid.

Avalikustatud rünnakumeetod võimaldab vältida initrd sisu muutmist konfiguratsioonides, mis ei tuvastanud LUKS-i krüpteeritud jaotusi. Täheldatakse, et sarnaste jaotuste kontrollimise kaasamine ei ole kirjas kõigis leitud juhistes kettakrüpteerimise seadistamiseks, kuna jaotuse identifitseerimine muudab konfiguratsiooni oluliselt keerulisemaks (on vajalik täiendava PCR registreerimise kaasamine ja initrd genereerimine selle väärtuse arvesse võtmisega). Rünnaku näiteid on demonstreeritud Fedora Linuxis koos tööriistakogumiga clevis ja NixOS-is koos systemd-cryptenrolliga. Rünnaku tegemiseks on vajalik füüsiline juurdepääs arvutile ja salvestusseadme eemaldamise võimalus.

Meetod põhineb sellel, et ründaja võib asendada olemasoleva juurkrüpteeritud jaotise enda loodud krüpteeritud jaotisega, millel on sama UUID-identifikaator ja ründajale teadaolevad dekrüpteerimisvõtmed. Initrd-keskkond edastab juhtimise init-protsessile ründaja jaotises. Kuna initrd sisu ei ole muutunud, ei rikuta TPM-i olekut ja ründaja saab oma keskkonnas TPM-i kasutada algse kettajaotise võtme dekrüpteerimiseks.

Rünnak koosneb järgmistest sammudest:

  • Ketta eemaldamine ja analüüsimine teisel arvutil krüpteerimata andmete jaotises /boot. Teabe määramine krüpteeritud jaotise ja selle UUID-identifikaatori kohta initrd-pildist, mis asub jaotises /boot.
  • Krüpteeritud LUKS-jaotise esimest 64 MB varundamine.
  • Asendada need 64 MB pildi tükkidega enda juurjaotisest, mis on krüpteeritud kasutades ründajale teadaolevat võtit ja millel on sama UUID-identifikaator nagu vanal jaotisel.
  • Ketta tagastamine algsesse arvutisse ja käivitamine vahetatud juurpartitsiooniga. Kuna automaatne lukust avamine TPM-i võtme kaudu vahetatud partitsioonil ebaõnnestub, esitab initrd käsu käsitsi parooli sisestamiseks.
  • Originaalvõtme saamine TPM-ist, kasutades TPM-i metainformatsiooni ja LUKS-i päise krüptitud tokenit vana partitsiooni jaoks.
  • Ketta paigutamine ründaja arvutisse, LUKS-i partitsiooni üle kirjutatud osa taastamine varukoopiast ja saadud originaalvõtme kasutamine andmete juurdepääsuks.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster