Cos’è un attacco HTTP Flood?

Un attacco HTTP Flood è un tipo particolare di attacchi DDoS (Distributed Denial of Service) che cerca di mandare in crash un sito o un'applicazione con una serie di visite da posti diversi. Un attacco HTTP Flood viene definito spesso anche come attacco layer 7. Con il layer 7 s’intende l’Application layer nel modello ISO/OSI secondo il quale Internet è composto da sette livelli.

Lo scopo di un attacco a questo livello è assorbire le risorse della rete o del server. Quando l’hardware non ha più abbastanza risorse a disposizione, impiega sempre più tempo per rispondere alle richieste attraverso il client. Le moltissime richieste che bombardano l’hardware creano un sovraccarico del sistema permanente che rende inaccessibili il server o tutta la rete.

Quando gli hacker mettono in atto un attacco HTTP Flood, il loro scopo è mandare in crash il sistema attraverso richieste del tutto lecite. Come fanno i metodi HTTP a trasformarsi in attacchi pericolosi?

Come avviene un attacco HTTP Flood?

Un attacco HTTP Flood si basa su una richiesta GET o POST del client. Il client, e quindi il browser che accede al sito, invia una di queste richieste. Il server rielabora la richiesta e rinvia il risultato al client.

Con le richieste GET si accede a contenuti statici, come immagini o blocchi di testo. Una richiesta POST si adotta quando si chiede l'accesso a risorse dinamiche. Si può dire, in parole povere, che il metodo GET contiene i dati del server e il metodo POST invia dati al server. Negli attacchi è possibile avvalersi di entrambi i metodi, anche se il metodo POST è utilizzato più spesso poiché richiede processi di rielaborazione complessi attraverso il server.

Gli attacchi HTTP Flood fanno in modo che queste richieste vengano poste contemporaneamente per un intervallo più lungo. Di solito, si utilizzano soprattutto botnet per aumentare il volume delle richieste. Gli attacchi HTTP Flood sono progettati in modo che il server impieghi quante più risorse possibili per ciascuna richiesta. In una situazione normale si tratta di un atto volontario, poiché il server non riceve migliaia o centinaia di migliaia di richieste al minuto. Inviando un numero elevato di richieste e accessi, l’hacker attende che il server si saturi di richieste e che il sito o l’applicazione non siano più visualizzati in modo corretto.

Come si possono fermare gli attacchi?

Poiché può capitare che un sito abbia temporaneamente molto traffico, è difficile stabilire se l'aumento di richieste rappresenti un attacco o sia solo il risultato di una campagna di marketing ben riuscita. Una volta stabilito che si tratta di un attacco HTTP Flood, però, i firewall possono riconoscere e bloccare gli indirizzi IP.

In situazioni del genere, bisogna per prima cosa rinviare al client la cosiddetta Computational Challenge di JavaScript. Questo permette di analizzare in modo semplice se il client è una botnet o un utente regolare. A differenza di un bot, ciascun browser di un visitatore normale è in grado di superare quest’ulteriore difficoltà.

Conoscendo il metodo degli attacchi, si possono introdurre nel sistema di firewall semplici regole che bloccano automaticamente gli indirizzi IP della botnet. Di solito, si può identificare e fermare un attacco HTTP Flood in pochi minuti quando si sa che rappresenta il motivo del crash del sistema.

Come proteggersi?

È difficile proteggersi da un attacco HTTP Flood perché all’inizio le richieste si possono confondere con il traffico normale sul sito. Al server non viene inviato alcun malware né si cerca di sfruttare vulnerabilità. Piuttosto che questo, gli hacker inondano il server con accessi leciti. Poiché questo impiega minore larghezza di banda rispetto a un’introduzione violenta nel codice del sito, ai primi stadi gli attacchi non vengono riconosciuti.

La maggior parte dei siti utilizza test captcha, che richiedono la compilazione manuale da parte di un utente reale. Questo permette di riconoscere in anticipo una botnet e bloccarne gli indirizzi IP. Ci sono anche firewall per siti e applicazioni. Questi sistemi verificano e analizzano il traffico in entrata nel sito. La loro presenza rallenta il sito in modo minimo, ma ne garantisce protezione e stabilità. Se il sito in sé è già sottoposto a elaborazione intensa di dati e processi, è possibile integrare una schermata di loading mentre il sito principale si carica sullo sfondo.

N.B.

HTTP Flood è solo una delle diverse forme di attacchi DDoS. Gli hacker cercano di interrompere il servizio dei web server anche con Ping Flood, SYN Flood, UDP Flood e Ping of Death.

Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top