Küsimus cryptsetupis, mis võimaldab LUKS2-osade krüpteerimise keelata.

Cryptsetup pakettis, mida kasutatakse Linuxi kettaparty šifreerimiseks, on avastatud haavatavus (CVE-2021-4122), mis võimaldab metaandmete muutmise kaudu šifreerimise keelata LUKS2 (Linux Unified Key Setup) formaadis partitsioonides. Haavatavuse ärakasutamiseks peab ründajal olema füüsiline ligipääs šifreeritud andmekandjale, st meetod on mõistlik peamiselt šifreeritud väliste mäluseadmete, nagu Flash-mälud, ründamiseks, millele ründaja pääseb ligi, kuid ei tea andmete dekodeerimise parooli.

Rünnak kehtib ainult LUKS2 formaadi kohta ja on seotud metadata manipuleerimisega, mis on vajalik "online reencryption" laienduse aktiivseks muutmiseks. See võimaldab vajadusel juurdepääsuvõtme vahetamise käigus alustada andmete reenkodeerimise protsessi ilma sektsiooni tööd peatamata. Kuna uue võtmega dekodeerimise ja kodeerimise protsess võtab aega, võimaldab "online reencryption" jätkata sektsiooni kasutamist ja teostada reenkodeerimist taustal, edastades järk-järgult andmed ühest võtmega teisele. Samuti on võimalus valida tühi sihtvõti, mis võimaldab sektsiooni muuta dekodeeritud olekusse.

Ründaja võib LUKS2 metaandmetes teha muudatusi, mis simuleerivad dekrüpteerimise operatsiooni hädaolukorra katkestamist, mille tulemuseks on osa sektsiooni dekrüpteerimine pärast muudetud mäluseadme aktiveerimist ja kasutamist omaniku poolt. Sel juhul ei saa kasutaja, kes on ühendanud muudetud mäluseadmest ja vabastanud selle õige parooliga, mingit hoiatust katkestatud krüpteerimise taastamise protsessi käimise kohta ning võib selle protsessi edenemisest teada saada vaid käsu „luks Dump” abil. Andmemaht, mille dekrüpteerimise suudab ründaja saavutada, sõltub LUKS2 pealkirja suurusest, kuid vaikeseade suuruse (16 MiB) korral võib see ületada 3 GB.

Probleem tuleneb sellest, et hoolimata sellest, et ümberkrüpteerimine nõuab uute ja vanade võtmete räsi arvutamist ja kontrollimist, ei ole algselt krüpteerimise dekrüpteerimiseks räsi vaja, kui uus olek tähendab, et krüpteerimist ei ole (tasuline tekst). Lisaks ei ole LUKS2 metaandmed, kus määratakse krüpteerimisalgoritm, kaitstud muutmise eest, kui need satuvad kurjategija kätte. Haavatavuse blokeerimiseks lisasid arendajad LUKS2-sse täiendava kaitse metaandmete jaoks, mille jaoks kontrollitakse nüüd täiendavat räsi, mis arvutatakse tuntud võtmest ja metaandmete sisust, st ründaja ei saa enam märkamatult metaandmeid muuta, teadmata dekrüpteerimise parooli.

Tüüpiline rünnaku stsenaarium eeldab, et kurjategijal on võimalus mitu korda andmesalvestit enda kätte saada. Alustuseks muudab ründaja, kes ei tea juurdepääsusoovit, metandmete valdkonnas muudatusi, mis käivitavad osa andmete dekrüptimise järgmise andmesalvesti aktiveerimise ajal. Seejärel tagastatakse andmesalvesti oma kohale ja ründaja ootab, kuni kasutaja selle ühendab ja parooli sisestab. Seadme aktiveerimise ajal käivitab kasutaja taustprotsessi uuesti šifreerimiseks, mille käigus osa krüptitud andmeid asendatakse dekrüpteeritud andmetega. Kui ründaja saab seadme uuesti kätte, on osa andmetest andmesalvestis dekrüpteeritud.

Probleem on tuvastatud cryptsetup projekti hooldaja poolt ja lahendatud cryptsetup versioonides 2.4.3 ja 2.3.7. Probleemi lahendamise uuenduste olekut distributsioonides saab jälgida järgmistel lehtedel: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Haavatavus ilmneb alates cryptsetup versioonist 2.2.0, kus hakati toetama „online reencryption” operatsiooni. Kaitseks võib kasutada käivitamist valikuga „--disable-luks2-reencryption”.

Allikas: opennet.ru

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