La tela di un ragno è sicura, e il nostro? Credito:Robert Anasch/Unsplash, CC BY
A fine febbraio 2019, Internet Corporation for Assigned Names and Numbers (ICANN), l'organizzazione che gestisce gli indirizzi IP e i nomi di dominio utilizzati sul web, ha emesso un avvertimento sui rischi di attacchi Internet sistemici. Ecco cosa c'è da sapere sulla posta in gioco.
Cos'è il DNS?
Il Domain Name Service (DNS) collega un nome di dominio (ad esempio, il dominio ameli.fr per l'assicurazione sanitaria francese) a un indirizzo IP (protocollo Internet), in questo caso "31.15.27.86"). Questo è ormai un servizio essenziale, poiché facilita la memorizzazione degli identificatori dei servizi digitali senza averne gli indirizzi. Ancora, come molti precedenti tipi di protocollo, è stato progettato per essere robusto, ma non sicuro.
Il DNS definisce le aree all'interno delle quali un'autorità sarà libera di creare nomi a dominio e di comunicarli all'esterno. Il vantaggio di questo meccanismo è che l'associazione tra l'indirizzo IP e il nome di dominio è strettamente gestita. Lo svantaggio è che a volte sono necessarie diverse indagini per risolvere un nome, in altre parole, associarlo a un indirizzo.
Molte organizzazioni che offrono servizi Internet hanno uno o più nomi di dominio, che sono registrati presso i fornitori di questo servizio di registrazione. Questi fornitori di servizi sono essi stessi registrati, direttamente o indirettamente con ICANN, un'organizzazione americana incaricata di organizzare Internet. In Francia, l'ente di riferimento è l'AFNIC, che gestisce il dominio ".fr".
Ci riferiamo spesso a un nome di dominio completo, o FQDN. In realtà, Internet è suddiviso in domini di primo livello (TLD). I primi domini americani consentivano di suddividere i domini per tipologia di organizzazione (commerciale, Università, governo, eccetera.). Poi sono comparsi rapidamente domini nazionali come ".fr". Più recentemente, ICANN ha autorizzato la registrazione di un'ampia varietà di domini di primo livello. Le informazioni relative a questi domini di primo livello vengono salvate all'interno di un gruppo di 13 server distribuiti in tutto il mondo per garantire affidabilità e velocità nelle risposte.
Il protocollo DNS stabilisce la comunicazione tra la macchina dell'utente e un server dei nomi di dominio (DNS). Questa comunicazione consente di interrogare questo server dei nomi per risolvere un nome di dominio, in altre parole, ottenere l'indirizzo IP associato a un nome di dominio. La comunicazione consente anche di ottenere altre informazioni, come trovare un nome di dominio associato a un indirizzo o trovare il server di messaggistica associato a un nome di dominio per inviare un messaggio elettronico. Per esempio, quando carichiamo una pagina nel nostro browser, il browser esegue una risoluzione DNS per trovare l'indirizzo corretto.
A causa della natura distribuita del database, spesso il primo server contattato non conosce l'associazione tra il nome a dominio e l'indirizzo. Contatterà quindi altri server per ottenere una risposta, attraverso un processo iterativo o ricorsivo, finché non ha interrogato uno dei 13 root server. Questi server costituiscono il livello principale del sistema DNS.
Per evitare una proliferazione di query, ogni server DNS memorizza localmente le risposte ricevute che associano un nome di dominio e un indirizzo per alcuni secondi. Questa cache consente di rispondere più rapidamente se la stessa richiesta viene effettuata entro un breve intervallo.
Protocollo vulnerabile
Il DNS è un protocollo generico, soprattutto all'interno delle reti aziendali. Può quindi consentire a un utente malintenzionato di aggirare i propri meccanismi di protezione per comunicare con le macchine compromesse. Questo potrebbe, Per esempio, consentire all'attaccante di controllare le reti di robot (botnet). La risposta della difesa si basa sul filtraggio più specifico delle comunicazioni, ad esempio richiedendo l'uso sistematico di un inoltro DNS controllato dall'organizzazione vittima. L'analisi dei nomi a dominio contenuti nelle query DNS, che sono associati a liste nere o bianche, viene utilizzato per identificare e bloccare query anomale.
Il protocollo DNS rende inoltre possibili gli attacchi Denial of Service. Infatti, chiunque può inviare una query DNS a un servizio rilevando un indirizzo IP. Il server DNS risponderà naturalmente al falso indirizzo. L'indirizzo è infatti la vittima dell'attentato, perché ha ricevuto traffico indesiderato. Il protocollo DNS consente inoltre di effettuare attacchi di amplificazione, il che significa che il volume di traffico inviato dal server DNS alla vittima è molto maggiore del traffico inviato dall'attaccante al server DNS. Diventa quindi più facile saturare il collegamento di rete della vittima.
Il servizio DNS stesso può anche diventare vittima di un attacco Denial of Service, come nel caso di DynDNS nel 2016. Ciò ha innescato guasti a cascata, poiché alcuni servizi si basano sulla disponibilità del DNS per funzionare.
La protezione contro gli attacchi Denial of Service può assumere diverse forme. Il più comunemente usato oggi è il filtraggio del traffico di rete per eliminare il traffico in eccesso. Anycast è anche una soluzione in crescita per replicare i servizi attaccati, se necessario.
Fallimento. Attestazione:Abdallahh/Flickr, CC BY
Avvelenamento da cache
Una terza vulnerabilità ampiamente utilizzata in passato consiste nell'attaccare il collegamento tra il nome di dominio e l'indirizzo IP. Ciò consente a un utente malintenzionato di rubare l'indirizzo di un server e di attirare il traffico stesso. Può quindi "clonare" un servizio legittimo e ottenere le informazioni sensibili degli utenti ingannati:nomi utente, Le password, informazioni sulla carta di credito ecc. Questo processo è relativamente difficile da rilevare.
Come accennato, i server DNS hanno la capacità di memorizzare per alcuni minuti le risposte alle query che hanno emesso e di utilizzare queste informazioni per rispondere direttamente alle query successive. Il cosiddetto attacco di avvelenamento della cache consente a un utente malintenzionato di falsificare l'associazione all'interno della cache di un server legittimo. Per esempio, un utente malintenzionato può inondare di query il server DNS intermedio e il server accetterà la prima risposta corrispondente alla sua richiesta.
Le conseguenze durano poco, le query fatte al server compromesso vengono deviate ad un indirizzo controllato dall'attaccante. Poiché il protocollo iniziale non include alcun mezzo per verificare l'associazione dominio-indirizzo, i clienti non possono proteggersi dall'attacco.
Ciò si traduce spesso in frammenti di Internet, con i clienti che comunicano con il server DNS compromesso che viene deviato su un sito dannoso, mentre i clienti che comunicano con altri server DNS vengono inviati al sito originale. Per il sito originale, questo attacco è praticamente impossibile da rilevare, salvo una diminuzione dei flussi di traffico. Questa diminuzione del traffico può avere conseguenze finanziarie significative per il sistema compromesso.
Certificati di sicurezza
Lo scopo del DNS sicuro (Domain Name System Security Extensions, DNSSEC) serve a prevenire questo tipo di attacco consentendo all'utente o al server intermedio di verificare l'associazione tra il nome di dominio e l'indirizzo. Si basa sull'uso di certificati, come quelli utilizzati per verificare la validità di un sito web (il piccolo lucchetto che compare nella barra web del browser). In teoria, una verifica del certificato è tutto ciò che è necessario per rilevare un attacco.
Però, questa protezione non è perfetta. Il processo di verifica delle associazioni "dominio-indirizzo IP" rimane incompleto. Ciò è in parte dovuto al fatto che alcuni registri non hanno implementato l'infrastruttura necessaria. Sebbene lo standard stesso sia stato pubblicato quasi quindici anni fa, stiamo ancora aspettando il dispiegamento della tecnologia e delle strutture necessarie. L'emergere di servizi come Let's Encrypt ha contribuito a diffondere l'uso dei certificati, che sono necessari per la navigazione sicura e la protezione DNS. Però, l'uso di queste tecnologie da parte di registri e fornitori di servizi rimane disomogeneo; alcuni paesi sono più avanzati di altri.
Sebbene esistano vulnerabilità residue (come attacchi diretti ai registri per ottenere domini e certificati validi), DNSSEC offre una soluzione per il tipo di attacchi recentemente denunciato da ICANN. Questi attacchi si basano su frodi DNS. Per essere più precisi, si basano sulla falsificazione dei record DNS nei database dei registri, il che significa che questi registri sono compromessi, oppure sono permeabili all'iniezione di informazioni false. Questa modifica della banca dati di un registro può essere accompagnata dall'iniezione di un certificato, se l'attaccante ha pianificato questo. Ciò consente di aggirare DNSSEC, nella peggiore delle ipotesi.
Questa modifica dei dati DNS implica una fluttuazione nei dati di associazione dell'indirizzo IP del dominio. Questa fluttuazione può essere osservata e possibilmente attivare avvisi. È quindi difficile per un attaccante rimanere completamente inosservato. Ma poiché queste fluttuazioni possono verificarsi su base regolare, ad esempio quando un cliente cambia fornitore, il supervisore deve rimanere estremamente vigile per fare la diagnosi corretta.
Istituzioni mirate
Nel caso degli attacchi denunciati dall'ICANN, c'erano due caratteristiche significative. Prima di tutto, sono stati attivi per un periodo di diversi mesi, il che implica che l'attaccante strategico fosse determinato e ben equipaggiato. In secondo luogo, hanno mirato efficacemente a siti istituzionali, il che indica che l'attaccante aveva una forte motivazione. È quindi importante esaminare da vicino questi attacchi e comprendere i meccanismi implementati dagli aggressori per correggere le vulnerabilità, probabilmente rafforzando le buone pratiche.
La promozione del protocollo DNSSEC da parte dell'ICANN solleva interrogativi. Chiaramente deve diventare più diffuso. Però, non vi è alcuna garanzia che questi attacchi sarebbero stati bloccati da DNSSEC, e nemmeno che sarebbero stati più difficili da realizzare. Sarà necessaria un'analisi aggiuntiva per aggiornare lo stato della minaccia alla sicurezza per il protocollo e il database DNS.
Questo articolo è stato ripubblicato da The Conversation con una licenza Creative Commons. Leggi l'articolo originale.