Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
ddos-reduction-system — Gateway adattivo a due stadi per la mitigazione DDoS di Livello 4 che utilizza analisi comportamentale del traffico, classificazione Random Forest e applicazione a livello kernel tramite ipset/iptables. | Kitploit
Strumenti/GitHubGitHub/devinblack001/ddos-reduction-system
Strumenti DifensiviSniffing e Analisi dei PacchettiScripting e AutomazioneSicurezza di ReteMachine LearningRilevamento IntrusioniRisposta agli IncidentiRilevamento di AnomalieAnalisi dei Log

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
GitHubdevinblack001/ddos-reduction-system

ddos-reduction-system

Gateway adattivo a due stadi per la mitigazione DDoS di Livello 4 che utilizza analisi comportamentale del traffico, classificazione Random Forest e applicazione a livello kernel tramite ipset/iptables.

Vedi Repository
242 giorni faNon ancora revisionato
Condividi

FLOD System

First Line Of Defense

Un gateway adattivo di mitigazione DDoS volumetrico di Livello 4 a due stadi.

Autore: Abdullah Armiyao

Progetto: Framework Adattivo a Due Stadi per la Mitigazione DDoS Volumetrica di Livello 4 Quasi in Tempo Reale tramite Analisi Comportamentale del Traffico

La panoramica della dashboard FLOD, cinque target protetti, tutti in stato Normal

Cosa Fa

La maggior parte delle mitigazioni DDoS utilizza soglie fisse: blocca tutto ciò che invia più di un certo numero predefinito di pacchetti al secondo. Questo fallisce in entrambe le direzioni. Picchi di traffico legittimo durante un periodo intenso e gli utenti reali vengono bloccati, oppure un attaccante rimane appena sotto la soglia e riesce a passare.

FLOD impara come appare il tuo traffico normale e sposta i propri confini di rilevamento per adattarsi. Distingue un flood DDoS da un flash crowd, un picco legittimo, senza che nessuno debba regolare una soglia manualmente.

Si colloca inline su un gateway tra la sorgente del traffico e gli host da proteggere, e scarta o limita le sorgenti offensive nel kernel.

La dashboard identifica gli indirizzi che ha bloccato come attaccanti, così chi non conosce già la disposizione della rete può capire quali mittenti erano ostili. Gli indirizzi limitati sono elencati separatamente, perché la limitazione viene usata anche come precauzione e viene applicata a interi gruppi contemporaneamente.

Come È Costruito

Lo Stadio 1 è un sensore in Rust sul percorso dei pacchetti. Cattura ogni pacchetto diretto verso un host protetto, calcola la frequenza e la diversità delle sorgenti su finestre brevi, e le confronta con una baseline che mantiene autonomamente. Esegue solo operazioni aritmetiche, quindi non interferisce con il traffico.

Lo Stadio 2 è un servizio Python. Riceve un riepilogo dallo Stadio 1 una volta per finestra, lo classifica con una Random Forest, e applica l'enforcement a livello kernel tramite ipset e iptables. Un Isolation Forest viene eseguito in parallelo su ogni finestra, segnalando traffico diverso da qualsiasi cosa entrambi i modelli abbiano appreso, esposto come stato Anomalous separato anziché guidare l'enforcement. Lo Stadio 2 serve anche la dashboard web.

I due sono collegati da un socket di dominio Unix.

Ambito

FLOD opera su flood volumetrici di Livello 4 visibili dai soli header dei pacchetti: frequenza, entropia degli IP sorgente, mix di protocolli, e quanto il traffico è concentrato sulla sua sorgente più attiva. In pratica questo significa flood che sono sia ad alto volume che concentrati, provenienti da un insieme limitato di indirizzi reali.

Una cosa è esplicitamente fuori ambito, e una è parzialmente affrontata:

Attacchi a livello applicativo. Nessun contenuto delle richieste viene analizzato, quindi flood di richieste low and slow ed esaurimento delle connessioni sono al di fuori di ciò che un set di feature basato solo sugli header può osservare.

Spoofing di sorgenti randomizzate. Falsificare un nuovo indirizzo sorgente per ogni pacchetto aumenta l'entropia invece di ridurla, invertendo il segnale che le feature basate sull'indirizzo cercano. L'entropia delle porte sorgente, la varianza del TTL, e la diversità delle impronte TCP SYN sono invarianti rispetto alla falsificazione degli indirizzi e chiudono questo punto cieco del rilevamento, ma rilevare un flood falsificato è un problema più ristretto rispetto a fermarlo: bloccare un indirizzo falsificato punisce comunque chi lo possiede realmente, quindi l'enforcement sicuro contro questa classe rimane aperto. Vedi Detection e l'Explainer.

Avvio Rapido

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

L'installer compila lo Stadio 1, poi copia il codice dello Stadio 2 e l'ambiente virtuale in /opt/flod/stage2 (di proprietà di root) e configura l'account amministrativo lì, poiché lo Stadio 2 viene eseguito come root e non deve eseguire nulla dal checkout su cui un account non privilegiato può ancora scrivere. Lo stato mutabile, il database, la configurazione JSON, i modelli addestrati, risiedono in /var/lib/flod. Il checkout stesso è da qui in poi solo una sorgente; rieseguire scripts/install.sh o scripts/update.sh aggiorna la copia installata da esso. Vedi Security per il motivo.

La dashboard è sulla porta 8000, su HTTPS una volta che il certificato auto-firmato dell'installer è in posizione. Le istruzioni complete, inclusa la disposizione di rete da cui dipende, sono nella wiki.

L'installer configura anche la toolchain di build eBPF quando può, in base a quale LLVM distribuisce la tua distribuzione. Quella parte è opzionale: senza di essa il sensore si compila e funziona comunque su libpcap.

Il sensore ha due backend di cattura. libpcap è il predefinito e funziona ovunque. Con la toolchain in posizione, --capture-mode kernel conta i pacchetti nel percorso del driver tramite XDP e TC invece, risvegliando lo spazio utente una volta per finestra anziché una volta per pacchetto. Il rilevamento è identico in entrambi i casi.

La messa a punto del rilevamento è misurata anziché ipotizzata. scripts/calibrate.py legge il log del sensore stesso, campiona il traffico ordinario, e determina dove devono trovarsi i confini di anomalia sulla tua rete.

Per provarlo senza installare nulla, eseguilo dalla copia di lavoro:

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

Chiede ogni valore di cui ha bisogno, offre un valore predefinito per ognuno, e chiede se avviare anche lo Stadio 2. Aggiungi --defaults per accettare tutto senza che venga chiesto.

Per eseguire le suite di test:

root@kitploit:~
scripts/test.sh

Documentazione

Wiki, per eseguire il sistema:

PaginaCopre
InstallationRequisiti, posizionamento in rete, primo accesso
ConfigurationFlag del sensore, messa a punto dell'enforcement, avvisi
Dashboard GuideOgni pagina della console
TroubleshootingQuando qualcosa non funziona

docs/, per comprenderlo o modificarlo:

DocumentoCopre
ArchitectureLa pipeline, il threading, la messa a punto della cattura, la misurazione dell'egress
DetectionWelford, EWMA, entropia, confini di anomalia, persistenza della baseline
ExplainerOgni termine e ogni campo del formato wire, spiegato per un lettore non tecnico
IPCIl formato wire del vettore di feature
EnforcementClassificazione, i quattro livelli di mitigazione, gestione NAT
TrainingCatturare dati etichettati e addestrare il modello
TestingEseguire entrambe le suite di test
SecurityLa passata di hardening e il modello di minaccia
RoadmapVersioni completate e pianificate
Benchmark ResultsFLOD vs. una soglia fissa: hardware, metodologia, output completo
Lessons LearnedBug reali trovati durante lo sviluppo, conservati per ciò a cui generalizzano

CONTRIBUTING.md copre la configurazione dello sviluppo e le convenzioni. SECURITY.md copre la segnalazione delle vulnerabilità.

Paternità

Questo progetto è mio. Il concetto, l'architettura, il design a due stadi, l'approccio di rilevamento, la politica di enforcement, il set di feature, e ogni decisione funzionale in tutte le versioni sono nati da me. L'ho costruito come esercizio di apprendimento in sicurezza di rete, rilevamento statistico, e programmazione di sistemi, e ne ho diretto il design e l'evoluzione per tutto il tempo.

Ho usato l'IA come assistente di programmazione durante l'implementazione, scrivendo e rifattorizzando codice secondo le mie specifiche e fungendo da spalla per il confronto mentre elaboravo i compromessi di design. Le decisioni su cosa costruire, perché, e come il sistema dovrebbe comportarsi sono state mie.

Stato

Un progetto personale, open source, e un sistema funzionante, ma non uno che abbia superato il test avversariale di cui ha bisogno un prodotto di sicurezza di produzione. Distribuiscilo su una rete di laboratorio o da qualche parte dove puoi permetterti che si sbagli.

Licenza

Vedi LICENSE.

Scarica lo strumento