Il termine “low and slow” fa riferimento ad una categoria di attacchi informatici che hanno una caratteristica comune, ovvero quella bloccare l’attività di un server utilizzando piccoli pacchetti di traffico.
In pratica, vengono inviate richieste incomplete ai server sotto attacco, che così sono costretti a mantenere aperte sessioni multiple che non verranno mai chiuse. Questo comporta, una volta raggiunto il limite massimo di gestione richieste da parte del server, un blocco del sistema.
Il vantaggio principale di un attacco low and slow è che richiede pochissima banda per essere eseguito: questo comporta che – a differenza dei tradizionali attacchi DoS/DDoS dove l’obiettivo è quello di esaurire le risorse del server grazie ad un numero elevatissimo di richieste contemporanee – il traffico generato è molto poco e quindi diventa difficile individuarlo con i tradizionali sistemi di difesa.
Un attacco DoS/DDoS può quindi essere mitigato grazie a sistemi di analisi del traffico che, riconoscendo quello malevolo, lo bloccano; nel caso di una tattica low and slow questo è molto più difficile, proprio perché la quantità di dati che l’attacco genera è molto limitata e di conseguenza si confonde facilmente con il normale traffico.
Un altro aspetto che contribuisce al proliferare di attacchi low and slow deriva dal fatto che, essendo una tecnica che richiede poche risorse, può essere eseguita anche da PC singoli, aumentando così la platea di potenziali cyber criminali. In particolare, due sono i tool che si possono trovare in rete, creati appositamente per sferrare attacchi low and slow: Slowloris e R.U.D.Y.
Indice degli argomenti
Attacchi low and slow: come funzionano
La tecnica è molto semplice e prevede l’invio di richieste non complete verso il server target, facendo così mettere in coda il traffico generato da utenti reali, che devono così aspettare per poter vedere la loro richiesta soddisfatta.
Possiamo paragonare questo tipo di attacco ad un casello autostradale durante un esodo estivo: immaginiamo che ad un centro punto alcuni clienti si mettano a pagare il pedaggio con monete tutte da 1 cent, usandone una alla volta. Il risultato è facile da immaginare: in pochi minuti si formerebbe una coda interminabile.
Vediamo più nel dettaglio come funzionano i due tool di attacco più conosciuti, che utilizzano la modalità low and slow.
Slowloris
Questo tool di attacco crea connessioni al server inviando header HTTP non completi: il server sotto attacco rimane quindi in attesa di ricevere i dati mancanti, prima di poter rispondere.
Ecco uno schema esemplificativo di un attacco low and slow condotto mediante il tool Slowloris.
L’attaccante invia quindi richieste multiple al web server, ma senza mai completarle. A questo punto il server target si mette in uno stato di attesa: prima che possa abbattere la connessione per timeout, l’attaccante invia un altro header incompleto.
Il punto di forza di questa tipologia di attacco svolta tramite Slowloris consiste proprio nell’utilizzare pochi pacchetti e quindi pochissima banda e risorse.
R.U.D.Y.
Il tool R.U.D.Y. (acronimo di aR you Dead Yet?) agisce in modo differente: è un tool creato per sfruttare una particolare vulnerabilità dei moduli di inserimento dati, presenti su quasi tutti i siti web.
La tecnica consiste nel completare il form in maniera molto lenta, ponendo quindi il server sotto attacco nell’impossibilità di accogliere ulteriori richieste.
Nel dettaglio, una volta trovato il web form, R.U.D.Y. invia una richiesta HTTP POST al server, annunciando l’imminente arrivo dei dati. A questo punto però, le informazioni vengono suddivise in pacchetti molto piccoli, anche da 1 byte ciascuno, ed inviate ad intervalli variabili. Il server sotto attacco tiene aperta la connessione, aspettandosi che termini una volta ricevuti tutti i dati del form.
Moltiplicando questo scenario su più azioni contemporanee, il risultato è che il traffico legittimo rimane in coda e la capacità elaborativa del server viene compromessa.
Come difendersi da un attacco low and slow?
Il fenomeno di attacchi di tipo low and slow è in continuo aumento (come si evince dall’analisi di Cloudflare relativa al 2018), anche perché i sistemi di difesa non sono così immediati: essendo un attacco a livello applicativo (Layer 7) le tradizionali difese di mitigazione del traffico DDoS sono spesso inefficaci.
Il primo step per mettere le proprie infrastrutture al riparo da attacchi di tipo low and slow è certamente un’analisi delle vulnerabilità delle proprie applicazioni web, al fine di preparare un piano di difesa e remediation adeguato.
In secondo luogo, esistono ora sistemi di difesa attiva, piattaforme anti-DDoS che, sfruttando algoritmi di machine learning, riescono ad individuare attacchi low and slow.
Le tecniche di difesa usate analizzano il comportamento delle richieste verso le applicazioni, cercando di identificare quelle generate da utenti umani e quelle invece generate da automi o bot, andando poi a colpire quest’ultime.