Skip to content

Releases: jax225/malware_predict

PE Malware Analysis v0.1.0

11 Mar 13:18

Choose a tag to compare

PE Malware Analysis v0.1.0

Описание проекта

PE Malware Analysis - реализован полный пайплайн для автоматизированного анализа PE-файлов, создания датасетов и обучения моделей машинного обучения для обнаружения вредоносного ПО и последующим предсказанием после обучения.

Основные возможности

Подготовка данных

  • Очистка директорий от не-PE файлов
  • Дедупликация файлов (по MD5/имени/размеру)
  • Рекурсивный обход папок

Создание датасета

  • Извлечение импортов DLL (dllname_functionname)
  • Расчет хешей (MD5, SHA256)
  • Информация о секциях PE-файла
  • Определение архитектуры (x86/x64)
  • Сохранение в JSON с поддержкой GZIP сжатия

Интеграция с Manalyze

  • Packer detection - определение упаковщиков (UPX, ASPack, MPRESS и др.)
  • FindCrypt - поиск криптографических констант
  • Suspicious imports - анализ подозрительных категорий функций (process_injection, persistence, keyloggers, network, anti_debug, crypto, bypass_uac, dll_injection)
  • ClamAV интеграция - проверка по антивирусным базам

Дедупликация JSON

  • Поиск дубликатов по хешу
  • Удаление дублей между категориями software/malware в датасете
  • Debug режим с детальным логированием

Обучение моделей

  • CatBoost классификатор
  • SGDClassifier
  • SGDClassifier с поддержкой TF-IDF трансформации
  • Сохранение важности признаков
  • Метаданные обучения

Предикт и анализ

  • Проверка отдельных файлов
  • Рекурсивный анализ директорий
  • Сортировка файлов по категориям
  • Режим антивируса (автоматическое удаление)

Технологии

  • Python 3.12
  • pefile - парсинг PE-файлов
  • CatBoost - градиентный бустинг
  • scikit-learn - машинное обучение
  • ClamAV - антивирусная проверка

Для чего это нужно

  • Исследователям безопасности
  • Для обучения моделей - качественные датасеты с богатыми признаками
  • Для автоматизации - интеграция в SIEM/SOAR

Особенности

  • Manalyze анализ включен по умолчанию
  • Расширенный анализ секций требует флаг --extended
  • ClamAV должен быть установлен отдельно
  • Поддержка больших датасетов (миллионы файлов)