TLS:n haavoittuvuus, joka mahdollistaa DH-salauksiin perustuvien yhteyksien avaimen määrittämisen

Paljastettu tietoa uudesta haavoittuvuuksia (CVE-2020-1968) TLS-protokollassa, koodinimeltään
Pesukarhu ja sallitaan harvinaisissa olosuhteissa määrittää alustava ensisijainen avain (pre-master), jota voidaan käyttää TLS-yhteyksien, mukaan lukien HTTPS:n, salauksen purkamiseen, kun siirtoliikennettä siepataan (MITM). On huomattava, että hyökkäys on käytännössä erittäin vaikea toteuttaa ja se on enemmänkin teoreettinen. Hyökkäyksen toteuttaminen edellyttää TLS-palvelimen tiettyä kokoonpanoa ja kykyä mitata erittäin tarkasti palvelimen käsittelyaika.

Ongelma esiintyy suoraan TLS-spesifikaatiossa ja koskee vain DH-avaimenvaihtoprotokollaan (Diffie-Hellman, TLS_DH_*") perustuvia salauksia käyttäviä yhteyksiä. ECDH-salauksilla ongelmaa ei esiinny, ja ne pysyvät turvassa. Vain TLS-protokollat ​​versioon 1.2 asti ovat haavoittuvia; ongelma ei vaikuta TLS 1.3:een. Haavoittuvuus ilmenee TLS-toteutuksissa, jotka käyttävät uudelleen DH:n salaista avainta eri TLS-yhteyksissä (tätä esiintyy noin 4.4 prosentissa Alexa Top 1M -palvelimista).

OpenSSL 1.0.2e:ssä ja aiemmissa julkaisuissa DH-ensisijaista avainta käytetään uudelleen kaikissa palvelinyhteyksissä, ellei SSL_OP_SINGLE_DH_USE -vaihtoehtoa ole erikseen asetettu. OpenSSL 1.0.2f -versiosta lähtien DH-ensisijaista avainta käytetään uudelleen vain käytettäessä staattisia DH-salauksia ("DH-*", esim. "DH-RSA-AES256-SHA"). Haavoittuvuus ei esiinny OpenSSL 1.1.1:ssä, koska tämä haara ei käytä DH-ensisijaista avainta eikä staattisia DH-salauksia.

DH-avaimenvaihtomenetelmää käytettäessä yhteyden molemmat puolet generoivat satunnaisia ​​yksityisiä avaimia (jäljempänä avain "a" ja avain "b"), joiden perusteella julkiset avaimet (ga mod p ja gb mod p) lasketaan ja lähetetään. Kun kukin osapuoli on vastaanottanut julkiset avaimet, lasketaan yhteinen ensisijainen avain (gab mod p), jota käytetään istuntoavainten luomiseen. Raccoon-hyökkäyksen avulla voit määrittää ensisijaisen avaimen sivukanava-analyysin avulla, koska TLS-spesifikaatiot versioon 1.2 asti edellyttävät, että kaikki ensisijaisen avaimen johtavat nollatavut hylätään ennen siihen liittyviä laskelmia.

Katkaistu ensisijainen avain mukaan lukien välitetään istuntoavaimen generointifunktiolle, joka perustuu hajautusfunktioihin eri viiveillä erilaista dataa käsiteltäessä. Palvelimen suorittamien avaintoimintojen ajoituksen tarkka mittaaminen antaa hyökkääjälle mahdollisuuden määrittää vihjeitä (Oracle), joiden avulla voidaan arvioida, alkaako ensisijainen avain tyhjästä vai ei. Hyökkääjä voi esimerkiksi siepata asiakkaan lähettämän julkisen avaimen (ga), lähettää sen uudelleen palvelimelle ja määrittää
alkaako tuloksena oleva ensisijainen avain nollasta.

Yksistään avaimen yhden tavun määrittäminen ei anna mitään, mutta sieppaamalla asiakkaan yhteysneuvottelun aikana lähettämän "ga"-arvon, hyökkääjä voi luoda joukon muita arvoja, jotka liittyvät "ga":han ja lähettää ne palvelimelle erillisissä yhteysneuvotteluistunnoissa. Luomalla ja lähettämällä "gri*ga"-arvoja hyökkääjä voi analysoimalla muutoksia palvelimen vastauksen viiveissä määrittää arvot, jotka johtavat ensisijaisten avainten vastaanottamiseen nollasta alkaen. Määritettyään tällaiset arvot hyökkääjä voi luoda yhtälöjoukon ratkaisut piilotetut numeroongelmat ja laske alkuperäinen ensisijainen avain.

TLS:n haavoittuvuus, joka mahdollistaa DH-salauksiin perustuvien yhteyksien avaimen määrittämisen

OpenSSL-haavoittuvuudet määrätty alhainen vaarataso, ja korjaus pelkistettiin siirtämällä ongelmalliset salaukset "TLS_DH_*" versiossa 1.0.2w riittämättömän suojatason salausluokkaan ("heik-ssl-salaukset"), joka on oletuksena poistettu käytöstä. . Mozillan kehittäjät tekivät saman, sammutettu Firefoxissa käytettävässä NSS-kirjastossa, DH- ja DHE-salausohjelmistoissa. Firefox 78:sta lähtien ongelmalliset salaukset on poistettu käytöstä. Chromen tuki DH:lle lopetettiin vuonna 2016. Ongelma ei vaikuta BearSSL-, BoringSSL-, Botan-, Mbed TLS- ja s2n-kirjastoihin, koska ne eivät tue DH-salauksia tai DH-salausten staattisia muunnelmia.

Lisäongelmat mainitaan erikseen (CVE-2020-5929) F5 BIG-IP -laitteiden TLS-pinossa, mikä tekee hyökkäyksestä realistisemman. Erityisesti on tunnistettu poikkeamia laitteiden käyttäytymisestä, kun ensisijaisen avaimen alussa on nolla tavu, jota voidaan käyttää laskelmien tarkan latenssin mittaamisen sijaan.

Lähde: opennet.ru

Lisää kommentti