DDoS-Angriffe mit GRE: Wie sie funktionieren und warum sie effektiv sind
Einführung
Distributed Denial of Service (DDoS)-Angriffe zielen darauf ab, einen Server oder ein Netzwerk durch eine Überflutung mit Datenverkehr lahmzulegen. Eine besonders raffinierte Methode ist der Einsatz von Generic Routing Encapsulation (GRE). Dieser Ansatz nutzt die Eigenschaften des GRE-Protokolls, um Angriffe effektiver zu machen und Zielsysteme schneller an ihre Kapazitätsgrenzen zu bringen.
Was ist GRE?
Generic Routing Encapsulation (GRE) ist ein Tunneling-Protokoll, das dazu dient, Datenpakete verschiedener Protokolle in ein neues IP-Paket einzukapseln. Es fügt dabei einen zusätzlichen GRE-Header und oft auch einen neuen IP-Header hinzu. Diese Funktionalität ist nützlich für legitime Anwendungen wie:
- Den Transport von Multicast- oder Nicht-IP-Traffic.
- Die Verbindung entfernter Netzwerke.
Wie funktioniert ein DDoS-Angriff mit GRE?
Bei einem DDoS-Angriff mit GRE wird das GRE-Protokoll missbraucht, um das Zielnetzwerk oder den Server mit einer enormen Menge an GRE-Paketen zu überfluten. Das Zielsystem wird gezwungen, diese Pakete zu verarbeiten, was zu einer Überlastung führt.
Schritte eines GRE-DDoS-Angriffs:
- Erstellung eines Botnetzes:
- Der Angreifer nutzt ein Botnetz aus kompromittierten Geräten (z. B. IoT-Geräten), um GRE-Pakete zu generieren.
- Überflutung mit GRE-Traffic:
- Das Botnetz sendet eine massive Anzahl an GRE-Paketen an das Ziel.
- Überlastung des Ziels:
- Jedes GRE-Paket enthält zusätzlichen Header-Overhead, was die verfügbare Bandbreite des Ziels schneller erschöpft.
- Das Zielsystem muss die Pakete verarbeiten und den GRE-Header analysieren, was die CPU und Speicherressourcen stark belastet.
Warum ist GRE bei DDoS-Angriffen so effektiv?
1. Zusätzlicher Overhead
- GRE fügt jedem Paket zusätzliche Header hinzu (4 bis 8 Bytes GRE-Header + IP-Header), was die Paketgröße erhöht.
- Dadurch verbraucht ein GRE-DDoS-Angriff mehr Bandbreite im Vergleich zu anderen Protokollen.
2. Schwer zu filtern
- GRE-Pakete müssen entkapselt werden, um ihren Inhalt zu analysieren.
- Die zusätzlichen Verarbeitungsschritte machen es schwierig, GRE-Datenverkehr in Echtzeit zu blockieren.
3. Einsatz authentischer GRE-Pakete
- GRE erlaubt es Angreifern, authentische Pakete zu nutzen, die nicht gefälscht werden können (im Gegensatz zu Protokollen wie UDP oder ICMP).
- Dies erfordert ein großes Botnetz mit echten Geräten, macht die Angriffe jedoch effektiver.
Beispiel: Mirai-Botnetz und der GRE-DDoS-Angriff 2016
Einer der größten dokumentierten GRE-DDoS-Angriffe fand 2016 statt und richtete sich gegen die Website eines Sicherheitsexperten. Das Mirai-Botnetz aus kompromittierten IoT-Geräten sendete Millionen von GRE-Paketen und erzeugte dabei ein Datenvolumen von über 600 Gbps. Dies führte dazu, dass die Zielinfrastruktur völlig überlastet wurde.
Wie kann man GRE-DDoS-Angriffe simulieren und testen?
1. Traffic-Erfassung mit Wireshark
Wireshark ist ein mächtiges Tool, um GRE-Traffic in Echtzeit zu analysieren:
wireshark- Filter, um GRE-Traffic zu analysieren:
gre
### 2. Traffic-Generierung mit `hping3`
`hping3` kann verwendet werden, um GRE-Pakete zu simulieren und ein Netzwerk zu testen:
```bash
hping3 -0 -H 47 <Ziel-IP> --interface <Interface>
-0: Sendet Pakete im Raw-Socket-Modus.-H 47: Gibt die GRE-Protokollnummer an.
3. Analyse mit TCPDump
Um GRE-Pakete zu analysieren, kannst du tcpdump verwenden:
sudo tcpdump proto 47 -i <Interface>- Protokollnummer 47 ist GRE.
Wie kann man sich gegen GRE-DDoS-Angriffe schützen?
1. DDoS-Mitigation-Dienste
- Dienste wie Cloudflare oder Akamai filtern schädlichen GRE-Traffic und leiten nur legitimen Verkehr weiter.
- GRE-Tunnel können verwendet werden, um legitime Verbindungen zu trennen.
2. Traffic-Analyse und Filterung
- Netzwerkgeräte mit Deep Packet Inspection (DPI) können GRE-Traffic analysieren und auffällige Muster erkennen.
- Filterregeln für GRE-Protokollnummer 47 können erstellt werden, um verdächtigen GRE-Traffic zu blockieren.
3. iptables zur Filterung von GRE
Mit iptables kannst du GRE-Pakete blockieren oder überwachen:
sudo iptables -A INPUT -p gre -j DROP- Dieser Befehl blockiert eingehenden GRE-Traffic.
4. Bandbreitenbegrenzung mit tc
Um DDoS-Angriffe zu simulieren oder zu mitigieren:
sudo tc qdisc add dev <Interface> root tbf rate 1mbit burst 32kbit latency 400msrate: Legt die maximale Bandbreite fest.burst: Zulässiger Burst-Traffic.latency: Verzögerung der Verarbeitung.
5. Skalierbare Infrastruktur
- Netzwerke mit hoher Bandbreite und Lastverteilern können Angriffe abmildern, indem sie die Belastung auf mehrere Server verteilen.