Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
0.1) A chi rivolto questo DOC (pag. 5) 2.4.1) Simulare un attacco UDP/ICMP Flood (pag. 27)
0.2) Come leggere questo DOC (pag. 5) 2.4.2) Mitigare un attacco UDP/ICMP Flood (pag. 28)
1.) Fondamentali (pag. 7) 2.5.1) Simulare un attacco SYN Flood (pag. 31)
1.1) Il Computer (pag. 7) 2.5.2) Mitigare un attacco SYN Flood (pag. 33)
1.2.1) Sistema Client Server (pag. 10) 2.6.1) Simulare un attacco HTTP Flood (pag. 35)
1.2.2) Servizi e Porte (pag. 11) 2.6.2) Mitigare un attacco HTTP Flood (pag. 37)
2.) Denial of Service (pag. 15) 2.7.1) Simulare un attacco Slowloris (pag. 39)
2.1) La teoria del DoS (pag. 15) 2.7.2) Mitigare un attacco Slowloris (pag. 40)
Contributi
Marco > ecvz < Padovan, 31 anni, programmatore e sistemista
informatico. Fondatore dellhosting www.hiperz.net
Inforge.net
Attribuzione - Condividi allo stesso modo 4.0 Internazionale
0. Prefazione
In questa primo capitolo parleremo delletica e dei motivi che ci hanno spinto a scrivere questo documento.
Si consiglia la lettura cos da fruire nel migliore dei modi delle informazioni riportate in seguito.
Ci potrebbe tuttavia far storcere il naso agli esperti di settore; sappiamo quanto loro ci tengano ad essere tecnicamente in-
comprensibili.
Consigliamo quindi a tutti di non limitarsi in buona fede delle nostre parole ma di informarsi sempre e comunque su ci che
Il documento strutturato in modo da poter essere letto sia in maniera lineare (dallinizio alla fine) sia a pezzi. Ci nonostan-
te, consigliamo perlomeno la lettura dei Fondamentali (cap. 1), per riuscire a cogliere appieno tutta la terminologia e i tecni-
Le azioni e le informazioni che otterrete sono da riternersi per puro scopo informativo e illustrativo.
Qualunque atto vada contro la legge informatica n.23 art. 1,2,3,4,5,6,7,8,9,10,11,12,13 perseguibile e punibile penalmente.
6
1. Fondamentali
In questo capitolo cercheremo di riportare tutte le informazioni fondamentali per apprendere al meglio gli argomenti pi
avanzati della lettura.
1.1) Il Computer
Iniziamo ovviamente dal concetto pi essenziale: il Computer.
Non limitiamoci per a vederlo come il computer fisso o il portatile che tutti noi abbiamo in casa (si spera!) ma pi come a un
qualunque dispositivo in grado di eseguire calcoli matematici, restituendo un output grazie al risultato delle istruzioni che ela-
Un input pu essere un valore o una serie di valori che vengono inviati al nostro computer. Possono essere valori numerici,
Un esempio pu essere il movimento del mouse: nella sua versione analogica (quella con la palletta insomma) il mouse invia
dati in input al computer; questi dati sono i due assi verticale e orizzontale, e sono valori numerici.
Listruzione invece il software che elabora il dato: senza listruzione, i valori inviati dal nostro mouse sarebbero inutili. Li-
struzione invece raccoglie i dati, li riconosce come valori del mouse e li prepara per mostrare il risultato.
7
1. Fondamentali
Loutput appunto il risultato dellunione input+istruzione: possiamo quindi dire che loutput il cursore che si muove allin-
Tutto chiaro?
Dicevamo che non dobbiamo limitarci a vedere il computer come al PC Desktop o il Notebook ma a qualunque dispositivo in
grado di elaborare un input e mostrare un output. Quindi teniamo conto anche dei tablet, degli smartphone e dei router: in-
1.2) Reti
La rete informatica un insieme di computer collegati tra di loro, rendendoli in grado di trasmettersi informazioni e condivider-
si periferiche e risorse.
Videogiocare
8
1. Fondamentali
Le reti possono poi essere classificate in base alla loro dimensione geografica:
LAN: reti di superficie ridotta (una stanza o un edificio) caratterizzata da alte prestazioni e
MAN: reti di grandi dimensioni, ai livelli di unarea urbana o metropolitana (es. fibra ottica)
Le reti possono essere di due tipi di gerarchie: Client/Server e P2P (Peer to Peer).
9
1. Fondamentali
Internet, la pi grande rete mai creata, attualmente fa affidamento ad entrambe le tipologie di gerarchia.Tuttavia nella na-
vigazione nel World Wide Web (www, con protocollo di comunicazione http) si fa affidamento principalmente alla struttura
computer (Server).
Il Client, collegandosi al Server, potr fruire di tutti i servizi che gli vengono concessi.
Pagine Web
Invio/Ricezione Mail
Server di gioco
Ricapitoliamo:
10
1. Fondamentali
Questo concetto dovete tenerlo a mente, poich sar la base di tutto quello che diremo in questo documento.
Sia i server che i client hanno inoltre un indirizzo identificativo nella rete chiamato IP.
Tale indirizzo unico e rappresenta il computer nella rete (un p come un numero di cellulare che rappresenta la SIM).
Possiamo immaginarle come a delle corsie di unautostrada; ogni corsia dedicata ad un solo tipo di autovettura. Allo stesso
modo, ogni servizio viaggia allinterno della propria corsia (la porta, appunto).
NB: sia Server che Client hanno porte di comunicazione, tuttavia i client spesso le hanno chiuse e/o filtrate.
11
1. Fondamentali
I protocolli di comunicazione sono regole utilizzate da due computer per comunicare tra di loro: come un giapponese ed un
riusciranno a capirsi.
Tutti questi protocolli sono definiti dal modello di riferimento OSI (Open System Interconnection).
12
1. Fondamentali
l modello OSI contiene le regole e gli standard che consentono a qualsiasi sistema di comunicare con altrettanti
sistemi. Questi protocolli sono strutturati in sette livelli, e ognuno ha un compito ben preciso.
6. Livello di presentazione: presentazione dati, cifratura e compressione 7. Livello di applicazione: esecuzione delle
applicazioni
1.2.3) Pacchetti
I pacchetti sono contenitori di dati che viaggiano allinterno di una rete, sfruttando il metodo di trasferimento a commutazione
Ve lo rispiego in linguaggio volgare: un pacchetto contiene le informazioni da passare a un altro computer. Meglio? :)
13
1. Fondamentali
etc...).
Viaggiano quando siamo connessi in una LAN (magari tra uno switch e un notebook), viaggiano quando siamo connessi su
E possibile che il vostro router di casa invii pacchetti al vostro tablet per vedere se ancora connesso.
Nello specifico, ogni pacchetto contiene implementazioni dei protocolli dei 7 livelli OSI.
Ogni livello viene avvolto dal livello soprastante a m di cipolla, definendo cos degli strati livello; questo serve per
permettere la lettura di alcune informazioni solo a chi ne ha necessit (es. il router avr bisogno di leggere solo le
Ogni pacchetto ha una lunghezza massima di dati (MTU) e una lunghezza minima.
In caso di superamento della lunghezza massima, il pacchetto verr frammentato in pi segmenti. In caso di non raggiungi-
Immaginiamo a questo punto di prendere 10.000 macchine e farle andare tutte assieme a fare la fila. Qual il risultato? Che
la fila si intasa.
E proprio come in unautostrada, dove ogni corsia corrisponde ad un servizio, se si effettua una richiesta massiccia di quel ser-
15
2. Denial of Service
vivo dellargomento.
Prima abbiamo parlato di 10.000 persone, ma cosa sono queste persone? Sono Computers?
No, sono richieste e, come ben sappiamo, una richiesta si fa attraverso linvio e la ricezione di un pacchetto (vedi 1.2.3).
La teoria dellattacco vuole quindi che generando milioni e milioni di richieste ad un server, questo cessa di erogare servizi.
Sono stati creati anti-virus, anti-trojan, anti-malware, anti-qualunquecosa ma non mai stato inventato un anti-ddos, neanche
La soluzione al problema varia di caso in caso, tuttavia pi avanti cercheremo di trattare a fondo il tema.
Purtroppo per non possiamo assicurarvi nulla: la rete stessa ad avere un sistema marcio, che non garantisce laffidabilit di
Essendo progettata come rete affidabile, Internet permette alla maggior parte dei dispositivi di scambiare qualunque infor-
16
2. Denial of Service
Con la disponibilit sempre maggiore di nuovi computer, ma anche (e soprattutto) di VPS sempre pi potenti e meno costose
Inoltre, gli attacchi di basso livello sono alla portata di tutti: basterebbe fare una piccola ricerca su qualunque motore di ricer-
ca e restare meravigliati dalle varianti dei software che permettono di fare ci, il tutto ovviamente senza avere un briciolo di
Questo tipo di attacco sovraccarica la coda di gestione delle risorse di un server, o nei casi pi blandi, rallenta i tempi di rispo-
Per adesso per ci siamo limitati a parlare di Server, ergo si suppone che solo questi siano vulnerabili agli attacchi di DoS.
In realt possibile attaccare un computer specifico, una porta o un servizio, unintera rete o il componente del sistema; pu
anche avere come obiettivi sistemi di comunicazione fra persone (telefoni, portatili, allarmi, fax, stampanti etc...)
17
2. Denial of Service
Di per s lattacco non causa alcun danno permanente allinterno della struttura del sistema vittima: tuttavia le conse-
guenze causate da tale attacco possono ripercuotersi nelle altre aree dei gestori del servizio.
Un esempio avvenuto recentemente quello dellattacco subito ai danni di Mt.Gox, cambio valute di livello internazionale, fa-
moso soprattutto per la vendita e lacquisto di bitcoin (http://it.wikipedia.org/wiki/Bitcoin), la pi utilizzata valuta elettronica.
Dopo un attacco di ben 12 ore la valuta perde il 40% del suo valore reale.
Ci nonostante, i server una volta riavviati erano rimasti cos come erano stati lasciati.
Ok, forse intasati dai log di accesso, tuttavia i database, le password e i dati sensibili non erano stati compromessi. Nessun
Quindi se la vostra domanda : si pu distruggere un computer, un server o qualunque altra cosa connessa a Internet con un
DoS?, la risposta no, ma ci non significa che il disservizio non crei danni.
18
2. Denial of Service
Alcune di queste sono state gi risolte poich facevano affidamento a tecnologie superate, altre invece sono nate grazie allin-
tipologia, ma possono far parte di migliaia di varianti che dipendono ovviamente dal tipo di target che si tenta di attaccare.
Diamo per scontato che il computer target sia di vostra propriet e pertanto ne conosciate gi gli strumenti installati.
Attacco Volumetrico: tipologia riferita ad attacchi che consistono nellinondare il target con enormi quantit di traffico.
Attacco a Protocollo: include attacchi SYN, pacchetti frammentati, Ping of Death, Smurf DDoS e altro. Questi tipi di attac-
chi consumano le risorse di sistema e tutti quei dispositivi che fanno da tramite tra Client e Server, come ad esempio i routers.
Attacco a Livello Applicazione: include Slowloris e tutti gli 0day che colpiscono software e sistemi operativi installati.
Sono i pi pericolosi (e i pi complessi) poich non vengono riconosciuti da firewall o strumenti di difesa.
Gli attacchi a Protocollo viaggiano nel Livello 4 della pila ISO/OSI mentre gli attacchi a livello Applicazione agiscono
al livello 7.
La differenza consiste nel fatto che mentre nel Livello 4 (Transport Level) vi una saturazione di servizio mediante
grosse quantit di dati (e quindi pi facili da identificare), nel Livello 7 (Application Level) per arrivare alla satura-
zione del servizio bastano poche quantit di dati in ingresso, che non sono riconoscibili poich considerate legittime
dal sistema.
Affinch il nostro documento (e il lettore) non vadano a finire in uno stato confusionale, approfondiremo solo alcune di queste
un host.
Come gi saprete i siti web e i server in generale vengono affittati mensilmente; i loro prezzi vengono ovviamente scelti in
Unaltra caratteristica per importante (e spesso nascosta dallo stesso venditore) durante la scelta di un server la banda.
Questo numero ndica la quantit di dati (in Gb o pi) che un server pu ricevere o trasmettere in un determinato periodo (soli-
tamente un mese).
Assieme al traffico bisognerebbe prendere in considerazione anche la velocit di traffico, ossia la velocit di trasferimento
20
dei dati (in Mbit/s).
2. Denial of Service
Ora, sappiamo che lattacco DoS di tipo volumetrico punta a saturare la banda, quindi la quantit di dati che un server pu
erogare.
Se per esempio il limite di banda mensile di un server viene superato possono accadere due situazioni:
Nella prima situazione capirete che un grandissimo disagio per il webmaster non poter accedere al suo server fino al mese
successivo. In questo caso le societ che erogano il servizio (chi vi affitta il server insomma) fanno presssioni affinch voi ac-
quistiate pacchetti di categoria superiore (passando da un hosting a una vps o addirittura a un dedicato).
Nella seconda situazione solitamente vi un rincaro dei prezzi di banda. Solitamente i limiti sono abbastanza alti, e le societ
pi serie prendono a carico una notifica di attacco, ma molti altri preferiscono che ve la sbrighiate da soli.
21
2. Denial of Service
La scelta delle tipologie di attacco verr basata sul seguente diagramma a torta, prodotto da Kaspersky Lab, che si riferisce al
Come possibile notare, la fetta maggiore detenuta dagli attacchi HTTP (88.9%); le richieste effettuate al server sono
per un breve periodo, il che non permette di filtrare le richieste cattive da quelle buone.
In seconda posizione troviamo il SYN Flood (5,4%). Durante questo attacco vengono inviati molteplici pacchetti al web server
al fine di effettuare una connessione TCP. Nellattacco, questo pacchetti vengono manipolati, in modo da lasciare semi-aperta
la connessione. Poich un server pu manetere un numero limitato di connessioni nello stesso momento, e una botnet (vedre-
22
mo poi cos) pu generarne moltissime in breve tempo, il server sar costretto a bloccare le connessioni dallesterno.
2. Denial of Service
Il DNS ha il compito di convertire i domini in indirizzi IP, quindi se cade gi un server DNS, tutti i computer connessi al server
tecnica.
Se da una parte si lavora notte e giorno per creare nuovi metodi sempre pi efficaci per creare il disservizio verso una macchi-
na, dallaltra si cercano i modi per ampliare il numero di attacker ad una macchina vittima.
Ipotesi
Un computer attacker manda un attacco ad un computer vittima di 500.000 pacchetti. Il server potrebbe mantenere nonostan-
Se i computer attacker fossero 10, lattacco si moltiplicherebbe con la semplice funzione matematica: 10 x 500.000 =
5.000.000
E probabile che la macchina server non riesca a vagliare tutti questi servizi e quindi sia costretto a bloccare ogni uscita.
La domanda : dove diavolo si trovano 10 macchine capaci di attaccare per 500.000 pacchetti?
23
2. Denial of Service
Che si pu fare?
Il controllo remoto di una macchina ci permetterebbe di inviare ci che vogliamo a chi vogliamo. Pacchetti, ad esempio...
I target possono essere computer client ma gli obiettivi pi succulenti sono server, VPS e tutte quelle macchine in grado di
generare tanta potenza di calcolo e richieste via internet senza troppi intoppi. Una volta ottenuto il controllo delle macchine
infette (che si identificano come zombie) si potr attuare lattacco, da qui il nome di Distributed Denial of Service.
Immaginate di fare un ordine di 100 pizze a nome di Guido la Vespa (nome a caso). Avete gi capito. Questo il DrDoS, n
pi n meno.
Ci sono vari servizi sfruttati per lanciare DrDoS che vengono scelti in base a due fattori essenziali: fattore di moltiplicazione (ad
una domanda piccola i servizi possono rispondere con risposte pi o meno grandi) numero di host sfruttabili/vulnerabili.
24
2. Denial of Service
Ad oggi il DrDoS pi diffuso quello che sfrutta il servizio DNS grazie allampissima disponibilit di host vulnerabili e allaltissi-
Altro servizio spesso usato chargen, tipico di macchine windows e alcune stampanti di rete.
Il vantaggio dei DrDoS rispetto ad un DDoS tradizionale che anche a fronte di una scarsa banda disponibile permette di ge-
Ogni pacchetto UDP quindi ipoteticamente uninformazione plausibile, ed da l che lattacco ha inizio.
Lattacco UDP Flood un attacco di tipo protocollo che pu iniziare con un gran numero di richieste verso un host
- Invio del messaggio di stato ICMP Destination Unreachable (Destinazione non disponibile)
Il server, costretto a dover vagliare le richieste UDP e ad elaborare tantissime risposte ICMP si intaser con conse-
25
2. Denial of Service
Lultimo passaggio, che prevede la risposta in ICMP, ovviamente arriver al mittente che ha inviato le richieste ICMP (cosa non
E quella pratica che prevede la modifica della richesta con informazioni falsate. Volete un esempio? Detto fatto.
Immaginate lUDP Flooding come linviare centinaia di cartoline tutte insieme allo stesso destinatario. Sapete gi che il DoS
prevede il riempimento della casella postale fino a che nessuna lettera verr recepita. Una lettera per essere consegnata deve
avere due campi: Mittente e Destinatario; lo stesso vale per un pacchetto UDP. Ma voi sareste cos ingenui da scrivere il vostro
Analogalmente, in informatica farete lo spoofing del mittente (dellindirizzo IP quindi) e lo nasconderete al destinatario; da qui
lespressione IP Spoofing.
26
2. Denial of Service
software sviluppato per Win32 che utilizza le Winsock per creare socket UDP e floodare il target.
Generalmente le strade sono due: o si possiede un importante know how sia lato applicativo che lato sistemistico e si fa miti-
gazione direttamente prima che arrivi al servizio; se attacco troppo pesante o non si hanno le competenze per sviluppare
In entrambi i casi filtrare UDP flood molto banale quando si erogano servizi TCP (http, games etc...) meno banale invece
Generalmente la tattica usata per filtrare flood UDP fingerprinting prima e, una volta individuato il pattern usato, effet-
tuare ratelimiting.
28
2. Denial of Service
Per fingerprinting intendiamo la pratica di riconoscere quali sono le fonti che stanno effettuando lattacco. Solita-
mente possibile analizzarli direttamente nei log di sistema; potremmo ritrovarci con una o pi fonti dattacco, in
Il pattern lo schema utilizzato dallattacker per effettuare lattacco. Un pattern pu essere composto da valori fissi
o randomizzati: nel primo caso il riconoscimento dellattacco semplice, in quanto se abbiamo tot. pacchetti inviati
di grandezza fissa riusciremo in un batter docchio a bloccarli. Diverso invece il discorso dei random in quanto si
Per ratelimiting intendiamo la pratica di filtraggio delle connessioni al nostro client/server che verranno applicate
Gran parte degli UDP flood che vengono lanciati attualmente sono facilmente identificabili e filtrabili, oltre al sem-
preverde DNS reflected (variante dellattacco) anche quello facilmente bloccabile senza aver bisogno di fare rateli-
miting.
29
2. Denial of Service
Quando si erogano servizi TCP (http e games per esempio) SYN flood ancora un grosso pericolo in assenza di protezioni.
Il problema maggiore dei SYN flood generato dai SYN COOKIES che molti amministratori di sistema attivano credendo che
facciano miracoli mentre in realt hanno effetto opposto facendo diventare la macchina attaccata a sua volta attaccante (ma lo
vedremo pi avanti).
Per spiegarne il funzionamento dobbiamo prima conoscere il funzionamento di una connessione TCP.
1) Il client richiede una connessione ad un server; per farlo, invia un messaggio SYN (sync o synchronize)
Tale processo si chiama TCP three-way handshake ed alla base di ogni connessione che utilizza il protocollo TCP/
IP.
30
2. Denial of Service
In questa tipologia di attacco, il client invia il SYN, il server risponde con SYN-ACK e il client non invier lACK, il quale chiude-
Il server mantiene attiva la connessione per un lasso di tempo e, solo dopo un tempo ragionevole, decider di chiudere lo
Alcuni potrebbero pensare: scusa, ma se invio il pacchetto SYN il server mi rimanda il SYN-ACK e quindi io sono costretto a
Vero, ma essendo una cosa altamente improbabile, perch non spoofare lindirizzo IP? (vedere variante di attacchi UDP con
spoofing ip).
31
2. Denial of Service
Hping uno di quei programmi che permettono una completa gestione delle connessioni in entrata ed in uscita di un sistema
operativo. A differenza di altri OS, siamo in grado di manovrare le connessioni con i nostri parametri e, ovviamente, le nostre
intenzioni.
sudo il comando necessario per lanciare hping3 con i permessi di root, questo perch hping3 ha necessit di creare pacchet-
-i u1 indica lintervallo di tempo in millisecondi tra i pacchetti (in questo caso 1 millisecondo)
-p 22 indica la porta dove destinare lattacco (ipotizziamo sulla 22, quindi sul servizio di default SSH). 192.168.2.1 lip desti-
Esistono poi dei parametri come ad esempio -a che permettono lo spoofing dellIP e la randomizzazione di tutto quello che si
vuole (facendo figurare lattacco come se arrivasse da altre infrastrutture).
Consigliamo lo studio del manuale avanzato del software alla pagina ufficiale hping.org/manpage.html .
32
2. Denial of Service
vo ratelimiting.
Generalmente sono tutti spoofed e quindi il fingerprinting risulta agevole e permette di indivuare caratteristiche molto specifi-
Se invece si parla di rate pi alti (o non si hanno le competenze sistemistiche per gestire filtraggio direttamente sulla macchina)
Prima si diceva che i SYN COOKIES potessero essere unarma a doppio taglio, eppure sono stati concepiti per essere un deter-
Come dice il nostro esperto Marco Padovan: I Syn Flood sono sempre spoofed e se tu usi i cookies mandi syn ad ognuno degli
ip spoofed, quindi le vittime potrebbero segnalarti al tuo operatore e sospenderti il servizio. Claro?
Questa tipologia di attacco va a complicare la vita al servizio pi famoso e utilizzato del web, sfruttandone la bont di calcolo
33
2. Denial of Service
La teoria: il client HTTP (chiamato anche Web Browser) fa una richiesta al server HTTP (il Web Server) e gli invia una richiesta
Una richiesta GET pu essere riassunta con un link del genere: http://sito.it/cerca.php?keyword=hacking
La parte in grassetto un parametro che pu essere inviato alla pagina vittima, la quale, probabilmente la utilizzer per ese-
guire un processo interno (ad esempio cercare nel proprio database tutti i contenuti con la parola chiave hacking).
Se da una parte, e cio dal client HTTP, il browser dovr inviare una semplice richiesta di un url, dallaltra parte, e cio dal
Web Server, il sistema dovr effettuare calcoli interni per vagliare la richiesta. Immaginate di chiedere a un server: Mi cerchi
1.000.000 di parole chiave dentro il tuo database? - il server Ma certo! Aspetta solo un momento ...
Laltro tipo di richiesta, denominato POST, fa affidamento allo stesso principio di richiesta con la sola differenza che i dati non
http://sito.it/cerca.php
E possibile inviare parametri arbitrari alla pagina senza dover inviarne i dati in chiaro ma allinterno dellintestazione dellhea-
der.
Ovviamente, possibile fare attacchi di tipo HTTP senza dover specificare parametri o quantaltro, in quanto il Web Server gi
di suo deve vagliare una richiesta interna di recupero di una pagina web, eseguirne il calcolo e i processi e rimandarli al mitten-
34
te.
2. Denial of Service
Il B4ckself stato scritto in Python ed presente alla pagina di download da Inforge.net (cerca B4ckself su www.inforge.net),
pertanto per utilizzarlo occorrer avere installato nel proprio terminale un interprete Python.
35
2. Denial of Service
Il software prevede linserimento di un parametro arbitrario da parte nostra (un url) e il numero di threads da inviare al sito
exit(1) try:
Una volta ottenuti i parametri corretti andremo ad utilizzare la funzione che il cuore del B4ckdoor:
def run(self):
global COMMAND
global CANCEL
global LOCK
LOCK.acquire()
print(Starting thread #{0}.format(self.num)) LOCK.release()
while COMMAND != CANCEL:
try: urllib.urlopen(self.url)
except Exception:
pass
LOCK.acquire()
print(Exiting thread #{0}.format(self.num))
LOCK.release() 37
2. Denial of Service
numero di connessioni che un solo IP pu fare, imponendo restrizioni alla velocit di trasferimento minimo di connessione e
In Apache esistono alcuni moduli che fanno tutto questo in automatico e sono:
mod_limitipconn
mod_qos
mod_evasive
mod_security
Esistono inoltre dei servizi esterni che fungono anche da CDN (come Cloudflare, Incapsula e Sucuri) che offrono protezioni ade-
guate ad attacchi di questa tipologia. Nel caso in cui non sappiate da dove iniziare, potreste partire da uno di questi servizi :)
2.7) Slowloris
Slowloris uno di quei tipi di attacchi nati come PoC (proof of concept) e si evolve come un metodo dattacco Denial of Ser-
vice. Lo Slowloris unisce la potenza degli attacchi a protocollo con quelli a livelli applicazione, creando appunto una nuova va-
Come funziona:
Slowloris apre delle connessioni inviando richieste HTTP parziali e continua ad inviare le intestazioni successive a intervalli re-
Lattacco si potr dichiarare concluso quando il server non avr pi slot per permettere di far fuoriuscire tutte le richieste.
Slowloris inoltre introduce una caratteristica di stealthing che permette allattacker di inviare differenti host header contempo-
raneamente: stando a quanto si evince dalla descrizione del software in inglese, tale operazione non permette al virtual host di
scrivere nei file log, cos da garantire il completo anonimato in fase di attacco.
Quando per una delle richieste scadr, il server andr a scrivere nei log il risultato delloperazione con stato di errore 400 (e
Questo tipo di attacco non pu essere definito TCP DoS in quanto non esegue una completa connessione TCP ma esegue solo
una connessione parziale tramite richiesta HTTP. E lequivalente di un attacco SYN Flood ma con il protocollo HTTP.
Slowloris non neanche un flooder HTTP in metodo GET in quanto fa solo richieste regolari HTTP per lungo tempo.
Apache 1.x
Apache 2.x (la maggior parte dei web server nel mondo!)
dhttpd
GoAhead WebServer
39
2. Denial of Service
IIS 6.0
IIS 7.0
lighttpd
Squid
nginx
Cherokee
Netscaler
Cisco CSS
Come specifica il sito del produttore, questa lista solo indicativa e comunque rispecchia solo test effettuati su webserver di
prova.
Slowris potrebbe per via ipotetica essere modificato in qualunque modo si voglia per amplificarne lattacco e mandare in tilt
Una volta scaricato il tool dal sito ufficiale (e aver scaricato anche il compilatore perl, con cui Slowloris stato costruito*) lan-
Socket::INET, IO::Socket:SSL e
multithreading.
in parte o ridurre comunque limpatto di un tale attacco. Per Apache gli sviluppatori raccomandano inoltre il mod_reqtimeout
Altri metodi di mitigazione prevedono la costituzione di reverse proxy, firewalls, load balancers, oppure (soluzione drastica) mi-
grare a Web Server che non sono affetti da questo attacco, come ad esempio lighttpd e nginx.
Il resto delle regole da adottare sono le stesse presentate nel capitolo Mitigare un attacco HTTP Flood (cap. 2.6.2).
41
3. Considerazioni
La pratica del Denial of Service una lotta che va avanti da decenni. Oggi il peso della bilancia a favore degli attacker e
sono pochi i servizi che riescono a contrastare questo fenomeno ma forse domani qualcosa cambier.
Con questo libro speriamo che il fenomeno del Denial of Service venga a galla e che diventi un argomento di cui parlare in
futuro e non limitarlo ai soli bulli del web, spesso ragazzini adolescenti che sfogano le proprie frustrazioni contro i pi deboli.
Crediamo fermamente che la conoscenza sia un valore importante per la comunit e la condividiamo per il benessere colletti-
42
3. Considerazioni
La pratica del Denial
Se questo
of Service
ebook una
ti piaciuto
lotta chepuoi
va avanti
valutare
da lidea
decenni.
di effettuare
Oggi il peso donazione
unadella bilancia ala progetto.
favore degliI attacker e
fondi
sono pochi i servizi ricavati
che andranno
riescono a favore
a contrastare per lafenomeno
questo creazionema
di nuovo materiale
forse domani informativo
qualcosa e lacquisto di
cambier.
nuove apparecchiature di test e di mantenimento per il sito web www.inforge.net
Con questo libro speriamo che il fenomeno del Denial of Service venga a galla e che diventi un argomento di cui parlare in
Effettua una Donazione a murdercode@gmail.com
futuro e non limitarlo ai soli bulli del web, spesso ragazzini adolescenti che sfogano le proprie frustrazioni contro i pi deboli.
Crediamo fermamente che la conoscenza sia un valore importante per la comunit e la condividiamo per il benessere colletti-
42