Ben 19 anni fa il crittografo svizzero Daniel Bleichenbacher, oggi impegnato in Google, scoprì una vulnerabilità nei protocolli SSL/TLS che se utilizzati insieme con l’algoritmo RSA rendevano possibile da decodifica dei dati cifrati.
Un gruppo di ricercatori ha scoperto una grave lacuna di sicurezza che può portare alla decodifica delle comunicazioni su protocollo HTTPS e che si riallaccia con le ricerche quasi ventennali di Bleichenbacher.
Il problema, battezzato ROBOT (acronimo di Return Of Bleichenbacher’s Oracle Threat) è importante perché, potenzialmente, può rendere un aggressore in grado di sferrare un attacco passivo, loggare il traffico dati scambiato via HTTPS e decodificare indisturbato, in seguito, il contenuto dei pacchetti cifrati.
Il nocciolo del problema è ancora una volta l’utilizzo dell’algoritmo RSA per lo scambio delle chiavi crittografiche tra client e server coinvolti nella comunicazione.
Secondo Hanno Böck, Juraj Somorovsky e Craig Young, una buona parte dei 100 siti più visitati al mondo (stando alla classifica Alexa) soffrirebbero del problema di sicurezza appena venuto a galla.
Basti pensare che i siti di aziende come Facebook e PayPal utilizzerebbero ancora l’algoritmo RSA “fallato” così come centinaia di altre società di elevato profilo.
Cliccando qui è possibile avviare un test che permette di verificare se il proprio server web sia o meno affetto dal problema.
Per scongiurare rischi di attacco, tutto ciò che è necessario fare è disattivare l’utilizzo dell’algoritmo RSA ovvero l’utilizzo di tutti i cifrari con il prefisso TLS_RSA.
I siti che fanno uso del protocollo HTTPS possono usare connessioni TLS avendo cura di configurare Elliptic-curve Diffie-Hellman (ECDH) per lo scambio delle chiavi crittografiche.
Vale comunque la pena evidenziare che un aggressore in grado di sfruttare la falla di sicurezza sulla quale fa leva l’attacco ROBOT non potrà ottenere la chiave privata usata dal server TLS ma solamente le chiavi crittografiche impiegate in ogni sessione di comunicazione, per ciascun client connesso.
Ciò significa che l’aggressore non ha accesso una “chiave universale di decodifica” bensì a una chiave valida per quella specifica sessione HTTPS. Inoltre, per decifrare importanti quantitativi di traffico HTTPS, l’aggressore deve disporre di notevoli risorse computazionali.
Per maggiori informazioni, è possibile fare riferimento al sito incentrato su ROBOT.