Sicurezza DNS
Perché la sicurezza DNS è importante?
Le query DNS standard, necessarie per quasi tutto il traffico Web, creano opportunità per exploit DNS come dirottamento DNS e attacchi su percorso. Questi attacchi possono reindirizzare il traffico in entrata di un sito Web a una copia falsa del sito, raccogliendo informazioni sensibili sugli utenti ed esponendo le aziende a responsabilità importanti. Uno dei modi più noti per proteggersi dalle minacce DNS è adottare il protocollo DNSSEC.
Che cos’è DNSSEC?
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, hanno reso facile per gli aggressori dirottare una ricerca DNS per scopi dannosi, come l’invio di un utente a un sito Web fraudolento che può distribuire malware o raccogliere informazioni personali. 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à. Al fine di garantire una ricerca sicura, la firma deve avvenire a tutti i livelli nel processo di ricerca 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, hanno reso facile per gli aggressori dirottare una ricerca DNS per scopi dannosi, come l’invio di un utente a un sito Web fraudolento che può distribuire malware o raccogliere informazioni personali.
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à. Al fine di garantire una ricerca sicura, la firma deve avvenire a tutti i livelli nel processo di ricerca DNS.
Questo processo di firma è simile a qualcuno che firma un documento legale con una penna; quella persona firma con una firma unica che nessun altro può creare, e un esperto del tribunale può guardare quella firma e verificare che il documento è stato firmato da quella persona. Queste firme digitali assicurano 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 un ‘google.com ‘ ricerca, un server DNS root firmerebbe una chiave per il nameserver. COM e il nameserver .COM firmerebbe quindi una chiave per google.com il nameserver autorevole.
Mentre una maggiore sicurezza è sempre preferito, DNSSEC è progettato per essere retrocompatibile per garantire che le ricerche DNS tradizionali ancora risolvere correttamente, anche se senza la sicurezza aggiunta. DNSSEC è pensato per lavorare con altre misure di sicurezza come SSL/TLS come parte di una strategia olistica di sicurezza Internet.
DNSSEC crea un treno di fiducia genitore-figlio che viaggia fino alla zona radice. Questa catena di fiducia non può essere compromessa a qualsiasi livello di DNS, altrimenti la richiesta diventerà aperta a un attacco su percorso.
Per chiudere la catena di fiducia, la zona radice stessa deve essere convalidata (dimostrata priva di manomissioni o frodi), e questo viene effettivamente fatto usando l’intervento umano. È interessante notare che, in quella che viene chiamata una cerimonia di firma della zona radice, individui selezionati da tutto il mondo si incontrano per firmare il root DNSKEY RRset in modo pubblico e controllato.
Ecco una spiegazione più dettagliata di come funziona DNSSEC>>>
Quali sono alcuni attacchi comuni che coinvolgono DNS?
DNSSEC è un potente protocollo di sicurezza, ma sfortunatamente non è attualmente universalmente adottato. Questa mancanza di adozione insieme ad altre potenziali vulnerabilità, oltre al fatto che il DNS è parte integrante della maggior parte delle richieste Internet, rende il DNS un obiettivo primario per gli attacchi dannosi. Gli aggressori hanno trovato una serie di modi per indirizzare e sfruttare i server DNS. Ecco alcuni dei più comuni:
DNS spoofing / cache poisoning: Questo è un attacco in cui i dati DNS falsificati vengono introdotti nella cache di un resolver DNS, con il risultato che il resolver restituisce un indirizzo IP errato per un dominio. Invece di andare al sito web corretto, il traffico può essere deviato su una macchina dannosa o in qualsiasi altro luogo l’attaccante desidera; spesso questa sarà una replica del sito originale utilizzato per scopi dannosi come la distribuzione di malware o la raccolta di informazioni di accesso.
DNS tunneling: questo attacco utilizza altri protocolli per eseguire il tunnel attraverso query e risposte DNS. Gli aggressori possono utilizzare SSH, TCP o HTTP per passare malware o informazioni rubate nelle query DNS, non rilevate dalla maggior parte dei firewall.
Dirottamento DNS: nel dirottamento DNS l’utente malintenzionato reindirizza le query a un server di nomi di dominio diverso. Questo può essere fatto sia con malware o con la modifica non autorizzata di un server DNS. Sebbene il risultato sia simile a quello dello spoofing DNS, questo è un attacco fondamentalmente diverso perché si rivolge al record DNS del sito Web sul nameserver, piuttosto che alla cache di un risolutore.
Attacco NXDOMAIN: Questo è un tipo di attacco flood DNS in cui un utente malintenzionato inonda un server DNS con richieste, chiedendo record che non esistono, nel tentativo di causare un denial-of-service per il traffico legittimo. 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 dominio fantasma: Un attacco dominio fantasma ha un risultato simile a un attacco NXDOMAIN su un resolver DNS. L’attaccante imposta un gruppo di server di dominio “fantasma” che rispondono alle richieste molto lentamente o per niente. Il resolver viene quindi colpito da una marea di richieste a questi domini e il resolver viene bloccato in attesa di risposte, portando a prestazioni lente e denial-of-service.
Attacco casuale di sottodomini: in questo caso, l’attaccante invia query DNS per diversi sottodomini casuali e inesistenti di un sito legittimo. L’obiettivo è creare un denial-of-service per il nameserver autorevole del dominio, rendendo impossibile la ricerca del sito Web dal nameserver. Come effetto collaterale, l’ISP che serve l’attaccante può anche essere influenzato, in quanto la cache del risolutore ricorsivo verrà caricata con richieste errate.
Domain lock-up attack: gli aggressori 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 rimandano flussi lenti di pacchetti casuali, legando le risorse del resolver.
Attacco CPE basato su botnet: questi attacchi vengono eseguiti utilizzando dispositivi CPE (Customer Premise Equipment; questo è l’hardware fornito dai fornitori di servizi per l’uso da parte dei loro clienti, come modem, router, decoder via cavo, ecc.). Gli aggressori compromettono i CPE e i dispositivi diventano parte di una botnet, utilizzata per eseguire attacchi casuali di sottodomini contro un sito o un dominio.
Qual è il modo migliore per proteggersi dagli attacchi basati su DNS?
Oltre a DNSSEC, un operatore di una zona DNS può adottare ulteriori misure per proteggere i propri server. L’infrastruttura di over-provisioning è una semplice strategia per superare gli attacchi DDoS. In poche parole, se il tuo nameserver è in grado di gestire più multipli di traffico di quanto ti aspetti, è più difficile per un attacco basato su volume sopraffare il tuo server.
Anycast routing è un altro strumento utile che può interrompere gli attacchi DDoS. Anycast consente a più server di condividere un singolo indirizzo IP, quindi anche se un server DNS viene spento, ce ne saranno ancora altri in servizio. Un’altra strategia popolare per proteggere i server DNS è un firewall DNS.
Che cos’è un firewall DNS?
Un firewall DNS è uno strumento in grado di fornire una serie di servizi di sicurezza e prestazioni per i server DNS. Un firewall DNS si trova tra il resolver ricorsivo di un utente e il nameserver autorevole del sito Web o del servizio che stanno cercando di raggiungere. Il firewall può fornire servizi di limitazione della velocità per arrestare gli aggressori che cercano di sopraffare il server. Se il server subisce tempi di inattività a causa di un attacco o per qualsiasi altro motivo, il firewall DNS può mantenere attivo il sito o il servizio dell’operatore servendo le risposte DNS dalla cache.
Oltre alle sue caratteristiche di sicurezza, un firewall DNS può anche fornire soluzioni di prestazioni come ricerche DNS più veloci e costi di larghezza di banda ridotti per l’operatore DNS. Scopri di più sul firewall DNS di Cloudflare.
Un firewall DNS è uno strumento in grado di fornire una serie di servizi di sicurezza e prestazioni per i server DNS. Un firewall DNS si trova tra il resolver ricorsivo di un utente e il nameserver autorevole del sito Web o del servizio che stanno cercando di raggiungere. Il firewall può fornire servizi di limitazione della velocità per arrestare gli aggressori che cercano di sopraffare il server.
Se il server subisce tempi di inattività a causa di un attacco o per qualsiasi altro motivo, il firewall DNS può mantenere attivo il sito o il servizio dell’operatore servendo le risposte DNS dalla cache. Oltre alle sue caratteristiche di sicurezza, un firewall DNS può anche fornire soluzioni di prestazioni come ricerche DNS più veloci e costi di larghezza di banda ridotti per l’operatore DNS. Scopri di più sul firewall DNS di Cloudflare.
DNS come strumento di sicurezza
I resolver DNS possono anche essere configurati per fornire soluzioni di sicurezza per i loro utenti finali (persone che navigano in Internet). Alcuni resolver DNS forniscono funzionalità come il filtraggio dei contenuti, che può bloccare i siti noti per distribuire malware e spam, e la protezione botnet, che blocca la comunicazione con le botnet note. Molti di questi resolver DNS protetti sono liberi di utilizzare e un utente può passare a uno di questi servizi DNS ricorsivi modificando una singola impostazione nel proprio router locale. Cloudflare DNS ha l’accento sulla sicurezza.
Le query DNS sono private?
Un altro importante problema di sicurezza 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 tiene traccia delle loro attività, le query DNS viaggiano su Internet in chiaro. Ciò significa che chiunque intercetta la query può vedere quali siti Web l’utente sta visitando.
Questa mancanza 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 aggressori pedinare il comportamento online degli utenti.
DNS su TLS e DNS su HTTPS sono due standard per la crittografia delle query DNS al fine di impedire a parti esterne di essere in grado di leggerle. Cloudflare DNS supporta entrambi questi standard. Cloudflare collabora anche con altre organizzazioni per migliorare la sicurezza DNS, ad esempio aiutando Mozilla ad abilitare DNS su HTTPS nel suo browser Firefox per proteggere gli utenti.