Prevenzione DoS
Categories:
Prevenzione DDoS
Due modi di attacco DoS:
- Far crollare il servizio
- Creare congestione di rete
Tipi di attacco
| Tipo di attacco | Metodo di attacco | Metodo di difesa |
|---|---|---|
| Distributed DoS | Più macchine con indirizzi IP indipendenti attaccano contemporaneamente | 1. Degrada servizio 2. Lista nera 3. Disabilita dispositivi di rete |
| Attacco Yo-yo | Per servizi con capacità di auto-espansione delle risorse, attacca durante la riduzione delle risorse | Lista nera |
| Attacchi a livello applicazione | Attacca funzionalità o caratteristiche specifiche, gli attacchi LAND appartengono a questo tipo | Lista nera |
| LANS | Questo metodo di attacco usa pacchetti TCP SYN particolarmente costruiti (solitamente usati per aprire una nuova connessione), facendo sì che la macchina target apra una connessione vuota con indirizzo sorgente e destinazione pari al proprio indirizzo IP, rispondendo continuamente a se stessa, consumando risorse del sistema fino al crash. Questo metodo di attacco non è lo stesso degli attacchi SYN flood. | Lista nera |
| DoS avanzati persistenti | Anti-riconoscimento/obiettivo chiaro/evita contromisure/attacchi prolungati/calcolo intensivo/attacchi multithread | Degrada servizio |
| Attacco DoS HTTP slow POST | Crea connessioni legittime quindi invia lentamente grandi quantità di dati, causando l’esaurimento delle risorse del server | Degrada servizio |
| Attacco Challenge Collapsar (CC) | Invia frequentemente richieste standard legittime, questa richiesta occupa molte risorse, ad esempio i motori di ricerca occupano molta memoria | Degrada servizio, identificazione contenuti |
| Flood ICMP (Internet Control Message Protocol) | Molti pacchetti ping/error ping /Ping of death (pacchetto ping malformato) | Degrada servizio |
| Attacchi Permanent denial-of-service | Attacca l’hardware | Identificazione contenuti |
| Attacco riflesso | Invia richieste a terzi, falsificando l’indirizzo, indirizzando le risposte alla vera vittima | Ambito ddos |
| Amplificazione | Usa alcuni servizi come riflettori, amplificando il traffico | Ambito ddos |
| Botnet Mirai | Usa dispositivi IoT sotto controllo | Ambito ddos |
| Panico SACK | Manipola la dimensione massima del segmento e l’acknowledgment selettivo, causando ritrasmissioni | Identificazione contenuti |
| Attacco Shrew | Sfrutta le debolezze del meccanismo di timeout di ritrasmissione TCP, usando brevi picchi di traffico sincronizzato per interrompere le connessioni TCP sulla stessa linea | Scarta per timeout |
| Attacco Slow Read | Simile a slow post, invia richieste legittime, ma legge molto lentamente, per esaurire il pool di connessioni, annunciando un numero molto piccolo per la dimensione della finestra di ricezione TCP | Disconnessione per timeout, degrada servizio, lista nera |
| Flood SYN | Invia molti pacchetti TCP/SYN, causando connessioni semi-aperte sul server | Meccanismo timeout |
| Attacchi Teardrop | Invia frammenti IP danneggiati con payload sovrapposti e troppo grandi alla macchina target | Identificazione contenuti |
| Attacco TTL scaduto | Quando i pacchetti vengono scartati a causa della scadenza TTL, il router deve generare e inviare una risposta ICMP di timeout. Generare molte tali risposte può sovraccaricare la CPU del router | Scarta traffico |
| Attacco UPnP | Basato sulla tecnica di amplificazione DNS, ma il meccanismo di attacco è un router UPnP, che inoltra le richieste da una sorgente esterna a un’altra, ignorando le regole di comportamento UPnP | Degrada servizio |
| Attacco riflesso SSDP | Molti dispositivi, compresi alcuni router domestici, hanno vulnerabilità nel software UPnP che gli attaccanti possono sfruttare per ottenere risposte al loro indirizzo target scelto dalla porta 1900. | Degrada servizio, blocca porta |
| Spoofing ARP | Associa l’indirizzo MAC all’indirizzo IP di un altro computer o gateway (ad esempio un router), causando il reindirizzamento del traffico destinato all’IP reale originale all’attaccante, causando un rifiuto di servizio. | Ambito ddos |
Misure di prevenzione
- Identificare il traffico di attacco
- Distruggere il servizio
- Identificare il contenuto del traffico
- Congestione del servizio
- Registrare il tempo di accesso
- Distruggere il servizio
- Elaborare il traffico di attacco
- Scartare il traffico di attacco
- Bloccare l’IP di attacco
- Numero di IP IPv4 limitato, facile creare lista nera
- IPv6 numero maggiore, non facile creare lista nera. Si può usare il segmento di indirizzi IPv6, ma c’è il rischio di blocco errato
- Controllare la frequenza di accesso
Strumenti open source
Strumenti di attacco
https://github.com/palahsu/DDoS-Ripper- 162 forks, 755 stars
- https://github.com/MHProDev/MHDDoS
- 539 forks, 2.2k stars
- MHDDoS - Script di attacco DDoS con 40 metodi
- https://github.com/NewEraCracker/LOIC
- 539 forks, 1.9k stars
- C#
- Strumento di stress di rete
- https://github.com/PraneethKarnena/DDoS-Scripts
- 165 forks, 192 stars
- C, Python
- https://github.com/theodorecooper/awesome-ddos-tools
- 46 stars
- Raccolta di strumenti ddos
Strumenti di difesa
- https://github.com/AltraMayor/gatekeeper
- Licenza GPL-3.0
- 159 forks, 737 stars
- C, Lua
- Gatekeeper è il primo sistema open source di protezione DoS.
https://github.com/Exa-Networks/exabgp- Licenza tipo Apache
- 415 forks, 1.8k stars
- Python
- Il coltellino svizzero BGP per il networking
- https://github.com/curiefense/curiefense
- Licenza Apache 2.0
- 60 forks, 386 stars
- Protezione a livello applicazione
- Protegge siti, servizi e API
- https://github.com/qssec/Hades-lite
- Licenza GPL-3.0
- 24 forks, 72 stars
- C
- Programma driver anti-ddos a livello kernel
- https://github.com/snort3/snort3
- Licenza GPL-2.0
- 372 forks, 1.4k stars
- Snort IPS (Intrusion Prevention System) di prossima generazione
- C++
Monitoraggio traffico
- https://github.com/netdata/netdata
- Licenza GPL-3.0
- 5.2k forks, 58.3k stars
- C
- https://github.com/giampaolo/psutil
- Licenza BSD-3-Clause
- 1.2 forks, 8.2k stars
- Python, C
- Lib cross-platform per il monitoraggio di processi e sistemi in Python, anche monitoraggio di rete
- https://github.com/iptraf-ng/iptraf-ng
- Licenza GPL-2.0
- 22 forks, 119 stars
- C
- IPTraf-ng è un programma di monitoraggio di rete basato su console per Linux che visualizza informazioni sul traffico IP.