uus teave (CVE-2020-1968) TLS-protokollis, mille koodnimi on
ja mis võimaldab harvadel juhtudel tuvastada esialgse eelvõtme (pre-master), mida saab kasutada TLS-ühenduste, sealhulgas HTTPS, dekrüptimiseks, kui vahepealsed andmed on püütud (MITM). Tõdetakse, et rünnak on praktiliselt raske ellu viia ja on pigem teoreetiline. Rünnaku läbiviimiseks on vajalik spetsiifiline TLS-serveri konfigureerimine ja väga täpne ajamõõtmine serveri operatsioonide töötlemise ajal.
Probleem on otseselt TLS-spetsifikatsioonis ja puudutab ainult ühendusi, mis kasutavad DH (Diffie-Hellman, TLS_DH_*) põhiseid šifreid. ECDH-šifrid ei ole probleemist mõjutatud ning need jäävad turvaliseks. Ainult TLS protokollid, kuni versioon 1.2 (sealhulgas), on haavatavad, TLS 1.3 probleem ei puuduta. Haavatavus avaldub TLS-implementatsioonides, mis kasutavad erinevates TLS-ühendustes uuesti DH saladusvõtit (selline käitumine on täheldatud umbes 4.4% Alexa Top 1M serveritest).
OpenSSL 1.0.2e ja varasemates versioonides kasutatakse DH põhiavaht võtmekeele kogu serveri ühenduses, kui SSL_OP_SINGLE_DH_USE valikut ei ole selgelt määratud. OpenSSL 1.0.2f-st alates kasutatakse DH põhiavaht võtme ainult staatiliste DH-šifrite kasutamisel (näiteks 'DH-RSA-AES256-SHA'). OpenSSL 1.1.1 puhul kaitseb see nõrkuste eest, kuna selles versioonis ei kasutata DH põhiavaht ja staatilisi DH-šifre ei rakendata.
DH võtmevahetusmeetodi kasutamisel genereerivad osalised juhuslikud privaatvõtmed (edaspidi võti 'a' ja võti 'b'), mille alusel arvutatakse ja saadetakse avalikud võtmed (ga mod p ja gb mod p). Pärast avalike võtmete saamist arvutab iga osaline ühise põhiava võtme (gab mod p), mida kasutatakse seansivõtmete moodustamiseks. Raccoon rünnak võimaldab põhiava võtme tuvastada välisel teel saadud teabe analüüsimise kaudu, tuginedes sellele, et TLS spetsiifikas, kuni versioonini 1.2, on ette nähtud kõrvaldada kõik algsed nullbyte'id enne arvutusi nende osalusel.
Seal hulgas edastatakse kärbitud algsusvõti sessioonivõtme genereerimise funktsiooni, mis põhineb erineva viivitusega räsi funktsioonidel, mis töötlevad erinevaid andmeid. Täpsed ajamõõtmised serveri toimingute ajal võtmega võimaldavad ründajal kindlaks teha vihjeid (oracle), mis annavad võimaluse otsustada, kas algsusvõti algab nullist või mitte. Näiteks võib ründaja kinni püüda kliendi edastatud avaliku võtme (ga), edastada selle serverisse ja määrata
kas tulemuseks olev algsusvõti algab nullist.
Üksiku bitti määratlemine iseenesest ei anna midagi, kuid kinni püüdes edastatud väärtuse „ga” ühenduse loomisel saab ründaja vormida teisi väärtusi, mis on seotud „ga” ja saata need serverisse eraldi ühenduse loomise seansside jooksul. Kujundades ja saates väärtusi „gri*ga”, saab ründaja serveri vastuse viivituse muutuste analüüsi kaudu kindlaks määrata väärtused, mis toovad kaasa algsusvõtmete, mis algavad nullist. Tuvastades sellised väärtused, saab ründaja koostada võrrandite kogumi ja arvutada algne peamine võti.

OpenSSL-i haavatavused madal ohtlikkuse tase, parandamine seisnes probleemsete „TLS_DH_*” krüpteerimiste liigutamises versioonis 1.0.2w vaikimisi välja lülitatud krüpteerimiste kategooriasse, millel on nõrk kaitsetase („weak-ssl-ciphers”). Sarnaselt käitusid ka Mozilla arendajad, kes NSS raamatukogus, mida kasutab Firefox, DH ja DHE krüpteerimiste kogumid. Alates Firefox 78-st on probleemsed krüpteerimised välja lülitatud. Chrome'is lõpetati DH toe pakkumine juba 2016. aastal. BearSSL, BoringSSL, Botan, Mbed TLS ja s2n raamatukogud ei ole probleemi all, kuna nad ei toeta DH krüpteerimisi ega statsioonilisi DH krüpteerimiste variante.
Eriliselt märgitakse täiendavad probleemid () F5 BIG-IP seadmete TLS-stekis, muutes rünnaku reaalsemaks. Eriti avastati seadmete käitumises kõrvalekaldeid, kui algse võtme alguses on nullbaiti, mida saab kasutada täpselt ajaviivitusmõõtmete asemel arvutuste tegemisel.
Allikas: opennet.ru
