Это приблизительная реализация фреймворка ELF Miner, как описано в этой статье. Разница в том, что эта модель направлена на то, чтобы классифицировать данного эльфа как вредоносное ПО или доброкачественное, но не классифицирует вредоносное ПО в пять типов, как описано в статье. Это связано с ограничениями используемого набора данных.
pip install -r requirements.txtpython run_system.pyЭто печатает прогнозируемый класс (вредоносные программы или доброкачественные) для каждого файла эльфа в том же порядке, что и в сгенерированном final.csv в папке ELFS .
feature_selection/weka_features_toremove.txt . Это те, которые имеют 0 информационного усиления. Это уменьшает количество функций до 147 .models .В статье использовались два класса классификаторов -
Для неэволюционных классификаторов мы использовали Toolkit Weka, и для эволюционных классификаторов мы использовали инструментарий Keel. Точность каждого из этих классификаторов (на 70-30 разделение разделения тестирования поезда) приведена в keel/results/results.txt .
Тем не менее, сквозная система включает в себя классификатор голосования, основанный только на неэволюционных классификаторах, из-за наличия Java API Weka.
Если вы найдете какие -либо проблемы или ошибки, не стесняйтесь открывать проблему или откройте запрос на притяжение, если вы хотите улучшить.