| Undefined
Con il termine DDos (Distributed Denial of Service) si indica la negazione e la conseguente indisponibilità di un servizio web causato da un sovraccarico, anche temporaneo, di risorse di rete. Il risultato dell’attacco è la non raggiungibilità del sito, con il conseguente disagio degli utenti legittimi.
Nel caso di un numero imprevisto di richieste scatenato da più fonti contemporaneamente attraverso un attacco informatico coordinato ad hoc, i criminali informatici riescono a realizzare l’attacco, individuando dapprima le falle di sicurezza nei sistemi operativi e vulnerabilità software da sfruttare, qualora esistenti e non risolte, per dopo innescare la reazione che porta alla compromissione dell’operatività ad esempio attraverso vaste reti distribuite composte da migliaia di computer e sempre più di frequente da dispositivi IoT compromessi che colpiscono tutti simultaneamente il target designato.
Attacco DDoS e saturazione delle risorse
Creando disservizi (ad esempio per motivi politici, dimostrativi), le strategie adottate per ottenere una severa saturazione della banda di trasmissione o delle risorse di un sistema possono coinvolgere diversi livelli dello stack protocollare TCP/IP (ad esempio, gli attacchi ai livelli TCP e IP, generando un volume elevato di traffico mirano a colpire l’infrastruttura di rete, sovraccaricando la capacità delle risorse, dei server e delle applicazioni). Tutte le soluzioni eventualmente adottate dagli attaccanti possono essere comunque utilizzate in combinazione per aumentare l’efficacia dell’attacco DDoS nel suo complesso.
Le declinazioni dell’attacco
Sfruttando il fatto che un server web può instaurare solo un certo numero di connessioni secondo un predeterminato suo dimensionamento, questo limite può venire superato con una inondazione (flooding) di richieste anomale, comportando il blocco di tutti servizi erogati dal server colpito. Ecco alcune possibili declinazioni del flooding:
- Ping flooding. Attraverso l’ausilio di botnet vengono solitamente inviati in massa ai target designati dei pacchetti ICMP di echo request. Il ping flooding, se non adeguatamente gestito può innescare un processo che consuma velocemente tutte le risorse disponibili, creando l’indisponibilità del servizio.
- SYN flooding. Questo schema di attacco sfrutta un abuso della procedura Threeway Handshake del protocollo TCP (Transmission Control Protocol). Il protocollo di rete TCP si occupa di garantire un traffico dati senza perdite tramite una connessione costituita da un’autenticazione in tre passaggi:
- un client invia un pacchetto di sincronizzazione SYN a un server;
- il server accetta e reinvia a sua volta un altro messaggio SYN e uno di risposta ACK;
- la connessione viene chiusa da una conferma ACK lato client.
Durante questa procedura qualora il server dovesse conservare diverse connessioni non concluse perché mancanti delle relative conferme SYN e ACK, la presenza di molte di queste connessioni semiaperte se non adeguatamente gestita potrebbe rendere le risorse del server completamente occupate.
- UDP flooding. Anche il protocollo UDP (User Datagram Protocol) la versione connectionless del protocollo TCP può essere vulnerabile al flooding. A differenza di una trasmissione TCP, una comunicazione dati può instaurarsi senza una connessione in tre passaggi. In questi casi per sovraccaricare i sistemi, compromettendone la relativa disponibilità, i pacchetti UDP vengono inviati in grandi quantità indicando dei numeri di porta che si riferiscono a delle applicazioni non presenti nel sistema target, il quale non riuscendo a individuare alcuna applicazione risponde ad ogni richiesta con un pacchetto ICMP per host di destinazione non raggiungibile.
- HTTP flooding. In questo scenario d’attacco si mira a sovraccaricare le risorse di sistema, inondando il server web target con molte richieste HTTP (protocollo di livello applicazione) fino a renderlo non più raggiungibile a causa delle numerose richieste non gestite.
Attacco DDoS Slow HTTP
È un tipo di attacco DDoS che sfrutta una vulnerabilità nella gestione delle connessioni HTTP da parte del server di destinazione. In pratica, l’attacco mira a tenere aperte molte connessioni HTTP con il server di destinazione, impedendogli di elaborare nuove richieste. Poiché l’attaccante non completa mai la richiesta, il server continua ad attendere, mantenendo la connessione occupata. Una volta raggiunto il numero massimo di connessioni, il servizio rallenta fino a divenire indisponibile.
Gli attacchi DDoS amplificati
Gli attacchi DDoS che si basano su tecniche reflection/amplification colpiscono determinati obiettivi amplificando la loro portata (generando traffico dati dell’ordine dei Terabit) sfruttando le risorse di server di terze parti di tipo memcached (ovvero dotati di un sistema di gestione della memoria in forma distribuita e ad alte prestazioni per l’elaborazione di grosse quantità di dati) lasciati esposti in rete senza un’adeguata protezione. Si rammentano al riguardo gli attacchi subiti dai sistemi GitHub (con carico di picco pari a 1,3 Tbps) nel 2018 e dai sistemi AWS (con carico di picco pari a 2,3 Tbps) nel 2020.
Possibili misure di mitigazione
Come misure di mitigazione per contrastare un sovraccarico dei sistemi informatici e smorzare gli effetti di un attacco DDoS si possono adottare diverse tecniche:
- Adottare una seria politica di gestione delle patch per risolvere le vulnerabilità di sicurezza;
- mettere a disposizione risorse hardware e software da utilizzare come vasi di espansione, confinando ad esempio le risorse di calcolo su reti Content Distribution Network (CDN) o su sistemi di load balancing.
Per ridurre i punti potenzialmente vulnerabili, è possibile e risulta estremamente efficace anche limitare e monitorare il traffico dati, proveniente da rete pubblica e diretto verso determinate zone dell’infrastruttura di rete, utilizzando:
- Blacklist/ACL (Access Control List) per identificare e bloccare indirizzi IP considerati malevoli;
- Web Application Firewall (WAF) per prevenire richieste illegittime e il mascheramento di un traffico dati anomalo.