Cosa è e come funziona un attacco Distributed Denial of Service

Tempo di lettura: 8 minuti
Data pubblicazione: April 27, 2018

Come anticipato nello scorso articolo, eccoci qui ad introdurre gli attacchi DDoS, attacchi che hanno preso una piega sempre peggiore negli ultimi anni, a causa di una massiccia presenza di device connessi e interconnessi tra di loro, capacità di banda che aumenta esponenzialmente e, come sempre, vulnerabilità non patchate o mal gestite.

Cosa è un attacco DDoS

Tipico attacco DDoS
Tipico attacco DDoS

Gli Attacchi Distributed Denial of Service sono appunto attacchi Denial of Service distribuiti, cioè composti da diversi host (detti anche zombie, a causa del fatto che ignorano di far parte dell’attacco) I quali, a causa di malconfigurazioni, vengono utilizzati dagli attaccanti per colpire una vittima.

La generazione di traffico avviene in molti modi, tra I quali:

  • Application explotation: ad esempio Brobos, il quale richiedeva e stabiliva una connessione TCP con la vittima, inviava un carattere e chiudeva la connessione immediatamente;
  • Botnets: come nel caso di YoyoDDos;
  • Amplification vulnerabilities: essi sfruttano vulnerabilità che permettono l’amplificazione di banda, ad esempio l’attacco NTP Amplification;
  • Loic: famoso programma  open-source che permette di lanciare attacchi DDoS senza nessuna conoscenza tecnica

Un attacco di questo tipo ha quattro fasi principali:

  1. Selezione di agenti: vengono selezionati gli host in base alla loro natura, ossia in base alla loro (mis)configurazione. Potrebbero essere infatti dispositivi IoT con password di default, server vulnerabili ad precisi bug ed utilizzati per amplicifare e, ove possibile, potenziare l’attacco;
  2. Compromissione: fase attiva in cui si vanno a compromettere le macchine, installando software maligni o trojan in maniera tale da avere il controllo delle stesse. Altrimenti si potrebbe passare per il mercato nero, tramite la tecnica Pay-Per.Install e comprare host senza doverli infettare direttamente;
  3. Comunicazione con gli zombie in base al tipo di attacco;
  4. Attacco effettivo.

Tipologie di attacchi

In base al protocollo che si sfrutta per attaccare, ci possono essere due livelli:

  1. Applicazione: utilizzano quindi connessioni HTTP o HTTPS per inviare il traffico alla vittima;
  2. Trasporto o di rete: in questo caso sono attacchi su altri protocolli. Come ICMP, UDP o TCP.

 DRDoS

Mentre nei DDoS gli attacchi sono diretti, ossia dall’attaccante agli zombie alla vittima, I Distributed Reflected Denial of Service sono attacchi riflessi, dove sono presenti degli host innocenti che contengono vulnerabilità, in modo tale da poter amplificare l’attacco. I casi di DoS amplificati sono molteplici, è importante notare come la potenza dell’amplificazione varia molto in base al tipo di vulnerabilità in oggetto. Alcuni casi avvenuti sono stati:

  • DNS: ha una potenza da 28 a 54 volte maggiore rispetto alla banda in ingresso, è una popolare forma di DDoS che utilizza server aperti accessibili a chiunque per colpire la vittima di traffico DNS;
  • NTP: ha una potenza fino a 556 volte maggiore rispetto alla banda in ingresso, utilizza server NTP accessibili per colpire la vittima di traffico UDP;
  • SSDP: sembra banale, ma questo è un classico caso di HTTP Flood, nel quale un attaccante utilizza richieste GET/POST valide tramite un normale URL per inondare la vittima di traffico. Queste possono essere richieste casuali ad URL non esistenti, o ricerche tramite il form.
  • Chargen: il protocollo UDP Character Generator Protocol viene utilizzato a fini di testing e/o debugging ma che può essere abusato se si un gran numero di pacchetti UDP con indirizzi della vittima. Esso ha una potenza che raggiunge le 358 volte maggiori rispetto all’input.

Alcuni attacchi possono invece essere distinti sulla base della dinamicità della velocità:

  1. Attacchi costanti: sono solitamente i più comuni ma hanno breve durata. Gli zombie ricevono contemporaneamente il comando di attaccare dal C&C e lo eseguono per un certo periodo di tempo;
  2. Attacchi in aumento costante: invece che colpire contemporaneamente, viene aumentato il traffico osservando il comportamento della vittima, in modo da analizzare le capacità della stessa e regolarsi di conseguenza;
  3. Attacchi ad impulso: in questo modo è possibile evitare, per un certo periodo di tempo, il blocco completo da parte del firewall o del dispositivo atto a difendere la vittima, poichè viene eseguito l’attacco, fermato dopo poco e poi eseguito nuovamente;
  4. Attacchi a gruppi: molto simile all’attacco ad impulso, ma questa volta sono presenti gruppi, attivati e disattivati in differenti combinazioni.

Tipologie di difese possibili

Un’azienda può difendersi con molteplici modi I quali hanno diverse sfaccettature sulla base dall’approccio usato, sulla natura del controllo applicato, sull’’infrastruttura e via discorrendo.

Basate sull’approccio

L’approccio è costruito sulla base di diversi obiettivi, tra i quali l’identificazione di un attacco prima che diventi effettivo, la prevenzione dello stesso sulla base di fattori esterni, una reazione appropriata per l’identificatione di attacchi e la tolleranza della rete ai ddos.

Basate sulla natura del controllo

Si possono utilizzare tre principali metodi per prevenire e rilavare un attacco DDoS

  • difesa centralizata: ogni dispositivo genera avvisi che invia ad un motore centralizzato, il quale analizza e identifica una possibile minaccia o pericolo. Questo approccio è comodo ma il server centralizzato è un punto critico, in quanto nel caso di un collasso non si avrebbe più protezione.
  • difesa gerarchica: in questo caso l’intero sistema è composto da diversi sottosistemi, ognuno dei quali è in grado di gestire alert di un certo livello. Nel caso di molteplici attacchi di medio e basso livello, questi non andranno ad impattare al server centrale ma ai sottosistemi, i quali avranno modo di dividersi il carico di lavoro;
Sistema di difesa DDoS gerarchica
Sistema di difesa DDoS gerarchica
  • difesa distribuita: il vantaggio di quest’ultimo è che ogni modulo ha un determinato lavoro da svolgere e nessuno ha la piena conoscenza o privilegi (senza quindi un motore centralizzato). I sistemi comunicano fra di loro, andando ad unire i vari indizi e le informazioni creando una rete di conoscenza e difesa.
Sistema con difesa DDoS distribuita
Sistema con difesa DDoS distribuita

Conclusioni

È doveroso ricordare che questa branca della sicurezza informatica non è assolutamente considerata hacking etico, ma anzi, sono azioni puramente maligne portate avanti da gruppi quali Anonymous, attivisti o nazioni in conflitto tra loro. Ciò che è bene sapere sono invece le modalità di attacco e imparare a difendersi da esse. Per chi volesse approfondire consiglio il libro DDoS Attacks: Evolution, Detection, Prevention, Reaction, and Tolerance e il talk tenuto nel 2016 presso Blackhat, DdoS attack & defense.