DNS Reflective Attacks

Lug 27, 2021
admin

Un attacco DNS reflective è usato in molti attacchi DDoS (distributed denial-of-service) per abbattere un tubo internet. L’attacco è un attacco in due fasi; l’attaccante invia una grande quantità di richieste a uno o più server DNS legittimi, mentre utilizza l’IP di origine spoofed della vittima bersaglio. Il server DNS che riceve le richieste semi-legittime risponde all’IP spoofed, lanciando così inconsapevolmente un attacco alla vittima bersaglio con risposte a richieste che la vittima non ha mai inviato.

Internet è pieno di server DNS offerti come open-resolver che serviranno qualsiasi richiesta inviata a loro, alcuni rapporti nominano milioni come quantità. Questo enorme numero rende molto difficile pre-identificare l’attacco utilizzando la reputazione IP. Inoltre, i server sono in realtà server legittimi che di solito inviano traffico legittimo, rendendo qualsiasi servizio di reputazione IP confuso sulla loro natura malevola o meno.

La maggior parte delle query DNS sono inviate utilizzando UDP, un protocollo che non consente la convalida dell’IP di origine. Questo è il motivo per cui il server DNS intermediario assume che le richieste arrivino dalla vittima e gli rimanda le risposte. Lo spoofing dell’IP rende estremamente difficile per il server vittima individuare l’attaccante, in quanto sembra che sia attaccato da un server DNS legittimo, e l’IP dell’attaccante è completamente nascosto. Lo spoofing dell’IP invalida anche i servizi di reputazione IP, che, se non scritti correttamente, possono assegnare una cattiva reputazione a un server DNS legittimo. Rimuove anche qualsiasi possibilità per gli esperti di sicurezza che cercano di identificare la fonte dell’attacco.

La moderna rete web e la tecnologia di telecomunicazione internet, l'archiviazione dei grandi dati e il concetto di business dei servizi informatici di cloud computing: l'interno della sala server nel data center in luce blu

Un altro vantaggio dello spoofing è la capacità di attaccare qualsiasi server o servizio. L’attaccante può utilizzare l’IP e la porta del server pubblico della vittima per assicurarsi che l’attacco venga inviato a qualsiasi servizio, non solo a un servizio DNS. Il traffico sembrerà semplicemente un sacco di dati e il server dovrà analizzare ed esaminare i dati per assicurarsi che non sia traffico legittimo.

Nota che l’IP spoofing è anche una limitazione di questo attacco – se l’IP spoofing non è possibile, l’attacco non può essere lanciato in quanto non c’è modo di indirizzare le risposte all’IP della vittima. Questo è il caso dei bot Mirai in esecuzione su dispositivi IoT dietro un router che esegue il NAT. Tuttavia, le recenti tattiche di infezione di Mirai puntano ai router domestici stessi, aggirando così la limitazione NAT.

L’ultimo e più grande vantaggio che contribuisce al potenziale distruttivo dei flood DNS riflessivi è l’amplificazione, che può essere ottenuta utilizzando le estensioni DNS (EDNS0, definite in RFC 2671) e DNSSec. EDNS0 consente alla risposta DNS di essere più grande dei 512 originali consentiti, mentre DNSSec consente l’autenticazione della risposta per prevenire l’avvelenamento della cache. DNSSec richiede EDNS0 per funzionare, poiché aggiunge dati crittografici alla risposta. Dal momento che DNSSec sta diventando popolare nell’odierna Internet consapevole della sicurezza, fa sì che sempre più server DNS supportino EDNS0 e permette a un aggressore di ottenere grandi risposte alle loro richieste.

La possibile dimensione della risposta – fino a 4096 byte, permette all’aggressore di inviare un piccolo numero di richieste brevi, mentre le risposte inviate dal server DNS sono notevolmente amplificate, esaurendo il tubo Internet della vittima. Gli attaccanti possono studiare il server DNS e trovare quali query legittime possono risultare in grandi risposte, e anche usare DNSSec per renderle ancora più grandi con dati crittografici. In molti casi, la risposta può arrivare fino al massimo di 4096 byte, che dà un fattore di amplificazione di x100 per la richiesta originale.

Con la grande connettività internet di oggi, una connessione a internet da 100 M può inviare un attacco modesto da solo e causare comunque qualche danno a un sito normale. Tuttavia, se l’attaccante ha la possibilità di utilizzare questa enorme risposta di 4096 byte per la sua richiesta di 44 byte e ottenere un’amplificazione 100x, il server vittima riceverà 10G di traffico di attacco, al di sopra della sua normale larghezza di banda di traffico. Tale traffico causerà l’interruzione immediata di qualsiasi servizio normale. Immaginate cosa si può ottenere con una botnet di anche pochi di questi bot.

Alla dimensione della risposta si aggiunge il fatto che tali risposte non possono entrare in un normale pacchetto IP. In casi come questo, i server utilizzano l’opzione IP-frammentazione, che permette loro di dividere il messaggio in più pacchetti. Usare il traffico frammentato nell’attacco rende la mitigazione dell’attacco ancora più difficile – il mitigatore deve memorizzare i dati del livello 4 del primo pacchetto (porte UDP) in una tabella e applicarla al resto dei pacchetti dello stesso messaggio. Molte entità di rete sono rapidamente esaurite da un sacco di traffico frammentato, il che rende questo attacco ancora più efficiente.

Il video dell’attacco di amplificazione DNS di YouTube di Radware illustra graficamente la struttura e il flusso di un attacco DNS riflessivo.

Dopo aver imparato tutti i pro e i contro dell’attacco DNS riflessivo, rimane una cosa – come proteggere un’organizzazione da tale attacco e mitigarlo? A differenza della sofisticazione dell’attacco stesso, questo problema ha una soluzione nota – per mitigare un attacco DNS reflection, è necessario avere un buon rilevatore in loco per rilevare rapidamente l’attacco e prevenire i tempi morti. Il rilevatore dovrebbe essere abbastanza intelligente da capire che l’attacco che vede sta saturando la connessione internet e la deviazione del traffico deve avvenire verso un centro di scrubbing cloud. Una volta che il traffico viene deviato al cloud scrubbing, verrà pulito e inviato al sito.

Lo scrubbing stesso dipende dalla quantità di traffico simile che è considerato legittimo – il sito vede molto traffico UDP? Traffico DNS? Traffico frammentato? E se sì, cosa lo distingue dal traffico di attacco? Usare una tecnica automatizzata per separare il traffico legittimo da quello di attacco vi darà una buona e veloce mitigazione del cloud e anche una certa tranquillità.

Per maggiori informazioni, controllate il mio blog precedente: DNS e attacchi DNS

Leggi “Creare un ambiente sicuro per API sottoprotette” per saperne di più.

Scarica ora

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.