Con attacco man in the middle si intende una tipologia di attacco Internet in cui un hacker colloca fi­si­ca­men­te o lo­gi­ca­men­te un sistema con­trol­la­to tra il sistema della vittima e una risorsa Internet uti­liz­za­ta dalla vittima. Lo scopo dell’ag­gres­so­re è di in­ter­cet­ta­re, leggere o ma­ni­po­la­re la co­mu­ni­ca­zio­ne 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 co­mu­ni­ca­no e fa credere a entrambe le parti che stiano in­te­ra­gen­do tra loro. Un tempo attacchi di questo tipo av­ve­ni­va­no at­tra­ver­so una ma­ni­po­la­zio­ne concreta dei canali di co­mu­ni­ca­zio­ne (ad esempio l’apertura di una lettera). Ai tempi del World Wide Web, dove si usano reti di co­mu­ni­ca­zio­ne aperte, terzi non au­to­riz­za­ti si in­se­ri­sco­no prin­ci­pal­men­te tra due o più parti che co­mu­ni­ca­no. Gli attacchi man in the middle nelle reti di computer avvengono so­prat­tut­to per bypassare la cifratura via SSL/TLS e ottenere così l’accesso alle in­for­ma­zio­ni segrete, password o database.

La seguente grafica illustra il pro­ce­di­men­to di un attacco man in the middle:

Un sistema A cerca di stabilire una con­nes­sio­ne cifrata con un sistema B, ma il flusso di dati viene deviato da un estraneo (il cy­ber­cri­mi­na­le) in modo che la con­nes­sio­ne 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 cy­ber­cri­mi­na­le) è in grado di vedere tutto il traffico di dati, re­gi­strar­lo e ma­ni­po­lar­lo, 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 in­fil­trar­si nel traffico dati tra due o più sistemi, gli hacker ricorrono a diverse tecniche sfrut­tan­do i punti deboli delle co­mu­ni­ca­zio­ni 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 Con­fi­gu­ra­tion Protocol), re­spon­sa­bi­le dell’as­se­gna­zio­ne degli indirizzi IP locali, così come il sistema ARP (Address Re­so­lu­tion Protocol), che determina gli indirizzi hardware (Media Access Control, MAC). A livello globale gli attacchi man in the middle si possono rea­liz­za­re at­tra­ver­so una ma­ni­po­la­zio­ne dei server DNS, re­spon­sa­bi­li per la ri­so­lu­zio­ne degli indirizzi IP pubblici. Inoltre gli hacker ap­pro­fit­ta­no delle falle di sicurezza nei software dei browser obsoleti o mettono a di­spo­si­zio­ne accessi WLAN corrotti agli utenti ignari.

Di regola questi tipi di attacchi avvengono in maniera au­to­ma­ti­ca at­tra­ver­so l’uso di software. Se gli attacchi vengono sup­por­ta­ti anche da un in­ter­ven­to 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 com­po­nen­ti centrali della rete locale, la quale è re­spon­sa­bi­le per l’as­se­gna­zio­ne della con­fi­gu­ra­zio­ne di rete verso altri computer nella LAN. Di regola questa avviene in au­to­ma­ti­co: non appena un computer sta­bi­li­sce una prima con­nes­sio­ne alla LAN, il client DHCP del sistema operativo richiede in­for­ma­zio­ni quali l’indirizzo IP locale, la maschera di rete, l’indirizzo del gateway pre­de­fi­ni­to e gli indirizzi del server DNS preposto.

A questo scopo il client invia un messaggio broadcast a tutti i di­spo­si­ti­vi nella LAN e aspetta la conferma di un server DHCP. La prima risposta in entrata viene accettata. Così facendo gli hacker hanno la pos­si­bi­li­tà di con­trol­la­re a loro pia­ci­men­to l’as­se­gna­zio­ne degli indirizzi IP locali at­tra­ver­so il server DHCP fasullo, re­gi­stra­re i gateway pre­de­fi­ni­ti e il server DNS dei computer tratti in inganno e, in questo modo, deviare il traffico dati uscente a un computer qualsiasi per in­ter­cet­ta­re o ma­ni­po­la­re i contenuti trasmessi.

Dal momento che questo modello di attacco si basa sulla ma­ni­po­la­zio­ne del sistema DHCP, si parla di DHCP spoofing (in italiano “inganno, ma­ni­po­la­zio­ne”). Il pre­sup­po­sto 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 con­nes­sio­ni Wi-Fi pubbliche. Se qualcuno si volesse in­fil­tra­re in una rete aziendale via cavo, dovrebbe invece prima creare un accesso fisico alla LAN per in­tro­dur­re di nascosto nella co­mu­ni­ca­zio­ne un falso server DHCP.

Le misure che gli utenti possono prendere pre­ven­ti­va­men­te contro il DHCP spoofing si limitano al prestare at­ten­zio­ne quando si accede a reti sco­no­sciu­te. In generale si consiglia di usare solo ap­pli­ca­zio­ni web sicure di banche online o portali di shopping, LAN af­fi­da­bi­li e reti private a casa o in azienda.

ARP poisoning/ARP spoofing

L’ARP è un pro­to­col­lo 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 de­sti­na­ta­rio, 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 ri­chie­den­te nonché l’IP del sistema cercato. Se un computer della rete riceve una richiesta ARP di questo tipo, viene ve­ri­fi­ca­to se il pacchetto contiene il proprio indirizzo IP tra quelli dei de­sti­na­ta­ri. Se così fosse, viene rinviata una risposta ARP (o ARP reply) con l’indirizzo MAC del sistema cercato a quello che lo richiede.

Questa com­bi­na­zio­ne di indirizzi MAC e IP locali viene salvata in forma di tabella nella co­sid­det­ta cache ARP del computer che la richiede. Qui avviene l’ARP poisoning (let­te­ral­men­te “av­ve­le­na­men­to”). Lo scopo di questo tipo di attacco è quello di ma­ni­po­la­re le tabelle ARP di diversi computer nella rete at­tra­ver­so 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 pos­si­bi­li­tà di leggere, re­gi­stra­re o ma­ni­po­la­re tutto il traffico dati in uscita dal computer com­pro­mes­so 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ò rea­liz­za­re at­tra­ver­so programmi semplici come lo strumento freeware Cain & Abel, ori­gi­na­ria­men­te svi­lup­pa­to per ritrovare le password perse, o at­tra­ver­so il software Ettercap.

Come con gli attacchi basati su DHCP, gli utenti che si trovano nella LAN corrotta non hanno alcuna pos­si­bi­li­tà di pro­teg­ger­si dall’ARP spoofing. Anche in questo caso come misura pre­ven­ti­va bisogna cercare di evitare di accedere a reti sco­no­sciu­te o usarle con at­ten­zio­ne.

DNS spoofing

Mentre l’ARP poisoning prende di mira i punti deboli della ri­so­lu­zio­ne 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 è re­spon­sa­bi­le per la ri­so­lu­zio­ne degli URL negli indirizzi IP pubblici. In un attacco di questo tipo gli hacker ma­ni­po­la­no le modifiche nella cache di un server DNS per portarle a ri­spon­de­re a richieste con falsi indirizzi di de­sti­na­zio­ne. Se un attacco man in the middle di questo tipo va a buon fine, l’hacker può deviare, passando inos­ser­va­to, l’altro utente su di un sito web qualsiasi in rete. Per questo scopo si serve prin­ci­pal­men­te delle falle di sicurezza di un server DNS obsoleto.

In sostanza le in­for­ma­zio­ni DNS vengono de­po­si­ta­te non su di un singolo server DNS, ma di­stri­bui­te tra più computer nella rete. Quando un utente vuole aprire un sito web, di regola si serve del nome del dominio, ma per poter ri­vol­ger­si al server adatto ha bisogno di un indirizzo IP. Questo IP localizza il router dell’utente inviando una richiesta DNS al server DNS pre­de­fi­ni­to spe­ci­fi­ca­to nella con­fi­gu­ra­zio­ne.

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, al­tri­men­ti il server DNS trasmette l’IP cercato con l’aiuto di un altro server con funzioni DNS. Inoltre questo invia una cor­ri­spon­den­te richiesta all’altro server DNS e salva le sue risposte tem­po­ra­nea­men­te 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 in­for­ma­zio­ni, che vengono espli­ci­ta­men­te richieste, ma anche quelle che vengono con­se­gna­te in maniera opzionale. Se in questo modo gli hacker riescono a ottenere anche solo un singolo server DNS, risulta facile per loro con­se­gna­re con ogni indirizzo IP corretto anche record fasulli in aggiunta e così “av­ve­le­na­re” la cache del server DNS ri­chie­den­te.

Quanto siano efficaci gli attacchi man in the middle lo di­mo­stra­no episodi passati nei quali fu bypassato tutto il namespace. Per gli utenti è pra­ti­ca­men­te im­pos­si­bi­le pro­teg­ger­si da un attacco di questo tipo perché avviene di­ret­ta­men­te nell’in­fra­strut­tu­ra di Internet, quindi è in­nan­zi­tut­to compito del gestore pre­oc­cu­par­si che i server DNS messi a di­spo­si­zio­ne usino software attuali e siano suf­fi­cien­te­men­te protetti. Così, ad esempio sotto il nome di DNSSEC (Domain Name System Security Ex­ten­sions) sono stati svi­lup­pa­ti diversi standard su Internet che ampliano il sistema DNS con diversi mec­ca­ni­smi di sicurezza per garantire l’au­ten­ti­ci­tà dei dati e la loro integrità, ma la dif­fu­sio­ne di questi standard avanza ancora len­ta­men­te.

Simulare un punto di accesso alla rete Wi-Fi

Uno schema di attacco che prende di mira so­prat­tut­to gli utenti connessi da di­spo­si­ti­vi mobili si basa sulla si­mu­la­zio­ne di un punto di accesso di una rete Wi-Fi pubblica, come quella messa a di­spo­si­zio­ne in un bar o in un aeroporto. Un criminale configura il suo computer in modo che questo offra un altro accesso a Internet, pos­si­bil­men­te con una migliore qualità del segnale rispetto al vero punto di accesso.

Se un criminale riesce a ingannare così un utente ignaro, può vi­sua­liz­za­re e ma­ni­po­la­re tutto il traffico dati che passa at­tra­ver­so il suo sistema prima che questo venga inoltrato al vero punto di accesso. Se viene richiesto di au­ten­ti­car­si, l’hacker ottiene così il nome utente e la password che vengono usati per la re­gi­stra­zio­ne. Il rischio di diventare la vittima di un attacco man in the middle di questo tipo si presenta so­prat­tut­to quando i di­spo­si­ti­vi mobili sono con­fi­gu­ra­ti in modo tale da col­le­gar­si in maniera au­to­ma­ti­ca ai punti di accesso con segnale forte.

Per pro­teg­ger­si da questo tipo di attacco l’utente dovrebbe fon­da­men­tal­men­te col­le­gar­si solo alle reti Wi-Fi co­no­sciu­te e prestare at­ten­zio­ne nell’usare il punto di accesso ufficiale del gestore che lo mette a di­spo­si­zio­ne.

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. So­prat­tut­to i computer non ag­gior­na­ti com­ple­ta­men­te pre­sen­ta­no falle di sicurezza che per­met­to­no ai criminali di in­fil­trar­si nel sistema.

Se un programma specifico è entrato in pre­ce­den­za di nascosto nel browser di un utente, questo registra in back­ground 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 in­ter­cet­ta­re un grande numero di sistemi in modo facile e veloce. Intanto lo spio­nag­gio di dati avviene di regola prima che sia possibile ricorrere a un’eventuale crit­to­gra­fia del trasporto dati via TLS/SSL.

Per pro­teg­ger­si dagli attacchi man in the browser in maniera efficace gli utenti devono prestare at­ten­zio­ne ad ag­gior­na­re sempre i com­po­nen­ti del software del sistema in uso e a risolvere tutte le falle di sicurezza ef­fet­tuan­do gli ag­gior­na­men­ti.

Attacco human assisted

Gli attacchi human assisted non avvengono in maniera au­to­ma­ti­ca, 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 è po­si­zio­na­to tra il browser dell’utente e il server, riceve un segnale. Ora ha la pos­si­bi­li­tà di rubare in un batter d’occhio i cookie di sessione e le in­for­ma­zio­ni di au­ten­ti­ca­zio­ne e arrivare così al nome utente e alle password dell’ignaro vi­si­ta­to­re.

Come prevenire un attacco man in the middle

Per le persone colpite è molto difficile ri­co­no­sce­re un attacco man in the middle. La migliore pro­te­zio­ne è quindi la pre­ven­zio­ne. Di seguito abbiamo raccolto i consigli più im­por­tan­ti 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

  • As­si­cu­ra­te­vi sempre di aprire i siti web tramite una con­nes­sio­ne sicura SSL/TLS. In tal caso l’indirizzo web inizia con “https”. Le con­nes­sio­ni HTTP sono invece un rischio per la sicurezza.
  • Ve­ri­fi­ca­te che il cer­ti­fi­ca­to SSL del sito web sia ag­gior­na­to ed emesso da un’autorità di cer­ti­fi­ca­zio­ne di fiducia, spe­cial­men­te prima di inserire le cre­den­zia­li.
  • Uti­liz­za­te sempre la versione più recente del vostro browser preferito e in­stal­la­te sempre gli ag­gior­na­men­ti sul vostro sistema operativo.
  • Evitate VPN o server proxy con libero accesso.
  • Ag­gior­na­te sempre le vostre password, uti­liz­za­te­ne una per ogni ap­pli­ca­zio­ne 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 ef­fet­tua­re download e non inviate dati di accesso, ad esempio per la vostra casella di posta elet­tro­ni­ca o i social network, e non ef­fet­tua­te as­so­lu­ta­men­te alcun pagamento online.
  • Servitevi di ulteriori metodi per l‘accesso sicuro se il gestore del sito web li offre, ad esempio l’au­ten­ti­ca­zio­ne a più fattori (MFA) via token o password una tantum tramite SMS o app per smart­pho­ne.
  • Non cliccate mai su link presenti in e-mail di mittenti sco­no­sciu­ti, po­treb­be­ro portarvi a un sito carico di malware.

Consigli per operatori di siti web

  • Pro­teg­ge­te i dati dei vostri clienti mettendo par­ti­co­lar­men­te al sicuro i siti web con login dei clienti per mezzo di un cer­ti­fi­ca­to SSL ag­gior­na­to di autorità di cer­ti­fi­ca­zio­ne af­fi­da­bi­le.
  • Offrite ai vostri clienti metodi ag­giun­ti­vi per il login sicuro, per esempio l’au­ten­ti­ca­zio­ne a più fattori via e-mail.
  • Co­mu­ni­ca­te ai vostri clienti che in linea di principio non ri­chie­de­te mai dati di accesso via e-mail ed evitate di inserire col­le­ga­men­ti iper­te­stua­li nei vostri messaggi.
Vai al menu prin­ci­pa­le