Kwesbaarheid in TLS wat sleutelbepaling moontlik maak vir verbindings gebaseer op DH-syfers

Geopenbaar inligting oor die nuwe kwesbaarhede (CVE-2020-1968) in die TLS-protokol, kodenaam
wasbeer en toelaat, in seldsame omstandighede, om 'n voorlopige primêre sleutel (pre-master) te bepaal wat gebruik kan word om TLS-verbindings, insluitend HTTPS, te dekripteer wanneer transitoverkeer (MITM) onderskep word. Daar word kennis geneem dat die aanval baie moeilik is vir praktiese implementering en meer van 'n teoretiese aard is. Om 'n aanval uit te voer, word 'n spesifieke konfigurasie van die TLS-bediener vereis en die vermoë om die bedienerverwerkingstyd baie akkuraat te meet.

Die probleem kom direk in die TLS-spesifikasie voor en raak slegs verbindings met behulp van syfers gebaseer op die DH-sleuteluitruilprotokol (Diffie-Hellman, TLS_DH_*"). Met ECDH-syfers kom die probleem nie voor nie en hulle bly veilig. Slegs TLS-protokolle tot weergawe 1.2 is kwesbaar; TLS 1.3 word nie deur die probleem geraak nie. Die kwesbaarheid kom voor in TLS-implementerings wat die DH-geheime sleutel oor verskillende TLS-verbindings hergebruik (hierdie gedrag kom voor op ongeveer 4.4% van Alexa Top 1M-bedieners).

In OpenSSL 1.0.2e en vroeër vrystellings word die DH primêre sleutel hergebruik in alle bedienerverbindings, tensy die SSL_OP_SINGLE_DH_USE opsie uitdruklik gestel is. Sedert OpenSSL 1.0.2f, word die DH primêre sleutel slegs hergebruik wanneer statiese DH-syfers ("DH-*", bv. "DH-RSA-AES256-SHA") gebruik word. Die kwesbaarheid verskyn nie in OpenSSL 1.1.1 nie, aangesien hierdie tak nie 'n DH-primêre sleutel gebruik nie en nie statiese DH-syfers gebruik nie.

Wanneer die DH-sleuteluitruilmetode gebruik word, genereer beide kante van die verbinding ewekansige privaat sleutels (hierna sleutel "a" en sleutel "b"), gebaseer op watter publieke sleutels (ga mod p en gb mod p) bereken en gestuur word. Nadat elke party die publieke sleutels ontvang het, word 'n gemeenskaplike primêre sleutel (gab mod p) bereken, wat gebruik word om sessiesleutels te genereer. Die Raccoon-aanval laat jou toe om die primêre sleutel deur middel van sykanaalanalise te bepaal, gebaseer op die feit dat die TLS-spesifikasies tot weergawe 1.2 vereis dat alle voorste nulgrepe van die primêre sleutel weggegooi word voor berekeninge wat dit behels.

Insluitend die afgekapte primêre sleutel word oorgedra na die sessiesleutelgenereringsfunksie, wat gebaseer is op hash-funksies met verskillende vertragings wanneer verskillende data verwerk word. Deur die tydsberekening van sleutelbewerkings wat deur die bediener uitgevoer word, akkuraat te meet, kan die aanvaller leidrade (oracle) bepaal wat dit moontlik maak om te oordeel of die primêre sleutel van voor af begin of nie. Byvoorbeeld, 'n aanvaller kan die publieke sleutel (ga) wat deur die kliënt gestuur is, onderskep, dit weer na die bediener versend en bepaal
of die resulterende primêre sleutel vanaf nul begin.

Op sigself gee dit niks om een ​​greep van die sleutel te definieer nie, maar deur die "ga"-waarde wat deur die kliënt oorgedra word tydens verbindingsonderhandeling te onderskep, kan die aanvaller 'n stel ander waardes genereer wat met "ga" geassosieer word en dit stuur na die bediener in afsonderlike verbindingsonderhandelingsessies. Deur “gri*ga”-waardes te genereer en te stuur, kan 'n aanvaller, deur veranderinge in vertragings in die bedienerrespons te ontleed, die waardes bepaal wat lei tot die ontvangs van primêre sleutels vanaf nul. Nadat sulke waardes bepaal is, kan die aanvaller 'n stel vergelykings vir skep oplossings versteekte nommerprobleme en bereken die oorspronklike primêre sleutel.

Kwesbaarheid in TLS wat sleutelbepaling moontlik maak vir verbindings gebaseer op DH-syfers

OpenSSL kwesbaarhede toegewys lae vlak van gevaar, en die oplossing is verminder tot die verskuiwing van die problematiese syfers "TLS_DH_*" in vrystelling 1.0.2w na die kategorie van syfers met 'n onvoldoende vlak van beskerming ("swak-ssl-syfers"), wat by verstek gedeaktiveer is . Die Mozilla-ontwikkelaars het dieselfde ding gedoen, afgeskakel in die NSS-biblioteek wat in Firefox gebruik word, die DH- en DHE-syferreekse. Vanaf Firefox 78 is problematiese syfers gedeaktiveer. Chrome-ondersteuning vir DH is in 2016 gestaak. Die BearSSL-, BoringSSL-, Botan-, Mbed TLS- en s2n-biblioteke word nie deur die probleem geraak nie omdat hulle nie DH-syfers of statiese variante van DH-syfers ondersteun nie.

Bykomende probleme word afsonderlik opgemerk (CVE-2020-5929) in die TLS-stapel F5 BIG-IP-toestelle, wat die aanval meer realisties maak. In die besonder is afwykings in die gedrag van toestelle in die teenwoordigheid van 'n nulgreep aan die begin van die primêre sleutel geïdentifiseer, wat gebruik kan word in plaas van om die presiese latensie van berekeninge te meet.

Bron: opennet.ru

Voeg 'n opmerking