Dobësia në TLS që lejon përcaktimin e çelësit për lidhjet bazuar në shifrat DH

Zbuluar informacione për të renë dobësitë (CVE-2020-1968) në protokollin TLS, i koduar
rakun dhe duke lejuar, në rrethana të rralla, të përcaktojë një çelës primar paraprak (pre-master), i cili mund të përdoret për të deshifruar lidhjet TLS, duke përfshirë HTTPS, kur përgjohet trafiku transit (MITM). Vihet re se sulmi është shumë i vështirë për zbatim praktik dhe është më tepër i natyrës teorike. Për të kryer një sulm, kërkohet një konfigurim specifik i serverit TLS dhe aftësia për të matur me saktësi kohën e përpunimit të serverit.

Problemi është i pranishëm drejtpërdrejt në specifikimin TLS dhe prek vetëm lidhjet duke përdorur shifra të bazuara në protokollin e shkëmbimit të çelësave DH (Diffie-Hellman, TLS_DH_*"). Me shifrat ECDH problemi nuk ndodh dhe ato mbeten të sigurta. Vetëm protokollet TLS deri në versionin 1.2 janë të cenueshme; TLS 1.3 nuk ndikohet nga problemi. Dobësia ndodh në implementimet TLS që ripërdorin çelësin sekret DH nëpër lidhje të ndryshme TLS (kjo sjellje ndodh në afërsisht 4.4% të serverëve Alexa Top 1M).

Në OpenSSL 1.0.2e dhe versionet e mëparshme, çelësi primar DH ripërdoret në të gjitha lidhjet e serverit, përveç nëse opsioni SSL_OP_SINGLE_DH_USE është vendosur në mënyrë eksplicite. Që nga OpenSSL 1.0.2f, çelësi primar DH ripërdoret vetëm kur përdoren shifra statike DH ("DH-*", p.sh. "DH-RSA-AES256-SHA"). Dobësia nuk shfaqet në OpenSSL 1.1.1, pasi kjo degë nuk përdor një çelës primar DH dhe nuk përdor shifra statike DH.

Kur përdorni metodën e shkëmbimit të çelësave DH, të dy anët e lidhjes gjenerojnë çelësa privatë të rastësishëm (në tekstin e mëtejmë çelësi "a" dhe çelësi "b"), në bazë të të cilëve llogariten dhe dërgohen çelësat publikë (ga mod p dhe gb mod p). Pasi secila palë merr çelësat publikë, llogaritet një çelës i përbashkët primar (gab mod p), i cili përdoret për të gjeneruar çelësat e sesionit. Sulmi Raccoon ju lejon të përcaktoni çelësin parësor përmes analizës së kanalit anësor, bazuar në faktin se specifikimet TLS deri në versionin 1.2 kërkojnë që të gjitha bajtet null kryesore të çelësit primar të hidhen poshtë përpara llogaritjeve që e përfshijnë atë.

Përfshirja e çelësit primar të cunguar i kalohet funksionit të gjenerimit të çelësit të sesionit, i cili bazohet në funksionet hash me vonesa të ndryshme gjatë përpunimit të të dhënave të ndryshme. Matja e saktë e kohës së operacioneve kryesore të kryera nga serveri i lejon sulmuesit të përcaktojë të dhëna (orakull) që bëjnë të mundur të gjykojë nëse çelësi primar fillon nga e para apo jo. Për shembull, një sulmues mund të përgjojë çelësin publik (ga) të dërguar nga klienti, ta ritransmetojë atë në server dhe të përcaktojë
nëse çelësi primar që rezulton fillon nga zero.

Në vetvete, përcaktimi i një bajt të çelësit nuk jep asgjë, por duke përgjuar vlerën "ga" të transmetuar nga klienti gjatë negociatave të lidhjes, sulmuesi mund të gjenerojë një sërë vlerash të tjera të lidhura me "ga" dhe t'i dërgojë ato në serveri në sesione të veçanta të negociatave të lidhjes. Duke gjeneruar dhe dërguar vlera "gri*ga", një sulmues mundet, duke analizuar ndryshimet në vonesat në përgjigjen e serverit, të përcaktojë vlerat që çojnë në marrjen e çelësave primar duke filluar nga zero. Pasi të ketë përcaktuar vlera të tilla, sulmuesi mund të krijojë një grup ekuacionesh për zgjidhje probleme me numrat e fshehur dhe llogaritni çelësin primar origjinal.

Dobësia në TLS që lejon përcaktimin e çelësit për lidhjet bazuar në shifrat DH

Dobësitë OpenSSL caktuar niveli i ulët i rrezikut dhe rregullimi u reduktua në zhvendosjen e shifrave problematike "TLS_DH_*" në versionin 1.0.2w në kategorinë e shifrave me një nivel të pamjaftueshëm mbrojtjeje ("shifrat e dobëta ssl"), e cila është e çaktivizuar si parazgjedhje . Zhvilluesit e Mozilla-s bënë të njëjtën gjë, fikur në bibliotekën NSS të përdorur në Firefox, paketat e shifrave DH dhe DHE. Që nga Firefox 78, shifrat problematike janë çaktivizuar. Mbështetja e Chrome për DH u ndërpre në vitin 2016. Bibliotekat BearSSL, BoringSSL, Botan, Mbed TLS dhe s2n nuk preken nga problemi sepse ato nuk mbështesin shifra DH ose variante statike të shifrave DH.

Problemet shtesë janë shënuar veçmas (CVE-2020-5929) në grupin TLS të pajisjeve F5 BIG-IP, duke e bërë sulmin më realist. Në veçanti, janë identifikuar devijime në sjelljen e pajisjeve në prani të një bajt zero në fillim të çelësit primar, i cili mund të përdoret në vend të matjes së saktë të vonesës së llogaritjeve.

Burimi: opennet.ru

Shto një koment