Attacchi DDoS di livello dell'applicazione, e come possono essere mitigati

Attacchi DDoS di livello dell'applicazione, e come possono essere mitigati

application ddos attacks

DDoS (negazione di servizio distribuita) e DoS (negazione di servizio) gli attacchi possono essere ampiamente classificati in tre categorie in base ai livelli del modello OSI che mirano: livello di rete (Livello 3), livello di trasporto (Livello 4), e livello applicativo (Livello 7).

Livello 3 e del Layer 4 gli attacchi sono tipicamente meno complessi–anche se possono essere molto difficili da mitigare–e comportano l'inondazione della rete e del livello di trasporto con traffico, sovraccaricando le risorse del sistema target e rendendolo non disponibile per gli utenti legittimi. Questi tipi di attacchi possono essere lanciati utilizzando varie tecniche come le inondazioni ICMP, inondazioni TCP SYN, o inondazioni UDP.

Un'inondazione ICMP, ad esempio, è un attacco di Livello 3 in cui un gran numero di pacchetti ICMP viene inondato nel sistema target, rendendolo non reattivo. Un attacco TCP SYN flood, d'altra parte, è uno strato 4 attacco che sfrutta i modi in cui vengono stabilite le connessioni TCP.

In un attacco SYN flood, l'attaccante invia molti pacchetti SYN al sistema target, ma non invia mai un pacchetto ACK per completare la connessione. Questo causa l'allocazione di risorse per ogni tentativo di connessione, sovraccaricando infine il sistema e rendendolo non disponibile per gli utenti legittimi. Un attacco UDP flood invia un gran numero di pacchetti UDP a un sistema target, consumando le sue risorse e rendendolo non reattivo.

Attacchi DDoS di livello dell'applicazione

Gli attacchi a livello applicativo sono più complessi e più difficili da mitigare rispetto agli strati 3 e strato 4 attacchi. Questi attacchi mirano allo strato applicativo (strato 7) del sistema target e sfruttano le vulnerabilità nell'applicazione stessa. Livello 7 gli attacchi possono causare più danni perché possono influenzare direttamente le applicazioni e l'infrastruttura sottostante. Non sarai in grado di mitigare gli attacchi DDoS a livello 7 con strato 3 o strato 4 strumenti come i firewall di rete.

inondazioni HTTP, attacchi Slowloris, e attacchi di amplificazione DNS sono di livello 7 attacchi di negazione del servizio. Questi attacchi richiedono difese più sofisticate come i firewall a livello di applicazione, sistemi di prevenzione delle intrusioni, e CDN (reti di distribuzione dei contenuti).

inondazioni HTTP

Gli attacchi di inondazione HTTP vengono eseguiti utilizzando richieste GET o POST per sovraccaricare il server di destinazione. Gli attacchi di inondazione che utilizzano richieste GET sono solitamente più semplici e richiedono meno risorse perché chiedono solo informazioni al server. richieste POST, d'altra parte, richiedono tipicamente l'invio di grandi quantità di dati.

Uno dei motivi per cui gli attacchi di inondazione HTTP sono difficili da mitigare è che spesso vengono lanciati da un gran numero di fonti, rendendo difficile identificare e bloccare tutto il traffico malevolo. Inoltre, gli attaccanti possono utilizzare tecniche come lo spoofing IP per mascherare le loro vere identità e rendere ancora più difficile rintracciare la fonte dei loro attacchi.

Difendersi dagli attacchi di inondazione HTTP può essere complicato. Diversi tipi di attacchi richiedono strategie di mitigazione diverse. Le difese comuni contro gli attacchi di inondazione HTTP includono il rate limiting, blacklist, e firewall per applicazioni web. Tuttavia, queste tecniche possono essere intensive in termini di risorse e potrebbero non essere sufficienti per fermare attacchi più sofisticati.

attacchi Slowloris

Slowloris è un tipo di attacco di flooding in cui viene mirato il modo in cui i server web gestiscono le connessioni dei client. Questo attacco funziona aprendo un gran numero di connessioni al server, ma inviando le richieste a una velocità lenta, mantenendo ogni connessione aperta il più a lungo possibile. Questo tipo di attacco può consumare tutte le risorse disponibili del server e consente agli attaccanti di consumare CPU, memoria, o larghezza di banda di rete, ecc. senza nemmeno attivare il tipico limitatore di velocità e i meccanismi di filtraggio del traffico comunemente usati per rilevare e bloccare altri tipi di attacchi DDoS.

Per eseguire un attacco Slowloris, gli attaccanti utilizzano tipicamente script o strumenti che inviano richieste HTTP a un server, ma ritardano deliberatamente l'invio delle richieste successive. La richiesta è progettata per apparire come una richiesta legittima, ma con un'intestazione incompleta che mantiene la connessione aperta indefinitamente. Col passare del tempo, il server avrà molte connessioni aperte in attesa di ulteriori dati dal client, causando al server di smettere di rispondere al traffico legittimo.

Gli attacchi Slowloris possono essere difficili da rilevare a causa del loro design furtivo e della larghezza di banda relativamente bassa. Questo lo rende uno strumento efficace per gli attaccanti che vogliono sabotare i loro server senza attivare allerta o creare sospetti. Per difendersi dagli attacchi Slowloris, i server web possono implementare diverse contromisure. Per esempio, limitare il numero di connessioni che possono essere stabilite da un singolo indirizzo IP o impostare un timeout per le richieste incomplete. Alcuni firewall per applicazioni web e servizi di mitigazione DDoS hanno protezione integrata contro gli attacchi Slowloris, utilizzando algoritmi che possono rilevare e bloccare tale traffico in tempo reale.

Livello 7 Mitigazioni DDoS

Limitazione della velocità

La limitazione della velocità implica impostare una soglia sul numero di richieste che possono essere effettuate da un indirizzo IP specifico o da un user agent in un determinato periodo di tempo. Il concetto è molto simile alla limitazione della velocità nel layer 3 ma deve essere implementato nel layer 7.

Lo scopo della limitazione della velocità è prevenire che un attaccante sovraccarichi l'applicazione web con un gran numero di richieste, causando interruzioni del server. La limitazione della velocità può essere implementata a vari livelli dell'architettura della tua applicazione web, su un server web, bilanciatore di carico, o firewall per applicazioni. Le implementazioni di solito comportano il monitoraggio del numero di richieste effettuate da un particolare indirizzo IP o user agent e il blocco di ulteriori richieste quando viene raggiunta una soglia predefinita.

Un approccio comune per implementare la limitazione della velocità nelle applicazioni web è utilizzare middleware o plugin che monitorano il numero di richieste effettuate da ciascun client e bloccano ulteriori richieste quando la soglia viene superata. è che Questi plugin possono essere configurati per applicare diverse politiche di limitazione della velocità in base a fattori come il tipo di richiesta, user agent, o indirizzo IP del client.

Per esempio, una semplice politica di limitazione della velocità può limitare le richieste da un singolo indirizzo IP a un massimo di 10 richieste al minuto. Se un client supera questa soglia, le richieste successive vengono bloccate fino alla scadenza del periodo.

I prodotti di limitazione della velocità a livello di applicazione sono disponibili per i server web e i servizi cloud più popolari, inclusi:

Apache

Apache ha diversi moduli che possono essere utilizzati per la limitazione della velocità, come mod_limitipconn, che limita il numero di connessioni simultanee da un dato indirizzo IP, e mod_qos, che fornisce vari controlli di qualità del servizio, inclusa la limitazione della velocità.

Inoltre, ModSecurity Firewall per Applicazioni Web ha una funzione di limitazione della velocità che può bloccare i client che superano una soglia definita. Oltre ai moduli menzionati sopra, Apache fornisce anche mod_evasive. Questo è un modulo che può essere utilizzato per limitare la velocità e bloccare i client che superano una soglia definita. Rileva e blocca i client non autorizzati utilizzando una varietà di tecniche, inclusi il tracciamento dell'IP e dell'user-agent.

Nginx

Nginx fornisce il modulo ngx_http_limit_req. Questo può essere utilizzato per limitare la velocità delle richieste da determinati client in base all'indirizzo IP o ad altri fattori. Questo modulo utilizza un algoritmo a bucket di token per allocare token a ciascun client in base a una politica di limitazione della velocità. Oltre al modulo ngx_http_limit_req, Nginx fornisce anche il modulo ngx_http_limit_conn. Questo può essere utilizzato per limitare il numero di connessioni da client o indirizzi IP specifici. Questo modulo utilizza un algoritmo a bucket di token per allocare token in base alle politiche di limitazione della velocità.

IIS

I servizi Internet di Microsoft (IIS) include un modulo di limitazione IP dinamica che può essere utilizzato per la limitazione della velocità. Questo modulo può essere configurato per bloccare le richieste da indirizzi IP che superano soglie predefinite e può anche fornire avvisi e registrazioni per il monitoraggio. Oltre al modulo di limitazione IP dinamica, IIS fornisce anche un modulo di filtraggio delle richieste che può essere utilizzato per limitare la velocità delle richieste di client specifici in base a vari criteri come l'indirizzo IP, user agent, e il metodo di richiesta.

AWS

Amazon Web Services (AWS) offre diversi servizi che possono essere utilizzati per il rate limiting, inclusi AWS WAF con il rate limiting come funzionalità.

AWS Shield offre protezione DDoS inclusi regole basate sul rate che possono bloccare richieste da indirizzi IP sopra una certa soglia. Aggiuntivo a AWS WAF e AWS Shield, AWS offre anche AWS Elastic Load Balancer. Include varie politiche di rate limiting che possono essere configurate per bloccare i client oltre soglie predefinite.

Azure

Microsoft Azure offre diversi servizi che possono essere utilizzati per il rate limiting, inclusi Azure Application Gateways. Include un firewall per applicazioni web che può essere configurato per limitare il rate delle richieste in arrivo. Inoltre, Azure Front Door offre una funzionalità di rate limiting che può bloccare richieste da indirizzi IP sopra una soglia predefinita. Oltre ad Azure Application Gateway e Azure Front Door, Azure offre anche Azure Firewall. Questo può essere utilizzato per limitare il rate e bloccare i client che superano una soglia definita.

GCP

Google Cloud Platform (GCP) offre Cloud Armor, un firewall per applicazioni web con capacità di limitazione della velocità che può bloccare le richieste dei client che superano una soglia definita.

Questi prodotti di limitazione della velocità a livello di applicazione possono mitigare efficacemente gli attacchi HTTP flood limitando il numero di richieste da client malevoli. Tuttavia, è importante che siano configurati correttamente per non bloccare il traffico legittimo e utilizzati insieme ad altre misure di sicurezza come firewall e servizi di mitigazione DDoS per fornire una protezione completa contro gli attacchi DDoS.

Timeout per richieste incomplete

Di seguito sono elencati alcuni metodi di mitigazione a livello di applicazione Slowloris per Apache, Nginx, e server web IIS, e bilanciatori di carico e funzionalità aggiuntive per AWS, Azure, e servizi GCP:

Apache

Oltre ai moduli menzionati sopra, Apache fornisce anche un modulo, mod_reqtimeout, che può essere utilizzato per impostare un timeout per le richieste in arrivo. Se il client invia una richiesta che richiede più tempo del timeout specificato, il server chiuderà la connessione. Questo impedirà attacchi slowloris.

Nginx

Oltre al modulo ngx_http_limit_conn e al modulo ngx_http_limit_req, Nginx fornisce anche il suo modulo ngx_http_request. Questo può essere utilizzato per limitare il tempo necessario al server upstream per elaborare la richiesta. Se il server upstream impiega più tempo del timeout specificato, Nginx chiuderà la connessione.

IIS

Oltre ai moduli Dynamic IP Restrictions e Request Filtering, IIS fornisce anche un driver in modalità kernel HTTP.sys. Questo ti consente di impostare un timeout per le richieste in arrivo. Se il client invia una richiesta che richiede più tempo del timeout specificato, il server chiuderà la connessione.

AWS

Oltre ad AWS WAF e AWS Shield, AWS fornisce inoltre Elastic Load Balancer, che incorpora numerose regole di timeout delle connessioni che possono essere configurate per chiudere le connessioni che impiegano più tempo di una soglia predefinita.

Azure

Oltre ad Azure Application Gateway e Azure Front Door, Azure fornisce inoltre Azure Load Balancer, che incorpora una caratteristica di timeout inattivo configurabile che può essere utilizzata per chiudere le connessioni che potrebbero essere inattive per un periodo predefinito.

GCP

Google Cloud Platform (GCP) offre numerose opzioni di timeout delle connessioni per i suoi servizi, che includono il Cloud Load Balancing, che incorpora una caratteristica di timeout configurabile che può essere utilizzata per chiudere le connessioni che impiegano più tempo di una soglia predefinita.

Conclusione

In conclusione, Gli attacchi DDoS e DoS possono essere classificati in base ai livelli del modello OSI a cui sono mirati, come il livello di rete (Livello 3), livello di trasporto (Livello 4), e livello applicativo (Livello 7).

Mentre gli attacchi di livello 3 e strato 4 inondano i livelli di rete e trasporto con traffico, strato 7 gli attacchi sono più complessi e sfruttano vulnerabilità nelle applicazioni stesse. Le inondazioni HTTP e gli attacchi Slowloris sono esempi di attacchi di livello 7 attacchi di negazione del servizio. Le contromisure contro questi attacchi includono il rate limiting, blacklist, e firewall per applicazioni web. Identificare e contenere gli attacchi in tempo reale richiede una strategia di difesa multi-livello completa, che include il monitoraggio, rilevamento, e capacità di risposta.

Inoltre, gli attaccanti possono personalizzare le loro tecniche e adattare i loro attacchi per eludere il rilevamento e le misure di sicurezza. Pertanto, è imperativo che le organizzazioni implementino un approccio completo, che include il monitoraggio, rilevamento, e capacità di risposta per identificare e contenere rapidamente gli attacchi in tempo reale. Questo può includere l'uso di algoritmi avanzati di apprendimento automatico e analisi comportamentale per rilevare e bloccare schemi di traffico malevolo.

Post Disclaimer

Le viste, informazioni, o le opinioni espresse sono esclusivamente quelle dell'autore e non rappresentano necessariamente quelle del suo datore di lavoro o delle organizzazioni con cui è affiliato.

Le informazioni contenute in questo post sono solo a scopo di informazione generale. Le informazioni sono fornite da Farhad Mofidi e mentre si sforza di mantenere le informazioni aggiornate e accurate, Non fa dichiarazioni o garanzie di alcun tipo, espresso o implicito, per quanto riguarda la completezza, precisione, affidabilità, idoneità o disponibilità del sito Web. Farhad non rilascia dichiarazioni o garanzie. o qualsiasi informazione, prodotti o grafiche correlate contenute in qualsiasi post per qualsiasi scopo.

Anche, L'intelligenza artificiale può essere impiegata come strumento per fornire suggerimenti e migliorare alcuni dei contenuti o delle frasi. Le idee, pensieri, opinioni, e i prodotti finali sono originali e fatti dall'uomo dall'autore.

 

Lasciare una risposta

Il tuo indirizzo email non verrà pubblicato. I campi richiesti sono contrassegnati *