Ma una VPN ci serve davvero?

by marcomg on

Sempre più spesso è facile imbattersi in una pubblicità per una VPN, soprattutto se si bazzica in servizi web come YouTube. Le promesse fatte dai fornitori di tali servizi sono molto ambiziose: una maggiore privacy, una maggiore sicurezza nella navigazione, ma perché no, spesso viene anche promessa una miglior protezione da virus. Ma quanto è vero quello che affermano in pubblicità? Una VPN ci serve davvero? Probabilmente no, ma dipende.

Andiamo con ordine: cos’è una VPN?

VPN sta per Virtual Private Network. Da un punto di vista pratico (e semplicistico, stiamo sempre parlando nell’ambito dell’utente comune, cioè quello pubblicizzato) tutto il traffico in uscita dal nostro dispositivo, quando è collegato ad una VPN non esce più direttamente dalla nostra connessione, ma viene prima instradato verso il server del fornitore di servizi VPN e da lì esce su internet. Pertanto chi riceve il traffico “crede” che esso origini dal fornitore dei servizi VPN e non da noi.

Il traffico tra di noi e il nodo di uscita è crittografato (il metodo di crittografia varia molto dal protocollo VPN utilizzato), pertanto, a meno di compromissioni di chiavi, nessuno è in grado di leggere la comunicazione tra noi e il nodo VPN.

Ma poi cosa succede? Semplicemente il traffico esce dal nodo VPN come uscirebbe da noi. Quindi che vantaggi possiamo avere?

Da un punto di vista della privacy nessuno. Infatti stiamo semplicemente trasferendo la fiducia da qualcuno a qualcun altro (e aggiungerei anche in maniera cieca). In questo modo non ci stiamo più fidando del nostro provider internet (che in linea teorica potrebbe analizzare il nostro traffico, ma con una VPN è in grado di vedere solamente i metadati di una connessione verso il nostro provider VPN), ma stiamo dando la nostra fiducia adesso a ben due attori: il provider VPN e il provider internet del gestore VPN.

Ovviamente bisogna diversificare il tipo di traffico web. Per esempio le connessioni https sono tutto sommato sicure a prescindere. L’unica cosa che si riesce ad intercettare è l’indirizzo della richiesta, ma non cosa ritorna la pagina o cosa si trasmette in form con richiesta di tipo POST (la GET no visto che codifica nell’url i dati), ma una VPN non aumenta i livelli di sicurezza. Invece per le richieste in chiaro (come per esempio le pagine con protocollo http che non utilizza TSL, Transport Layer Security) aumentiamo gli attori in gioco che possono “controllare” il contenuto (non più il tuo provider, ma il provider VPN e il provider internet del gestore VPN). Ovviamente viene garantita la privacy e il non tracciare LOG di sistema, ma spesso ciò non è possibile a seconda della giurisdizione nazionale. Inoltre ripeto bisogna veramente fidarsi (sicuramente non ci si può fidare di un servizio gratuito), ma anche tra i più famosi (e forse i migliori) quali NordVPN ci sono problemi. Per esempio quelli di NordVPN hanno gestiti con torbidità una loro compromissione (non hanno dato una tempestiva comunicazione della loro falla).

Diverso è il discorso di connessioni WiFi non sicure (hotspot trovati in giro). Non tanto per le connessioni in hotel o all’aeroporto se progettate correttamente (utilizzano il protocollo PEAP e comunque utilizza TSL tra il vostro dispositivo e l’access point), ma quelle “fatte male” non utilizzano alcun layer crittografico, pertanto tutti i pacchetti sono “sparati in chiaro”. Ma questo anche è un problema non-problema visto che la maggior parte delle applicazioni utilizza comunque un layer crittografico a livello di applicazione (debianizzati, WhatsApp, Telegram, Signal, la tua banca, etc) che grazie alle certification authority rimane sicuro.

Il problema principale è la navigazione da browser, infatti qui possiamo “bypassare” il controllo di sicurezza della certification authority e se non sappiamo cosa stiamo facendo potremo star subendo un attacco MITM (man in the middle).

Un esempio di attacco MITM su un hotspot libero potrebbe essere svolto nel seguente modo: io sono l’attaccante e ti offro la connessione gratuita, ma nel frattempo voglio vedere il tuo traffico. Quindi le tue richieste all’applicazione (per esempio la tua banca) invece di girarle direttamente al server della banca le guardo, le “analizzo” e poi le mando al server della banca. Per fare ciò però la comunicazione se è https devo decifrarla, ma non ho le chiavi e quindi non posso. A questo punto ho 2 scelte possibili:

  • rigirare tutto il traffico su connessione non crittografata (http);
  • creare un nuovo certificato.

Nel primo caso però è immediato accorgersene perché la connessione non è più tipo https, ma http, quindi non ci sarà il “lucchetto”

Ma una VPN ci serve davvero?
esempio di connessione non sicura
Ma una VPN ci serve davvero?
esempio di connessione sicura

inoltre siti che tengono particolarmente alla sicurezza, grazie agli header HSTS (HTTP Strict Transport Security), impediscono al browser ogni connessione non cifrata al sito iscritto.

Nel secondo caso, a parte casi molto eclatanti, la certification authority non avrà firmato il certificato generando un errore nel browser.

Ma una VPN ci serve davvero?
Esempio di problemi di autorizzazione dei certificati in Firefox

In questo caso specifico sono io che sto cercando di collegarmi via https al server di debianizzati, ma non mi sto collegando direttamente l’indirizzo IP. Il certificato però è stato firmato da Let’s Encrypt solo per i domini di debianizzati e non per l’indirizzo IP, pertanto non può essere autorizzato (non c’è la firma della certification authority).

Ora in questo particolare caso il problema è colpa mia e non c’è nessun attacco in corso, ma in linea teorica potrebbe essere un tentativo di attacco MITM.

Cliccando su avanzate possiamo vedere maggiori informazioni al riguardo

Ma una VPN ci serve davvero?

in questo caso, se siamo su una connessione pubblica, basta non cliccare su accetta il rischio e continua (ma anche se ci stiamo collegando da casa nostra e bypassiamo l’errore dobbiamo essere molto sospettosi e non inserire dati di autenticazione).

Quindi sicuramente se si utilizza https una VPN è sicuramente inutile, mentre se si usano connessioni insicure come http bisogna avere molta fiducia nel provider.

Quindi le VPN sono inutili?

Non per tutti. Una VPN può essere utile per aggirare restrizioni in caso di viaggio in un paese con restrizioni d’accesso ai servizi occidentali (sicuramente la più famosa è la Cina e la Corea del Nord, ma ce ne sono molti altri quali Egitto, Etiopia, Cuba, Bielorussia, Arabia Saudita, Siria, Iran, Uzbekistan!). Comunque non sempre una semplice VPN è sufficiente perché i sistemi di crittografia possono essere identificati (tramite l’analisi dell’entropia dei pacchetti infatti le connessioni verso VPN possono essere identificate, ma comunque utilizzando software appositi in cambio di un utilizzo maggiore di banda il controllo può essere sempre aggirato) e spesso sono anche proibiti (ma tollerati per i turisti).

Un’altra utilità della VPN è per aggirare i servizi bloccati su indirizzi IP nazionali (come guardare le dirette su RAI Play dall’estero) o vedere contenuti su Netflix, Prime Video o Disney+ non disponibili nella propria regione

Ma una VPN ci serve davvero?
Netflix su interfaccia Android

Ovviamente poi ci sono molte altre realtà in cui l’uso di una VPN è fondamentale, ma in questo caso siamo soprattutto in ambito aziendale (un esempio è poter accedere alla LAN aziendale da casa), accedere alla propria LAN domestica da fuori, etc. Sono comunque tutti ambiti che solitaente non riguardano l’utente comune.

Nel caso in cui si voglia usare una VPN è necessario porre massima fiducia nel provider della VPN, ma è sempre una buona idea auto hostarla (anche perché se si viaggia in posti internet bloccato è più facile che l’indirizzo IP della VPN privata non sia nella black-list nazionale rispetto a quello di un grande provider), ma riflettiamo la VPN ci serve davvero?

Per l’utente comune invece di aumentare la sicurezza normalmente una VPN la diminuisce, infatti non aggiunge nulla di più a livello di sicurezza di quanto non sia previsto dai protocolli normali, inoltre, aggiungendo un falso senso di fiducia quando si naviga sul WEB, rischia di farci essere troppo rilassati.

Per le aziende può essere un ottimo modo per fornire ai propri dipendenti dei servizi privati disponibili normalmente solo all’interno della rete locale all’esterno garantendo un livello di sicurezza aggiuntivo.

Se sei un esperto di sicurezza questo articolo probabilmente non ti è stato minimamente utile, invece per l’utente comune sono quasi certo che non possa essere stato completamente esaustivo. Purtroppo trattare un argomento così complesso e articolato in un solo post sarebbe stato impossibile, quello che spero e aver dato spunti di riflessione e possibili parole chiave per una ricerca autonoma, comunque se avete domande di qualsiasi tipo non esitate a commentare o a scrivere sul forum!

Leggi il contenuto originale su Debianizzati.org

Written by: marcomg