Krüptihäälestuse haavatavus, mis võimaldab LUKS2 partitsioonides krüptimise keelata

Linuxis kettasektsioonide krüptimiseks kasutatavas paketis Cryptsetup tuvastati haavatavus (CVE-2021-4122), mis võimaldab metaandmeid muutes LUKS2 (Linux Unified Key Setup) vormingus partitsioonidel krüptimise keelata. Haavatavuse ärakasutamiseks peab ründajal olema füüsiline juurdepääs krüpteeritud meediale, s.t. Meetod on mõttekas peamiselt krüpteeritud väliste salvestusseadmete, näiteks välkmäluseadmete ründamiseks, millele ründajal on juurdepääs, kuid ta ei tea andmete dekrüpteerimiseks parooli.

Rünnak on rakendatav ainult LUKS2-vormingus ja on seotud metaandmetega manipuleerimisega, mis vastutavad laienduse "online-reencryption" aktiveerimise eest, mis võimaldab juurdepääsuvõtme muutmise korral käivitada andmete uuesti krüptimise protsessi. vaheseinaga töötamist katkestamata. Kuna dekrüpteerimine ja uue võtmega krüptimine võtab palju aega, võimaldab "veebi uuesti krüptimine" partitsiooniga tööd mitte katkestada ja taustal uuesti krüpteerida, krüptides andmeid järk-järgult ühest võtmest teise . Samuti on võimalik valida tühi sihtvõti, mis võimaldab teisendada jaotise dekrüpteeritud vormiks.

Ründaja saab teha LUKS2 metaandmetes muudatusi, mis simuleerivad dekrüpteerimistoimingu katkemist tõrke tagajärjel ja saavutada osa partitsiooni dekrüpteerimise pärast modifitseeritud draivi aktiveerimist ja kasutamist omaniku poolt. Sel juhul ei saa kasutaja, kes on modifitseeritud draivi ühendanud ja selle õige parooliga avanud, hoiatust katkenud taaskrüptimistoimingu taastamise protsessi kohta ja saab selle toimingu edenemisest teada ainult “luks Dump” abil. käsk. Andmete hulk, mida ründaja saab dekrüpteerida, sõltub LUKS2 päise suurusest, kuid vaikemahu (16 MiB) juures võib see ületada 3 GB.

Probleemi põhjustab asjaolu, et kuigi uuesti krüpteerimine nõuab uute ja vanade võtmete räsi arvutamist ja kontrollimist, ei ole räsi dekrüpteerimise alustamiseks vajalik, kui uus olek eeldab krüptimiseks kasutatava lihttekstivõtme puudumist. Lisaks ei ole krüpteerimisalgoritmi täpsustavad LUKS2 metaandmed kaitstud muutmise eest, kui need satuvad ründaja kätte. Haavatavuse blokeerimiseks lisasid arendajad LUKS2-le metaandmetele täiendava kaitse, mille jaoks nüüd kontrollitakse täiendavat räsi, mis arvutatakse teadaolevate võtmete ja metaandmete sisu põhjal, s.t. Ründaja ei saa enam salaja metaandmeid muuta ilma dekrüpteerimisparooli teadmata.

Tüüpiline ründe stsenaarium nõuab, et ründaja saaks draivi mitu korda käed külge panna. Esiteks teeb ründaja, kes ei tea juurdepääsuparooli, metaandmete alas muudatusi, käivitades draivi järgmisel aktiveerimisel osa andmete dekrüpteerimise. Seejärel tagastatakse draiv oma kohale ja ründaja ootab, kuni kasutaja selle parooli sisestades ühendab. Seadme aktiveerimisel kasutaja poolt käivitatakse taustal taaskrüpteerimise protsess, mille käigus osa krüpteeritud andmetest asendatakse dekrüpteeritud andmetega. Lisaks, kui ründajal õnnestub seade uuesti kätte saada, on osa draivil olevatest andmetest dekrüpteeritud.

Probleemi tuvastas cryptsetup projekti hooldaja ja see parandati krüptiseadistuse 2.4.3 ja 2.3.7 värskendustes. Distributsioonide probleemi lahendamiseks genereeritavate värskenduste olekut saab jälgida järgmistel lehtedel: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Haavatavus ilmneb alles pärast krüptiseadistuse versiooni 2.2.0 väljaandmist, mis tutvustas võrgus uuesti krüptimise toimingut. Kaitse lahendusena saab kasutada käivitamist valikuga „--disable-luks2-reencryption”.

Allikas: opennet.ru

Lisa kommentaar