Rekonstrukcja kluczy RSA poprzez analizę połączeń SSH z uszkodzonymi serwerami

Grupa badawcza z Uniwersytetu Kalifornijskiego w San Diego wykazała możliwość odtworzenia zamkniętych kluczy RSA serwera SSH, korzystając z pasywnej analizy ruchu SSH. Atak może być przeprowadzony na serwerach, na których na skutek okoliczności lub działań atakującego występują awarie podczas obliczania podpisu cyfrowego przy nawiązywaniu połączenia SSH. Awarie mogą być zarówno programowe (nieprawidłowe wykonywanie operacji matematycznych, uszkodzenie pamięci), jak i sprzętowe (błędy w pracy NVRAM i DRAM lub awarie przy przerwach w zasilaniu).

Jednym z możliwych sposobów na wywołanie awarii mogą być ataki klasy RowHammer, które m.in. pozwalają na zdalne lub w trakcie przetwarzania kodu JavaScript w przeglądarce na wywołanie zniekształcenia zawartości poszczególnych bitów pamięci podczas intensywnego cyklicznego odczytu danych z sąsiadujących komórek pamięci. Innym sposobem na wywołanie awarii może być wykorzystanie luk w zabezpieczeniach, które prowadzą do przepełnienia bufora i uszkodzenia danych z kluczami w pamięci.

W opublikowanym badaniu pokazano, że podczas korzystania w SSH z cyfrowych podpisów opartych na algorytmie RSA, ataki mające na celu odtworzenie zamkniętych kluczy RSA metodą Lattice (Fault Attack) są możliwe w przypadku wystąpienia programowych lub sprzętowych awarii podczas procesu obliczania podpisu. Istota metody polega na tym, że porównując poprawne i uszkodzone cyfrowe podpisy RSA, można ustalić największy wspólny dzielnik w celu wyodrębnienia jednej z liczb pierwszych użytych do tworzenia klucza.

Podstawą szyfrowania RSA jest operacja potęgowania modulo dużej liczby. W kluczu publicznym znajduje się moduł i wykładnik. Moduł jest tworzony na podstawie dwóch losowych liczb pierwszych, które są znane tylko właścicielowi klucza prywatnego. Atak może być stosowany w implementacjach RSA, które wykorzystują Chińskie twierdzenie o resztach oraz deterministyczne schematy wypełnienia, takie jak PKCS#1 v1.5.

A passive observation of legitimate connections to the SSH server is enough to identify a faulty digital signature in the traffic, which can be used as a source of information to recreate the private RSA key. After recreating the host's RSA key, an attacker can stealthily redirect requests to a fake host pretending to be the compromised SSH server and organize the interception of data transmitted to it. serwer danych.

As a result of studying a collection of intercepted network data, which includes approximately 5.2 billion records related to the use of the SSH protocol, researchers identified about 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 applied to determine the private key from the known public key, which ultimately allowed for the recreation of 189 unique RSA key pairs (in many cases, the same keys and faulty devices were used to generate different corrupted signatures). Recreating the keys took about 26 hours of processor time.

Rekonstrukcja kluczy RSA poprzez analizę połączeń SSH z uszkodzonymi serwerami

The problem only affects specific implementations of the SSH protocol, primarily used in embedded devices. Products from Zyxel, Cisco, Mocana, and Hillstone Networks are mentioned as examples of devices with problematic SSH implementations. OpenSSH is not vulnerable to the issue, as it uses the OpenSSL (or LibreSSL) library for key generation, which has included protection against fault analysis attacks since 2001. Moreover, 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 lacked sufficient experimental data to confirm such an attack in practice.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster