ATKforged replyCACHEbank.com → 10.0.evilexample.com → real IPUSERgets poisoned answer

Avvelenamento della cache DNS

10 minimo lettoSicurezza

L'avvelenamento della cache DNS è l'attacco in cui dati errati vengono archiviati nella cache di un risolutore, facendo sì che le query legittime restituiscano risposte errate per tutta la durata della cache. L’attacco Kaminsky del 2008 ha quasi rotto il DNS globale; le correzioni implementate da allora sono durevoli ma non complete. La categoria rimane rilevante.

Il corpo completo dell'articolo è fornito in inglese di seguito.

Avvelenamento della cache DNS (a volte chiamato spoofing DNS) è l'attacco in cui un utente malintenzionato inserisce dati DNS contraffatti nella cache di un risolutore. Le query successive per il record danneggiato restituiscono la risposta errata fino alla scadenza della cache. Poiché i risolutori memorizzano nella cache in modo aggressivo per migliorare le prestazioni, un avvelenamento riuscito può influenzare molti utenti per ore.

Come funziona normalmente la risoluzione DNS

Senza passare attraverso l'intero flusso (vedere il nostro articolo sul server DNS), il punto chiave: un risolutore effettua una query a un server dei nomi upstream e accetta la risposta. Il DNS utilizzava UDP esclusivamente per questo: nessuna stretta di mano, nessuna autenticazione, solo "invia query, accetta la prima risposta corrispondente".

Se un utente malintenzionato può inviare una risposta contraffatta prima che arrivi quella legittima, il risolutore memorizza nella cache la risposta contraffatta. Per tutte le query durante la durata della cache (in genere da minuti a ore), il risolutore restituisce i dati avvelenati.

LAttacco Kaminsky

Nel 2008, Dan Kaminsky ha pubblicato un'estensione devastante del classico avvelenamento della cache DNS. L'attacco originale si basava sull'indovinare un ID di transazione a 16 bit: 1 su 65.536 probabilità, non eccezionale. La svolta di Kaminsky: l'aggressore non deve attendere richieste legittime. Possono trigger chiedendo al risolutore informazioni su un sottonome che controllano, quindi gareggiano con risposte contraffatte per i record di autorità del dominio principale. Con piccole ottimizzazioni, lo sfruttamento è diventato pratico.

LLa divulgazione ha innescato uno sforzo coordinato per applicare patch a tutte le principali implementazioni DNS nel 2008. La soluzione: randomizzare la porta di origine utilizzata dal risolutore. Combinato con l'ID della transazione, espande l'entropia a ~32 bit, riducendo drasticamente la possibilità di una falsificazione riuscita.

Che aspetto hanno le difese moderne

  • Randomizzazione delle porte di origine. Standard dal 2008. Aumenta l'entropia abbastanza da far diventare l'avvelenamento della cache per ipotesi infeasible.
  • DNS su HTTPS (DoH) e DNS su TLS (DoT). Il trasporto crittografico elimina completamente l'attacco di iniezione sul percorso. Il risolutore e l'autorità hanno un canale crittografato.
  • DNSSEC. Le firme crittografiche sui record DNS rilevano manomissioni. Le risposte contraffatte non superano la verifica della firma. Consulta il nostro articolo su DNSSEC.
  • Filtro IP di origine. Le reti che rilasciano pacchetti di indirizzi di origine falsificati (BCP38/convalida dell'indirizzo di origine) rendono l'attacco più difficile limitando la provenienza delle risposte contraffatte.
  • Rafforzamento del risolutore. La codifica 0x20 (caso casuale nei nomi delle query) aggiunge bit di entropia. I cookie EDNS0 forniscono ulteriore anti-spoofing.

L'attacco SAD DNS del 2020

Nel 2020, i ricercatori hanno pubblicato una nuova classe di attacco chiamata SAD DNS che ha bypassato la randomizzazione delle porte in scenari specifici utilizzando informazioni del canale laterale sullo stack di rete del risolutore. L'attacco funziona contro i principali risolutori, inclusi alcuni valori predefiniti di Linux. Linux 5.10+ presenta mitigazioni; i sistemi più vecchi rimangono vulnerabili.

La categoria "avvelenamento DNS è risolto" non arriva mai del tutto. Le difese migliorano; compaiono nuovi canali laterali. Le best practice moderne combinano più livelli.

Cosa significa per gli utenti finali

Per gli utenti di tutti i giorni:

  • Utilizza uno dei principali risolutori pubblici (1.1.1.1, 8.8.8.8, 9.9.9.9): sono rafforzati contro gli attacchi noti e convalidati DNSSEC.
  • Utilizza DoH o DoT: crittografa la ricerca e sconfigge la maggior parte degli aggressori sul percorso.
  • HTTPS stesso è un fallback: anche se il DNS mente e ti invia all'IP di un utente malintenzionato, il certificato TLS non corrisponderà e il browser avviserà.

LIl vettore di attacco più realistico per gli utenti finali non è la cache avvelenamento di risolutori ben gestiti; si tratta di un dirottamento del risolutore a livello di router o ISP. La configurazione del dispositivo per l'utilizzo di un risolutore noto (con trasporto crittografato) chiude il buco.

Che cosa significa per gli operatori

Per gli operatori DNS:

  • Abilita DNSSEC sui server autorevoli.
  • Utilizza un risolutore che convalida DNSSEC.
  • Patch tempestivamente. Le correzioni del 2008, le mitigazioni SAD DNS ed eventuali avvisi futuri.
  • Implementa la convalida dell'indirizzo di origine se gestisci una rete.L'infrastruttura

DNS è più sicura di quanto lo fosse dieci anni fa; le minacce si sono evolute in parallelo.

Domande frequenti

Posso essere colpito dall'avvelenamento della cache?
Indirettamente. Gli utenti finali in genere non utilizzano le cache che vengono avvelenate. Se il tuo risolutore DNS è compromesso, vedrai risposte errate per qualunque cosa sia stata avvelenata. L'uso dei principali risolutori rinforzati (1.1.1.1, 8.8.8.8) riduce sostanzialmente il rischio.
In che modo DNSSEC impedisce ciò?
I record firmati dal dominio autorevole possono essere verificati crittograficamente. Una risposta falsificata non supera la verifica e viene rifiutata. DNSSEC esiste dal 1997 ma l'adozione non è uniforme; i principali risolutori convalidano, quelli più piccoli spesso no.
DNS su HTTPS è uguale a DNSSEC?
No. DNSSEC aggiunge firme ai record, verificandone l'autenticità. DoH crittografa il trasporto tra client e risolutore, impedendo intercettazioni o manomissioni sul percorso. Sono complementari; puoi averne uno o entrambi.
Qual è la differenza tra avvelenamento della cache e dirottamento DNS?
L'avvelenamento della cache inserisce dati errati nella cache di un risolutore tramite un attacco a livello di rete. Il dirottamento DNS copre ampiamente la modifica del risolutore stesso (compromissione del router, app dannosa, acquisizione dell'account del registrar). L'avvelenamento della cache è una tecnica specifica all'interno della più ampia categoria di dirottamento.
Ci sono famosi episodi di avvelenamento da cache?
L’avvelenamento di massa in stile Kaminsky non si è mai materializzato perché i cerotti sono stati distribuiti abbastanza velocemente. Si sono verificati avvelenamenti specifici di minore entità: un incidente del 2019 che ha colpito parti dell’infrastruttura DNS cinese ha reindirizzato brevemente i principali servizi statunitensi per gli utenti in Cina. La maggior parte degli attacchi DNS su larga scala dal 2008 hanno comportato dirottamenti BGP o compromissioni dei registrar piuttosto che il classico avvelenamento della cache.
Spiegazione dell'avvelenamento della cache DNS: quando il risolutore mente