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
Strumenti/GitHubGitHub/matthoffman/degas
Threat IntelligenceMachine LearningPaper e RicercaApprendimento e FormazioneAnalisi DNSRilevamento di Anomalie
GitHubmatthoffman/degas

degas

Rilevamento di domini generati da DGA tramite modelli di deep learning

Vedi Repository
2377 anni faRevisionato da Kitploit

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 →
Condividi

Degas

Rilevamento di domini generati da DGA tramite modelli di deep learning

Edgar Degas, "Quattro danzatrici"

Esecuzione

Attualmente uso Conda (Anaconda/Miniconda) per lo sviluppo, ma dovresti essere in grado di usare anche Pipenv o virtualenv con il requirements.txt incluso.

conda:

root@kitploit:~
conda env create -f environment.yml
conda activate degas

Pipenv:

root@kitploit:~
pipenv install -r requirements.txt
pipenv shell

Virtualenv è simile, ma non c'è più alcun motivo di usare virtualenv invece di Pipenv.

Riaddestramento del modello

C'è un modello addestrato incluso nella directory models. Se vuoi addestrarne uno tuo, dovrai prima scaricare i dati di addestramento da S3:

root@kitploit:~
python degas/runner download-data

Elabora i dati nella semplice forma CSV che il costruttore del modello si aspetta:

root@kitploit:~
python degas/runner process-data data/raw data/processed

Questi passaggi devono essere eseguiti una sola volta, a meno che tu non modifichi i dati di addestramento.

Per riaddestrare il modello usando il dataset generato, installa prima tensorflow-gpu con il tuo gestore di pacchetti preferito (conda install tensorflow-gpu o pip install tensorflow-gpu) in modo che l'addestramento sia accelerato dalla GPU.

Quindi, esegui:

root@kitploit:~
python degas/runner train-model data/processed

Esegui python degas/runner train-model --help per alcune opzioni di regolazione disponibili. Questa operazione richiede circa un'ora e mezza su una GTX 1070. Esegue solo circa 9 epoche prima di interrompersi; potresti potenzialmente farlo girare per, diciamo, 5 epoche e ottenere comunque una buona accuratezza con metà del tempo di addestramento: python degas/runner train-model --epochs 5 data/processed

Effettuare previsioni

Poiché questo progetto usa Tensorflow come libreria di deep learning sottostante, il modo consigliato per usarlo per l'inferenza è Tensorflow Serving.

Dovresti essere in grado di servirlo usando:

root@kitploit:~
docker run -p 8501:8501 \
  --mount type=bind,source=models/degas,target=/models/degas\
  -e MODEL_NAME=degas -t tensorflow/serving

Vedi la documentazione di Tensorflow Serving per maggiori informazioni sulle opzioni disponibili.

Informazioni su Degas

Perché il deep learning per questo compito? Perché funziona bene e non è difficile da implementare. Da Byu et al, 2018:

"Le reti neurali profonde sono apparse di recente nella letteratura sul rilevamento dei DGA Woodbridge et al. (2016); Saxe & Berlin (2017); Yu et al. (2017). Superano significativamente i metodi tradizionali di machine learning in accuratezza, al prezzo di aumentare la complessità dell'addestramento del modello e richiedere dataset più grandi."

Poiché ci sono molti dati disponibili con cui addestrare, creare un modello di deep learning è altrettanto facile o più facile delle alternative.

Riferimenti

https://openreview.net/forum?id=BJLmN8xRW&noteId=BJLmN8xRW http://faculty.washington.edu/mdecock/papers/byu2018a.pdf

Perché "Degas"?

  • Perché è più divertente lavorare a un progetto con un nome, piuttosto che "DGA-detector" o simili.
  • Forse chiamare il progetto come un pittore impressionista lo farà sembrare più affascinante?
  • Era il primo risultato del classico "algoritmo di denominazione Samba" ( egrep -i '^d.*g.*a.* /usr/share/dict/words )

Per la cronaca, lo pronuncio "de-gah", come Edgar Degas, non "de-gas", cioè "rimuovere tutto il gas."

Scarica lo strumento