ember-malware-pipeline-eval
Towards an Automated Pipeline for Detecting and Classifying Malware through Machine Learning — Loi et al. (2021) (arXiv:2106.05625, 2021)
What this evaluates
Evaluates a multi-stage machine learning pipeline for detecting and classifying Windows PE files using static analysis features. It probes the model's ability to perform binary malware detection, hierarchical threat-type classification, family identification, and behavioral categorization.
Datasets
- EMBER — total ?; splits: validation (300000), test (200000)
Metrics
accuracy(primary) — range: [0, 1]- Proportion of correctly classified samples out of the total samples evaluated in a specific stage and split.
AUC— range: [0, 1]- Area under the Receiver Operating Characteristic curve, measuring the model's discriminative ability across all thresholds.
false positives— range: count- Absolute count of benign samples incorrectly predicted as malicious.
false negatives— range: count- Absolute count of malicious samples incorrectly predicted as benign.
Input / output format
Input: 1252-dimensional static analysis feature vector extracted from Windows PE files (e.g., byte entropy, printable strings, section entropy, virtual size, data directory sizes, header characteristics).
Output: Multi-stage classification labels: (1) binary detection (malicious/benign), (2) threat type, (3) malware family, (4) behavior. Subsequent stages only process samples predicted as malicious in the preceding stage.
Scoring recipe
def compute_metrics(predictions, gold):
correct = sum(1 for p, g in zip(predictions, gold) if p == g)
accuracy = correct / len(gold)
fp = sum(1 for p, g in zip(predictions, gold) if p == 'malicious' and g == 'benign')
fn = sum(1 for p, g in zip(predictions, gold) if p == 'benign' and g == 'malicious')
return {'accuracy': accuracy, 'false_positives': fp, 'false_negatives': fn}
Common pitfalls
- The pipeline is strictly sequential: stages 2-4 are evaluated only on samples predicted as malicious in stage 1, so their metrics are computed on a filtered subset, not the full test set.
- Ground truth labels for threat types and behaviors are noted as potentially flawed or imperfectly defined, which can artificially limit classifier performance.
- Static analysis features struggle with packed or encrypted malware, leading to systematic misclassifications that accuracy alone does not fully capture.
Evidence (verbatim from paper)
Table 1: Results of the experimental evaluation carried out on the EMBER dataset reporting accuracy, AUC, false positives, and false negatives metrics both for validation and test phases.
Citation
@misc{loi2021automated,
title={Towards an Automated Pipeline for Detecting and Classifying Malware through Machine Learning},
author={Loi et al. (2021)},
year={2021},
note={arXiv:2106.05625}
}
- arXiv: 2106.05625