ampls's picture
Upload 7 files
2f5acbd verified
|
Raw
History Blame Contribute Delete
4.89 kB
metadata
title: Malware Detection Pipeline
emoji: πŸ”¬
colorFrom: red
colorTo: purple
sdk: docker
app_port: 7860
pinned: false

Two-Stage Malware Detection Pipeline

MLP + Vision Transformer

Student: Amine Garaali | Deep Learning Project | 2026


How it works

This demo combines two deep learning models into a sequential detection pipeline β€” the same architecture used in real-world security products.

Upload .exe or .dll
        ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Stage 1 β€” MLP (EMBER features)         β”‚
β”‚  Extracts 2381 static PE features       β”‚
β”‚  Outputs: malware probability           β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        ↓
  probability < 0.5 β†’ βœ… BENIGN β€” stop
  probability β‰₯ 0.5 β†’ πŸ”΄ MALWARE β†’ Stage 2
        ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Stage 2 β€” Vision Transformer (ViT)     β”‚
β”‚  Converts binary to grayscale image     β”‚
β”‚  Classifies into 1 of 25 malware        β”‚
β”‚  families using self-attention          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        ↓
  Family name + confidence score

No file is executed at any point. Both models perform static analysis only.


Stage 1 β€” MLP Malware Detector

  • Architecture: 4-layer MLP (2381 β†’ 512 β†’ 256 β†’ 128 β†’ 1)
  • Input: 2381-dimensional EMBER feature vector (imports, byte histogram, sections, strings, header info)
  • Task: Binary classification β€” malware vs benign
  • Dataset: EMBER 2018 β€” 800,000 labeled Windows PE files
  • Performance: 95% accuracy, ROC-AUC 0.9878
  • Key components: BatchNorm, ReLU, Dropout(0.3), Sigmoid output, Adam optimizer

The MLP acts as a fast, high-accuracy first filter. If the file scores below 50% malware probability it is immediately classified as benign and Stage 2 is skipped.


Stage 2 β€” Vision Transformer (ViT) Family Classifier

  • Architecture: ViT built from scratch β€” PatchEmbedding + 6 TransformerBlocks + classification head
  • Input: 64Γ—64 grayscale image derived from raw file bytes (each byte = one pixel)
  • Task: 25-class malware family identification
  • Dataset: MalImg β€” 9,339 grayscale malware images
  • Performance: 98% accuracy across 25 families
  • Key components: Multi-head self-attention (8 heads), GELU activation, CLS token, positional embeddings, AdamW optimizer

The ViT processes the file's binary content as a sequence of 64 image patches, computing attention between all patch pairs simultaneously. This allows it to detect structural relationships across the entire file that convolutional networks cannot capture in a single layer.


The 25 malware families

Adialer.C    Agent.FYI    Allaple.A     Allaple.L    Alueron.gen!J
Autorun.K    C2LOP.P      C2LOP.gen!g   Dialplatform.B  Dontovo.A
Fakerean     Instantaccess  Lolyda.AA1  Lolyda.AA2   Lolyda.AA3
Lolyda.AT    Malex.gen!J  Obfuscator.AD  Rbot!gen    Skintrim.N
Swizzor.gen!E  Swizzor.gen!I  VB.AT    Wintrim.BX   Yuner.A

Why two stages?

Stage 1 (MLP) Stage 2 (ViT)
Question answered Is this malware? What kind of malware?
Input 2381 engineered features Raw binary as image
Feature learning Human-designed Learned by model
Speed Very fast Slower
Can detect benign? Yes No

The MLP is fast and handles the binary decision efficiently. The ViT only runs when needed, providing deeper analysis for confirmed malware. This mirrors how production security tools work β€” cheap detection first, expensive classification second.


Limitations

  • Stage 1 was trained on PE files from 2018 β€” very recent malware using novel evasion may score lower than expected
  • Stage 2 recognizes only the 25 MalImg families β€” novel malware will be classified into the closest-looking known family
  • Neither model executes the file β€” dynamic behavior (e.g. fileless malware) is not analyzed
  • For research and educational purposes only

References

  • Anderson & Roth (2018). EMBER: An Open Dataset for Training Static PE Malware Machine Learning Models. arXiv:1804.04637
  • Nataraj et al. (2011). Malware Images: Visualization and Automatic Classification. VizSec 2011
  • Dosovitskiy et al. (2020). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929
  • Khan & Nauman (2024). Interpretable Detection of Malicious Behavior in Windows PE using Multi-Head 2D Transformers. Big Data Mining and Analytics