Een groep onderzoekers van de Universiteit van Californiƫ in San Diego heeft aangetoond dat het mogelijk is om gesloten host RSA-sleutels van een SSH-server te reconstrueren door middel van passieve analyse van SSH-verkeer. De aanval kan worden uitgevoerd op servers waar, door omstandigheden of acties van de aanvaller, foutieve berekeningen plaatsvinden tijdens het genereren van de digitale handtekening bij het opzetten van een SSH-verbinding. Fouten kunnen zowel softwarematig zijn (onjuiste uitvoering van wiskundige bewerkingen, geheugenbeschadiging) als hardwarematig (fouten met NVRAM en DRAM of storingen tijdens stroomonderbrekingen).
Een van de manieren om fouten te stimuleren, kan het uitvoeren van RowHammer-aanvallen zijn, die onder andere op afstand of tijdens de verwerking van JavaScript-code in de browser in staat zijn om de inhoud van individuele geheugensbits te verstoren door intensief cyclisch gegevens uit aangrenzende geheugenlocaties te lezen. Een andere manier om fouten teweeg te brengen kan het uitbuiten van kwetsbaarheden zijn die leiden tot buffer overflow en beschadiging van gegevens met sleutels in het geheugen.
In het gepubliceerde onderzoek is aangetoond dat bij het gebruik van digitale handtekeningen op basis van het RSA-algoritme in SSH, aanvallen om gesloten RSA-sleutels te reconstrueren door middel van Lattice (Fault Attack) toepasbaar zijn, in het geval van software- of hardwarefouten tijdens het proces van het berekenen van de handtekening. De essentie van de methode is dat door de correcte en defecte digitale handtekeningen van RSA te vergelijken, de grootste gemene deler kan worden bepaald om een van de priemgetallen te achterhalen die zijn gebruikt bij het vormen van de sleutel.
De basis van RSA-encryptie ligt in de operatie van exponentiƫle modulering met een groot getal. De openbare sleutel bevat een module en een exponent. De module wordt gevormd op basis van twee willekeurige priemgetallen, die alleen bekend zijn bij de eigenaar van de gesloten sleutel. De aanval kan worden toegepast op RSA-implementaties die gebruikmaken van de Chinese reststelling en deterministische opvulschema's, zoals PKCS#1 v1.5.
Voor het uitvoeren van een aanval is het voldoende om passief legitieme verbindingen naar de SSH-server te volgen totdat een defecte digitale handtekening in het verkeer wordt ontdekt, die kan worden gebruikt als informatiebron voor het reconstrueren van de gesloten RSA-sleutel. Na het reconstrueren van de host-RSA-sleutel kan de aanvaller tijdens een MITM-aanval de verzoeken onopgemerkt omleiden naar een vervalste host die zich voordoet als de gecompromitteerde SSH-server en het interceptie van de verzonden gegevens organiseren. server gegevens.
Bij het bestuderen van de collectie onderschepte netwerkgegevens, bestaande uit ongeveer 5,2 miljard records met betrekking tot het gebruik van het SSH-protocol, hebben onderzoekers ongeveer 3,2 miljard open hostsleutels en digitale handtekeningen ontdekt die werden gebruikt tijdens de sessieonderhandelingen van SSH. Van deze zijn 1,2 miljard (39,1%) gegenereerd met behulp van het RSA-algoritme. In 593671 gevallen (0,048%) was de RSA-handtekening beschadigd en kon deze niet worden geverifieerd. Voor 4962 defecte handtekeningen kon de Lattice-factoriseringsmethode worden gebruikt om de gesloten sleutel te bepalen op basis van de bekende openbare sleutel, wat uiteindelijk leidde tot het reconstrueren van 189 unieke paren RSA-sleutels (in veel gevallen werden dezelfde sleutels en defecte apparaten gebruikt voor het genereren van verschillende beschadigde handtekeningen). Het reconstrueren van de sleutels kostte ongeveer 26 uur CPU-tijd.

Het probleem betreft alleen specifieke implementaties van het SSH-protocol, die voornamelijk op embedded apparaten worden gebruikt. Voorbeelden van apparaten met problematische SSH-implementaties zijn producten van Zyxel, Cisco, Mocana en Hillstone Networks. OpenSSH is niet kwetsbaar voor het probleem, aangezien het de OpenSSL-bibliotheek (of LibreSSL) gebruikt voor het genereren van sleutels, die sinds 2001 bescherming biedt tegen aanvallen op basis van foutanalyse (Fault Attack). Bovendien is in OpenSSH het digitale handtekeningenschema ssh-rsa (gebaseerd op sha1) sinds 2020 als verouderd verklaard en uitgeschakeld in versie 8.8 (ondersteuning voor de rsa-sha2-256 en rsa-sha2-512 schema's blijft behouden). Potentieel kan de aanval ook van toepassing zijn op het IPsec-protocol, maar de onderzoekers hadden niet voldoende experimentele gegevens om een dergelijke aanval in de praktijk te bevestigen.
Bron: opennet.ru
