Diventa Autore per CoreTech | Scopri di più
01/04/20 CoreTech Blog
In un attacco man-in-the-middle (MITM), un hacker black hat prende posizione tra due vittime che stanno comunicando tra loro. In questo punto, l'attaccante inoltra tutta la comunicazione, può ascoltarla e persino modificarla.
Immaginate che Alice e Barbara parlino tra loro al telefono in Lojban, che è un linguaggio oscuro. Nancy è un agente segreto che ha bisogno di ascoltare la loro conversazione, ma non può toccare la linea telefonica. Nancy è molto intelligente e talentuosa, quindi fa quanto segue:
Ora Alice e Barbara sono entrambe certe di parlare tra loro. In realtà, stanno parlando con Nancy che trasmette la comunicazione tra di loro. Nancy conosce tutti i segreti. Può anche manipolare le informazioni che Alice e Barbara stanno condividendo tra loro.
Per eseguire questa operazione, Nancy utilizza diversi strumenti. Ad esempio, falsifica il numero di telefono di Barbara, individua la crittografia (lingua Lojban) e si autentica imitando le voci. Gli hacker black hat fanno cose molto simili nel mondo IT.
Nel mondo della sicurezza IT, gli hacker black hat di solito usano attacchi man-in-the-middle per intercettare le comunicazioni tra un client e un server. Ciò include connessioni HTTPS a siti web, altre connessioni SSL/TLS, connessioni Wi-Fi e altro ancora.
Tali hacker hanno due obiettivi principali: ottenere l'accesso a informazioni sensibili e/o manipolare i contenuti trasmessi. In pratica, possono utilizzare gli attacchi MITM:
È inoltre necessario ricordare che i siti web non sono l'unico bersaglio di attacchi MITM. Un obiettivo molto comune sono le e-mail che per impostazione predefinita non utilizzano alcun tipo di crittografia. Se un utente malintenzionato può ottenere l'accesso a un account di posta elettronica, è possibile intercettare e falsificare le e-mail.
Erano conosciuti già molto tempo prima dell'avvento dei computer gli attacchi man-in-the-middle (MITM).
Nel mondo dell'informatica, alcuni dei casi più famosi legati agli attacchi MITM sono stati i seguenti:
Un hacker black hat può attaccare una connessione protetta (crittografata) o meno con la tecnica del man-in-the-middle (MITM). In entrambi i casi, il primo obiettivo è quello di intercettare la connessione - come Nancy deve prima infilare un biglietto da visita nella borsa di Alice. Esistono molti modi per eseguire questa operazione, tra cui lo spoofing ARP, lo spoofing IP e lo spoofing DNS. L'attaccante può anche utilizzare altri vettori di attacco per prendere il controllo della macchina della vittima o del server e intercettare da lì.
L’espressione “ARP spoofing” fa riferimento al protocollo ARP, Address Resolution Protocol. L’ARP traduce l'indirizzo fisico di un dispositivo Internet (indirizzo MAC – controllo dell'accesso ai supporti) nell'indirizzo IP che gli è assegnato sulla rete locale. Un utente malintenzionato che utilizza lo spoofing ARP tenta di inserire informazioni false nella rete locale per reindirizzare le connessioni al dispositivo: si tratta di una tecnica Man-in-the-Middle, attacco silente e insidioso.
Ad esempio, il router ha l'indirizzo IP 192.168.0.1. Per connettersi a Internet, il computer portatile deve inviare pacchetti IP (Internet Protocol) a questo indirizzo. In primo luogo, deve sapere quale dispositivo fisico ha questo indirizzo. Il router ha il seguente indirizzo MAC: 00-00-00-00-00-01.
Diciamo che Nancy non sta più lavorando con i telefoni, ma lei è un hacker black hat:
Lo spoofing IP è semplicemente lo spoofing dell’indirizzo IP. Questo significa che un computer finge di avere un indirizzo IP diverso, di solito lo stesso indirizzo di un'altra macchina. Da solo, lo spoofing IP non è sufficiente per un attacco MITM. Tuttavia, un utente malintenzionato può combinarlo con la previsione della sequenza TCP.
La maggior parte delle connessioni Internet viene stabilita utilizzando TCP/IP (Transmission Control Protocol / Internet Protocol). Quando due dispositivi sulla rete si connettono tra loro utilizzando TCP/IP, devono stabilire una sessione. Lo fanno usando una stretta di mano a tre vie. Durante questo processo, si scambiano informazioni denominate numeri di sequenza. I numeri di sequenza sono necessari affinché il destinatario riconosca ulteriori pacchetti. Grazie ai numeri di sequenza, i dispositivi conoscono l'ordine in cui dovrebbero mettere insieme i pacchetti ricevuti.
In questo caso, l'utente malintenzionato prima annusa la connessione (ascolta). Questo è molto facile su una rete locale perché tutti i pacchetti IP vanno nella rete e possono essere letti da qualsiasi altro dispositivo. L'attaccante impara i numeri di sequenza, prevede il prossimo e invia un pacchetto fingendo di essere il mittente originale. Se il pacchetto raggiunge prima la destinazione, l'utente malintenzionato intercetta la connessione.
Torniamo a Nancy che vuole provare questa volta lo spoofing IP con la previsione della sequenza TCP:
Lo spoofing ARP e lo spoofing IP richiedono all'utente malintenzionato di connettersi al segmento di rete locale in uso. Un utente malintenzionato che utilizza lo spoofing DNS può trovarsi ovunque. È più difficile perché la cache DNS deve essere vulnerabile. Tuttavia, in caso di successo, può colpire un gran numero di vittime.
DNS (Domain Name System) è il sistema utilizzato per la conversione tra indirizzi IP e nomi simbolici come www.example.com. Questo sistema dispone di due elementi principali: server dei nomi (server DNS) e resolver (cache DNS). Il server dei nomi è l'origine di informazioni autorevoli. Di solito, ci sono due o tre sistemi che mantengono tali informazioni per ogni dominio. Ad esempio, il numero IP per www.example.com viene memorizzato in due server dei nomi: sns.dns.icann.org e noc.dns.icann.org. Puoi controllarlo utilizzando lo strumento di ricerca Google DNS.
Se ogni client che desidera connettersi a www.example.com si connettesse a questi due server ogni volta, verrebbero sovraccaricati. Ecco perché ogni client utilizza il resolver locale per memorizzare le informazioni nella cache. Se la cache non dispone di informazioni su www.example.com, contatta sns.dns.icann.org e noc.dns.icann.org per ottenere 93.184.216.34. Quindi, memorizza l'indirizzo IP localmente per qualche tempo. Tutti i client che utilizzano questo sistema di risoluzione ottengono l'indirizzo dalla cache.
Un attacco di spoofing DNS viene eseguito iniettando una voce fittizia nella cache locale. Se un hacker black hat lo fa, tutti i client connessi a questa cache ottenere l'indirizzo IP sbagliato e connettersi all'attaccante invece. Ciò consente all'attaccante di diventare un man-in-the-middle.
Questa volta, Nancy non può connettersi alla rete, quindi tenta lo spoofing DNS:
Gli hacker Black Hat possono utilizzare molti altri metodi per posizionarsi tra il client e il server. Questi metodi appartengono in genere a una delle tre categorie seguenti:
Se la vittima utilizza una connessione sicura, essere nel mezzo non è sufficiente. Nancy deve comprendere il linguaggio che Alice e Barbara stanno usando (Lojban). Deve anche essere in grado di parlare fluentemente e imitare le voci di Alice e Barbara. Questo è necessario in modo che Alice e Barbara siano ancora sicuri di parlare tra loro. Alcune delle tecniche utilizzate per questo nel mondo IT sono lo spoofing HTTPS, il dirottamento SSL e lo stripping SSL.
I nomi di dominio internazionali (IDN) possono contenere caratteri Unicode. Alcuni caratteri Unicode sono simili ai caratteri ASCII. Gli hacker black hat usano questo per ingannare le vittime. Una vittima visita un sito web falso controllato dall'attaccante che intercetta le informazioni e lo trasmette al sito reale.
Ad esempio, Nancy vuole che tu visiti un falso sito Acunetix (il cirillico а assomiglia esattamente all'ASCII a):
I browser attuali (Chrome, Firefox, Opera, Internet Explorer, Edge, Safari) hanno protezione contro gli attacchi omografici. Ad esempio, visualizzano Punycode nella barra degli indirizzi anziché i caratteri nazionali. Tuttavia, siti web ed e-mail possono ancora contenere collegamenti in Unicode che assomigliano esattamente agli originali.
Chiunque può generare un certificato SSL/TLS per qualsiasi dominio. Un utente malintenzionato che intercetta una connessione può generare certificati per tutti i domini visitati dalla vittima. Possono presentare questi certificati alla vittima, stabilire una connessione con il server originale e inoltrare il traffico. Questo è chiamato dirottamento SSL.
Tuttavia, il browser considera attendibili solo i certificati firmati da un'autorità di certificazione (CA) attendibile . Se il certificato non è firmato da un'autorità di certificazione attendibile, i browser visualizzano avvisi chiari o addirittura rifiutano di aprire una pagina. Pertanto, un utente malintenzionato ha bisogno di un modo per far credere al tuo browser che il certificato può essere considerato attendibile. A tale scopo, è necessario aggiungere la CA all'archivio certificati attendibili nel computer. Questo può essere fatto utilizzando altri vettori di attacco.
Se Nancy vuole ascoltare le tue connessioni SSL / TLS utilizzando il dirottamento SSL, questo è quello che fa:
Il dirottamento SSL è molto spesso utilizzato per scopi legittimi. Ad esempio, software di protezione malware installato sul computer probabilmente utilizza dirottamento SSL. In caso contrario, il software non sarebbe in grado di proteggere quando si tenta di scaricare il malware utilizzando una connessione sicura. Alcune aziende utilizzano il dirottamento SSL per controllare il traffico nelle loro reti interne, ad esempio, per verificare a quali contenuti accedono i dipendenti. Il software di controllo parentale utilizza anch’esso il dirottamento SSL.
Quando si digita un indirizzo nel browser, il browser si connette prima a un sito non sicuro (HTTP). Quindi, di solito viene rapidamente reindirizzato al sito sicuro (HTTPS). Se il sito Web è disponibile senza crittografia, l'utente malintenzionato può intercettare i pacchetti e forzare una connessione HTTP. Se non si nota che la connessione non è crittografata, è possibile esporre segreti all'utente malintenzionato. Questa tecnica è chiamata stripping SSL.
Se Nancy vuole utilizzare lo stripping SSL per ottenere i tuoi segreti:
Oggi, molti siti web utilizzano HTTP Strict Transport Security (HSTS), il che significa che il server si rifiuta di fornire contenuti utilizzando una connessione non sicura. Tali siti web non possono essere attaccati utilizzando questo metodo.
Esistono più metodi utilizzati per compromettere le connessioni protette, tra cui:
Ci sono molti tipi di attacchi man-in-the-middle e alcuni di loro molto difficile da rilevare. La chiave per prevenirli è avere la minor fiducia possibile.
È più difficile impedire l'intercettazione. Se l'utente malintenzionato è in grado di accedere direttamente alla rete, se compromette il server di destinazione o se controlla le apparecchiature di rete utilizzate per la connessione, non c'è molto che si possa fare. In questi casi è possibile scegliere una via di comunicazione diversa o assicurarsi che la crittografia sia infrangibile.
Ecco alcuni suggerimenti di base che possono aiutarti:
Alcune fonti potrebbero dire che SSL/TLS è sufficiente per la protezione contro gli attacchi MITM. Questo non è vero per i seguenti motivi:
Gli attacchi man-in-the-middle sono spesso facilitati dai siti web, anche se il tuo cliente e la connessione sono al sicuro. Se si possiede un sito web, assicurarsi di eseguire regolarmente la scansione alla ricerca di vulnerabilità, ad esempio, utilizzando lo scanner di vulnerabilità web Acunetix. In caso contrario, alcune vulnerabilità, ad esempio l'iniezione SQL o l'inserimento di codice, potrebbero consentire a qualcuno di installare software dannoso sul server web. Inoltre, lo scanner Acunetix controlla anche le vulnerabilità SSL/TLS che potrebbero consentire all'utente malintenzionato di intercettare le connessioni al server Web, ad esempio CRIME, BREACH e POODLE.