Un aggressore può risalire ai siti web visitati da un utente durante l’utilizzo di una VPN basata sull’utilizzo del protocollo OpenVPN, modificare i dati in transito e sottrarre ad esempio i cookie di sessione. Il problema riguarda le pagine web HTTP e non interessa in alcun modo i siti HTTPS che possono godere di un ulteriore livello di protezione.
Ahamed Nafeez, il ricercatore autore della scoperta, spiega che il problema è identico a quello scoperto a suo tempo relativamente alle connessioni protette con il protocollo crittografico TLS. In quel caso la “lacuna” è stata risolta ma nel caso delle VPN OpenVPN la vulnerabilità persiste.
Effettuando la compressione dei dati prima di applicare la cifratura un aggressore può risalire ai contenuti in chiaro. Dal momento che OpenVPN, per default, si comporta proprio in questo modo, un aggressore può lanciare un attacco VORACLE (così è stato battezzato da Nafeez) e “spiare” le informazioni trasmesse via HTTP attraverso la VPN.
Sono molteplici i servizi di terze parti che poggiano il loro funzionamento su OpenVPN: quanto scoperto da Nafeez, quindi, deve suonare come un campanello d’allarme evidenziando che far transitare pagine HTTP attraverso una VPN OpenVPN potrebbe non essere così sicuro come si crede.
Confermando l’esistenza della problematica, il team che sovrintende lo sviluppo di OpenVPN ha deciso di pubblicare un avviso esplicito all’interno della documentazione manifestando agli utenti i pericoli derivanti dall’utilizzo di un algoritmo di compressione che agisce nella fase antecedente alla cifratura dei dati.
OpenVPN, tuttavia, non diventa automaticamente insicuro: anzi, il protocollo e i client su di esso costruiti restano sempre sicuri, se ben configurati e utilizzati.
Oltre al fatto che le pagine HTTPS restano ovviamente sicure, gli utenti che aprissero pagine HTTP attraverso OpenVPN utilizzando Chrome, Chromium e derivati non corrono alcun rischio. Tali browser suddividono ciascuna richiesta in più parti (header e body) rendendo vano l’attacco VORACLE. Lo stesso non accade nel caso di Firefox che invia le richieste HTTP in un unico pacchetto di più grandi dimensioni.