Ci risiamo: ecco #DROWNAttack

Sono passati dodici mesi da quando il cosiddetto FREAK Attack ha scatenato il panico su internet: oggi parliamo di un altro rischio nella sicurezza di portata simile.

Si chiama DROWNAttack, ovvero Decrypting RSA with Obsolete and Weakened eNcryption, è un attacco che sfrutta una debolezza nella versione 2 del protocollo SSL. Questa debolezza non è frutto di un errore, ma di una scelta progettuale dovuta alle restrizioni esistenti negli anni ’90 sulla esportazione di tecnologie crittografiche dagli USA verso l’estero. La storia di come queste restrizioni siano state concepite e di quale danno abbiano provocato dovrebbe essere già noto a tutti, segnalo comunque al lettore interessato la esaustiva pagina su Wikipedia.

Il funzionamento di DROWN è spiegato in questo documento tecnico completo, tuttavia riassumeremo qui di seguito il suo modus operandi a grandi linee.
Come prima cosa, un attaccante osserva e analizza un gran numero di connessioni fra un client e un server che usi il protocollo HTTPS indipendentemente dal tipo di crittografia usata, a patto che usi il sistema di scambio chiavi RSA. L’attaccante può modificare queste chiavi crittografiche e usarle per tentare numerose connessioni al server tramite il protocollo SSLv2. Dalle risposte che l’attaccante riceve dal server, il primo può affinare le modifiche al testo cifrato fino a trovare la chiave segreta usata per la connessione sicura con il client.
Dato che la chiave RSA autorizzata per l’export era lunga solo 40 bit, l’attaccante deve analizzare solo 240 possibilità. Senza entrare in dettagli, è interessante notare che un attacco del genere non solo potrebbe essere messo in atto semplicemente tramite l’uso parallelo di GPU ad alta prestazione, ma, senza dotarsi di nessun hardware speciale, può essere fatto girare su risorse in cloud prese in affitto solo per questo scopo. Gli autori indicano che un attacco del genere realizzato su Amazon EC2 costerebbe circa 440US$.

A peggiorare la situazione, la maggioranza dei server affetti da questo problema risentono anche di un bug presente nel pacchetto OpenSSL . Grazie a questo fattore addizionale, l’attacco viene ulteriormente semplificato e può essere portato a termine addirittura con un PC ad alte prestazioni nel tempo di un minuto. Questo secondo attacco è così veloce da effettuare che permette un comportamento del tipo man-in-the-middle e consente così all’attaccante di forzare client e server a usare uno scambio chiavi RSA anche se i due componenti software preferirebbero in condizioni normali usare lo scambio chiavi sfruttando la perfect-forward-secrecy.

Non ci sono azioni pratiche da mettere in atto lato client per mitigare o evitare questo attacco-
Al contrario tutti gli amministratori di server devono assicurarsi che le chiavi private non siano usate in nessun prodotto che supporti ancora SSLv2: notate che spesso le chiavi private vengono usate non solo per un server HTTP, ma anche IMAP, POP e via dicendo, di conseguenza è fondamentale verificare tutte queste macchine e prendere le dovute contromisure.
Sul sito che documento l’attacco è presente anche un veloce test che si può effettuare a richiesta su qualsiasi sito pubblicato su internet.

Per informazioni più approfondite, potete consultare l’apposito sito https://drownattack.com e la relativa pagina sulla Wikipedia.

Il codice Common Vulnerabilities and Exposures di DROWN è 2016-0800.

Autore: Luca Mauri

Prima di tutto un Geek e un Trekker, Luca Mauri lavora come IT Manager. Entusiasta della esplorazione spaziale e della scienza in generale. È un lettore vorace e un fotografo amatoriale. Fa parte della piccola schiera degli INTJ.

Spazio per un commento