Ricreazione delle chiavi RSA tramite analisi delle connessioni SSH a server guasti

Un gruppo di ricercatori dell'Università della California a San Diego ha dimostrato la possibilità di ricreare le chiavi RSA private di un server SSH, utilizzando un'analisi passiva del traffico SSH. L'attacco può essere eseguito su server che, a causa di circostanze favorevoli o azioni dell'attaccante, presentano malfunzionamenti durante il calcolo della firma digitale in fase di instaurazione della connessione SSH. I malfunzionamenti possono essere sia software (esecuzione non corretta delle operazioni matematiche, danneggiamento della memoria), sia hardware (errori nel funzionamento di NVRAM e DRAM o malfunzionamenti causati da interruzioni di alimentazione).

Una delle opzioni per stimolare i malfunzionamenti possono essere gli attacchi di tipo RowHammer, che consentono, tra l'altro, di ottenere la distorsione del contenuto di singoli bit di memoria durante la lettura intensiva e ciclica dei dati da celle di memoria adiacenti, sia da remoto che durante l'elaborazione di codice JavaScript nel browser. Un'altra opzione per innescare malfunzionamenti può essere l'esploitazione di vulnerabilità che portano a overflow di buffer e danneggiamento dei dati contenenti le chiavi in memoria.

Nello studio pubblicato è stato dimostrato che nell'SSH, l'uso di firme digitali basate su algoritmo RSA rende i parametri della firma digitale suscettibili a attacchi per la ricreazione delle chiavi RSA mediante il metodo Lattice (Fault Attack), in caso di malfunzionamenti software o hardware durante il processo di calcolo della firma. L'essenza del metodo consiste nel confrontare la firma digitale RSA corretta e quella compromessa, permettendo di determinare il massimo comune divisore per estrarre uno dei primi numeri utilizzati per formare la chiave.

Alla base della crittografia RSA c'è l'operazione di esponenziazione modulo un grande numero. La chiave pubblica contiene il modulo e l'esponente. Il modulo è formato sulla base di due numeri primi casuali, noti solo al proprietario della chiave privata. L'attacco può essere applicato a implementazioni di RSA che utilizzano il Teorema Cinese dei Resti e schemi di padding deterministici, come PKCS#1 v1.5.

Per effettuare un attacco è sufficiente monitorare passivamente le connessioni legittime a un server SSH fino a identificare nel traffico una firma digitale difettosa, che può essere utilizzata come fonte di informazione per ricreare la chiave RSA privata. Dopo aver ricreato la chiave RSA dell'host, l'attaccante può durante un attacco MITM reindirizzare silenziosamente le richieste a un host falso che si spaccia per un server SSH compromesso e organizzare l'intercettazione dei dati trasmessi a questo server fine.

Dallo studio di una raccolta di dati di rete intercettati, che include circa 5,2 miliardi di registrazioni relative all'utilizzo del protocollo SSH, i ricercatori hanno identificato circa 3,2 miliardi di chiavi host pubbliche e firme digitali utilizzate durante la negoziazione della sessione SSH. Di queste, 1,2 miliardi (39,1%) sono state generate utilizzando l'algoritmo RSA. In 593671 casi (0,048%) la firma RSA era corrotta e non passava la verifica. Per 4962 firme difettose è stato possibile applicare il metodo di fattorizzazione Lattice per determinare la chiave privata a partire dalla chiave pubblica nota, il che ha permesso infine di ricreare 189 coppie uniche di chiavi RSA (in molti casi per generare diverse firme difettose sono state utilizzate le stesse chiavi e dispositivi difettosi). Ci è voluto circa 26 ore di tempo di CPU per ricreare le chiavi.

Ricreazione delle chiavi RSA tramite analisi delle connessioni SSH a server guasti

Il problema riguarda solo implementazioni specifiche del protocollo SSH, utilizzate principalmente su dispositivi embedded. Tra i dispositivi con implementazioni problematiche di SSH si citano i prodotti Zyxel, Cisco, Mocana e Hillstone Networks. OpenSSH non è soggetto a questo problema, poiché utilizza per la generazione delle chiavi la libreria OpenSSL (o LibreSSL), che ha protezione dagli attacchi basati su analisi di guasti (Fault Attack) dal 2001. Inoltre, in OpenSSH, lo schema di firme digitali ssh-rsa (basato su sha1) è stato dichiarato obsoleto e disattivato nella versione 8.8 nel 2020 (il supporto per gli schemi rsa-sha2-256 e rsa-sha2-512 rimane). Potenzialmente, l'attacco potrebbe essere applicabile anche al protocollo IPsec, ma i ricercatori non avevano dati sperimentali sufficienti per confermare un simile attacco nella pratica.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster