Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/devinblack001/ddos-reduction-system
DefensivwerkzeugePaket-Sniffing & AnalyseScripting & AutomatisierungNetzwerksicherheitMaschinelles LernenEinbruchserkennungIncident ResponseAnomalieerkennungLog-Analyse

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
GitHubdevinblack001/ddos-reduction-system

ddos-reduction-system

Adaptives zweistufiges Layer-4-DDoS-Mitigation-Gateway mit verhaltensbasierter Verkehrsanalyse, Random-Forest-Klassifizierung und Kernel-basierter ipset/iptables-Durchsetzung.

Repository anzeigen
24vor 2 TagenNoch nicht geprüft
Teilen

FLOD System

First Line Of Defense

Ein adaptives zweistufiges Layer-4-Gateway zur Volumetric-DDoS-Mitigation.

Autor: Abdullah Armiyao

Projekt: Adaptive Two Stage Framework for Near Real Time Layer 4 Volumetric DDoS Mitigation Using Behavioral Traffic Analysis

Die FLOD-Dashboard-Übersicht, fünf geschützte Ziele, alle zeigen Normal an

Was es tut

Die meisten DDoS-Mitigation-Ansätze verwenden feste Schwellenwerte: Alles blockieren, das mehr als eine fest codierte Anzahl von Paketen pro Sekunde sendet. Das scheitert in beide Richtungen. Legitimer Datenverkehr spitzt sich während einer starken Auslastungsphase zu und echte Nutzer werden blockiert, oder ein Angreifer bleibt knapp unter der Grenze und kommt durch.

FLOD lernt, wie dein normaler Datenverkehr aussieht, und verschiebt seine eigenen Erkennungsgrenzen entsprechend. Es unterscheidet eine DDoS-Flut von einem Flash Crowd, einem legitimen Ansturm, ohne dass jemand einen Schwellenwert von Hand anpassen muss.

Es sitzt inline auf einem Gateway zwischen der Datenverkehrsquelle und den zu schützenden Hosts und verwirft oder drosselt störende Quellen im Kernel.

Das Dashboard benennt die Adressen, die es als Angreifer blockiert hat, sodass jemand, der das Netzwerklayout nicht bereits kennt, erkennen kann, welche Absender feindlich gesinnt waren. Gedrosselte Adressen werden separat aufgeführt, da Drosselung auch als Vorsichtsmaßnahme eingesetzt und auf ganze Gruppen gleichzeitig angewendet wird.

Wie es aufgebaut ist

Stufe 1 ist ein Rust-Sensor auf dem Paketpfad. Er erfasst jedes Paket, das für einen geschützten Host bestimmt ist, berechnet Rate und Quellendiversität über kurze Fenster und vergleicht sie mit einer selbst gepflegten Baseline. Er führt nur Arithmetik aus, bleibt also dem Datenverkehr nicht im Weg.

Stufe 2 ist ein Python-Dienst. Er empfängt einmal pro Fenster eine Zusammenfassung von Stufe 1, klassifiziert sie mit einem Random Forest und erlässt Kernel-Level-Durchsetzung über ipset und iptables. Ein Isolation Forest läuft parallel dazu bei jedem Fenster und markiert Datenverkehr, der nichts ähnelt, was eines der beiden Modelle gelernt hat, sichtbar als separater Anomalous-Zustand, statt die Durchsetzung zu steuern. Stufe 2 stellt auch das Web-Dashboard bereit.

Die beiden sind über einen Unix-Domain-Socket verbunden.

Umfang

FLOD arbeitet bei Layer-4-Volumetric-Fluten, die allein aus Paket-Headern sichtbar sind: Rate, Quell-IP-Entropie, Protokollmix und wie konzentriert der Datenverkehr auf seiner stärksten Quelle liegt. In der Praxis bedeutet das Fluten, die sowohl hochvolumig als auch konzentriert sind und von einer begrenzten Menge echter Adressen eintreffen.

Eines ist ausdrücklich außerhalb des Umfangs, und eines wird teilweise behandelt:

Angriffe auf Anwendungsebene. Es wird kein Anforderungsinhalt geparst, daher liegen langsame und schwache Anforderungsfluten und Verbindungserschöpfung außerhalb dessen, was ein rein header-basiertes Feature-Set beobachten kann.

Randomisiertes Quell-Spoofing. Das Fälschen einer neuen Quelladresse pro Paket erhöht die Entropie, statt sie zu senken, und kehrt damit das Signal um, nach dem die adressbasierten Features suchen. Quellport-Entropie, TTL-Varianz und TCP-SYN-Fingerprint-Diversität sind unter Adressfälschung invariant und schließen diesen Erkennungsblindfleck, aber eine gefälschte Flut zu erkennen ist ein engeres Problem als eine zu stoppen: Das Blockieren einer gefälschten Adresse bestraft immer noch denjenigen, dem sie wirklich gehört, sodass sichere Durchsetzung gegen diese Klasse weiterhin offen bleibt. Siehe Detection und den Explainer.

Schnellstart

root@kitploit:~
git clone https://github.com/DevInBlack001/ddos-reduction-system.git
cd ddos-reduction-system
sudo bash scripts/install.sh --interface <IFACE> --victim-ips <IP1>,<IP2>

sudo systemctl enable --now ddos-stage2
sudo systemctl enable --now ddos-stage1

Der Installer baut Stufe 1 und kopiert dann den Code und die virtuelle Umgebung von Stufe 2 nach /opt/flod/stage2 (im Besitz von root) und richtet dort das administrative Konto ein, da Stufe 2 als root läuft und nichts aus dem Checkout ausführen darf, in das ein unprivilegiertes Konto noch schreiben kann. Veränderlicher Zustand, die Datenbank, JSON-Konfiguration, trainierte Modelle, liegt in /var/lib/flod. Der Checkout selbst ist von hier an nur noch eine Quelle; ein erneutes Ausführen von scripts/install.sh oder scripts/update.sh aktualisiert die installierte Kopie daraus. Siehe Security für den Grund.

Das Dashboard ist auf Port 8000 erreichbar, über HTTPS, sobald das selbstsignierte Zertifikat des Installers eingerichtet ist. Vollständige Anweisungen, einschließlich des Netzwerklayouts, von dem dies abhängt, finden sich im Wiki.

Der Installer richtet außerdem die eBPF-Build-Toolchain ein, wenn er kann, passend zu dem LLVM, das deine Distribution mitliefert. Dieser Teil ist optional: Ohne ihn baut und läuft der Sensor weiterhin auf libpcap.

Der Sensor hat zwei Capture-Backends. libpcap ist die Standardeinstellung und funktioniert überall. Mit eingerichteter Toolchain zählt --capture-mode kernel Pakete im Treiberpfad über XDP und TC, statt einmal pro Paket einmal pro Fenster den User-Space zu wecken. Die Erkennung ist in beiden Fällen identisch.

Die Erkennungsabstimmung wird gemessen statt geraten. scripts/calibrate.py liest das eigene Log des Sensors, tastet gewöhnlichen Datenverkehr ab und ermittelt, wo die Anomaliegrenzen in deinem Netzwerk liegen sollten.

Um es ohne Installation auszuprobieren, führe es direkt aus der Arbeitskopie aus:

root@kitploit:~
sudo bash scripts/run.sh

Es fragt nach jedem benötigten Wert, bietet für jeden einen Standardwert an und fragt, ob Stufe 2 ebenfalls gestartet werden soll. Füge --defaults hinzu, um alles ohne Nachfrage zu akzeptieren.

Um die Test-Suites auszuführen:

root@kitploit:~
scripts/test.sh

Dokumentation

Wiki, zum Betreiben des Systems:

SeiteBehandelt
InstallationAnforderungen, Netzwerkplatzierung, erste Anmeldung
ConfigurationSensor-Flags, Durchsetzungsabstimmung, Alarme
Dashboard GuideJede Seite in der Konsole
TroubleshootingWenn etwas nicht funktioniert

docs/, zum Verstehen oder Ändern:

DokumentBehandelt
ArchitectureDie Pipeline, Threading, Capture-Abstimmung, Egress-Messung
DetectionWelford, EWMA, Entropie, Anomaliegrenzen, Baseline-Persistenz
ExplainerJeder Begriff und jedes Feld des Wire-Formats, erklärt für einen nicht-technischen Leser
IPCDas Wire-Format des Feature-Vektors
EnforcementKlassifizierung, die vier Mitigation-Stufen, NAT-Behandlung
TrainingErfassen gelabelter Daten und Trainieren des Modells
TestingAusführen beider Test-Suites
SecurityDer Hardening-Durchgang und das Bedrohungsmodell
RoadmapAbgeschlossene und geplante Versionen
Benchmark ResultsFLOD vs. ein fester Schwellenwert: Hardware, Methodik, vollständige Ausgabe
Lessons LearnedEchte Fehler, die während der Entwicklung gefunden wurden, aufbewahrt wegen ihrer Verallgemeinerbarkeit

CONTRIBUTING.md behandelt die Entwicklungsumgebung und Konventionen. SECURITY.md behandelt das Melden von Schwachstellen.

Urheberschaft

Dieses Projekt ist mein eigenes. Das Konzept, die Architektur, das zweistufige Design, der Erkennungsansatz, die Durchsetzungsrichtlinie, das Feature-Set und jede funktionale Entscheidung über alle Versionen hinweg stammen von mir. Ich habe es als Lernübung in Netzwerksicherheit, statistischer Erkennung und Systemprogrammierung gebaut und habe sein Design und seine Entwicklung durchgehend geleitet.

Ich habe KI als Coding-Assistenten während der Implementierung verwendet, der Code nach meinen Vorgaben schrieb und refaktorierte und als Resonanzboden diente, während ich Design-Kompromisse durcharbeitete. Die Entscheidungen darüber, was gebaut werden sollte, warum und wie sich das System verhalten soll, waren meine.

Status

Ein persönliches Open-Source-Projekt und ein funktionierendes System, aber keines, das die adversarialen Tests durchlaufen hat, die ein Produktions-Sicherheitsprodukt benötigt. Setze es in einem Labornetzwerk ein oder dort, wo du es dir leisten kannst, dass es falsch liegt.

Lizenz

Siehe LICENSE.

Tool herunterladen