Dies ist eine ungefähre Umsetzung des ELF -Miner -Frameworks, wie in diesem Artikel beschrieben. Der Unterschied besteht darin, dass dieses Modell darauf abzielt, einen bestimmten ELF als Malware oder gutartig zu klassifizieren, die Malware jedoch nicht in die fünf Typen klassifiziert, wie im Papier beschrieben. Dies liegt an den Einschränkungen des verwendeten Datensatzes.
pip install -r requirements.txtpython run_system.pyDies druckt die vorhergesagte Klasse (Malware oder gutartig) für jede ELF -Datei in derselben Reihenfolge wie im generierten Final.csv im ELFS -Ordner.
feature_selection/weka_features_toremove.txt . Dies sind diejenigen, die 0 Informationsgewinn erzielen. Dies reduziert die Anzahl der Funktionen auf 147 .models Ordner vorhanden.In der Zeitung wurden zwei Klassen von Klassifikatoren verwendet -
Für die nicht-evolutionären Klassifizierer haben wir das Weka-Toolkit verwendet und für die evolutionären Klassifizierer haben wir das Kiel-Toolkit verwendet. Die Genauigkeit jedes dieser Klassifizierer (auf 70-30 Split of Train-Test-Split) ist in keel/results/results.txt angegeben.
Das End-to-End-System beinhaltet jedoch aufgrund der Verfügbarkeit der Java-API von Weka eine Stimmrechtsklassifikatorin, die nur auf den nicht-evolutionären Klassifikatoren basiert.
Wenn Sie Probleme oder Fehler finden, können Sie ein Problem öffnen oder eine Pull -Anfrage öffnen, wenn Sie eine Verbesserung vornehmen möchten.