informÄcija par jauno (CVE-2020-1968) TLS protokolÄ, ar kodÄto nosaukumu
Å is uzbrukums, kas retos apstÄkļos ļauj noteikt pirmsgalveno atslÄgu, ko var izmantot TLS savienojumu, tostarp HTTPS, atÅ”ifrÄÅ”anai starpnieka (MITM) uzbrukuma laikÄ. JÄatzÄ«mÄ, ka uzbrukumu ir ļoti grÅ«ti Ä«stenot un tas galvenokÄrt ir teorÄtisks. Uzbrukuma veikÅ”anai ir nepiecieÅ”ama Ä«paÅ”a TLS servera konfigurÄcija un spÄja precÄ«zi izmÄrÄ«t servera apstrÄdes laiku.
ProblÄma ir tieÅ”i sastopama TLS specifikÄcijÄ un ietekmÄ tikai savienojumus, kas izmanto Å”ifrus, kuru pamatÄ ir DH atslÄgu apmaiÅas protokols (Diffie-Hellman, TLS_DH_*). ECDH Å”ifri netiek ietekmÄti, un tie paliek droÅ”i. Ievainojami ir tikai TLS protokoli lÄ«dz 1.2 versijai (ieskaitot); TLS 1.3 netiek ietekmÄts. IevainojamÄ«ba izpaužas TLS ievieÅ”anÄ, kas atkÄrtoti izmanto DH slepeno atslÄgu dažÄdos TLS savienojumos (Ŕī problÄma ir novÄrota aptuveni 4.4 % serveru Alexa Top 1M rangÄ).
OpenSSL 1.0.2e un agrÄkÄs versijÄs DH primÄrÄ atslÄga tiek atkÄrtoti izmantota visos servera savienojumos, ja vien nav skaidri iestatÄ«ta opcija SSL_OP_SINGLE_DH_USE. SÄkot ar OpenSSL 1.0.2f, DH primÄrÄ atslÄga tiek atkÄrtoti izmantota tikai tad, ja tiek izmantoti statiskie DH Å”ifri ("DH-*", piemÄram, "DH-RSA-AES256-SHA"). OpenSSL 1.1.1 versijai Ŕī ievainojamÄ«ba nav raksturÄ«ga, jo Ŕī atzara neizmanto DH primÄro atslÄgu un statiskos DH Å”ifrus.
Izmantojot DH atslÄgu apmaiÅas metodi, abi savienojuma gali Ä£enerÄ nejauÅ”as privÄtÄs atslÄgas (turpmÄk tekstÄ ā atslÄga "a" un atslÄga "b"), no kurÄm tiek aprÄÄ·inÄtas un nosÅ«tÄ«tas publiskÄs atslÄgas (ga mod p un gb mod p). PÄc publisko atslÄgu saÅemÅ”anas katrs gals aprÄÄ·ina koplietotu primÄro atslÄgu (gab mod p), kas tiek izmantota sesijas atslÄgu Ä£enerÄÅ”anai. Raccoon uzbrukums ļauj noteikt primÄro atslÄgu, izmantojot sÄnu kanÄlu analÄ«zi, izmantojot faktu, ka TLS specifikÄcijas lÄ«dz 1.2 versijai pieprasa atmest visus primÄrÄs atslÄgas vadoÅ”os nulles baitus pirms aprÄÄ·inu veikÅ”anas, kas ietver to.
Cita starpÄ saÄ«sinÄtÄ primÄrÄ atslÄga tiek nodota sesijas atslÄgas Ä£enerÄÅ”anas funkcijai, kas, apstrÄdÄjot dažÄdus datus, balstÄs uz jaucÄjfunkcijÄm ar dažÄdu latentumu. PrecÄ«za laika mÄrīŔana, kas serverim nepiecieÅ”ams atslÄgu darbÄ«bu veikÅ”anai, ļauj uzbrucÄjam noteikt norÄdes (orakulus), kas ļauj noteikt, vai primÄrÄ atslÄga sÄkas ar nulli vai nÄ. PiemÄram, uzbrucÄjs varÄtu pÄrtvert klienta nosÅ«tÄ«to publisko atslÄgu (ga), atkÄrtoti nosÅ«tÄ«t to serverim un noteikt
vai iegÅ«tÄ primÄrÄ atslÄga sÄkas ar nulli.
Pati par sevi atslÄgas viena baita noteikÅ”ana neko nedod, bet, pÄrtverot klienta pÄrraidÄ«to "ga" vÄrtÄ«bu savienojuma rokasspiediena laikÄ, uzbrucÄjs var Ä£enerÄt citu ar "ga" saistÄ«tu vÄrtÄ«bu kopu un nosÅ«tÄ«t tÄs serverim atseviŔķÄs savienojuma rokasspiediena sesijÄs. Ä¢enerÄjot un nosÅ«tot "gri*ga" vÄrtÄ«bas, uzbrucÄjs, analizÄjot servera atbildes mainÄ«go latentumu, var noteikt vÄrtÄ«bas, kuru rezultÄtÄ primÄrÄs atslÄgas sÄkas ar nulli. Nosakot Å”Ädas vÄrtÄ«bas, uzbrucÄjs var konstruÄt vienÄdojumu kopu, kas paredzÄta un aprÄÄ·iniet sÄkotnÄjo primÄro atslÄgu.

OpenSSL ievainojamÄ«bas zema nopietnÄ«bas pakÄpe, un labojums bija saistÄ«ts ar problemÄtisko "TLS_DH_*" Å”ifru pÄrvietoÅ”anu 1.0.2w versijÄ uz kategoriju "weak-ssl-ciphers", kas pÄc noklusÄjuma ir atspÄjota. Mozilla izstrÄdÄtÄji rÄ«kojÄs tÄpat, Firefox izmantotÄ NSS bibliotÄka atbalsta DH un DHE Å”ifru komplektus. SÄkot ar Firefox 78, problemÄtiskie Å”ifri ir atspÄjoti. Chrome pÄrtrauca DH atbalstu jau 2016. gadÄ. BearSSL, BoringSSL, Botan, Mbed TLS un s2n bibliotÄkas Ŕī problÄma neietekmÄ, jo tÄs neatbalsta DH Å”ifrus vai statiskos DH Å”ifru variantus.
Papildu problÄmas ir norÄdÄ«tas atseviŔķi () F5 BIG-IP ierÄ«Äu TLS kaudzÄ, padarot uzbrukumu reÄlistiskÄku. KonkrÄti, ierÄ«ces uzvedÄ«bas novirzes tika identificÄtas, kad primÄrÄs atslÄgas sÄkumÄ ir nulle baits, ko var izmantot precÄ«zas latentuma mÄrīŔanas vietÄ aprÄÄ·inu laikÄ.
Avots: opennet.ru
