Marvin Attack, un attacco di cracking RSA basato sul tempo

Marvin Attacco

Marvin è il ritorno di una vulnerabilità vecchia di 25 anni che consente operazioni di firma e decrittografia RSA

Durante l'ESORICS 2023 (European Symposium on Computer Security Research), svoltosi dal 25 al 29 settembre nei Paesi Bassi, un ricercatore di sicurezza di Red Hat ha presentato "Marvin Attack", una tecnica di attacco che permette di determinare i dati originali misurando i ritardi durante le operazioni di decrittazione basate sull'algoritmo RSA.

L'attacco Marvin è una variante del metodo Bleichenbacher, proposto nel 1998 , e prosegue lo sviluppo degli attacchi ROBOT e New CAT pubblicati nel 2017 e nel 2019.

L'attacco Marvin è il ritorno di una vulnerabilità vecchia di 25 anni che consente di eseguire operazioni di firma RSA e decrittografia da parte di un utente malintenzionato con la possibilità di osservare solo l'ora dell'operazione di decrittografia eseguita con la chiave privata.

Nel 1998, Daniel Bleichenbacher scoprì che i messaggi di errore forniti dai server SSL per errori nel riempimento PKCS #1 v1.5 abilitavano un attacco al testo cifrato scelto in modo adattivo; Questo attacco viola completamente la riservatezza di TLS se utilizzato con la crittografia RSA. Nel 2018 Hanno Böck, Juraj Somorovsky e Craig Young hanno dimostrato, 19 anni dopo, che molti server Internet erano ancora vulnerabili a leggere varianti dell’attacco originale.

In sostanza, il metodo prevede che un attaccante, basandosi su diverse reazioni del server e tempi di esecuzione, possa separare i blocchi Oracle corretti da quelli errati, aggiunti utilizzando lo standard PKCS #1 v1.5 per allineare i dati crittografati lungo il confine del blocco. Manipolando le informazioni sull'accuratezza dei blocchi di riempimento, un attaccante può utilizzare la forza bruta per ricreare un testo cifrato valido.

In questo caso, l'attacco non recupera direttamente la chiave privata; consente solo la decrittazione del testo cifrato o la generazione di un messaggio firmato contraffatto. Per portare a termine un attacco con successo, è necessario inviare un volume molto elevato di messaggi di prova da decrittare.

Sferrare un attacco contro i server TLS che utilizzano la crittografia basata su RSA consente a un aggressore di memorizzare passivamente il traffico intercettato e quindi decifrarlo . Per i server che supportano PFS, condurre un attacco diventa molto più difficile e il successo dipende dalla velocità con cui viene eseguito.

Inoltre, il metodo consente di generare una firma digitale fittizia che verifica il contenuto dei messaggi ServerKeyExchange in TLS 1.2 o dei messaggi CertificateVerify in TLS 1.3 trasmessi durante la fase di scambio delle chiavi, che può essere utilizzata per eseguire attacchi Man-in-the-Middle (MITM) al fine di intercettare la connessione TLS tra client e server.

Si afferma che la differenza con il metodo Marvin si riduce a una tecnologia migliorata per separare i dati incrementali corretti da quelli errati , filtrare i falsi positivi, determinare con maggiore precisione i ritardi di calcolo e utilizzare canali di terze parti aggiuntivi durante la misurazione.

In pratica, il metodo proposto consente di decriptare il traffico o generare firme digitali senza conoscere la chiave RSA privata. Per testare l'applicabilità dell'attacco sono stati pubblicati uno script speciale per il controllo dei server TLS e strumenti per l'identificazione dei problemi nelle biblioteche.

Il problema riguarda diverse implementazioni di protocolli che utilizzano RSA e PKCS . Sebbene le moderne librerie crittografiche contengano una certa protezione contro gli attacchi basati sul metodo Bleichenbacher, lo studio ha rivelato che queste librerie presentano canali di fuga aperti e non garantiscono tempi di elaborazione coerenti per i pacchetti con padding corretto e non corretto. Ad esempio, l'implementazione dell'attacco GnuTLS di Marvin non è legata al codice che esegue direttamente i calcoli relativi a RSA, ma utilizza tempi di esecuzione diversi per il codice che decide se visualizzare un determinato messaggio di errore.

L'autore dello studio ritiene inoltre che la classe di vulnerabilità considerata non si limiti all'RSA e possa interessare molti altri algoritmi crittografici che dipendono da librerie standard per i calcoli degli interi.

Per confermare la possibilità di realizzare nella pratica l'attacco Marvin, il ricercatore ha dimostrato l'applicabilità del metodo ad applicazioni basate sulle librerie M2Crypto e pyca/cryptography, in cui sono bastate poche ore per compromettere la crittografia, conducendo un esperimento su un portatile medio.

Infine, se siete interessati ad approfondire l'argomento, potete trovare maggiori dettagli al seguente link.


Aggiungi come fonte preferita in Google