Një cenueshmëri në kriptetup që ju lejon të çaktivizoni enkriptimin në ndarjet LUKS2

Një cenueshmëri (CVE-2021-4122) është identifikuar në paketën Cryptsetup, e përdorur për të kriptuar ndarjet e diskut në Linux, e cila lejon që enkriptimi të çaktivizohet në ndarjet në formatin LUKS2 (Linux Unified Key Setup) duke modifikuar metadatat. Për të shfrytëzuar cenueshmërinë, sulmuesi duhet të ketë akses fizik në median e koduar, d.m.th. Metoda ka kuptim kryesisht për sulmimin e pajisjeve të ruajtjes së jashtme të enkriptuara, të tilla si disqet flash, në të cilat sulmuesi ka akses, por nuk e di fjalëkalimin për të deshifruar të dhënat.

Sulmi është i zbatueshëm vetëm për formatin LUKS2 dhe shoqërohet me manipulimin e meta të dhënave përgjegjëse për aktivizimin e zgjerimit të "rikriptimit në internet", i cili lejon, nëse është e nevojshme të ndryshoni çelësin e hyrjes, të fillojë procesin e rikriptimit të të dhënave në fluturim. pa ndërprerë punën me ndarjen. Meqenëse procesi i deshifrimit dhe kriptimit me një çelës të ri kërkon shumë kohë, "rikriptimi në internet" bën të mundur që të mos ndërpritet puna me ndarjen dhe të kryhet rikriptimi në sfond, duke rikriptuar gradualisht të dhënat nga një çelës në tjetrin. . Është gjithashtu e mundur të zgjidhni një çelës të zbrazët të synuar, i cili ju lejon të konvertoni seksionin në një formë të deshifruar.

Një sulmues mund të bëjë ndryshime në metadatat LUKS2 që simulojnë një ndërprerje të operacionit të deshifrimit si rezultat i një dështimi dhe të arrijë deshifrimin e një pjese të ndarjes pas aktivizimit dhe përdorimit të diskut të modifikuar nga pronari. Në këtë rast, përdoruesi që ka lidhur diskun e modifikuar dhe e ka zhbllokuar atë me fjalëkalimin e saktë, nuk merr asnjë paralajmërim në lidhje me procesin e rivendosjes së operacionit të ndërprerë të rikriptimit dhe mund të mësojë vetëm për ecurinë e këtij operacioni duke përdorur "luks Dump" komandë. Sasia e të dhënave që një sulmues mund të deshifrojë varet nga madhësia e kokës LUKS2, por në madhësinë e paracaktuar (16 MiB) mund të kalojë 3 GB.

Problemi shkaktohet nga fakti se megjithëse rikriptimi kërkon llogaritjen dhe verifikimin e hash-eve të çelësave të rinj dhe të vjetër, një hash nuk kërkohet për të filluar deshifrimin nëse gjendja e re nënkupton mungesën e një çelësi teksti të thjeshtë për kriptim. Përveç kësaj, metadata LUKS2, e cila specifikon algoritmin e kriptimit, nuk mbrohet nga modifikimi nëse bie në duart e një sulmuesi. Për të bllokuar cenueshmërinë, zhvilluesit shtuan mbrojtje shtesë për meta të dhënat në LUKS2, për të cilin tani kontrollohet një hash shtesë, i llogaritur bazuar në çelësat e njohur dhe përmbajtjet e meta të dhënave, d.m.th. një sulmues nuk mund të ndryshojë më në mënyrë të fshehtë meta të dhënat pa e ditur fjalëkalimin e deshifrimit.

Një skenar tipik sulmi kërkon që sulmuesi të jetë në gjendje të marrë disa herë në dorë diskun. Së pari, një sulmues që nuk e njeh fjalëkalimin e hyrjes bën ndryshime në zonën e meta të dhënave, duke shkaktuar deshifrimin e një pjese të të dhënave herën tjetër që disku të aktivizohet. Disku më pas kthehet në vendin e tij dhe sulmuesi pret derisa përdoruesi ta lidhë atë duke futur një fjalëkalim. Kur pajisja aktivizohet nga përdoruesi, fillon një proces i rikriptimit të sfondit, gjatë të cilit një pjesë e të dhënave të koduara zëvendësohet me të dhëna të deshifruara. Më tej, nëse sulmuesi arrin të marrë përsëri pajisjen në duart e tij, disa nga të dhënat në disk do të jenë në formë të deshifruar.

Problemi u identifikua nga mirëmbajtësi i projektit të cryptsetup dhe u rregullua në përditësimet e cryptsetup 2.4.3 dhe 2.3.7. Statusi i përditësimeve që krijohen për të rregulluar problemin në shpërndarje mund të gjurmohet në këto faqe: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Dobësia shfaqet vetëm që nga lëshimi i cryptsetup 2.2.0, i cili prezantoi mbështetjen për operacionin "rikriptimi në internet". Si një zgjidhje për mbrojtjen, mund të përdoret nisja me opsionin "--disable-luks2-reencryption".

Burimi: opennet.ru

Shto një koment