informatie over de nieuwe (CVE-2020-1968) in het TLS-protocol, dat de codenaam kreeg
en die, bij zeer zeldzame omstandigheden, het mogelijk maakt om de voorafgaande primaire sleutel (pre-master) te bepalen, die gebruikt kan worden voor het ontsleutelen van TLS-verbindingen, inclusief HTTPS, bij het onderscheppen van transitverkeer (MITM). Het wordt opgemerkt dat de aanval zeer moeilijk praktisch uit te voeren is en meer theoretisch van aard is. Voor het uitvoeren van de aanval is een specifieke configuratie van de TLS-server en de mogelijkheid van zeer nauwkeurige tijdmeting van serverbewerkingen vereist.
Het probleem zit direct in de specificatie van TLS en raakt alleen verbindingen die gebruik maken van cijfers op basis van het DH-sleuteluitwisselingsprotocol (Diffie-Hellman, TLS_DH_*). Met ECDH-cijfers doet het probleem zich niet voor en blijven ze veilig. Alleen TLS-protocollen tot en met versie 1.2 zijn kwetsbaar, het TLS 1.3-protocol is niet onderhevig aan dit probleem. De kwetsbaarheid komt voor in TLS-implementaties die de DH-geheim sleutel hergebruiken in verschillende TLS-verbindingen (dit gedrag wordt waargenomen op ongeveer 4,4% van de servers in de Alexa Top 1M).
In OpenSSL 1.0.2e en eerdere versies wordt de primaire DH-sleutel hergebruikt in alle serververbindingen, tenzij expliciet de optie SSL_OP_SINGLE_DH_USE is ingesteld. Vanaf OpenSSL 1.0.2f wordt de primaire DH-sleutel alleen hergebruikt bij het gebruik van statische DH-cijfers (‘DH-*’, bijvoorbeeld ‘DH-RSA-AES256-SHA’). In OpenSSL 1.1.1 komt de kwetsbaarheid niet voor, omdat in deze tak de primaire DH-sleutel niet wordt gebruikt en er geen statische DH-cijfers worden toegepast.
Bij het gebruik van de DH-sleuteluitwisselingsmethode genereren beide partijen in de verbinding willekeurige privé-sleutels (hierna sleutel ‘a’ en sleutel ‘b’), waarop de openbare sleutels (ga mod p en gb mod p) worden berekend en verzonden. Na ontvangst van de openbare sleutels berekent elke partij de gedeelde primaire sleutel (gab mod p), die wordt gebruikt voor het genereren van sessiesleutels. De Raccoon-aanval maakt het mogelijk om de primaire sleutel te bepalen door informatie via externe kanalen te analyseren, aangezien in de specificaties van TLS tot en met versie 1.2 wordt voorgeschreven dat alle voorloopnullen van de primaire sleutel moeten worden weggegooid voordat er berekeningen mee worden uitgevoerd.
Inclusief wordt de verkorte primaire sleutel doorgegeven aan de functie voor het genereren van de sessiesleutel, die is gebaseerd op hash-functies met verschillende verwerkingsvertragingen voor verschillende gegevens. De nauwkeurige tijdsmeting van de door de server uitgevoerde operaties met de sleutel stelt een aanvaller in staat om aanwijzingen (orakels) te bepalen die kunnen aangeven of de primaire sleutel met nul begint of niet. Bijvoorbeeld, een aanvaller kan de door de klant verzonden openbare sleutel (ga) onderscheppen, deze naar de server terugsturen en bepalen
of de resulterende primaire sleutel met nul begint.
Het definiëren van een byte van de sleutel op zich levert niets op, maar door de waarde "ga" die door de klant bij het onderhandelen van de verbinding is verzonden, te onderscheppen, kan de aanvaller een reeks andere waarden die verband houden met "ga" vormen en deze in afzonderlijke sessies van de verbinding onderhandeling naar de server sturen. Door waarden "gri*ga" te vormen en te verzenden, kan de aanvaller door de analyse van variaties in de vertraging van de serverreactie de waarden bepalen die leiden tot primaire sleutels die met nul beginnen. Door dergelijke waarden te bepalen, kan de aanvaller een set vergelijkingen opstellen voor en de oorspronkelijke primaire sleutel berekenen.

In OpenSSL zijn er kwetsbaarheden van laag risico, en de oplossing bestond uit het verplaatsen van de problematische encrypties "TLS_DH_*" in release 1.0.2w naar de standaard uitgeschakelde categorie met onvoldoende beveiligingsniveau ("weak-ssl-ciphers"). De ontwikkelaars van Mozilla hebben soortgelijke stappen ondernomen, in de NSS-bibliotheek die in Firefox wordt gebruikt, de DH- en DHE-encryptie sets. Vanaf Firefox 78 zijn de problematische encrypties uitgeschakeld. In Chrome is de ondersteuning voor DH al in 2016 stopgezet. De bibliotheken BearSSL, BoringSSL, Botan, Mbed TLS en s2n zijn niet vatbaar voor het probleem, aangezien ze geen DH-encrypties of statische versies van DH-encrypties ondersteunen.
Bovendien worden aanvullende problemen opgemerkt () in de TLS-stack van de F5 BIG-IP-apparaten, die de aanval realistischer maken. In het bijzonder werden afwijkingen in het gedrag van de apparaten vastgesteld bij de aanwezigheid van een nulbyte aan het begin van de primaire sleutel, die in plaats van het exact meten van de vertragingstijd bij berekeningen kan worden gebruikt.
Bron: opennet.ru
