Machine Learning para detección de malware: repos clave
Repositorios de machine learning aplicado a detección de malware: clasificadores, features engineering, datasets públicos y frameworks de investigación.
ML para malware: el estado en 2026
Machine learning para detección de malware no es nuevo (los antivirus usan heurísticas ML desde los 2000), pero el campo ha madurado significativamente. Los EDR modernos combinan firmas estáticas + behavioral analysis + modelos ML para detección. Los repositorios de GitHub documentan tanto las técnicas de investigación como las implementaciones prácticas.
Repositorios clave
1. EMBER Dataset (Elastic)
Repo: elastic/ember Stars: 1,000+ | Estado: activo
Endgame Malware BEnchmark for Research. Dataset de features extraídas de 1.1M ejecutables PE (600K maliciosos, 500K benignos). No contiene binarios, solo features: headers PE, imports, exports, secciones, strings, histograma de bytes.
Valor: dataset estándar para benchmarking de modelos de clasificación de malware PE. Incluye modelos baseline (LightGBM) con ~97% accuracy.
2. SOREL-20M (Sophos/ReversingLabs)
Repo: sophos/SOREL-20M Stars: 500+ | Estado: archivado
20 millones de muestras con labels y features. El dataset más grande disponible públicamente para investigación en ML malware detection. Incluye metadata, labels de malware/benign y features precalculadas.
Valor: escala real. EMBER tiene 1.1M muestras, SOREL tiene 20M. Para investigación seria en ML, SOREL es la referencia.
3. MalConv y modelos end-to-end
Varios repos implementan modelos que clasifican malware directamente desde bytes crudos sin feature engineering:
- MalConv: CNN que procesa bytes raw del PE como input
- DMDS: deep learning para detección de malware en streams
- PE-CNN: CNN específico para headers PE
Valor: eliminan la necesidad de feature engineering manual. El modelo aprende qué patrones de bytes son indicativos de malware.
4. Features y análisis estático
Repos que implementan extracción de features para clasificación:
- LIEF: parser multi-formato (PE, ELF, MachO) para extraer features
- pefile: parser de PE para features de headers, imports, secciones
- ssdeep/tlsh: fuzzy hashing para clustering de malware similar
- FLOSS: extracción de strings ofuscadas (feature de texto)
Valor: la calidad de las features determina la calidad del modelo. Estos repos son los building blocks del pipeline.
5. Adversarial ML contra malware
Repos que investigan ataques adversariales contra modelos de detección:
- MalwareGAN: usar GANs para generar muestras que evaden clasificadores
- Adversarial examples para PE: modificar binarios para que modelos ML los clasifiquen como benignos
- Técnicas: append bytes, modify headers, section injection
Valor: si despliegas ML en detección, necesitas entender cómo los atacantes evadirán tu modelo. Adversarial ML es la disciplina que estudia estos ataques.
Pipeline ML para malware detection
1. Dataset: EMBER o SOREL-20M (pre-calculado)
O: extraer features propias con LIEF + pefile + FLOSS
2. Features comunes:
- PE headers (ImageBase, SizeOfCode, Subsystem)
- Imports (qué DLLs importa, qué funciones)
- Secciones (entropy, tamaño, nombres)
- Strings (URLs, IPs, paths, API names)
- Byte histogram (distribución de valores 0-255)
- Entropy global y por sección
3. Modelos:
- LightGBM/XGBoost: rápido, interpretable, baseline sólido
- Random Forest: robusto, menos overfitting
- MalConv/CNN: end-to-end, más accuracy pero menos interpretable
- Transformer-based: estado del arte 2025-2026
4. Evaluación:
- Accuracy no basta: usar precision, recall, F1, AUC-ROC
- False positive rate < 0.1% para producción (1 FP por 1000 archivos)
- Temporal split: entrenar con muestras antiguas, testear con nuevas
Limitaciones y errores comunes
- Overfitting al dataset: modelos que funcionan en EMBER pero fallan con malware real
- Concept drift: el malware evoluciona. Modelos de 2024 detectan peor el malware de 2026
- Adversarial evasion: atacantes que conocen tu modelo pueden evadirlo
- False positives en producción: 99% accuracy suena bien hasta que tienes 10M archivos y 100K falsos positivos
- Solo PE: la mayoría de research es Windows PE. Falta cobertura de ELF, scripts, documentos
Veredicto
EMBER para empezar (dataset manejable + baseline LightGBM). SOREL para investigación seria. LIEF + pefile para extraer features propias. Y siempre evaluar con temporal split y métricas de producción (FP rate), no solo accuracy de laboratorio. ML no reemplaza a YARA/Sigma: los complementa.
Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.