Esta es una implementación aproximada del marco de los mineros ELF como se describe en este documento. La diferencia es que este modelo tiene como objetivo clasificar a un ELF dado como malware o benigno, pero no clasifica el malware en los cinco tipos como se describe en el documento. Esto se debe a las limitaciones del conjunto de datos utilizado.
pip install -r requirements.txtpython run_system.pyEsto imprime la clase predicha (malware o benigna) para cada archivo ELF en el mismo orden que en el final.csv generado en la carpeta ELFS .
feature_selection/weka_features_toremove.txt . Estos son los que tienen 0 ganancia de información. Esto reduce el número de características a 147 .models .Se han utilizado dos clases de clasificadores en el documento
Para los clasificadores no evolutivos hemos utilizado el kit de herramientas Weka y para los clasificadores evolutivos hemos utilizado el kit de herramientas de quilla. La precisión de cada uno de estos clasificadores (en 70-30 división de división de prueba de tren) se da en keel/results/results.txt .
Sin embargo, el sistema de extremo a extremo incorpora un clasificador de votación basado solo en los clasificadores no evolutivos, debido a la disponibilidad de la API Java de Weka.
Si encuentra algún problema o error, no dude en abrir un problema o abrir una solicitud de extracción si desea mejorar.