
Rileva attacchi di stallo HTTP come slowloris con Bro
Gli attacchi DoS di stallo HTTP sfruttano l'incapacità dei server web di determinare se un client remoto è semplicemente connesso tramite un collegamento lento o se sta inviando deliberatamente i dati molto lentamente per evitare che il server web esegua un timeout e chiuda la connessione per preservare le risorse di sistema locali.
Il comportamento tipicamente adottato dagli attaccanti è quello di aprire molte connessioni e inviare i dati molto lentamente per impedire al server web di far scadere il timeout della connessione. Se un server web utilizza un pool di worker piuttosto piccolo, questo esaurimento delle risorse può essere facilmente raggiunto.
Molti server web moderni sono diventati più difensivi nei confronti di questi tipi di attacchi di esaurimento delle risorse, ma è comunque prudente monitorare questi attacchi ed è molto plausibile che un certo numero di server web vulnerabili sia ancora presente nelle reti di produzione. È anche possibile che un server web sia resistente a una forma di attacco ma ancora vulnerabile a un'altra. Ad esempio, un server web potrebbe essere resistente all'invio lento di dati nel corpo di una richiesta POST ma vulnerabile all'invio lento di dati in un singolo header HTTP o in più header HTTP. Questo script ha lo scopo di rilevare il concetto generale di dati inviati troppo lentamente in qualsiasi parte della richiesta del client e dovrebbe individuare qualsiasi di questi stili di attacco.
Il modo più semplice per installarlo è tramite il gestore di pacchetti Bro::
bro-pkg refresh
bro-pkg install bro/corelight/http-stalling-detector
L'output di questo script è una coppia di notifiche:
HTTPStalling::Attacker - Indica che è stato rilevato un attaccante che esegue un attacco di stallo HTTP.
HTTPStalling::Victim - Indica che un determinato host è stato preso di mira da uno o più attaccanti.
Le notifiche sono divise in due in questo modo perché esiste un software per eseguire questi attacchi che può utilizzare proxy per distribuire gli attaccanti su molti indirizzi IP di origine. La preoccupazione è che se una singola richiesta è tutto ciò che arriva mai da un indirizzo IP, l'attacco non verrebbe mai rilevato. Dividendo le notifiche in attaccanti e vittime, la vittima appare molto chiaramente anche in presenza di questo tipo di tentativo di offuscamento.
Scritto da Seth Hall [email protected]