Attacco man in the middle: tipi di attacco e contromisure

Con attacco man in the middle si intende una tipologia di attacco Internet in cui un hacker colloca fisicamente o logicamente un sistema controllato tra il sistema della vittima e una risorsa Internet utilizzata dalla vittima. Lo scopo dell’aggressore è di intercettare, leggere o manipolare la comunicazione tra la vittima e la risorsa Internet senza essere visto.

Che cos’è un attacco man in the middle?

Con attacco man in the middle (MITM) viene descritto un metodo nel quale un hacker si inserisce nel traffico dati tra due utenti che comunicano e fa credere a entrambe le parti che stiano interagendo tra loro. Un tempo attacchi di questo tipo avvenivano attraverso una manipolazione concreta dei canali di comunicazione (ad esempio l’apertura di una lettera). Ai tempi del World Wide Web, dove si usano reti di comunicazione aperte, terzi non autorizzati si inseriscono principalmente tra due o più parti che comunicano. Gli attacchi man in the middle nelle reti di computer avvengono soprattutto per bypassare la cifratura via SSL/TLS e ottenere così l’accesso alle informazioni segrete, password o database.

La seguente grafica illustra il procedimento di un attacco man in the middle:

Un sistema A cerca di stabilire una connessione cifrata con un sistema B, ma il flusso di dati viene deviato da un estraneo (il cybercriminale) in modo che la connessione cifrata passi da un sistema A a uno C prima di essere inoltrata a quello B. Così chi detiene il controllo del sistema C (di solito il cybercriminale) è in grado di vedere tutto il traffico di dati, registrarlo e manipolarlo, spesso senza che le due parti in causa se ne accorgano. Applicato al Word Wide Web significa che un sistema C si presenta come web server al sistema A e come browser al sistema B.

Modello di attacco man in the middle

Per infiltrarsi nel traffico dati tra due o più sistemi, gli hacker ricorrono a diverse tecniche sfruttando i punti deboli delle comunicazioni su Internet. Una delle superfici di attacco per un attacco man in the middle alla LAN la offre ad esempio il servizio DHCP (Dynamic Host Configuration Protocol), responsabile dell’assegnazione degli indirizzi IP locali, così come il sistema ARP (Address Resolution Protocol), che determina gli indirizzi hardware (Media Access Control, MAC). A livello globale gli attacchi man in the middle si possono realizzare attraverso una manipolazione dei server DNS, responsabili per la risoluzione degli indirizzi IP pubblici. Inoltre gli hacker approfittano delle falle di sicurezza nei software dei browser obsoleti o mettono a disposizione accessi WLAN corrotti agli utenti ignari.

Di regola questi tipi di attacchi avvengono in maniera automatica attraverso l’uso di software. Se gli attacchi vengono supportati anche da un intervento umano si parla di human assisted attack.

Attacchi basati sul server DHCP

Negli attacchi basati su DHCP un hacker fa passare il proprio computer (o uno che si trova sotto il suo controllo) all’interno di una Local Area Network (LAN) come server DHCP. Il server DHCP è uno dei componenti centrali della rete locale, la quale è responsabile per l’assegnazione della configurazione di rete verso altri computer nella LAN. Di regola questa avviene in automatico: non appena un computer stabilisce una prima connessione alla LAN, il client DHCP del sistema operativo richiede informazioni quali l’indirizzo IP locale, la maschera di rete, l’indirizzo del gateway predefinito e gli indirizzi del server DNS preposto.

A questo scopo il client invia un messaggio broadcast a tutti i dispositivi nella LAN e aspetta la conferma di un server DHCP. La prima risposta in entrata viene accettata. Così facendo gli hacker hanno la possibilità di controllare a loro piacimento l’assegnazione degli indirizzi IP locali attraverso il server DHCP fasullo, registrare i gateway predefiniti e il server DNS dei computer tratti in inganno e, in questo modo, deviare il traffico dati uscente a un computer qualsiasi per intercettare o manipolare i contenuti trasmessi.

Dal momento che questo modello di attacco si basa sulla manipolazione del sistema DHCP, si parla di DHCP spoofing (in italiano “inganno, manipolazione”). Il presupposto per un attacco man in the middle di questo tipo è che l’hacker si trovi nella stessa LAN della vittima: si corre il rischio di essere presi di mira da un attacco basato su DHCP, ad esempio usando le LAN degli hotel o altre connessioni Wi-Fi pubbliche. Se qualcuno si volesse infiltrare in una rete aziendale via cavo, dovrebbe invece prima creare un accesso fisico alla LAN per introdurre di nascosto nella comunicazione un falso server DHCP.

Le misure che gli utenti possono prendere preventivamente contro il DHCP spoofing si limitano al prestare attenzione quando si accede a reti sconosciute. In generale si consiglia di usare solo applicazioni web sicure di banche online o portali di shopping, LAN affidabili e reti private a casa o in azienda.

ARP poisoning/ARP spoofing

L’ARP è un protocollo di rete che serve per fornire una mappatura tra l’indirizzo IP interno alla LAN e l’indirizzo hardware (indirizzo MAC). Affinché un computer possa inviare all’interno di una rete pacchetti dati, deve conoscere l’indirizzo MAC del sistema del destinatario, ragion per cui viene inviata una richiesta ARP (o ARP request) come messaggio MAC a tutti i sistemi nella LAN che contiene l’indirizzo MAC e l’IP del computer richiedente nonché l’IP del sistema cercato. Se un computer della rete riceve una richiesta ARP di questo tipo, viene verificato se il pacchetto contiene il proprio indirizzo IP tra quelli dei destinatari. Se così fosse, viene rinviata una risposta ARP (o ARP reply) con l’indirizzo MAC del sistema cercato a quello che lo richiede.

Questa combinazione di indirizzi MAC e IP locali viene salvata in forma di tabella nella cosiddetta cache ARP del computer che la richiede. Qui avviene l’ARP poisoning (letteralmente “avvelenamento”). Lo scopo di questo tipo di attacco è quello di manipolare le tabelle ARP di diversi computer nella rete attraverso false risposte ARP, ad esempio per fare passare un computer che si trova sotto il controllo del criminale come un punto di accesso Wi-Fi o un gateway a Internet.

Se un ARP spoofing di questo tipo va a buon fine, i criminali hanno la possibilità di leggere, registrare o manipolare tutto il traffico dati in uscita dal computer compromesso prima che questo venga inoltrato al gateway giusto. Come nel DHCP spoofing, anche l’ARP poisoning è possibile solo quando il criminale si trova nella stessa LAN della vittima. Un attacco man in the middle di questo tipo si può realizzare attraverso programmi semplici come lo strumento freeware Cain & Abel, originariamente sviluppato per ritrovare le password perse, o attraverso il software Ettercap.

Come con gli attacchi basati su DHCP, gli utenti che si trovano nella LAN corrotta non hanno alcuna possibilità di proteggersi dall’ARP spoofing. Anche in questo caso come misura preventiva bisogna cercare di evitare di accedere a reti sconosciute o usarle con attenzione.

DNS spoofing

Mentre l’ARP poisoning prende di mira i punti deboli della risoluzione dell’indirizzo nell’ethernet, il cache poisoning basato su DNS prende di mira il sistema dei nomi di dominio (Domain Name System) su Internet, che è responsabile per la risoluzione degli URL negli indirizzi IP pubblici. In un attacco di questo tipo gli hacker manipolano le modifiche nella cache di un server DNS per portarle a rispondere a richieste con falsi indirizzi di destinazione. Se un attacco man in the middle di questo tipo va a buon fine, l’hacker può deviare, passando inosservato, l’altro utente su di un sito web qualsiasi in rete. Per questo scopo si serve principalmente delle falle di sicurezza di un server DNS obsoleto.

In sostanza le informazioni DNS vengono depositate non su di un singolo server DNS, ma distribuite tra più computer nella rete. Quando un utente vuole aprire un sito web, di regola si serve del nome del dominio, ma per poter rivolgersi al server adatto ha bisogno di un indirizzo IP. Questo IP localizza il router dell’utente inviando una richiesta DNS al server DNS predefinito specificato nella configurazione.

Di regola si tratta di un server DNS dell’Internet Service Provider (ISP), dove si trovano diverse tipologie di record DNS (resource record) per gli URL richiesti: il server DNS risponde così alla richiesta con l’indirizzo IP adatto, altrimenti il server DNS trasmette l’IP cercato con l’aiuto di un altro server con funzioni DNS. Inoltre questo invia una corrispondente richiesta all’altro server DNS e salva le sue risposte temporaneamente nella cache.

In primo luogo, un punto di partenza per gli attacchi hacker lo offrono i server, che usano una versione obsoleta del software DNS. Questi accettano e salvano di regola non solo le informazioni, che vengono esplicitamente richieste, ma anche quelle che vengono consegnate in maniera opzionale. Se in questo modo gli hacker riescono a ottenere anche solo un singolo server DNS, risulta facile per loro consegnare con ogni indirizzo IP corretto anche record fasulli in aggiunta e così “avvelenare” la cache del server DNS richiedente.

Quanto siano efficaci gli attacchi man in the middle lo dimostrano episodi passati nei quali fu bypassato tutto il namespace. Per gli utenti è praticamente impossibile proteggersi da un attacco di questo tipo perché avviene direttamente nell’infrastruttura di Internet, quindi è innanzitutto compito del gestore preoccuparsi che i server DNS messi a disposizione usino software attuali e siano sufficientemente protetti. Così, ad esempio sotto il nome di DNSSEC (Domain Name System Security Extensions) sono stati sviluppati diversi standard su Internet che ampliano il sistema DNS con diversi meccanismi di sicurezza per garantire l’autenticità dei dati e la loro integrità, ma la diffusione di questi standard avanza ancora lentamente.

Simulare un punto di accesso alla rete Wi-Fi

Uno schema di attacco che prende di mira soprattutto gli utenti connessi da dispositivi mobili si basa sulla simulazione di un punto di accesso di una rete Wi-Fi pubblica, come quella messa a disposizione in un bar o in un aeroporto. Un criminale configura il suo computer in modo che questo offra un altro accesso a Internet, possibilmente con una migliore qualità del segnale rispetto al vero punto di accesso.

Se un criminale riesce a ingannare così un utente ignaro, può visualizzare e manipolare tutto il traffico dati che passa attraverso il suo sistema prima che questo venga inoltrato al vero punto di accesso. Se viene richiesto di autenticarsi, l’hacker ottiene così il nome utente e la password che vengono usati per la registrazione. Il rischio di diventare la vittima di un attacco man in the middle di questo tipo si presenta soprattutto quando i dispositivi mobili sono configurati in modo tale da collegarsi in maniera automatica ai punti di accesso con segnale forte.

Per proteggersi da questo tipo di attacco l’utente dovrebbe fondamentalmente collegarsi solo alle reti Wi-Fi conosciute e prestare attenzione nell’usare il punto di accesso ufficiale del gestore che lo mette a disposizione.

Attacco man in the browser

Una variante dell’attacco man in the middle, nella quale un criminale installa un software dannoso sul browser di un utente per bloccare il traffico dati, viene chiamata attacco man in the browser. Soprattutto i computer non aggiornati completamente presentano falle di sicurezza che permettono ai criminali di infiltrarsi nel sistema.

Se un programma specifico è entrato in precedenza di nascosto nel browser di un utente, questo registra in background tutti i dati che vengono scambiati tra il sistema della vittima e diversi siti web nella rete. Questo tipo di attacco permette agli hacker di intercettare un grande numero di sistemi in modo facile e veloce. Intanto lo spionaggio di dati avviene di regola prima che sia possibile ricorrere a un’eventuale crittografia del trasporto dati via TLS/SSL.

Per proteggersi dagli attacchi man in the browser in maniera efficace gli utenti devono prestare attenzione ad aggiornare sempre i componenti del software del sistema in uso e a risolvere tutte le falle di sicurezza effettuando gli aggiornamenti.

Attacco human assisted

Gli attacchi human assisted non avvengono in maniera automatica, ma sono eseguiti da uno o più hacker in carne e ossa in tempo reale. In pratica un attacco man in the middle di questo tipo potrebbe avvenire in questo modo: non appena un utente si logga sul sito web della sua banca, un hacker, che si è posizionato tra il browser dell’utente e il server, riceve un segnale. Ora ha la possibilità di rubare in un batter d’occhio i cookie di sessione e le informazioni di autenticazione e arrivare così al nome utente e alle password dell’ignaro visitatore.

Come prevenire un attacco man in the middle

Per le persone colpite è molto difficile riconoscere un attacco man in the middle. La migliore protezione è quindi la prevenzione. Di seguito abbiamo raccolto i consigli più importanti su come gli utenti di Internet e gli operatori di siti web possano ridurre al minimo il rischio di diventare il bersaglio di un attacco MITM.

Consigli per gli utenti

  • Assicuratevi sempre di aprire i siti web tramite una connessione sicura SSL/TLS. In tal caso l’indirizzo web inizia con “https”. Le connessioni HTTP sono invece un rischio per la sicurezza.
  • Verificate che il certificato SSL del sito web sia aggiornato ed emesso da un’autorità di certificazione di fiducia, specialmente prima di inserire le credenziali.
  • Utilizzate sempre la versione più recente del vostro browser preferito e installate sempre gli aggiornamenti sul vostro sistema operativo.
  • Evitate VPN o server proxy con libero accesso.
  • Aggiornate sempre le vostre password, utilizzatene una per ogni applicazione e non adoperate più quelle vecchie.
  • Evitate i punti Wi-Fi pubblici, ad esempio in hotel, stazioni o negozi.
  • Se non potete fare a meno di accedere a una rete pubblica, evitate di effettuare download e non inviate dati di accesso, ad esempio per la vostra casella di posta elettronica o i social network, e non effettuate assolutamente alcun pagamento online.
  • Servitevi di ulteriori metodi per l‘accesso sicuro se il gestore del sito web li offre, ad esempio l’autenticazione a più fattori (MFA) via token o password una tantum tramite SMS o app per smartphone.
  • Non cliccate mai su link presenti in e-mail di mittenti sconosciuti, potrebbero portarvi a un sito carico di malware.

Consigli per operatori di siti web

  • Proteggete i dati dei vostri clienti mettendo particolarmente al sicuro i siti web con login dei clienti per mezzo di un certificato SSL aggiornato di autorità di certificazione affidabile.
  • Offrite ai vostri clienti metodi aggiuntivi per il login sicuro, per esempio l’autenticazione a più fattori via e-mail.
  • Comunicate ai vostri clienti che in linea di principio non richiedete mai dati di accesso via e-mail ed evitate di inserire collegamenti ipertestuali nei vostri messaggi.
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.