Turvaauk cryptsetup'is, mis võimaldab LUKS2 jagudes krüptimise keelamist

Cryptsetup paketis, mida kasutatakse Linuxi kettaosa krüpteerimiseks, on avastatud haavatavus (CVE-2021-4122), mis võimaldab metaandmete modifitseerimise kaudu kehtestada krüpteerimise keelamise LUKS2 (Linux Unified Key Setup) formaadis osadel. Haavatavuse ärakasutamiseks peab ründajal olema füüsiline juurdepääs krüpteeritud andmekandjale, st meetod on peamiselt mõeldud krüpteeritud väliste mäluseadmete ründamiseks, nagu näiteks Flash-diskid, millele kurjategija pääseb juurde, kuid ei tea andmete dekrüpteerimise parooli.

Rünnak on rakendatav ainult LUKS2 formaadis ja on seotud metaandmete manipuleerimisega, mis vastutavad „online reencryption“ laienduse aktiveerimise eest, mis võimaldab vajadusel juurdepääsuvõtme vahetamisel alustada andmete ümberkrüpteerimise protsessi ilma osa töö katkestamiseta. Kuna uue võtmega dekrüpteerimise ja krüpteerimise protsess võtab aega, siis „online reencryption“ võimaldab mitte katkestada osa tööga ja teostada ümberkrüpteerimist taustal, järk-järgult krüpteerides andmeid ühelt võtmelt teisele. Samuti on võimalik valida tühi sihtvõti, mis võimaldab viia osa dekrüpteeritud kujule.

Ründaja saab LUKS2 metaandmetesse teha muudatusi, simuleerides töötlemise katkestamist dekrüpteerimise operatsiooni käigus ja saavutada osa dekrüpteerimist pärast modifitseeritud andmekandja aktiveerimist ja kasutamist omaniku poolt. Samal ajal ei saa kasutaja, kes ühendab modifitseeritud andmekandja ja avab selle õigete paroolidega, mingit hoiatust katkestatud ümberkrüpteerimise taastamise protsessi toimumise kohta ning saab teada selle protsessi edenemisest ainult käsu „luks Dump“ kaudu. Krüpteerimata andmete maht, mida ründaja võib saavutada, sõltub LUKS2 päise suurusest, kuid vaikimisi suuruse (16 MiB) puhul võib see ületada 3 GB.

Probleem tuleneb sellest, et kuigi uuesti krüpteerimine nõuab uute ja vanade võtmete räsimärkide arvutamist ja kontrollimist, ei ole dekrüpteerimise alguses räsimärk vajalik, kui uue oleku korral eeldatakse krüpteerimise võtme puudumist (selgesõnaline tekst). Lisaks ei ole LUKS2 metaandmed, milles määratakse krüpteerimise algoritm, kaitstud räsimärkide muutumise eest, kui need satuvad pahatahtlike kätte. Selle haavatavuse blokeerimiseks lisasid arendajad LUKS2-le täiendava kaitse metaandmete jaoks, mille jaoks kontrollitakse nüüd täiendavat räsimärki, mis arvutatakse tuntud võtmete ja metaandmete sisu põhjal, st ründaja ei saa nüüd märkamatult muuta metaandmeid, teadmata dekrüpteerimise parooli.

Tüüpiline rünnaku stsenaarium nõuab, et pahatahtlikul isikul oleks mitu korda võimalik kantavat seadet enda kätte saada. Alguses teeb ründaja, kes ei tea ligipääsukoodi, muutusi metaandmete alal, mis käivitavad osa andmete dekrüpteerimise järgmise seadme aktiveerimise ajal. Seejärel tagastatakse seade oma kohale ja ründaja ootab, kuni kasutaja ühendab selle, sisestades parooli. Seadmeli aktiveerimise ajal käivitub kasutaja poolt taustaprotsess uuesti krüpteerimiseks, mille käigus osa krüpteeritud andmeid asendatakse dekrüpteeritud andmetega. Kui ründaja saab seadme veel kord enda kätte, on osa andmeid seadmes dekrüpteeritud.

Probleem avastati projekti cryptsetup hooldaja poolt ja see on kõrvaldatud cryptsetup 2.4.3 ja 2.3.7 uuendustes. Probleemiga seotud värskenduste kujunemise olekut jaotustes saab jälgida järgmistelt lehtedelt: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Haavatavus ilmneb alles alates cryptsetup 2.2.0 väljaandmisest, milles hakati toetama "online reencryption" operatsiooni. Ahnaduse ohuks kaitsena võib kasutada käivitamist suvandiga "—disable-luks2-reencryption."

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster