Esaurimento Risorse OS: OS Exhaustion Flood (T1499.001)

La tecnica T1499.001 — OS Exhaustion Flood rientra nella tattica TA0040 (Impact) del framework MITRE ATT&CK e descrive attacchi di denial of service che mirano a saturare non le risorse hardware in senso stretto, ma i limiti che il sistema operativo impone a se stesso nella gestione dello stack di rete. L'obiettivo dell'attaccante è rendere indisponibile un servizio esaurendo strutture dati come la tabella di stato TCP, il backlog delle connessioni half-open o le code di socket in kernel.

I due pattern più classici sono il SYN flood, in cui il three-way handshake viene volutamente lasciato incompleto per riempire il backlog delle connessioni in stato SYN_RECV, e l'ACK flood, che sfrutta la natura stateful di TCP costringendo il kernel a scandire l'intera tabella di stato per ogni pacchetto ACK privo di connessione corrispondente. In entrambi i casi il risultato è un degrado della responsività del servizio anche quando CPU e banda non risultano completamente saturate.

L'impatto operativo è significativo: il servizio target diventa irraggiungibile, ma spesso l'attacco viene usato anche come diversivo per mascherare intrusioni parallele. La collocazione nella kill chain è terminale — fase di Impact — e nei playbook di risposta va gestita insieme al monitoraggio di attività laterali sospette che potrebbero sfruttare la distrazione del team difensivo.

Per riprodurre T1499.001 in un contesto di red team autorizzato, l'ambiente di riferimento è un laboratorio isolato con generatori di traffico controllati e un target rappresentativo (tipicamente un server nginx o un servizio TCP legacy) su cui misurare la degradazione. La regola operativa è tassativa: nessun test contro infrastrutture di terzi o di produzione senza autorizzazione scritta.

Lo strumento storico per generare SYN flood è hping3 (open source), disponibile nei repository standard di Kali e Debian. Un test controllato di SYN flood contro un target di laboratorio si esegue tipicamente con una sintassi del tipo:

hping3 -S -p 80 --flood --rand-source

Il flag -S imposta il flag SYN, --flood rimuove il rate limiting interno e --rand-source randomizza gli indirizzi sorgente per simulare uno scenario distribuito. Per l'ACK flood si sostituisce -S con -A, ottenendo pacchetti ACK privi di connessione associata che forzano il kernel target a scansionare la tabella di stato.

Un'alternativa più moderna è hping3 integrato in script Python con Scapy (open source), che consente maggiore controllo sui campi TCP e sulla generazione di sequence number pseudo-casuali. Scapy si presta bene a test di ricerca perché permette di misurare la soglia oltre la quale il target inizia a droppare connessioni legittime. Per volumi più elevati in laboratorio si utilizza TRex (open source, sviluppato da Cisco), un generatore di traffico stateful capace di saturare interfacce da 10Gbps e oltre.

Durante il test, l'ethical hacker deve strumentare il target per raccogliere metriche significative: numero di connessioni in stato SYN_RECV (osservabile con ss -tan state syn-recv su Linux), utilizzo di CPU in softirq, e latenza di risposta di un client legittimo che tenta connessioni parallele. Questo permette di distinguere tra un attacco che satura effettivamente il backlog e uno che invece degrada la macchina per altre vie (interrupt storm, ad esempio).

Lato mitigazioni da validare nel post-test, vanno verificate configurazioni come SYN cookies (parametro net.ipv4.tcp_syncookies su Linux), tuning di tcp_max_syn_backlog, e presenza di appliance upstream. Il report al cliente deve includere la soglia di traffico oltre la quale il servizio degrada, il tempo di recovery dopo la cessazione del flood, e raccomandazioni concrete su rate limiting a livello di edge firewall o CDN. Tool come iperf3 (open source) servono invece a stabilire la baseline di banda utile prima del test.

Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?

Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo

TEST GRATUITO
2 minuti · 7 domande Che professionista cyber sei? Scopri il profilo più vicino al tuo modo di pensare e inizia dal percorso giusto.