DoS-verdediging
Categories:
DDoS-verdediging
Twee DoS-aanvalmethoden:
- De service laten crashen
- Het netwerk verstopten
Aanvaltypen
| Aanvaltype | Aanvalmethode | Verdedigingsmethode |
|---|---|---|
| Distributed DoS | Meerdere onafhankelijke IP-machines beginnen tegelijkertijd met aanvallen | 1. Service degraderen 2. Zwarte lijst 3. Netwerkapparaten uitschakelen |
| Yo-yo-aanval | Voor diensten met automatisch uitbreidbare resources, aanvallen in de pauze wanneer resources worden verminderd | Zwarte lijst |
| Application layer attacks (Aanvallen op applicatielaag) | Aanvallen op specifieke functies of kenmerken, LAND -aanval behoort tot dit type | Zwarte lijst |
| LANS | Deze aanval gebruikt speciaal geconstrueerde TCP SYN-datapakketten (meestal gebruikt voor het openen van een nieuwe verbinding), waardoor het doelapparaat een lege verbinding opent waarbij zowel bron- als doeladres het eigen IP-adres zijn, wat blijft reageren en systeembronnen verbruikt totdat het apparaat crasht. Deze aanvalsmethode is niet hetzelfde als SYN-floedaanval | Zwarte lijst |
| Advanced persistent DoS (Geavanceerde continue DoS) | Verbergt zich/gericht op specifieke doelen/ontwijkt weerstand/langdurige aanvallen/grote rekenkracht/meerthread-aanvallen | Service degraderen |
| HTTP slow POST DoS attack (Trage POST-aanval) | Na het creëren van een legitieme verbinding worden grote hoeveelheden data heel langzaam verzonden, wat leidt tot uitputting van serverresources | Service degraderen |
| Challenge Collapsar (CC) attack (Challenge Collapsar-aanval) | Veel standaard legitieme verzoeken worden frequent verzonden, dit verzoek neemt veel resources in beslag, zoals zoekmachines die veel geheugen in beslag nemen | Service degraderen, inhoudsidentificatie |
| ICMP flood (ICMP-overstroming) | Veel ping/foute ping-pakketten/Ping of death (vervormd ping-pakket) | Service degraderen |
| Permanent denial-of-service attacks (Permanente weigering van service-aanvallen) | Aanvallen op hardware | Inhoudsidentificatie |
| Reflected attack (Gereflecteerde aanval) | Verzoeken verzenden naar derden, via vervalste adressen worden de antwoorden naar de echte slachtoffers geleid | DDoS-gebied |
| Amplification (Versterking) | Gebruik van sommige services als reflectoren om het verkeer te versterken | DDoS-gebied |
| Mirai botnet (Mirai-botnet) | Gebruik van gecontroleerde IoT-apparaten | DDoS-gebied |
| SACK Panic (SACK-paniek) | Gebruik van maximale segmentgrootte en selectieve bevestiging om hertransmissie te veroorzaken | Inhoudsidentificatie |
| Shrew attack (Kwaadaardige aanval) | Gebruik van de zwakheid van het TCP-retransmissietime-outmechanisme, gebruik korte synchrone verkeersstoten om TCP-verbindingen op dezelfde link te onderbreken | Time-out weggooien |
| Slow Read attack (Trage leesaanval) | Vergelijkbaar met slow POST, legitieme verzoeken versturen maar heel langzaam lezen, om de verbindingpool uit te putten, dit wordt bereikt door een zeer klein getal te announceren voor de TCP Receive Window-grootte | Time-out verbinding verbreken, service degraderen, zwarte lijst |
| SYN flood (SYN-overstroming) | Verzenden van veel TCP/SYN-datapakketten, leidt tot half-geopende verbindingen op de server | Time-outmechanisme |
| Teardrop attacks (Traanaanvallen) | Verzenden van beschadigde IP-fragmenten met overlappende, te grote payloads naar het doelapparaat | Inhoudsidentificatie |
| TTL-expiratieaanval | Wanneer pakketten worden weggegooid vanwege TTL-verlopen, moet de router-CPU ICMP-time-outresponsies genereren en verzenden. Het genereren van veel van deze responsies kan de CPU van de router overbelasten | Verkeer weggooien |
| UPnP-aanval | Gebaseerd op DNS-versterkingstechnologie, maar het aanvalmechanisme is een UPnP-router die verzoeken van een externe bron doorstuurt naar een andere bron, terwijl het de UPnP-gedragsregels negeert | Service degraderen |
| SSDP-reflectionaanval | Veel apparaten, inclusief sommige residentiële routers, hebben kwetsbaarheden in hun UPnP-software, die aanvallers kunnen misbruiken om antwoorden op hun gekozen doeladressen te ontvangen van poortnummer 1900. | Service degraderen, poort blokkeren |
| ARP-spoofing | De MAC-adres koppelen aan het IP-adres van een andere computer of gateway (zoals een router), waardoor het verkeer dat oorspronkelijk bedoeld was voor het originele echte IP wordt omgeleid naar de aanvaller, wat leidt tot een weigering van service. | DDoS-gebied |
Verdedigingsmaatregelen
- Aanvalsverkeer identificeren
- De service beschadigen
- Verkeersinhoud identificeren
- De service verstoppen
- Toegangstijd bijhouden
- De service beschadigen
- Aanvalsverkeer verwerken
- Aanvalsverkeer weggooien
- Aanvals-IP blokkeren
- IPv4-IP’s zijn in beperkte hoeveelheid, gemakkelijk om zwarte lijst te maken
- IPv6 heeft veel meer adressen, niet gemakkelijk om zwarte lijst te maken. Gebruik van IPv6-adressegmenten is mogelijk, maar er is risico op verkeerde blokkering
- Toegangsfrequentie beheren
Open source tools
Aanvalstools
https://github.com/palahsu/DDoS-Ripper- 162 forks, 755 stars
- https://github.com/MHProDev/MHDDoS
- 539 forks, 2.2k stars
- MHDDoS - DDoS-aanvalscript met 40 methoden
- https://github.com/NewEraCracker/LOIC
- 539 forks, 1.9k stars
- C#
- Netwerkbelastingtool
- https://github.com/PraneethKarnena/DDoS-Scripts
- 165 forks, 192 stars
- C, Python
- https://github.com/theodorecooper/awesome-ddos-tools
- 46 stars
- verzameling van ddos-tools
Verdedigingstools
- https://github.com/AltraMayor/gatekeeper
- GPL-3.0-licentie
- 159 forks, 737 stars
- C, Lua
- Gatekeeper is het eerste open source DoS-beschermingssysteem.
https://github.com/Exa-Networks/exabgp- Apache-achtige licentie
- 415 forks, 1.8k stars
- Python
- De Zwitserse legermes van BGP-netwerken
- https://github.com/curiefense/curiefense
- Apache 2.0-licentie
- 60 forks, 386 stars
- Bescherming op applicatielaag
- beschermt sites, services en API’s
- https://github.com/qssec/Hades-lite
- GPL-3.0-licentie
- 24 forks, 72 stars
- C
- Kerngebaseerd Anti-ddos-stuurprogramma
- https://github.com/snort3/snort3
- GPL-2.0-licentie
- 372 forks, 1.4k stars
- Volgende generatie Snort IPS (Intrusion Prevention System)
- C++
Verkeersmonitoring
- https://github.com/netdata/netdata
- GPL-3.0-licentie
- 5.2k forks, 58.3k stars
- C
- https://github.com/giampaolo/psutil
- BSD-3-Clause-licentie
- 1.2 forks, 8.2k stars
- Python, C
- Cross-platform bibliotheek voor proces- en systeemmonitoring in Python, ook netwerkmonitoring
- https://github.com/iptraf-ng/iptraf-ng
- GPL-2.0-licentie
- 22 forks, 119 stars
- C
- IPTraf-ng is een consolegebaseerd netwerkmonitoringsprogramma voor Linux dat informatie over IP-verkeer weergeeft.