Non Sempre un Attacco DoS è un Attacco DoS

Cos’è un attacco DoS, e come funziona? Spesso quando si parla di attacco DoS (Denial of Service), lo si fa in modo superficiale. Occorre uno sguardo più attento per scoprire che dietro ad un’operazione coronata da successo ci sono elementi che a prima vista possono sfuggire. Non sempre l’obiettivo di un attacco DoS è quello dichiarato; non sempre un attacco DoS è un banale “flooding”; e non sempre un attacco DoS è un attacco DoS…

Bruce Sterling nel suo libro “Giro di vite contro gli hacker”, racconta che il 15 gennaio 1990 gli Stati Uniti furono vittima di un clamoroso blackout del sistema telefonico che  coinvolse 60000 utenti. La causa di quel DoS non fu un attacco, ma un aggiornamento software, aggiornamento che però introdusse un bug, facendo collassare il sistema.

Contrariamente a quanto comunemente creduto, il Denial of Service (DoS) non è un attacco informatico, ma una condizione (la condizione di “negazione del servizio”) che può avere origini disparate (errore di programmazione, errore di configurazione, guasto hardware). Il DoS può essere sfruttato, ma può anche anche essere indotto: in questo caso si può parlare propriamente di attacco DoS.

Come tutti gli attacchi informatici, l’attacco DoS deve essere pianificato. La raccolta di informazioni sull’obiettivo e la conoscenza delle tecniche idonee, unitamente alle circostantze tattiche, alle finalità strategiche e alle risorse a disposizione determinano il tipo di attacco da portare contro il target prestabilito e determinano la riuscita dell’azione.

Se restringiamo la gamma di attacchi DoS che possono essere portati attraverso Internet, possiamo identificare tre categorie principali. In questo articolo presento alcune tecniche che seppur superate e non più funzionanti, sono di fatto archetipi che si possono ritrovare anche negli attacchi DoS attuali, e possono indicare la via che conduce alla scoperta di nuove tecniche che funzioneranno in futuro.

Attacchi basati sulle vulnerabilità
Questi attacchi si basano su bug di applicazioni e/o sistemi operativi. Alcuni anni fa erano celebri il  Ping of Death e il Teardrop, che sfruttavano in modo diverso errori di implementazione del protocollo Ip, per essere più precisi sulle dimensioni di pacchetti ICMP Echo, e sulla ricomposizione di pacchetti Ip frammentati.

Esaurimento di risorse
Altra categoria di attacchi DoS è quello dell’esaurimenti di risorse. Nel caso di Syn Flooding, l’attacco viene portato sfruttando il meccanismo di handshake del protocollo Tcp che si svolge in tre fasi; una connessione Tcp viene stabilità al termine dell’ultima fase della negoziazione. Il Syn Flooding invia richieste di connessione (con il flag SYN attivato) da più host (spoofing), senza mai portarle a termine. Questo fa si che l’host sotto attacco continui a riservare risorse dove parcheggiare le richieste di connessione incomplete. Una volte esaurite le risorse disponibili, il server smette di rispondere e le ulteriori richieste (anche di utenti legittimi), vengonoo rifiutate.

Esaurimento di banda
Si tratta forse dell’attacco più rozzo da portare, l’obiettivo è saturare la banda dell’host “nemico”. In questo campo l’attacco più diffuso è probabilmente il Ping Flooding: basta inviare continuamentr pacchetti ping corposi per tentare di occupare tutta la banda dell’avversario. Chiaramente vince chi ha più “potenza di fuoco”.

Amplificatori
Se i Ping Flooding, ovvero gli attacchi ad esaurimento di banda sono abbastanza grezzi e necessitano di una potenza di fuoco superiore all’avversario per poter aver successo, esistono varianti più sofisticate che consentono di “floodare” connessioni di portata assai maggiore di quella a disposizione dell’attacker. Sto parlando dei DRDoS (Distribuited Reflected Denial of Service). Questi attacchi asimmetrici sfruttano “amplificatori” e tecniche di spoofing per sommergere la vittima di traffico sorverchiante in grado di saturare la banda.

Smurf
Il più celebre di questo tipo di attacchi è noto come Smurf. Il cugino meno noto, l’attacco Fraggle, al posto del protocollo ICMP è basato sull’UDP, ma si tratta sostanzialmente delle stessa cosa. Il funzionamento è il seguente: il pirata invia pacchetti ICMP verso un amplificatore; ma questi pacchetti sono spoofati ed hanno come indirizzo sorgente (al quale l’amplificatore risponde) l’indirizzo Ip della vittima. Un amplificatore è qualsiasi cosa escogitabile che funga da fattore di moltiplicazione. Nel caso dell’attacco Smurf si tratta di router che restituiscono risposte ad un’interrogazione broadcast: per ogni singolo pacchetto dati (spoofato con l’indirizzo della vittima), l’amplificatore risponde con una quantità di pacchetti pari al numero degli host collegati a quella rete (broadcast). Quindi inviando un pacchetto all’indirizzo di broadcast dell’amplificatore, la vittima riceverà decine o centinaia di pacchetti di risposta.

DDoS
Il Distribuited Denila of Service è probabilmente il tipo di attacco più noto e quello più impiegato nelle attuali cyberwarfare, dall’attacco all’Estonia alle recenti peripezie di Anonymous Group.
Questo tipo di attacco si basa banalmente sulla quantità: più la botnet (rete di droni controllati dal botmaster) è vasta, più alte sono le probabilità che l’attacco abbia successo.

Finalità degli attacchi DoS
A cosa servono gli attacchi DoS? Nella maggior parte dei casi servono semplicemente per portare un disagio a qualcuno, o come forma di protesta (hacktivism). In alcuni casi l’attacco DoS può essere accompagnato da richieste di denaro, veri e propri ricatti in stile mafioso: finchè la vittima non paga, l’atatcco continua e il servizio rimane inaccessibile.
Infine gli attacchi DoS possono far parte di una strategia articolata, sabotaggio di particolari servizi come elemento di un’operazione più vasta. Nel celebre attacco di natale, Kevin Mitnick sfrutto un attacco di Syn Flooding per mettere fuori gioco un host che il Condor stesso stava “impersonando” tramite blind spoofing.