Che cos’è un attacco DDoS?

Gli attacchi DDoS sono oggi una delle preoccupazioni principali nell’ambito della sicurezza di Internet. Ecco come funzionano gli attacchi DDoS e come possono essere fermati.

Share facebook icon linkedin icon twitter icon email icon

DDoS

Learning Objectives

After reading this article you will be able to:

  • Definire un attacco DDoS
  • Illustrare la struttura generica di un attacco DDoS
  • Distinguere tra le 3 principali categorie di attacchi DDoS
  • Comprendere le diverse strategie di mitigazione DDoS

Che cos’è un attacco DDoS?

Un attacco DDoS (Distributed Denial of Service) è un tentativo ostile di bloccare il normale traffico di un server, servizio o rete sopraffacendo la vittima o l’infrastruttura circostante inondandola di traffico Internet. Gli attacchi DDoS raggiungono l'efficacia sfruttando come fonti di attacco più sistemi informatici compromessi. Le macchine che vengono asservite a tali scopi possono includere computer e altre risorse di rete come i dispositivi IoT. Un attacco DDoS è paragonabile a un ingorgo autostradale che impedisce al traffico regolare di arrivare a destinazione.

Attacco DDoS

Come funziona un attacco DDoS?

Per sferrare un attacco DDoS, un aggressore deve conquistare il controllo di una rete di macchine online. Computer e altre macchine (come i dispositivi IoT) vengono infettati da malware, trasformandosi ciascuno in un bot (o zombi). L'aggressore ha così il controllo remoto sul gruppo di bot, che forma una cosiddetta rete di bot o botnet.

Una volta stabilita una botnet, l'aggressore è in grado di dirigere le macchine inviando istruzioni aggiornate a ciascun bot tramite un metodo di controllo remoto. Quando l'indirizzo IP di una vittima viene preso di mira dalla botnet, ciascun bot risponderà inviando richieste alla vittima, causando il potenziale sovraccarico della capacità del server o della rete presa di mira, con conseguente denial-of-service o rifiuto di servizio opposto al traffico normale. Poiché ogni bot è un dispositivo Internet legittimo, può essere difficile separare il traffico di attacco dal traffico normale.

Quali sono i più comuni tipi di attacchi DDoS?

Vettori diversi di attacco DDoS prendono di mira differenti componenti di una connessione di rete. Per capire come funzionano i vari attacchi DDoS, è necessario sapere come viene stabilita una connessione di rete. Una connessione di rete su Internet è composta da numerose componenti o "livelli". Come nella costruzione di una casa, ogni livello ha uno scopo diverso. Il modello OSI, mostrato di seguito, è uno schema concettuale che descrive la connettività di rete in 7 livelli distinti.

Il modello OSI

Anche se quasi tutti mirano a sopraffare di traffico la vittima, un dispositivo o una rete di destinazione, gli attacchi DDoS si possono suddividere in tre categorie. L’aggressore può servirsi di uno o più vettori di attacco, oppure vettori di attacco ciclico potenzialmente basati su contromisure prese dalla vittima.

Attacchi al livello applicativo

Scopo dell'attacco:

A volte indicato come attacco DDoS al livello 7 (in riferimento al settimo livello del modello OSI), l'obiettivo di questi attacchi è esaurire le risorse del bersaglio. Gli attacchi colpiscono il livello in cui le pagine Web vengono generate sul server e recapitate in risposta a richieste HTTP. Una singola richiesta HTTP è economica da eseguire dal lato client ma può essere costosa rispondere dal lato server, in quanto per creare una pagina Web spesso il server deve caricare più file ed eseguire interrogazioni del database. Non è semplice difendersi da attacchi al livello 7 poiché può essere difficile distinguere il traffico ostile.

Esempio di attacchi al livello applicativo:

HTTP Flood

Questo attacco equivale a premere ripetutamente il tasto per aggiornare una pagina Web su più computer contemporaneamente: un enorme numero di richieste HTTP travolge il server, con conseguente rifiuto di servizio o denial-of -service.

Questo tipo di attacco varia da semplice a complesso. Le implementazioni più semplici possono accedere a un URL con lo stesso intervallo di indirizzi IP, link di riferimento e agenti utente attaccanti. Versioni più complesse possono utilizzare un vasto numero di indirizzi IP attaccanti e prendere di mira URL casuali utilizzando link di riferimento e agenti utente casuali.

Attacchi al protocollo

Scopo dell'attacco:

Gli attacchi al protocollo, noti anche come attacchi di tipo state-exhaustion o esaurimento dello stato, causano un'interruzione del servizio consumando tutta la capacità disponibile, a livello di tabelle di stato, dei server dedicati ad applicazioni Web o risorse intermedie come firewall e sistemi di bilanciamento del carico. Gli attacchi ai protocollo sfruttano i punti deboli del livello 3 e 4 dello stack di protocollo per rendere inaccessibile la vittima.

Esempio di attacco al protocollo:

Attacco DDoS Syn Flood

SYN Flood

Un SYN Flood può essere paragonato a un addetto del magazzino nel retrobottega che riceve richieste dal banco del negozio. L’addetto riceve una richiesta, prende il pacco nel magazzino e attende la conferma prima di portare il pacco al banco. In seguito l’addetto riceve molte altre richieste di pacchi senza ricevere conferma fino a quando non riesce a trasportare altri pacchi, è sopraffatto dalle richieste e queste iniziano a rimanere inevase.

Questo attacco sfrutta l'handshake TCP inviando a un bersaglio un gran numero di pacchetti SYN di richiesta di connessione iniziale (Initial Connection Request) TCP con indirizzi IP di origine contraffatta. La macchina designata risponde a ogni richiesta di connessione e quindi attende il passaggio finale del processo di handshake, che non si verifica mai, esaurendo le risorse della vittima.

Attacchi volumetrici

Scopo dell'attacco:

Questa categoria di attacchi tenta di creare congestione consumando tutta la larghezza di banda disponibile tra il bersaglio e Internet. Alla vittima vengono inviate grandi quantità di dati utilizzando una forma di amplificazione o un altro mezzo per creare traffico massiccio, ad esempio le richieste provenienti da una botnet.

Esempio di amplificazione:

Attacco di amplificazione NTP

Amplificazione DNS

Un'amplificazione DNS equivale a qualcuno che telefona a un ristorante affermando: "Avrò uno di tutto, richiamami ed elencami il mio ordine completo", dove il numero di telefono di richiamata indicato è il numero della vittima. Con pochissimo sforzo, viene generata una lunga risposta.

Effettuando una richiesta a un server DNS aperto con un indirizzo IP contraffatto, ovvero l’indirizzo IP della vittima designata, sarà quest’ultimo a ricevere la risposta dal server. L'aggressore struttura la richiesta in modo tale che il server DNS risponda all’indirizzo della vittima inviando una grande quantità di dati. Di conseguenza, la vittima riceverà un'amplificazione dell’iniziale richiesta dell’aggressore.

Qual è il processo per mitigare un attacco DDoS?

Nella mitigazione di un attacco DDoS il problema principale è riuscire a distinguere tra traffico di attacco e traffico normale. Ad esempio, se in seguito al rilascio di un prodotto il sito Web di una società viene invaso da una folla di clienti interessati, interrompere tutto il traffico è un errore. Se quella società improvvisamente subisce un'impennata nel traffico proveniente da soggetti ostili noti, con tutta probabilità sarà necessario un certo impegno per mitigare un attacco. La difficoltà starà nel distinguere il cliente reale dal traffico di attacco.

Nella moderna Internet il traffico DDoS assume molteplici forme. Il traffico può variare schema, da attacchi provenienti da una singola fonte non contraffatta ad attacchi multi-vettore complessi e adattivi. Un attacco DDoS multi-vettore utilizza percorsi di attacco multipli al fine di sopraffare la vittima in diversi modi, possibilmente parando gli sforzi di mitigazione da ogni parte. Un attacco che colpisce contemporaneamente più livelli dello stack di protocollo, quale un'amplificazione DNS (che mira ai livelli 3/4) combinata a un HTTP flood (che mira al livello 7) è un esempio di attacco DDoS multi-vettore.

Mitigare un attacco DDoS multi-vettore richiede una varietà di strategie per contrastare percorsi di infezione diversi. In generale, quanto più complesso è l'attacco, tanto più sarà difficile distinguerlo dal traffico normale. L'obiettivo dell'aggressore è infatti quello di mimetizzarsi al massimo, rendendo la mitigazione il più inefficiente possibile. I tentativi di mitigazione che implicano l'abbandono totale o la limitazione indiscriminata del traffico possono finire per escludere il traffico legittimo insieme a quello che non lo è. Inoltre l'attacco può pure modificarsi e adattarsi per eludere le contromisure. Al fine di superare un complesso tentativo di blocco, una soluzione a più livelli offrirà il massimo beneficio.

Incanalamento verso un buco nero o Black Hole Routing

Una soluzione disponibile praticamente per tutti gli amministratori di rete è quella di creare un buco nero o blackhole e incanalare il traffico verso tale percorso. Nella sua forma più semplice, quando viene implementato il filtro del buco nero senza specifici criteri di restrizione, sia il traffico di rete legittimo che quello dannoso viene instradato verso un percorso nullo ed eliminato dalla rete. Se una proprietà Internet è vittima di un attacco DDoS, come difesa il provider di servizi Internet (ISP) della proprietà può inviare tutto il traffico del sito in un buco nero.

Rate Limiting

Limitare il numero di richieste che un server può accettare in un determinato intervallo di tempo è pure un modo per mitigare gli attacchi denial-of-service. Sebbene la tecnica del rate limiting sia utile per rallentare il furto di contenuti da parte dei pirati del Web e mitigarne i tentativi di accesso con forza bruta, da sola è probabilmente insufficiente a gestire con efficacia un attacco DDoS complesso. Tuttavia, rappresenta una componente utile per una valida strategia di mitigazione DDoS. Approfondimento sulla tecnica di rate limiting di Cloudflare

Web Application Firewall

Un Web Application Firewall (WAF) è uno strumento che può aiutare a mitigare un attacco DDoS al livello 7. Inserendo un WAF tra Internet e un server di origine, il WAF può fungere da proxy inverso, proteggendo il server designato da determinati tipi di traffico dannoso. Filtrando le richieste in base a una serie di regole utilizzate per identificare gli strumenti DDoS, è possibile impedire gli attacchi al livello 7. La caratteristica basilare di un WAF efficace è la capacità di implementare rapidamente regole personalizzate in risposta a un attacco. Approfondimento sul WAF di Cloudflare

Dissipazione attraverso l’Anycast Network

Questo approccio di mitigazione si avvale di una rete Anycast per disperdere il traffico di attacco attraverso una rete di server distribuiti in modo che venga assorbito dalla rete. Alla stessa stregua in cui un fiume che scorre veloce viene incanalato in canali separati più piccoli, questo approccio disperde l'impatto del traffico di attacco distribuito fino a quando diventa gestibile, dissipando così qualsiasi capacità dirompente.

L'affidabilità di una Anycast Network nella mitigazione di un attacco DDoS dipende dall'entità dell'attacco e dalle dimensioni e dall'efficienza della rete. Una caratteristica importante della mitigazione DDoS attuata da Cloudflare è costituita dall'uso di una rete distribuita Anycast. Cloudflare ha una rete di 25 Tbps, vale a dire quasi venti volte maggiore del più vasto attacco DDoS mai registrato.

Se si è sotto attacco, si possono immediatamente adottare alcune misure per alleviare la pressione. Se si è già utenti Cloudflare, per mitigare l’attacco si possono seguire questi passaggi. La protezione DDoS di Cloudflare è sfaccettata per consentire di mitigare i numerosi possibili vettori di attacco. Approfondimento: la protezione DDoS di Cloudflare e come funziona.