L’obiettivo di molti hacker, a differenza del settore a cui si dedicano, è rubare dati agli utenti. Si può trattare di attacchi circoscritti, indirizzati a singoli utenti, o di un attacco di grandi dimensioni che ha come obiettivo compromettere un sito web popolare o un data base contenente preziosi dati di tipo finanziario. I metodi possono variare, ma l’obiettivo è lo stesso. In genere, gli hacker cercano di infettare i computer delle vittime con un malware, di quelli che gli permettono di avvicinarsi il più possibile ai dati. Ma se per qualche ragione non fosse possibile, esiste un altro metodo molto popolare, un tipo di attacco noto con il nome di man-in-the-middle. Come il nome stesso suggerisce, si tratta di un attacco in cui un hacker (o un tool malevolo) si introduce tra vittima e server (per esempio, un server di una banca online o di posta elettronica). Sono attacchi piuttosto efficaci e abbastanza difficili da individuare, specialmente per quegli utenti che non conoscono questi nuovi tipi di attacchi.
Definizione di attacco Man-in-the-Middle
Un attacco Man-in-the-Middle (MITM) è piuttosto semplice e non si limita al mondo online o agli home computer. Attraverso questi attacchi (nella loro forma semplice) l’hacker si inserisce tra due entità che stanno cercando di comunicare tra loro, ‘avvelena’ la comunicazione e intercetta i messaggi inviati. L’hacker potrebbe, inoltre, fingersi una delle due parti e ‘avvelenare’ i messaggi. Nel mondo offline, potremmo rendere l’idea con il seguente esempio: qualcuno crea false fatture o pagamenti, le colloca nella cassetta delle lettere della vittima e poi cerca di intercettare il pagamento di tali fatture. Nel mondo online, è un po’ più complesso, ma l’idea è la stessa. L’hacker si inserisce tra il target (la vittima) e la fonte (il server o il router) che la prima sta cercando di contattare. La presenza dell’hacker non è percepita né dalla vittima, né dalla fonte che l’hacker sta personificando.
Tipologie di MITM
Durante un attacco MITM di tipo comune, un hacker usa una rete Wi-Fi per intercettare le comunicazioni dell’utente. In genere questo funziona ‘avvelenando’ la connessione del router a prima vista ‘sana’, o sfruttando una falla nel setup del router con il fine di intercettare le sessioni degli utenti sul router. In quest’ultimo caso, un hacker potrebbe configurare il dispositivo wireless della vittima, per esempio un portatile,’truccando’ un hotspot Wi-Fi gratuito, dandogli uno di quei nomi comunemente usati nelle aree Wi-Fi pubbliche come aeroporti o caffetterie. In seguito, quando l’utente si connette al ‘falso’ router e cerca di accedere a siti sensibili, come possono essere il sito della sua banca o pagine commerciali, l’hacker identifica una debolezza nella configurazione o nel sistema di criptografia del router e sfrutta la falla per intercettare la comunicazione tra l’utente e il router. Questo è il caso più complesso, ma è anche il più efficace se l’hacker è in grado di stabilire una comunicazione costante e duratura (ore o giorni) con il router compromesso. Questo gli darebbe la possibilità di spiare silenziosamente le sessioni che la vittima stabilisce con il router, in teoria sicuro (immaginate il caso di una comunicazione con il server della posta elettronica aziendale) e rubare un grande quantità di dati sensibili.
Una variante recente di MITM è l’attacco conosciuto con il nome di man-in-the-browser. In questo caso, l’hacker usa diversi metodi attraverso i quali ‘pianta’ un codice malware nel computer di una vittima, codici che agiscono all’interno del browser. Il malware è poi in grado di registrare i dati scambiati tra il browser e i siti target in cui l’hacker ha inserito il codice malware. Questo tipo di attacco è diventato abbastanza popolare negli ultimi anni perché permette all’hacker di colpire varie vittime allo stesso tempo e il colpo può essere realizzato in modalità remota.
Metodi di difesa
Ci sono vari metodi per difendersi dagli attacchi MITM. Tuttavia quasi tutti gli attacchi sono diretti ai router e ai server e questo impedisce agli utenti di controllare in prima persona la sicurezza delle transazioni. Tuttavia qualcosa possiamo fare. Per esempio, possiamo usare un programma di crittografia efficace che agisca tra client e server. Grazie a questi programmi, il server può autenticarsi presentando un certificato digitale e il client e il server possono stabilire un canale criptato attraverso il quale inviare dati sensibili. Ma è importante che la crittografia sia abilitata sul server. Un’altra possibilità è evitare in toto le connessioni Wi-Fi gratuite o utilizzare un plug-in per browser come HTTPS Everywhere o ForceTLS in grado di stabilire connessioni sicure. Ad ogni modo, questi metodi di difesa hanno dei limiti e si sono registrati casi di attacchi come SSLStrip o SSLSniff che mettono in dubbio la sicurezza delle connessioni SSL.