
LSTM-basierter Klassifikator zur Erkennung von Domain-Generation-Algorithmus (DGA)-Domänen, mit Keras-Implementierungen von neuronalen Netzwerk- und Bigramm-Modellen für DNS-Bedrohungsinformationen.
Dieses Repository enthält sehr einfachen Code zur Klassifizierung von Domänen als DGA oder gutartig. Dieser Code demonstriert unsere Ergebnisse in unserem arxiv-Papier hier: https://arxiv.org/abs/1611.00791. Ein Unterschied sind die Datensätze. Sowohl das Papier als auch dieses Repository verwenden die Alexa Top 1 Million als gutartig, aber dieses Repository generiert seine eigenen Domänen der Einfachheit halber.
Wir implementieren auch nur den LSTM- und Bigramm-Klassifikator aus dem Papier. Dies sind die beiden besten Klassifikatoren und lassen sich in Keras einfach implementieren.
python run.py wird alle Daten herunterladen und generieren, den Klassifikator trainieren und evaluieren und ein PNG auf die Festplatte speichern (die ROC-Kurve). Es verwendet standardmäßig 1 Fold, um die Ausführung zu beschleunigen. Dieser Code wird auf Ihrem lokalen Rechner oder auf einem Rechner mit GPU ausgeführt (GPU wird natürlich viel schneller sein).
Wir haben 11 DGA-Algorithmen in unserem Repository. Einige stammen aus dem https://github.com/baderj/domain_generation_algorithms Repository. Wir haben diese in jeder Datei vermerkt und die gleiche GNU-Lizenz beibehalten. Wir haben jedoch einige kleine Änderungen vorgenommen, wie z. B. die Möglichkeit, keine TLD zu verwenden und die Größe für einige Algorithmen zu variieren.