Implementazioni della VPN e loro peculiarità

Vi abbiamo già parlato delle VPN. Oggi esaminiamo le sue implementazioni analizzando pro e contro.

In un post precedente, abbiamo trattato la definizione di VPN (Virtual Private Network, rete privata virtuale), il suo scopo e i vari casi di uso.

Oggi esamineremo le sue implementazioni più diffuse e i loro pro e contro.

Per definizione, la VPN è un concetto versatile ed è difficile capire immediatamente se delle implementazioni siano o no una VPN. In un certo senso, anche il predecessore di Internet, ARPANET, potrebbe essere considerato una VPN. Stranamente, quasi tutti i concetti legati alla rete e, più chiaramente, i protocolli, hanno esordito come tecnologie per le aziende e solo in un secondo momento sono diventati un bene per l’utente medio.

Beh, oggi non c’interessano né la storia né le infrastrutture aziendali. In questo post analizzeremo le comuni implementazioni della VPN, quelle in cui potrebbe imbattersi un utente senza competenze tecniche.

Prima, vedremo quelle implementazioni che aiutano a proteggere gli utenti quando sono connessi a una rete Wi-Fi pubblica, o a bypassare certe restrizioni basate sul protocollo IP imposte da un provider. Di norma, i servizi VPN rivolti ai consumatori fanno leva sulle potenzialità del comune sistema operativo e forniscono, passo dopo passo, le istruzioni necessarie per stabilire una connessione protetta.

Recentemente, la VPN ha fatto un enorme passo avanti in termini di semplificazione del processo: a un utente medio non serve tutto quel nonsense tecnologico, ha solo bisogno di seguire istruzioni basilari come “paga qui, scarica app qui, premi qui e buon divertimento”. Ma in alcuni casi avrebbe senso conoscere almeno come differiscono tra loro le implementazioni della VPN.

Caption: Impostazioni VPN in Android (S) and Windows (D)

Implementazioni comuni della VPN

Il PPTP (Point-to-Point Tunneling Protocol) è stato sviluppato circa 20 anni fa, il che è insieme il suo vantaggio e il suo principale svantaggio. Il vantaggio più importante è la sua compatibilità con quasi tutti i sistemi operativi, anche i legacy, che rende il protocollo altamente universale e disponibile. Inoltre, non è esigente in termini di potenza di calcolo, se comparato a soluzioni più recenti.

Ma la sua età avanzata giustifica anche il suo principale svantaggio: rispetto alle realtà di sicurezza odierne, offre un livello considerevolmente inferiore di protezione. I suoi metodi criptografici andavano benissimo a metà degli anni 90, ma oggi non sono abbastanza sicuri, un problema che viene amplificato da un’architettura imperfetta e da una serie di debolezze della più comune implementazione di Microsoft.

Inoltre, in riferimento al PPTP, il criptaggio non è offerto come impostazione predefinita, e un aggressore, con l’hardware di produzione oggi disponibile, ci metterebbe meno di 24 ore a forzare la password. Ad ogni modo, nelle situazioni che non richiedono una connessione super sicura o quando le altre connessioni VPN non sono disponibili, è meglio usare il PPTP con un criptaggio debole piuttosto che essere del tutto sprovvisti di protezione.

Una volta mi sono ritrovato in una situazione complicata: ero diretto in un paese noto per certe restrizioni a Internet (sapete a cosa mi riferisco). Ho utilizzato il nostro server PPTP aziendale sito nel mio paese per mandare le email, le quali venivano recapitate con un ritardo che andava dai due giorni alle due settimane circa. Ci si può solo immaginare dove stavano quelle email per tutto quel lasso di tempo. Intanto, l’uso di una connessione VPN alternativa e quindi più sicura era limitata. Questa storia dimostra come il PPTP non sia forte abbastanza per proteggervi da organismi potenti come i governi o le corporation.

Il L2TP (Layer 2 Tunneling Protocol) è piuttosto simile al PPTP. Questi due standard sono stati sviluppati e abilitati praticamente nello stesso periodo, sebbene il L2TP sia considerato più efficiente per le reti virtuali, ma allo stesso tempo è un po’ più esigente in termini di potenza di calcolo. In genere viene preferito da provider e imprenditori. A proposito, il L2TP non fornisce criptaggio predefinito e va insieme ad altri protocolli (di solito gli IPSec).

L’IPSec (Internet Protocol Security) è un pacchetto di protocolli, standard che include diverse misure di sicurezze. Questo bundle è adatto a vari tipi di connessioni sicure. Le prime elaborazioni dell’IPSec risalgono ai primi anni ’90, ma il suo concetto di base è il costante miglioramento e aggiornamento conformi agli sviluppi della tecnologia, quindi non si tratta di una distinzione statica.

È ovvio per quale tipo di entità sia stato sviluppato. L’IPSec comprende una decina di standard (ciascuno dei quali con più di un’implementazione), che potrebbero essere usati per facilitare connessioni sicure a tutti i livelli. È certamente buono in termini di architettura, affidabilità dei suoi algoritmi criptografici e potenziale.

Con tutto il dovuto rispetto, anche l’IPSec ha le sue pecche. Primo, non è semplice da configurare per l’utente medio di PC, e se viene configurato in maniera impropria, la sua sicurezza può essere compromessa. Inoltre, come già detto, viene utilizzato in un bundle con molti altri protocolli.

Secondo, è esigente in termini di potenza di calcolo. Questo inconveniente è in parte compensato dall’uso di accelerazione hardware degli algoritmi criptografici AES (che di solito sono offerti nelle attuali implementazioni di IPSec, tra gli altri algoritmi). Questa funzione dell’accelerazione hardware AES viene impiegata negli attuali processori per dispositivi mobili e fissi, come pure nei router Wi-Fi e così via. Con nostro sconcerto, le tecnologie create dai teorici (soprattutto, gruppi di esperti in matematica) vengono concretizzate da menti pratiche a cui a volte manca la conoscenza e la comprensione della scienza. Una ricerca pubblicata nell’ottobre del 2015 afferma che quasi il 66% delle connessioni IPSec è facilmente violabile, ed è probabile che la NSA possegga delle risorse hardware adatte a compromettere il criptaggio.

Qui la questione è l’uso scorretto dei protocolli che davano l’avvio a una connessione sicura. Questo problema può essere applicato non solo all’IPSec, ma al TLS (che tratteremo dopo) e all’SSH, come pure al TOR e all’OTR. In altre parole, è possibile compromettere sia la connessione VPN e altri tipi di connessione sicura per certi siti, server di posta, messaggistica istantanea e simili.

Ovviamente, per mettere in pratica un attacco del genere, sono richiesti lunghi tempi di avviamento e significative risorse di calcolo, ma in questo caso specifico i ricercatori hanno utilizzato le comuni tecnologie cloud di Amazon e, evidentemente, hanno speso una realistica quantità di denaro, tecnicamente disponibile per un privato.

Con tali risorse a portata di mano, il tempo di preparazione per un attacco può essere di un minuto nel migliore dei casi e fino a un mese nei peggiori. Nel contempo, alcuni esperti erano scettici riguardo a questa proof of concept: secondo loro, nella vita reale il numero di sistemi vulnerabili è di molto inferiore. Comunque, certi aspetti della ricerca dovrebbero essere presi sul serio; nel frattempo, gli sviluppatori di software potenzialmente vulnerabili stanno già preparando o hanno già sviluppato patch e hanno allertato i loro utenti.

SSL (Secure Sockets Layer) e TLS (Transport Layer Security), come suggeriscono i loro nomi, appartengono alla classe di soluzioni basate sui protocolli SSL e TLS corrispondenti, che a volte sono completati da altri mezzi di protezione. Tutti dovreste esservi imbattuti nell’SSL/TLS navigando su Internet; per esempio, anche questo sito lo utilizza: il prefisso “https” e il lucchetto verde confermano che il sito utilizza questi protocolli per una connessione sicura.

Le prime implementazioni del protocollo risalgono già al secolo scorso, sebbene la tecnologia ha trovato riscontro solo negli anni 2000. La proliferazione dei protocolli ha permesso di studiarli a fondo e di trovare una serie di vulnerabilità, sia nella stessa architettura, sia in differenti implementazioni. SSL 3.0 è stato ritirato nel giugno del 2015; la versione più aggiornata è TLS 1.2, sebbene non sia affatto del tutto sicura: molto dipende dalla configurazione (vedi IPSec). Inoltre, entrambi i protocolli sono gravati dalla necessità di offrire retrocompatibilità.

Ciò che può essere certamente considerato un vantaggio per questo tipo di VPN è la prevalenza SSL/TLS su Internet, e ciò significa che la maggioranza delle reti pubbliche la lascia passare liberamente. Per quanto riguarda gli svantaggi, queste VPN hanno performance scarse, sono difficili da configurare e richiedono software aggiuntivi.

Tra le più comuni implementazioni SSL/TLS VPN ci sono OpenVPN (SSL 3.0 / TLS 1.2) e SSTP di Microsoft (SSL 3.0). In effetti, SSTP è integrata con Windows. OpenVPN, per via della sua natura aperta, possiede un sacco di implementazioni per la maggioranza delle piattaforme e, a oggi, è considerata l’implementazione della VPN più affidabile.

Conclusioni

Abbiamo esaminato le più comuni implementazioni della VPN a oggi conosciute. Tuttavia, poiché questa tecnologia si è evoluta nel corso degli anni, ha visto un enorme numero di iterazioni. Pensate a tutte le soluzioni sviluppate per i settori dell’imprenditoria e delle telecomunicazioni!

Per quanto riguarda l’utente medio, consiglio di affidarsi a OpenVPN per via della sua natura aperta, affidabilità e sicurezza. Ad ogni modo, questa e altre implementazioni della VPN possiedono una quantità di difficili peculiarità di natura tecnica e legale che tratterò nella prossima puntata di questa serie.

Consigli