Il DNS non è stato progettato pensando alla sicurezza e ci sono molti tipi di attacchi creati per sfruttare le vulnerabilità nel sistema DNS.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
La sicurezza DNS è la prassi che consente di proteggere l'infrastruttura DNS dagli attacchi informatici per mantenerla operativa in modo rapido e affidabile. Una strategia di sicurezza DNS efficace include una serie di difese sovrapposte, tra cui la creazione di server DNS ridondanti, l'applicazione di protocolli di sicurezza come DNSSEC e la richiesta di una rigorosa registrazione DNS.
Come molti protocolli Internet, il sistema DNS non è stato progettato pensando alla sicurezza e contiene diverse limitazioni di progettazione. Queste limitazioni, combinate con i progressi tecnologici, rendono i server DNS vulnerabili a un ampio spettro di attacchi, tra cui spoofing, amplificazione, DoS (Denial of Service) o l'intercettazione di informazioni personali riservate. E poiché il DNS è parte integrante della maggior parte delle richieste Internet, può essere un obiettivo primario per gli attacchi.
Inoltre, gli attacchi DNS vengono spesso distribuiti insieme ad altri attacchi informatici per distrarre i team di sicurezza dal vero bersaglio. Un'organizzazione deve essere in grado di mitigare rapidamente gli attacchi DNS in modo da non essere troppo occupata a gestire attacchi simultanei attraverso altri vettori.
Gli autori di attacchi hanno trovato diversi modi per prendere di mira e sfruttare i server DNS. Ecco alcuni degli attacchi DNS più comuni:
Spoofing/cache poisoning DNS: questo è un attacco dove i dati DNS falsificati vengono introdotti in una cache dei resolver DSN, risultante in un resolver che ritorna un indirizzo IP errato per un dominio. Invece di accedere al sito web corretto, il traffico viene dirottato verso una macchina dannosa o in qualsiasi altro posto l'aggressore desideri; spesso sarà una replica del sito originale utilizzato per scopi dannosi come la distribuzione di malware o la raccolta di informazioni di accesso.
Tunneling DNS: questo attacco utilizza altri protocolli per la tunnellizzazione attraverso query e risposte DNS. Gli autori di attacchi possono utilizzare SSH, TCP o HTTP per trasmettere malware o informazioni sottratte in query DNS, non rilevate dalla maggior parte dei firewall.
Hijack del DNS: nell’hijack del DNS un autore di un attacco reindirizza le query a un altro nameserver di dominio. Questa operazione viene eseguita tramite malware o la modifica non autorizzata di un server DNS. Sebbene il risultato sia simile a quello dello spoofing, si tratta di un attacco fondamentalmente diverso perché ha come obiettivo il record DNS del sito web sul nameserver, piuttosto che la cache di un resolver.
Attacco NXDOMAIN: questo è un tipo di attacco DNS flood in cui un aggressore inonda un server DNS di richieste, chiedendo record inesistenti, nel tentativo di causare una situazione di denial-of-service per traffico legittimo. Tutto questo può essere realizzato utilizzando sofisticati strumenti di attacco in grado di generare automaticamente sottodomini univoci per ogni richiesta. Gli attacchi NXDOMAIN possono anche colpire un resolver ricorsivo con l'obiettivo di riempire la cache del resolver con richieste spazzatura.
Attacco di dominio fantasma: un attacco di dominio fantasma ha un risultato simile a un attacco NXDOMAIN su un resolver DNS. Un autore di un attacco crea un gruppo di server di dominio "fantasma" che rispondono alle richieste molto lentamente o per niente. Un’ondata di richieste colpisce il resolver che viene bloccato in attesa di risposte, causando prestazioni lente e situazioni di denial-of-service.
Attacco casuale al sottodominio: in questo caso, l'autore di un attacco invia query DNS per diversi sottodomini casuali e inesistenti di un sito legittimo. L'obiettivo è creare una situazione di denial-of-service per il nameserver autoritativo del dominio, rendendo impossibile la ricerca del sito Web dal nameserver. Come effetto collaterale, anche il provider di servizi Internet che serve l'autore di un attacco può essere influenzato, poiché la cache del resolver ricorsivo verrà caricata di richieste errate.
Attacco con blocco del dominio: gli autori di un attacco orchestrano questa forma di attacco impostando domini e resolver speciali per creare connessioni TCP con altri resolver legittimi. Quando i resolver mirati inviano richieste, questi domini restituiscono flussi lenti di pacchetti casuali, vincolando le risorse del resolver.
Attacco CPE basato su Botnet: questi attacchi vengono eseguiti utilizzando dispositivi CPE (Customer Premise Equipment, ossia hardware forniti dai provider di servizi ai clienti, come modem, router, decoder ecc.) Gli autori di attacchi compromettono i CPE e i dispositivi diventano parte di una botnet utilizzata per eseguire attacchi casuali di sottodomini contro un sito o dominio.
DNS Security Extensions (DNSSEC) è un protocollo di sicurezza creato per mitigare questo problema. DNSSEC protegge dagli attacchi firmando digitalmente i dati per garantirne la validità. Per garantire una ricerca sicura, nel processo di ricerca DNS la firma deve avvenire a tutti i livelli.
Questo processo di firma è simile a qualcuno che firma un documento legale con una penna; quella persona crea una firma unica che nessun altro può creare e un perito giudiziario può guardare la firma e verificare che il documento sia stato firmato da quella persona. Queste firme digitali garantiscono che i dati non siano stati manomessi.
DNSSEC implementa una politica di firma digitale gerarchica su tutti i livelli di DNS. Ad esempio, nel caso di una ricerca "google.com", un root server DNS firmerebbe una chiave per il nameserver .COM e il nameserver .COM firmerebbe quindi una chiave per il nameserver autoritativo di google.com.
Sebbene sia sempre preferibile migliorare la sicurezza, DNSSEC è progettato per essere retrocompatibile in modo da garantire che le ricerche DNS tradizionali continuino a risolversi correttamente, anche se senza la sicurezza aggiuntiva. DNSSEC è pensato per essere associato ad altre misure di sicurezza come SSL/TLS nell'ambito di una strategia di sicurezza olistica di Internet.
DNSSEC crea un treno di fiducia genitore-figlio che viaggia fino al dominio root. Questa catena di fiducia non può essere compromessa a nessun livello di DNS, altrimenti la richiesta aprirà il fianco a un attacco di interposizione.
Per chiudere la catena della fiducia, è necessario convalidare lo stesso dominio root (dimostrato privo di manomissioni o frodi), e questo avviene effettivamente tramite l'intervento umano. È interessante notare che, nella cosiddetta cerimonia della firma del dominio root, persone selezionate da tutto il mondo si incontrano per firmare il dominio root DNSKEY in modo pubblico e controllato.
Ecco una spiegazione più dettagliata di come funziona il DNSSEC >>>
Oltre a DNSSEC, un operatore di una zona DNS può adottare ulteriori misure per proteggere i propri server. L'infrastruttura di overprovisioning è una strategia semplice per superare gli attacchi DDoS. In poche parole, se i tuoi nameserver sono in grado di gestire diversi multipli di traffico in più del previsto, è più difficile che un attacco basato sui volumi possa travolgere il tuo server. Le organizzazioni possono raggiungere questo obiettivo aumentando la capacità di traffico totale del proprio server DNS, stabilendo più server DNS ridondanti e utilizzando il bilanciamento del carico per instradare le richieste DNS a server integri quando uno inizia a presentare problemi.
Un'altra strategia è sempre un firewall DNS.
Un firewall DNS è uno strumento in grado di fornire numerosi servizi di sicurezza e prestazioni ai server DNS. Un firewall DNS si trova tra il resolver ricorsivo di un utente e il nameserver autoritativo del sito web o del servizio che sta tentando di raggiungere. Il firewall può fornire servizi di rate limiting per arrestare gli aggressori che cercano di sopraffare il server. Se il server presenta tempi di inattività a seguito di un attacco o per qualsiasi altro motivo, il firewall DNS può mantenere attivo il sito o il servizio dell'operatore fornendo risposte DNS dalla cache.
Oltre alle sue funzioni di sicurezza, un firewall DNS può anche fornire soluzioni prestazionali come ricerche DNS più veloci e costi di banda ridotti per l'operatore DNS. Ulteriori informazioni sul firewall DNS di Cloudflare.
I resolver DNS possono anche essere configurati per fornire soluzioni di sicurezza per i loro utenti finali (chi naviga in Internet). Alcuni resolver DNS forniscono funzioni come il filtraggio dei contenuti, che può bloccare i siti noti per distribuire malware e spam, e la protezione delle botnet che blocca le comunicazioni con le botnet note. Molti di questi resolver DNS sicuri sono gratuiti e un utente può passare a uno di questi servizi DNS ricorsivi modificando una singola impostazione nel router locale. Cloudflare DNS pone l'accento sulla sicurezza.
Un altro importante problema di sicurezza del DNS è la privacy degli utenti. Le query DNS non sono crittografate. Anche se gli utenti utilizzano un resolver DNS come 1.1.1.1 che non monitora le loro attività, le query DNS transitano su Internet in chiaro. Questo significa che chiunque intercetti la query può vedere quali siti Web visita l'utente.
Questa assenza di privacy ha un impatto sulla sicurezza e, in alcuni casi, sui diritti umani; se le query DNS non sono private, diventa più facile per i governi censurare Internet e per gli autori di attacchi perseguitare il comportamento online degli utenti.
DNS su TLS e DNS su HTTPS sono due standard per crittografare le query DNS al fine di impedire a soggetti esterni di leggerle.
I servizi DNS di Cloudflare sono dotati di un'ampia gamma di funzionalità di sicurezza integrate, tra cui DNSSEC, mitigazione degli attacchi DDoS, funzionalità multi-DNS e bilanciamento del carico.