informácie o novej (CVE-2020-1968) v protokole TLS, s kódovým menom
a ktorá za zriedkavých okolností umožňuje určiť predbežný primárny kľúč (pre-master), ktorý sa dá využiť na dešifrovanie TLS spojení, vrátane HTTPS, pri odobratí transitného prenosu (MITM). Je pozorované, že útok je veľmi zložitý na praktickú realizáciu a viac má teoretický charakter. Na vykonanie útoku je potrebná špecifická konfigurácia TLS servera a možnosť veľmi presného merania času spracovania operácií serverom.
Problém sa nachádza priamo v špecifikácii TLS a týka sa iba spojení, ktoré používajú šifry založené na protokole výmeny kľúčov DH (Diffie-Hellman, TLS_DH_*). S ECDH šiframi sa problém neprejavuje a zostávajú bezpečné. Zraniteľné sú iba protokoly TLS do verzie 1.2 vrátane, protokol TLS 1.3 problému nepodlieha. Zraniteľnosť sa prejavuje v implementáciách TLS, ktoré znova používajú tajný kľúč DH v rôznych TLS spojeniach (takéto správanie sa pozoruje približne na 4.4 % serverov v rebríčku Alexa Top 1M).
V OpenSSL 1.0.2e a starších verziách sa primárny kľúč DH znova používa vo všetkých serverových spojeniach, ak nie je explicitne nastavená možnosť SSL_OP_SINGLE_DH_USE. Od OpenSSL 1.0.2f sa primárny kľúč DH znova používa iba pri použití statických DH šifier („DH-*“, napríklad „DH-RSA-AES256-SHA“). V OpenSSL 1.1.1 sa zraniteľnosť neprejavuje, pretože v tejto vetve sa nevyužíva primárny kľúč DH a nepoužívajú sa statické DH šifry.
Pri použití metódy výmeny kľúčov DH obidve strany spojenia generujú náhodné uzavreté kľúče (ďalej kľúč „a“ a kľúč „b“), na základe ktorých sa vypočítajú a odosielajú otvorené kľúče (ga mod p a gb mod p). Po prijatí otvorených kľúčov každou stranou sa vypočíta spoločný primárny kľúč (gab mod p), ktorý sa používa na formovanie sedených kľúčov. Útok Raccoon umožňuje určiť primárny kľúč prostredníctvom analýzy informácií pomocou externých kanálov, vychádzajúc z toho, že v špecifikáciách TLS až do verzie 1.2 je predpísané odstraňovať všetky počiatočné nulové bajty primárneho kľúča pred vykonaním výpočtov s jeho účasťou.
Zahŕňa sa skrátený primárny kľúč, ktorý sa prenáša do funkcie na generovanie relácie kľúča, založenej na hashovacích funkciách s rôznymi latenciami pri spracovaní rôznych údajov. Presným meraním času operácií servera s kľúčom môže útočník určiť nápovedy (oracle), ktoré umožňujú posúdiť, či primárny kľúč začína nulou alebo nie. Napríklad útočník môže zachytiť odoslaný klientským zariadením otvorený kľúč (ga), znovu ho odoslať na server a určiť
či začína nulou výsledný primárny kľúč.
Samotné určenie jedného bajtu kľúča nič neprináša, ale ak útočník zachytí prenášanú hodnotu „ga“ od klienta počas zmluvného ujednania, môže vytvoriť súbor ďalších hodnôt súvisiacich s „ga“ a poslať ich na server v samostatných reláciách zmluvného ujednania. Tvorbou a odosielaním hodnôt „gri*ga“ môže útočník prostredníctvom analýzy zmeny latencií v odpovedi servera určiť hodnoty, ktoré vedú k primárnym kľúčom začínajúcim nulou. Po určení takýchto hodnôt môže útočník zostaviť súbor rovníc pre a vypočítať pôvodný primárny kľúč.

Vo vulnerability OpenSSL nízke úrovne nebezpečenstva, pričom oprava spočívala v presunutí problematických šifrov „TLS_DH_*“ do kategórie šifrov s nedostatočnou úrovňou ochrany ("weak-ssl-ciphers") vypnutej predvolene v vydaní 1.0.2w. Rovnako postupovali vývojári Mozilla, ktorí v knižnici NSS, používanej v prehliadači Firefox, súpravy šifrov DH a DHE. Od verzie Firefox 78 sú problematické šifry vypnuté. V prehliadači Chrome sa podpora DH zastavila už v roku 2016. Knižnice BearSSL, BoringSSL, Botan, Mbed TLS a s2n nie sú ovplyvnené, pretože nepodporujú šifry DH ani statické varianty šifrov DH.
Samostatne sa uvádzajú ďalšie problémy () v TLS stacku zariadení F5 BIG-IP, ktoré robia útok realistickejším. Konkrétne boli zistené odchýlky v správaní zariadení pri prítomnosti nulového bajtu na začiatku primárneho kľúča, ktoré možno využiť namiesto merania presného času latencie pri výpočtoch.
Zdroj: opennet.ru
