En gruppe forskere fra University of California, San Diego, har demonstreret muligheden for at genskabe hemmelige værts RSA-nøgler til SSH-servere ved hjælp af passiv analyse af SSH-trafik. Angrebet kan udføres på servere, hvor der som følge af omstændigheder eller angreb opstår nedbrud under beregningen af digitale signaturer ved etablering af SSH-forbindelse. Nedbrudene kan være både softwaremæssige (forkert udførelse af matematiske operationer, hukommelseskorruption) og hardwaremæssige (fejl ved NVRAM og DRAM eller nedbrud ved strømafbrydelser).
En af måderne at fremprovokere nedbrud på kan være RowHammer-angreb, som blandt andet gør det muligt at opnå forvrængning af indholdet af enkelte bits i hukommelsen ved intens cyklisk læsning af data fra nærliggende hukommelsesceller, enten eksternt eller under behandling af JavaScript-kode i browseren. En anden måde at fremkalde nedbrud på kan være udnyttelse af sårbarheder, der fører til buffer overflow og korruption af data med nøgler i hukommelsen.
I den offentliggjorte undersøgelse vises det, at når der anvendes digitale signaturer baseret på RSA-algoritmen i SSH, så kan angreb for genskabelse af hemmelige RSA-nøgler ved Lattice-metode (Fault Attack) anvendes i tilfælde af software- eller hardwarefejl under signaturberegningsprocessen. Metodens essens er, at ved at sammenligne korrekte og fejlbehæftede RSA-digitale signaturer kan den største fælles divisor bestemmes for at afsløre et af de primtal, der er brugt til at danne nøglen.
RSA-kryptering er baseret på operationen med at hæve til en stor modulus. Den offentlige nøgle indeholder modulus og eksponenten. Modulus dannes ud fra to tilfældige primtal, som kun er kendt af ejeren af den hemmelige nøgle. Angrebet kan anvendes mod RSA-implementeringer, der anvender den kinesiske restteorem og deterministiske padding-skemata, såsom PKCS#1 v1.5.
For an attack, it is sufficient to passively monitor legitimate connections to the SSH server until a faulty digital signature is detected in the traffic, which can be used as a source of information for reconstructing the private RSA key. After reconstructing the host RSA key, the attacker can, during a MITM attack, discreetly redirect requests to a substitute host pretending to be the compromised SSH server and organize interception of the transmitted data. server data.
As a result of studying a collection of intercepted network data, including approximately 5.2 billion records related to the use of the SSH protocol, researchers identified approximately 3.2 billion open host keys and digital signatures used during SSH session negotiation. Of these, 1.2 billion (39.1%) were generated using the RSA algorithm. In 593,671 cases (0.048%), the RSA signature was corrupted and failed verification. For 4,962 faulty signatures, the Lattice factorization method was successfully applied to determine the private key from the known public key, ultimately allowing the reconstruction of 189 unique pairs of RSA keys (in many cases, the same keys and faulty devices were used to generate different corrupted signatures). The key reconstruction required about 26 hours of CPU time.

The problem only affects specific implementations of the SSH protocol, primarily used in embedded devices. Examples of devices with problematic SSH implementations include products from Zyxel, Cisco, Mocana, and Hillstone Networks. OpenSSH is not susceptible to the problem, as it uses the OpenSSL (or LibreSSL) library for key generation, which has had protection against fault analysis-based attacks since 2001. Furthermore, in OpenSSH, the ssh-rsa digital signature scheme (based on sha1) was deprecated in 2020 and disabled in version 8.8 (support for rsa-sha2-256 and rsa-sha2-512 schemes remains). The attack may potentially apply to the IPsec protocol as well, but researchers did not have sufficient experimental data to confirm such an attack in practice.
Kilde: opennet.ru
