Attacco DDoS di amplificazione NTP

Un attacco DDoS volumetrico che sfrutta le vulnerabilità presenti nel protocollo NTP allo scopo di "inondare" un server con traffico UDP.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire un attacco DDoS con amplificazione NTP
  • Spiegazione di come funziona un attacco di amplificazione NTP
  • Studio delle diverse strategie di mitigazione per questo tipo di attacco DDoS

Copia link dell'articolo

Cos'è un attacco di amplificazione NTP?

Un attacco di amplificazione NTP è un attacco DDoS volumetrico basato sulla riflessione in cui un aggressore sfrutta una funzionalità del server NTP (Network Time Protocol) per sovraccaricare una rete o un server di destinazione con una quantità amplificata di traffico UDP, che rende il target e la sua infrastruttura circostante inaccessibili al traffico regolare.

Come funziona un attacco di amplificazione NTP?

Tutti gli attacchi di amplificazione sfruttano una disparità nel costo della larghezza di banda tra un aggressore e la risorsa Web mirata. Quando questa disparità di costo viene amplificata tra le varie richieste, il volume di traffico risultante può interrompere le attività dell'infrastruttura di rete. Inviando piccole query che si traducono in risposte di grandi dimensioni, l'aggressore riesce ad ottenere il massimo risultato con pochissimi sforzi. Moltiplicando questa amplificazione facendo in modo che ogni bot in un botnet effettui richieste simili, l'aggressore non solo non viene rilevato ma riesce a raccogliere tutti i vantaggi di un traffico di attacco aumentato.

Gli attacchi flood DNS sono diversi dagli attacchi di amplificazione DNS. A differenza dei flood DNS, gli attacchi di amplificazione DNS riflettono e amplificano il traffico proveniente da server DNS non protetti al fine di nascondere l'origine dell'attacco ed aumentarne l'efficacia. Gli attacchi di amplificazione DNS utilizzano dispositivi con connessioni a larghezza di banda ridotta in modo da effettuare numerose richieste a server DNS non protetti. I dispositivi effettuano molte piccole richieste per record DNS di grosse dimensioni, ma durante queste richieste, l'aggressore falsifica l'indirizzo del mittente in modo che sia quello della vittima designata. L'amplificazione in questo modo consente all'aggressore di attaccare bersagli più grandi con risorse di attacco limitate.

L'amplificazione NTP, molto simile all'amplificazione DNS, può essere pensata nel contesto di un adolescente in vena di scherzi che chiama un ristorante e ordina l'intero menu, quindi chiede una telefonata di conferma in cui dovrà essere ripetuta ogni voce dell'ordine. Quando il ristorante richiede un numero da richiamare, il numero che viene fornito è il numero di telefono della vittima designata. Così la vittima riceverà una chiamata dal ristorante con una marea di informazioni non richieste.

Il protocollo NTP è progettato per consentire ai dispositivi connessi a Internet di sincronizzare i loro orologi interni e svolge una funzione importante nell'architettura di Internet. Sfruttando il comando monlist abilitato su alcuni server NTP, un aggressore riesce a moltiplicare il traffico della richiesta iniziale, ottenendo una risposta ampia. Questo comando è abilitato per impostazione predefinita sui dispositivi meno recenti e risponde con gli ultimi 600 indirizzi IP di origine delle richieste che sono state fatte al server NTP. La richiesta monlist da un server con 600 indirizzi in memoria sarà 206 volte più grande della richiesta iniziale. Ciò significa che un aggressore con 1 GB di traffico Internet può fornire un attacco di oltre 200 gigabyte, un aumento massiccio del traffico di attacco risultante.

Un attacco di amplificazione NTP può essere suddiviso in quattro fasi:

  1. L'aggressore utilizza un botnet per inviare pacchetti UDP con indirizzi IP compromessi a un server NTP che ha il comando monlist abilitato. L'indirizzo IP contraffatto su ogni pacchetto fa riferimento all'indirizzo IP reale della vittima.
  2. Ciascun pacchetto UDP effettua una richiesta al server NTP tramite il comando monlist, generando una risposta di grandi dimensioni.
  3. Il server quindi risponde all'indirizzo contraffatto con i dati risultanti.
  4. L'indirizzo IP della vittima riceve la risposta e l'infrastruttura di rete circostante viene sovraccaricata da una marea di traffico che provoca una interruzione del servizio (DoS).
Attacco DDoS di amplificazione NTP

Come risultato del traffico di attacco che sembra traffico legittimo proveniente da server validi, mitigare questo tipo di traffico di attacco senza bloccare i server NTP reali da attività legittime è davvero difficile. Poiché i pacchetti UDP non richiedono un handshake, il server NTP invierà risposte di grandi dimensioni al server di destinazione senza verificare che la richiesta sia autentica. Questi fatti, uniti a un comando integrato che per impostazione predefinita invia un'ampia risposta, rende i server NTP un'eccellente fonte di riflessione per gli attacchi di amplificazione DDoS.

Come viene mitigato un attacco di amplificazione NTP?

Per un individuo o un'azienda che gestisce un sito Web o un servizio, le opzioni di mitigazione sono limitate. Ciò deriva dal fatto che il server dell'individuo, sebbene possa essere il bersaglio, non è il luogo in cui si avverte l'effetto principale di un attacco volumetrico. A causa dell'elevata quantità di traffico generato, l'infrastruttura che circonda il server subisce l'impatto. Il provider di servizi Internet (ISP) o altri provider di infrastrutture upstream potrebbero non essere in grado di gestire il traffico in entrata senza essere sopraffatti. Di conseguenza, l'ISP può instradare in un percorso nullo tutto il traffico all'indirizzo IP della vittima designata, proteggendosi e portando offline il sito di destinazione. Le strategie di mitigazione, escludendo i servizi di protezione offsite come la protezione da attacchi DDoS di Cloudflare, sono per lo più soluzioni di infrastruttura Internet preventive.

Disabilita il comando monlist: riduce il numero di server NTP che supportano il comando.

Una soluzione semplice per colmare la vulnerabilità del comando monlist consiste nel disattivare il comando. Tutte le versioni del software NTP precedenti alla versione 4.2.7 sono vulnerabili per impostazione predefinita. Eseguendo l'aggiornamento di un server NTP alla versione 4.2.7 o successiva, il comando viene disabilitato e si crea una patch per la vulnerabilità. Se l'aggiornamento non è possibile, l'uso delle istruzioni US-CERT consentirà all'amministratore di un server di apportare le modifiche necessarie.

Verifica IP di origine: evita che i pacchetti compromessi lascino la rete.

Poiché le richieste UDP inviate dal botnet dell'aggressore devono avere un indirizzo IP di origine contraffatto che punta all'indirizzo IP della vittima, la componente chiave per ridurre l'efficacia degli attacchi di amplificazione basati su UDP è che i provider di servizi Internet (ISP) rifiutino qualsiasi traffico interno con indirizzi IP contraffatti. Se un pacchetto viene inviato dall'interno della rete con un indirizzo di origine che lo fa sembrare come originato all'esterno, è probabile che si tratti di un pacchetto contraffatto e pertanto può essere eliminato. Cloudflare consiglia vivamente a tutti i provider di implementare il filtro di ingresso e, a volte, contatterà gli ISP che inconsapevolmente prendono parte ad attacchi DDoS (in violazione di BCP38) e li aiuterà a rilevare le loro vulnerabilità.

La disabilitazione del comando monlist sui server NTP insieme all'implementazione del filtro di ingresso sulle reti che attualmente consentono lo spoofing IP è un modo efficace per fermare questo tipo di attacco prima che raggiunga la rete designata.

In che modo Cloudflare riesce a mitigatere gli attacchi di amplificazione NTP?

Con un firewall correttamente configurato e una capacità di rete sufficiente (che non è sempre facile ottenere se non si ha la dimensione di Cloudflare), bloccare attacchi di riflessione come gli attacchi di amplificazione NTP è abbastanza facile. Sebbene l'attacco punterà a un singolo indirizzo IP, la nostra rete Anycast disperderà tutto il traffico di attacco al punto in cui non sia più distruttivo. Cloudflare è in grado di utilizzare il nostro vantaggio di scalabilità per distribuire il peso dell'attacco su più datacenter, bilanciando il carico in modo che il servizio non venga mai interrotto e l'attacco non travolga mai l'infrastruttura del server designato. In sei mesi, il nostro sistema di mitigazione DDoS "Gatebot" ha rilevato 6.329 attacchi di riflessione semplice (uno ogni 40 minuti) e la rete li ha mitigati tutti con successo. Scopri di più sulla protezione da attacchi DDoS avanzata di Cloudflare.