Che cos'è un attacco DDoS? Come funzionano + Strategie di protezione
Un attacco DDoS (Distributed Denial of Service) è un tentativo illegale di rendere non disponibile un sito Web sovraccaricando il suo server con elevate quantità di traffico falso.
L'assalto di richieste di connessione dannose pone i visitatori legittimi in fondo a una coda di traffico incessante che impedisce il caricamento del sito web.
Gli obiettivi non includono solo i server web, ma un attacco DDoS può interrompere qualsiasi servizio connesso a Internet come reti, database, dispositivi mobili e persino funzioni specifiche delle applicazioni.
Come funziona un attacco DDoS?
Un attacco DDoS inizia compromettendo una serie di dispositivi IoT (Internet of Things). Ogni dispositivo IoT preso di mira viene infettato da malware in modo che possa essere controllato da remoto e quindi collegato ad altri dispositivi inclusi, creando una botnet.
Non c'è limite alle dimensioni di una botnet, potrebbero estendersi in tutto il mondo. Con una botnet abbastanza grande, le richieste di traffico dannoso continueranno ad accumularsi e, se sono tutte dirette a un singolo obiettivo, le riserve di RAM e CPU del server non avranno alcuna possibilità di far fronte alla domanda di traffico.
Qual è la differenza tra un attacco DoS e un attacco DDoS?
In un attacco DoS, le richieste di connessione dannose vengono inviate da un solo dispositivo compromesso, ma in un attacco DDoS, il traffico dannoso viene inviato da più dispositivi compromessi.

Tipi di attacchi DDoS
Tutti gli attacchi DDoS hanno un unico obiettivo: sovraccaricare le risorse online fino a non rispondere.
Esistono tre categorie principali di attacchi DDoS:
1. Attacchi DDoS basati sul volume
L'attacco basato sul volume dirige e sovraccarica la quantità di traffico sulle risorse web. L'entità di questi attacchi è misurata in bit al secondo (Bps). Gli attacchi basati sul volume includono attacchi flood ICMP, attacchi flood UDP e altri attacchi a pacchetti falsificati.
Che cos'è un attacco ICMP Flood?
Le richieste echo ICMP (Internet Control Message Protocol) vengono normalmente inviate ai dispositivi di rete per diagnosticarne lo stato di integrità. Ogni dispositivo di destinazione risponde con una risposta echo, delineando la sua condizione attuale. Un attacco ICMP flood (noto anche come attacco ping flood) invia un'elevata entità di richieste echo con conseguente numero altrettanto elevato di pacchetti di risposta, sovraccaricando il dispositivo di destinazione.
Affinché sia possibile un attacco ICMP flood, un utente malintenzionato deve conoscere l'indirizzo IP del bersaglio. Esistono tre categorie di attacchi ICMP, identificati dal metodo di recupero dell'indirizzo IP:
- Targeted local disclosed - Questo tipo di attacco DDoS richiede la conoscenza dell'indirizzo IP del bersaglio. Un attacco invia un'ondata di traffico a un computer o dispositivo specifico.
- Router divulgato: questo tipo di attacco DDoS richiede la conoscenza dell'indirizzo IP interno di un router locale. Le richieste di rete vengono quindi inviate al router per interrompere le comunicazioni di rete.
- Blind ping: comporta una campagna di ricognizione per scoprire l'indirizzo IP di un bersaglio per rendere possibile un attacco DDoS.
Che cos'è un attacco UDP Flood?
Un attacco UDP flood sfrutta la sequenza di risposta naturale di un server ai pacchetti UDP (User Datagram Protocol). In condizioni normali, la risposta di un server ai pacchetti UDP su ciascuna porta è un processo in due fasi:
- Il server verifica se i programmi in esecuzione associati ai datagrammi richiesti utilizzano la porta specificata.
- Quando non vengono trovate applicazioni di questo tipo, il server risponde con un pacchetto ICMP - "Destination Unreachable".
Durante un attacco UDP flood, un server preso di mira viene inondato da tali richieste, causando un sovraccarico e il negazione del servizio al traffico legittimo.
Come mitigare gli attacchi UDP Flood
Il metodo standard per mitigare l'attacco UDP flood consiste nel limitare la velocità di risposta dei pacchetti ICMP. Tuttavia, questa strategia di difesa presenta due svantaggi principali:
- È probabile che un tale metodo di filtraggio binario rifiuti anche le richieste di pacchetti legittime.
- Se l'attacco UDP flood è sufficientemente grande, la tabella di stato e il firewall del server saranno sovraccarichi. Ciò comporterà un collo di bottiglia catastrofico dei pacchetti UDP che si verificherà a monte del server di destinazione.
Un metodo migliore per mitigare gli attacchi UDP flood consiste nell'implementare meccanismi di difesa a monte piuttosto che a livello fisico. In questo modo si eviterà che la dipendenza da una larghezza di banda venga esaurita dai pacchetti dell'attacco informatico.
2. Attacchi DDoS a livello di protocollo o di rete
Gli attacchi DDoS a livello di protocollo o di rete indirizzano un volume elevato di pacchetti verso gli strumenti di gestione e le infrastrutture di rete. Il volume di questi attacchi è misurato in pacchetti al secondo (PPS). Questi tipi di attacchi includono i SYN flood e gli attacchi DDoS Smurf.
Che cos'è un attacco SYN Flood?
Durante le normali condizioni operative, un client invia un SYN a un server che poi risponde con un messaggio SYN+ACK. Mentre il server attende una risposta SYN+ACK dal client, le informazioni sullo stato vengono memorizzate in un buffer TCP.
Durante un attacco SYN flood, un volume elevato di packer SYN viene inviato a un server da indirizzi IP falsificati che non forniscono mai una risposta SYN-ACK quando il server li richiede. Il risultato è che il buffer TCP raggiunge il limite, causando il sovraccarico di tutte le connessioni delle porte aperte, che a sua volta comporta il rifiuto da parte del server di qualsiasi nuova connessione TCP.
Come mitigare gli attacchi SYN Flood
Esistono tre metodi per mitigare gli attacchi SYN flood:
1. Sovrascrivi le connessioni TCP semiaperte senior
Per evitare la composizione delle richieste di backlog, la connessione TCP semiaperta meno recente deve essere stata riciclata ogni volta che il backlog è stato riempito. Questo processo di connessione ciclico mitigherà gli attacchi SYN solo se le connessioni possono essere stabilite più velocemente di quanto il backlog venga riempito.
L'aumento del limite di backlog potrebbe far guadagnare al server tempo sufficiente per riciclare la connessione TCP meno recente prima che la coda di backlog sia esaurita.
2. Aumentare il limite di backlog
Per aumentare il limite della coda di backlog, il sistema operativo necessita di memoria sufficiente per sostenere le maggiori richieste di elaborazione di un backlog più grande. In caso contrario, le prestazioni potrebbero essere ostacolate.
Se la larghezza di banda della memoria è sufficiente, aumentare il numero massimo di possibili connessioni semiaperte.
Con l'aumento della coda di backlog, il sistema dovrebbe funzionare per un periodo di tempo più lungo durante un attacco SYN flood, concedendo più tempo per identificare e bloccare l'indirizzo IP falsificato che avvia l'attacco.
3. Creare cookie TCP SYN
>Un cookie TCP SYN crea un ulteriore livello di sicurezza del protocollo all'interno dei bilanciatori di carico e dei motori DDoS. Questo metodo di mitigazione rimuove il requisito di un buffer TCP e le relative limitazioni di archiviazione. La tabella degli stati viene sostituita con una funzione matematica che calcola il numero di sequenza TCP collegato a ciascuna risposta SYN-ACK.
Ogni pacchetto ACK ricevuto viene confrontato con il numero di sequenza TCP previsto calcolato dalla funzione matematica. L'allineamento conferma la richiesta di connessione legittima che viene quindi stabilita normalmente.
Prima di implementare i cookie SYN su un server, assicurati di verificarne le capacità di elaborazione. Alcuni server x86 non sono in grado di soddisfare i requisiti di elaborazione dei calcoli delle sequenze TCP abbastanza velocemente da soddisfare le esigenze di connessione spoofing.
4. Usa un firewall
Un firewall può sostituire i cookie SYN e la preoccupazione di sovraccaricare le risorse del server, se è in grado di monitorare la tabella di stato e bloccare le nuove connessioni oltre un limite specifico. Fortunatamente, la maggior parte dei server moderni è in grado di farlo.
I firewall intelligenti sono in grado di identificare un attacco SYN flood monitorando i pacchetti SYN al secondo e di rispondere liberando le connessioni semiaperte per mantenere la disponibilità. È disponibile un firewall compatibile che mantiene la connettività agli utenti legittimi durante un attacco ad alto volume.
I firewall di livello inferiore, tuttavia, dispongono di filtri di attacco SYN rudimentali che possono rifiutare sessioni TCP legittime durante un attacco SYN flood.
Che cos'è un attacco DDoS Puffo?
Durante un attacco Smurf, un ping illegittimo viene inviato ai computer in rete dal server preso di mira falsificando il suo indirizzo IP, costringendo ogni destinatario a rispondere con un aggiornamento operativo.
Poiché tali ping non vengono verificati con una stretta di mano, possono essere composti senza limitazioni. Il risultato è che i computer in rete lanciano un attacco DDoS contro il proprio server.
Come mitigare gli attacchi DDoS degli Smurf
La maggior parte dei vettori di attacco che rendevano possibile l'attacco dei Puffi sono stati corretti. Tuttavia, alcuni sistemi legacy sono ancora vulnerabili a questa tattica DDoS autolesionista.
Una soluzione di mitigazione rapida consiste nel disabilitare tutti gli indirizzi di trasmissione IP in ogni firewall e router di rete. È probabile che questa impostazione sia disabilitata sui nuovi router, ma è probabile che sia abilitata sui router legacy.
3. Attacchi a livello di applicazione
Durante un attacco DDoS successivo all'applicazione, noto anche come attacco di livello 7 (L7), viene preso di mira il più tardi del modello OSI. È qui che si verificano le richieste di pacchetti ad alto traffico: HTTP, GET e HTTP Post.
Segnali di avvertimento per attacchi DDoS
Un sito Web che si carica in modo insolitamente lento potrebbe essere la prova di un attacco DDoS in corso. Se questo passa a un messaggio Server 503 inaffidabile, è probabile che si stia verificando un attacco DDoS.

A questo punto, è fondamentale un'ulteriore verifica immediata. A tale scopo, è possibile generare un registro di tutte le richieste attive del server dall'interfaccia del registro dei comandi (CLI).
Durante un attacco DDoS, il registro dei comandi indicherà più connessioni a una singola porta del server dallo stesso indirizzo IP.
