Ochrona przed DoS
Categories:
Ochrona przed DDoS
Dwa rodzaje ataków DoS:
- Spowodowanie awarii usługi
- Spowodowanie zatkania sieci
Typy ataków
| Typ ataku | Sposób ataku | Sposób reagowania |
|---|---|---|
| Distributed DoS | Wiele maszyn z niezależnymi adresami IP rozpoczyna atak jednocześnie | 1. Degradowanie usługi 2. Czarna lista 3. Wyłączenie urządzeń sieciowych |
| Yo-yo attack | Atakowanie usługi z automatycznym skalowaniem zasobów w momencie zmniejszania zasobów | Czarna lista |
| Application layer attacks | Atakowanie konkretnych funkcji lub funkcjonalności, atak LAND należy do tego typu | Czarna lista |
| LANS | Ta metoda ataku wykorzystuje specjalnie skonstruowane pakiety TCP SYN (zazwyczaj używane do otwarcia nowego połączenia), aby zmusić maszynę docelową do otwarcia pustego połączenia, w którym adres źródłowy i docelowy są własnym adresem IP maszyny, ciągłe samoodpowiadanie, wyczerpując zasoby systemu do momentu awarii. Ta metoda ataku różni się od ataku SYN flood. | Czarna lista |
| Advanced persistent DoS | Antyrozpoznanie/Zdefiniowany cel/Unikanie kontrśrodeków/Długotrwały atak/Duża moc obliczeniowa/Wielowątkowy atak | Degradowanie usługi |
| HTTP slow POST DoS attack | Po ustanowieniu legalnego połączenia wysyłanie dużej ilości danych z bardzo niską prędkością, co powoduje wyczerpanie zasobów serwera | Degradowanie usługi |
| Challenge Collapsar (CC) attack | Częste wysyłanie standardowych, legalnych żądań, które zajmują dużo zasobów, na przykład wyszukiwarki internetowe zajmują dużą ilość pamięci | Degradowanie usługi, rozpoznawanie treści |
| ICMP flood | Duża ilość pingów/nieprawidłowych pakietów ping /Ping of death (zniekształcony pakiet ping) | Degradowanie usługi |
| Permanent denial-of-service attacks | Atakowanie sprzętu | Rozpoznawanie treści |
| Reflected attack | Wysyłanie żądań do strony trzeciej, poprzez sfałszowanie adresu kierując odpowiedzi do prawdziwej ofiary | kategoria ddos |
| Amplification | Wykorzystanie niektórych usług jako reflektorów do wzmocnienia ruchu | kategoria ddos |
| Mirai botnet | Wykorzystanie skompromitowanych urządzeń IoT | kategoria ddos |
| SACK Panic | Manipulowanie maksymalnym rozmiarem segmentu i selektywnym potwierdzaniem, prowadzące do retransmisji | Rozpoznawanie treści |
| Shrew attack | Wykorzystanie słabości mechanizmu limitu czasu retransmisji TCP, używając krótkich nagłych wzrostów ruchu synchronicznego do przerywania połączeń TCP na tej samej ścieżce | Odrzucanie po upływie limitu czasu |
| Slow Read attack | Podobnie jak w przypadku wolnego post, wysyła legalne żądania, ale czyta bardzo wolno, aby wyczerpać pulę połączeń, realizowane to poprzez zgłoszenie bardzo małej liczby dla rozmiaru okna odbioru TCP (TCP Receive Window) | Rozłączanie po upływie limitu czasu, degradowanie usługi, czarna lista |
| SYN flood | Wysyłanie dużej ilości pakietów TCP/SYN, powodując powstawanie półotwartych połączeń na serwerze | Mechanizm limitu czasu |
| Teardrop attacks | Wysyłanie uszkodzonych fragmentów IP z nakładającymi się lub nadmiernie dużymi ładunkami do maszyny docelowej | Rozpoznawanie treści |
| Atak wygaśnięcia TTL | Gdy pakiety są odrzucane z powodu wygaśnięcia TTL, procesor routera musi wygenerować i wysłać odpowiedź o przekroczeniu limitu czasu ICMP. Wygenerowanie wielu takich odpowiedzi przeciąży procesor routera | Odrzucanie ruchu |
| Atak UPnP | Oparty na technologii amplifikacji DNS, ale mechanizm ataku to router UPnP, który przekazuje żądanie z jednego źródła zewnętrznego do innego, ignorując reguły zachowania UPnP | Degradowanie usługi |
| Atak odbity SSDP | Wiele urządzeń, w tym niektóre routery domowe, ma luki w oprogramowaniu UPnP, które atakujący mogą wykorzystać do uzyskania odpowiedzi na wybrany przez siebie adres docelowy z portu 1900. | Degradowanie usługi, blokowanie portów |
| Oszustwo ARP | Powiązanie adresu MAC z adresem IP innego komputera lub bramy (takiej jak router), powodując ponowne trasowanie ruchu pierwotnie przeznaczonego dla oryginalnego, prawdziwego adresu IP do atakującego, co skutkuje odmową usługi. | kategoria ddos |
Środki zapobiegawcze
- Identyfikacja ruchu atakującego
- Zakłócanie usługi
- Identyfikacja treści ruchu
- Zatykanie usługi
- Rejestrowanie czasu dostępu
- Zakłócanie usługi
- Przetwarzanie ruchu atakującego
- Odrzucanie ruchu atakującego
- Blokowanie ip atakującego
- ilość adresów ipv4 jest ograniczona, łatwo utworzyć czarną listę
- ilość ipv6 jest większa, trudniej utworzyć czarną listę. Można użyć segmentów adresów ipv6, ale istnieje ryzyko błędnej blokady
- Kontrola częstotliwości dostępu
Narzędzia open source
Narzędzia do ataków
https://github.com/palahsu/DDoS-Ripper- 162 forks, 755 stars
- https://github.com/MHProDev/MHDDoS
- 539 forks, 2.2k stars
- MHDDoS - Skrypt ataku DDoS z 40 metodami
- https://github.com/NewEraCracker/LOIC
- 539 forks, 1.9k stars
- C#
- narzędzie do testowania obciążenia sieci
- https://github.com/PraneethKarnena/DDoS-Scripts
- 165 forks, 192 stars
- C, Python
- https://github.com/theodorecooper/awesome-ddos-tools
- 46 stars
- kolekcja narzędzi ddos
Narzędzia do obrony
- https://github.com/AltraMayor/gatekeeper
- GPL-3.0 License
- 159 forks, 737 stars
- C, Lua
- Gatekeeper to pierwszy system ochrony przed atakami DoS typu open source.
https://github.com/Exa-Networks/exabgp- Apache like license
- 415 forks, 1.8k stars
- Python
- Szwajcarski scyzoryk BGP dla sieci
- https://github.com/curiefense/curiefense
- Apache 2.0 License
- 60 forks, 386 stars
- Ochrona warstwy aplikacji
- chroni strony, usługi i API
- https://github.com/qssec/Hades-lite
- GPL-3.0 License
- 24 forks, 72 stars
- C
- Sterownik poziomu jądra Anti-ddos
- https://github.com/snort3/snort3
- GPL-2.0 License
- 372 forks, 1.4k stars
- następna generacja Snort IPS (Intrusion Prevention System)
- C++
Monitorowanie ruchu
- https://github.com/netdata/netdata
- GPL-3.0 License
- 5.2k forks, 58.3k stars
- C
- https://github.com/giampaolo/psutil
- BSD-3-Clause License
- 1.2 forks, 8.2k stars
- Python, C
- Wieloplatformowa biblioteka do monitorowania procesów i systemu w języku Python, a także monitorowanie sieci
- https://github.com/iptraf-ng/iptraf-ng
- GPL-2.0 License
- 22 forks, 119 stars
- C
- IPTraf-ng to oparty na konsoli program do monitorowania sieci dla systemu Linux, wyświetlający informacje o ruchu IP.