Et forskerhold fra University of California, San Diego, har demonstreret evnen til at rekonstruere private SSH-serverværts RSA-nøgler ved hjælp af passiv analyse af SSH-trafik. Angrebet kan udføres på servere, hvor der på grund af en kombination af omstændigheder eller angriberens handlinger opstår fejl under beregningen af den digitale signatur ved etablering af en SSH-forbindelse. Fejl kan enten være softwarerelaterede (forkert udførelse af matematiske operationer, hukommelseskorruption) eller hardwarerelaterede (fejl i driften af NVRAM og DRAM eller fejl på grund af strømafbrydelser).
En mulighed for at stimulere fejl kunne være RowHammer-angreb, som blandt andet tillader, at indholdet af individuelle hukommelsesbits forvrænges eksternt eller ved behandling af JavaScript-kode i en browser under intensiv cyklisk læsning af data fra tilstødende hukommelsesceller. En anden mulighed for at forårsage nedbrud kunne være udnyttelse af sårbarheder, der fører til bufferoverløb og beskadigelse af data med nøgler i hukommelsen.
Det publicerede studie viser, at når man bruger digitale signaturer baseret på RSA-algoritmen i SSH, kan angreb til at rekonstruere RSA-private nøgler ved hjælp af Lattice (Fault Attack)-metoden anvendes på parametrene for den digitale signatur i tilfælde af software- eller hardwarefejl under signaturberegningsprocessen. Metodens essens er, at det ved at sammenligne en korrekt og en fejlagtig RSA digital signatur er muligt at bestemme den største fælles divisor for at udlede et af de primtal, der bruges til at generere nøglen.
RSA-kryptering er baseret på operationen med at hæve et stort tal til en potensmodulo. Den offentlige nøgle indeholder modulet og graden. Modulet er dannet på basis af to tilfældige primtal, som kun er kendt af ejeren af den private nøgle. Angrebet kan anvendes på RSA-implementeringer, der bruger den kinesiske restsætning og deterministiske padding-ordninger såsom PKCS#1 v1.5.
Для совершения атаки достаточно пассивного отслеживания легитимных соединений к SSH-серверу до выявления в трафике сбойной цифровой подписи, которую можно использовать в качестве источника информации для воссоздания закрытого RSA-ключа. После воссоздания хостового RSA-ключа атакующий может в ходе MITM-атаки незаметно перенаправить запросы на подставной хост, выдающий себя за скомпрометированный SSH-сервер и организовать перехват передаваемых на этот server data.
Ved at undersøge en samling af netværksinterceptions indeholdende cirka 5.2 milliarder poster relateret til brugen af SSH-protokollen, identificerede forskerne cirka 3.2 milliarder offentlige værtsnøgler og digitale signaturer, der blev brugt under SSH-sessionsforhandlinger. Af disse blev 1.2 milliarder (39.1%) genereret ved hjælp af RSA-algoritmen. I 593671 tilfælde (0.048%) var RSA-signaturen beskadiget og mislykkedes verifikationen. For 4962 ødelagte signaturer blev Lattice-faktoriseringsmetoden brugt til at bestemme den private nøgle ud fra en kendt offentlig nøgle, hvilket i sidste ende tillod os at rekonstruere 189 unikke RSA-nøglepar (i mange tilfælde blev de samme nøgler og ødelagte enheder brugt til at generere forskellige ødelagte signaturer). Det tog omkring 26 timers CPU-tid at genskabe nøglerne.

Problemet påvirker kun specifikke implementeringer af SSH-protokollen, der primært bruges på indlejrede enheder. Eksempler på enheder med problematiske SSH-implementeringer inkluderer produkter fra Zyxel, Cisco, Mocana og Hillstone Networks. OpenSSH er ikke påvirket af dette problem, fordi det bruger OpenSSL (eller LibreSSL) biblioteket til at generere nøgler, hvilket har været beskyttet mod Fault Attacks siden 2001. Desuden er ssh-rsa digital signaturordning (baseret på sha1) i OpenSSH blevet udfaset siden 2020 og deaktiveret i version 8.8 (understøttelse af rsa-sha2-256 og rsa-sha2-512 ordningerne forbliver). Angrebet kunne potentielt også være anvendeligt på IPsec-protokollen, men forskerne havde ikke nok eksperimentelle data til at bekræfte et sådant angreb i praksis.
Kilde: opennet.ru
