Varnarleysi í cryptsetup sem gerir þér kleift að slökkva á dulkóðun í LUKS2 skiptingum

Varnarleysi (CVE-2021-4122) hefur fundist í Cryptsetup pakkanum, notaður til að dulkóða disksneið í Linux, sem gerir kleift að slökkva á dulkóðun á skiptingum á LUKS2 (Linux Unified Key Setup) sniði með því að breyta lýsigögnum. Til að nýta sér veikleikann þarf árásarmaðurinn að hafa líkamlegan aðgang að dulkóðuðu miðlinum, þ.e. Aðferðin er aðallega skynsamleg til að ráðast á dulkóðuð ytri geymslutæki, svo sem Flash drif, sem árásarmaðurinn hefur aðgang að en veit ekki lykilorðið til að afkóða gögnin.

Árásin á aðeins við um LUKS2 sniðið og tengist meðhöndlun lýsigagna sem ber ábyrgð á því að virkja viðbótina „endurkóðun á netinu“, sem gerir kleift, ef nauðsynlegt er að breyta aðgangslyklinum, að hefja endurdulkóðunarferli gagna í skyndi án þess að hætta að vinna með skiptinguna. Þar sem ferlið við afkóðun og dulkóðun með nýjum lykli tekur mikinn tíma, gerir „endurdulkóðun á netinu“ það mögulegt að trufla ekki vinnu með skiptingunni og framkvæma endurdulkóðun í bakgrunni, smám saman dulkóða gögn frá einum lykli til annars . Það er líka hægt að velja tóman marklykil, sem gerir þér kleift að breyta hlutanum í afkóðað form.

Árásarmaður getur gert breytingar á LUKS2 lýsigögnum sem líkja eftir því að afkóðunaraðgerðinni sé hætt vegna bilunar og náð afkóðun hluta skiptingarinnar eftir virkjun og notkun á breytta drifinu af eigandanum. Í þessu tilviki fær notandinn sem hefur tengt breytta drifið og opnað það með réttu lykilorði enga viðvörun um ferlið við að endurheimta truflaða dulkóðunaraðgerðina og getur aðeins fundið út um framvindu þessarar aðgerðar með því að nota „luks Dump“ skipun. Magn gagna sem árásarmaður getur afkóðað fer eftir stærð LUKS2 haussins, en við sjálfgefna stærð (16 MiB) getur það farið yfir 3 GB.

Vandamálið stafar af því að þrátt fyrir að endurdulkóðun krefjist útreikninga og sannprófunar á kjötkássa á nýja og gamla lyklinum, þá er ekki krafist kjötkássa til að hefja afkóðun ef nýja ástandið gefur til kynna að ekki sé til látlaus textalykill fyrir dulkóðun. Að auki eru LUKS2 lýsigögnin, sem tilgreina dulkóðunaralgrímið, ekki vernduð fyrir breytingum ef þau lenda í höndum árásaraðila. Til að koma í veg fyrir varnarleysið bættu þróunaraðilar við viðbótarvörn fyrir lýsigögn við LUKS2, sem nú er athugað með viðbótarhash fyrir, reiknað út frá þekktum lyklum og innihaldi lýsigagna, þ.e. árásarmaður getur ekki lengur breytt lýsigögnum í leynd án þess að vita afkóðun lykilorðsins.

Dæmigerð árásaratburðarás krefst þess að árásarmaðurinn geti komist í hendurnar á drifinu mörgum sinnum. Í fyrsta lagi gerir árásarmaður sem þekkir ekki aðgangslykilorðið breytingar á lýsigagnasvæðinu, sem kveikir á afkóðun hluta gagnanna næst þegar drifið er virkjað. Drifinu er síðan komið aftur á sinn stað og árásarmaðurinn bíður þar til notandinn tengir það með því að slá inn lykilorð. Þegar tækið er virkjað af notandanum er byrjað á endurdulkóðunarferli í bakgrunni þar sem hluta dulkóðuðu gagna er skipt út fyrir afkóðuð gögn. Ennfremur, ef árásarmaðurinn nær að hafa hendurnar á tækinu aftur, verða sum gagna á drifinu á afkóðuðu formi.

Vandamálið var greint af umsjónarmanni cryptsetup verkefnisins og lagað í cryptsetup 2.4.3 og 2.3.7 uppfærslunum. Hægt er að rekja stöðu uppfærslur sem eru búnar til til að laga vandamálið í dreifingum á þessum síðum: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Varnarleysið birtist aðeins frá útgáfu cryptsetup 2.2.0, sem kynnti stuðning við „endurdulkóðun á netinu“. Sem lausn fyrir vernd er hægt að nota ræsingu með „--disable-luks2-reencryption“ valkostinum.

Heimild: opennet.ru

Bæta við athugasemd