Enseigner l'analyse de malware à des étudiants : sandbox, outils et progression pédagogique
L'analyse de malware est l'une des disciplines les plus fascinantes et les plus recherchées de la cybersécurité. Elle combine des compétences en systèmes d'exploitation, en réseau, en reverse engineering et en raisonnement analytique. Pour un étudiant qui maîtrise le socle, c'est aussi l'une des matières les plus motivantes : comprendre comment un ransomware s'installe, comment un RAT communique avec son serveur de commande ou comment un dropper dépose sa charge utile, c'est plonger dans la mécanique interne des attaques réelles.
Pour l'enseignant, c'est un module exigeant à préparer correctement : il faut un environnement isolé, des samples appropriés, une progression rigoureuse et des livrables d'évaluation clairs. Voici une méthode complète pour monter ce module, du premier TP d'analyse statique jusqu'au rapport professionnel final.
Prérequis : ce que l'étudiant doit maîtriser avant d'analyser un malware
L'analyse de malware n'est pas une introduction à la cybersécurité. Elle suppose des bases consolidées que vous devez vérifier avant de démarrer le module.
Check-list de prérequis
- Compréhension du format PE (Portable Executable) : savoir ce qu'est un en-tête PE, connaître les sections
.text,.data,.rsrc, comprendre ce que sont les tables d'imports et d'exports. - Bases des processus et de la mémoire Windows : création de processus, injection de DLL, gestion des handles, espace d'adressage virtuel.
- Registre Windows : naviguer dans le registre, identifier les clés de démarrage automatique (
HKLM\Software\Microsoft\Windows\CurrentVersion\Run), comprendre le rôle des hives. - Réseau de base : protocoles TCP/IP, DNS, HTTP/HTTPS, notions de socket. Savoir lire un dump Wireshark basique.
- Python ou scripting : être capable d'écrire un script de 30 lignes pour automatiser une extraction de strings ou parser un fichier texte.
Que faire si les prérequis sont insuffisants
Une session de rattrapage de 30 à 45 minutes en début de module peut couvrir les points les plus critiques : format PE en 10 minutes avec PEview ou CFF Explorer, registre en 10 minutes avec regedit et une démo live, processus en 10 minutes avec Process Hacker. Ne démarrez pas l'analyse de malware avec un groupe qui ne connaît pas ces bases : la frustration sera immédiate et les étudiants décrocheront rapidement.
Monter l'environnement sandbox : REMnux, Flare-VM et isolation réseau
La règle absolue de l'analyse de malware est l'isolation. Un malware exécuté dans un environnement non isolé peut infecter le réseau de l'établissement, sortir des données, et exposer l'enseignant à une responsabilité réelle. L'isolation n'est pas une précaution supplémentaire, c'est le prérequis non négociable.
Comparatif des distributions d'analyse
| Distribution | OS de base | Points forts | Usage principal |
|---|---|---|---|
| REMnux | Ubuntu (Linux) | Suite complète d'outils Linux, analyse réseau, émulation DNS/HTTP avec FakeNet | Analyse statique Linux, analyse réseau, émulation de C2 |
| Flare-VM | Windows 10/11 | Environnement Windows natif, outils Mandiant préinstallés, IDA Free, x64dbg | Analyse Windows, débogage, reverse engineering |
Les deux distributions sont complémentaires. En pratique, pour un cours de niveau licence ou master, commencer avec Flare-VM permet aux étudiants de travailler dans l'environnement que les malwares ciblent majoritairement, puis d'utiliser REMnux pour la partie réseau.
Architecture du réseau de lab
Dans VirtualBox, configurez les adaptateurs réseau ainsi :
- Flare-VM (ou Windows cible) : adaptateur réseau en mode Host-Only uniquement. Aucun accès à Internet. Aucun pont vers le réseau physique.
- REMnux : adaptateur en mode Host-Only sur le même réseau interne. REMnux fait office de faux serveur DNS/HTTP (FakeNet-NG) pour capturer les tentatives de communication du malware.
- Poste de l'enseignant : accès normal à Internet pour les recherches. Jamais sur le même segment réseau que les VMs d'analyse.
Prenez un snapshot propre de la VM d'analyse avant chaque session. La restauration prend moins d'une minute, et c'est la seule façon de garantir que chaque TP repart d'un état sain.
Pourquoi l'isolation est non seulement technique mais aussi éthique et légale
Analyser un malware actif dans un environnement non isolé peut techniquement constituer une négligence si le code s'échappe et infecte d'autres systèmes. En France, la loi Godfrain (article 323-1 du Code pénal) punit l'accès non autorisé à un système informatique, même involontaire. Vos étudiants doivent comprendre ce cadre dès le premier cours, avant de toucher à un seul échantillon.
Analyse statique : strings, imports et entropie — atelier guidé 2h
L'analyse statique consiste à examiner un fichier sans l'exécuter. C'est la première étape : elle permet de formuler des hypothèses sur le comportement du malware sans risquer d'activer ses mécanismes.
Outils principaux pour l'analyse statique
- strings (ligne de commande, disponible sur Linux et Windows) : extrait toutes les chaînes imprimables d'un binaire. Les URL, les clés de registre, les messages d'erreur et les noms de domaines apparaissent souvent en clair.
- PEStudio ou PE-bear : analyse le format PE, affiche les imports/exports, calcule l'entropie par section, indique les anomalies.
- Detect-It-Easy (DIE) : identifie les packers et les outils de compilation utilisés, ce qui permet de savoir si le binaire est obfusqué.
- CyberChef (navigateur web) : décode les chaînes Base64, XOR, etc., sans exécuter quoi que ce soit.
Plan d'un TP de 2h — Analyse statique guidée
Distribution du sample (10 min) : l'enseignant distribue une archive ZIP doublement compressée et protégée par mot de passe (convention universelle pour manipuler des samples en sécurité, mot de passe conventionnel : infected). L'étudiant extrait uniquement dans sa VM d'analyse.
Extraction des strings (20 min) : strings -n 8 sample.exe > strings_output.txt puis grep -i "http\|.dll\|RegSetValue\|cmd\|powershell" strings_output.txt. Les étudiants remplissent un tableau : chaînes intéressantes, catégorie (URL, commande système, clé de registre), interprétation.
Analyse PE avec PEStudio (30 min) : imports suspects (fonctions CreateRemoteThread, VirtualAlloc, WriteProcessMemory, URLDownloadToFile), entropie des sections (une section .text avec une entropie supérieure à 7.0 est souvent packée), indicateurs de compilation.
Analyse avec DIE et identification du packer (20 min) : si le binaire est packé, note de la situation et discussion sur pourquoi les auteurs de malware obfusquent leur code.
Synthèse et hypothèses (20 min) : chaque étudiant rédige 5 observations et 2 hypothèses sur le comportement probable du malware, à valider lors de l'analyse dynamique.
Fiche d'analyse statique — modèle étudiant
Nom du fichier : _______________
Hash MD5 : _______________
Hash SHA256 : _______________
Taille : _______________
Architecture : 32 / 64 bits
Strings remarquables :
1. _______________ → Interprétation : _______________
2. _______________ → Interprétation : _______________
3. _______________ → Interprétation : _______________
Imports suspects :
_______________
Entropie sections :
.text : ___ | .data : ___ | autres : ___
Packer détecté : Oui / Non — lequel : _______________
Hypothèses comportementales :
1. _______________
2. _______________
Analyse dynamique : réseau, registre et processus — atelier 3h
L'analyse dynamique exécute le malware dans la VM isolée et observe tout ce qu'il fait. C'est là que les hypothèses formulées lors de l'analyse statique sont confirmées ou infirmées.
Outils principaux pour l'analyse dynamique
- Process Hacker (ou Process Monitor) : arbre des processus, threads, mémoire allouée, modules chargés. Permet de voir si le malware crée de nouveaux processus ou s'injecte dans un processus existant.
- RegShot : prend un snapshot du registre avant et après l'exécution, compare les deux. Toutes les clés créées, modifiées ou supprimées apparaissent dans un rapport.
- Wireshark : capture le trafic réseau. Même si le malware ne peut pas sortir grâce à FakeNet, les tentatives de connexion sont visibles et analysables.
- FakeNet-NG (REMnux) : émule des services DNS, HTTP, SMTP, IRC pour que le malware pense qu'il a accès au réseau et continue à s'exécuter.
- Process Monitor (Sysinternals) : journalise tous les accès fichiers, registre, réseau en temps réel. Filtré correctement, il donne une vue exhaustive de l'activité du malware.
Plan d'un TP de 3h — Analyse dynamique
Préparation (20 min) : snapshot de la VM propre, démarrage de RegShot (snapshot 1), démarrage de Process Monitor (filtres : exclure les processus système connus), démarrage de Wireshark sur l'interface réseau de la VM.
Exécution contrôlée (15 min) : lancement du sample en double-cliquant depuis l'explorateur Windows de la VM (jamais depuis un shell réseau). Observer immédiatement le Process Hacker : quels processus sont créés ? Y a-t-il injection ?
Observation réseau (20 min) : analyser Wireshark. Tentatives de résolution DNS (vers quels domaines ?), tentatives de connexion HTTP/HTTPS (vers quelles IP ?), protocoles inhabituels (IRC, raw TCP).
Snapshot registre (20 min) : RegShot snapshot 2, puis comparaison. Identifier les nouvelles clés de persistance, les valeurs modifiées.
Analyse des fichiers créés (25 min) : Process Monitor filtré sur les opérations fichiers. Quels fichiers le malware a-t-il créés, modifiés, supprimés ? Dans quels répertoires ?
Synthèse et rapport partiel (40 min) : complétion de la fiche d'analyse dynamique, mapping sur les techniques MITRE ATT&CK identifiées (T1547 persistence, T1059 command execution, T1071 C2 communication).
Restauration du snapshot avant de passer à un autre groupe ou à la fin de séance.
Progression par niveau : de l'adware au ransomware simple
Un module d'analyse de malware bien structuré progresse en complexité sur plusieurs séances. Voici une progression testée sur des cours de niveau master cybersécurité et des cours de forensic avancés.
| Niveau | Type de malware | Outils principaux | Livrable attendu | Durée estimée |
|---|---|---|---|---|
| 1 — Débutant | Adware / PUP | strings, PEStudio | Fiche d'analyse statique (1 page) | 2h |
| 2 — Intermédiaire | Trojan dropper | + Process Monitor, RegShot | Rapport statique + dynamique (2 pages) | 4h (2 séances) |
| 3 — Avancé | RAT avec communication C2 | + Wireshark, FakeNet, x64dbg basique | Rapport complet + IoC + MITRE TTPs | 6h (3 séances) |
| 4 — Expert | Comportement ransomware | + Debugging, déchiffrement de clé | Rapport professionnel (4-5 pages) + présentation | 8h + évaluation |
Pour chaque niveau, la progression se fait par ajout de couche : on ne remplace pas les compétences précédentes, on les complète. Un étudiant qui arrive au niveau 3 doit avoir intégré tous les réflexes des niveaux précédents.
Évaluation : le rapport d'analyse comme livrable professionnel
L'évaluation la plus pertinente en analyse de malware est le rapport d'analyse, qui reproduit le livrable attendu dans un contexte professionnel de SOC, de CERT ou de threat intelligence. Un analyste malware ou un incident responder réel produit exactement ce type de document.
Structure du rapport d'analyse (livrable étudiant)
- Résumé exécutif (½ page) : en une page lisible par un non-technicien, quel est ce malware, quel est son impact potentiel, quelle action recommande-t-on.
- Indicateurs de compromission (IoC) : liste structurée des hashes (MD5, SHA256), IP/domaines contactés, chemins de fichiers créés, clés de registre modifiées.
- Analyse comportementale : résumé des observations statiques et dynamiques, avec captures d'écran annotées.
- Mapping MITRE ATT&CK : tableau des techniques identifiées (Tactic / Technique / Sous-technique / Observation).
- Recommandations : quelles règles de détection créer (YARA, Sigma), quels IoC bloquer, quelle remédiation si un poste est infecté.
Rubrique d'évaluation
| Critère | Points |
|---|---|
| Exactitude des IoC (hashes, domaines, clés) | 5/20 |
| Qualité de l'analyse comportementale | 5/20 |
| Mapping MITRE ATT&CK pertinent | 4/20 |
| Clarté du résumé exécutif | 3/20 |
| Recommandations actionnables | 3/20 |
La revue par les pairs est une excellente pratique à intégrer : les étudiants échangent leurs rapports et se font des retours croisés avant la remise finale. Cela reproduit les revues de rapport pratiquées en équipe SOC ou threat intelligence.
Pour les étudiants visant la certification GREM (GIAC Reverse Engineering Malware), ce module est un excellent tremplin : les compétences pratiques développées correspondent directement aux domaines évalués dans cet examen.
Ressources légales et sources de samples à connaître
Sources légales d'échantillons
- MalwareBazaar (abuse.ch) : base de données publique de malwares actuels et historiques, téléchargeables avec un compte gratuit. Idéal pour des samples récents et bien documentés.
- VirusTotal : upload de fichiers suspects pour analyse multi-antivirus, et accès à des samples via la recherche (compte gratuit limité). Utile pour des samples moins récents.
- TheZoo (GitHub) : dépôt open source de malwares décompressés, avec licence explicite pour usage de recherche et d'éducation. À utiliser uniquement dans un environnement totalement isolé.
- CAPE Sandbox / ANY.RUN : sandboxes en ligne avec rapports dynamiques préexistants. Permettent d'analyser un comportement sans avoir à exécuter localement, utile pour la prise en main.
- VX-Underground : archive publique de malwares et papers de recherche, populaire dans la communauté threat intel.
Ce que vous devez dire à vos étudiants avant le premier TP
Trois règles non négociables :
- Jamais d'analyse en dehors de la VM isolée. Jamais sur la machine hôte, jamais sur un poste connecté au réseau du lycée ou de l'établissement.
- Jamais de partage de samples. Même entre camarades, même par email ou messagerie. Le transfert de fichiers infectieux peut être constitutif d'une infraction.
- Signaler toute sortie de lab. Si un étudiant pense avoir accidentellement exécuté quelque chose sur sa machine personnelle, il doit le signaler immédiatement. Sans peur de sanction, pour limiter les dégâts.
MITRE ATT&CK comme référentiel d'apprentissage
Le référentiel MITRE ATT&CK est un outil pédagogique sous-utilisé en analyse de malware. Demander aux étudiants de mapper leurs observations sur les techniques du framework développe une rigueur taxonomique directement valorisable en emploi. Chaque comportement observé a un identifiant : T1547 pour la persistance via le registre, T1071 pour la communication C2 via HTTP, T1486 pour le chiffrement de fichiers (ransomware). Les étudiants qui maîtrisent ce langage commun parlent immédiatement le même vocabulaire que les équipes SOC.
Ce qu'il faut retenir
- Vérifier les prérequis (PE, processus, registre, réseau) avant d'entamer le module : sans ces bases, les étudiants se retrouvent bloqués dès la première heure.
- L'isolation réseau est non négociable : adaptateurs host-only dans VirtualBox, snapshots systématiques, jamais de sample sur une machine connectée.
- La progression statique → dynamique est la clé : on formule des hypothèses avec les outils statiques, on les confirme avec l'analyse dynamique.
- Le rapport professionnel avec IoC et mapping MITRE ATT&CK est le meilleur livrable d'évaluation : il reproduit le travail réel d'un analyste malware.
- Les resources légales (MalwareBazaar, VirusTotal, TheZoo) permettent d'accéder à des samples réels dans un cadre éthique.
Vous cherchez un formateur expert en analyse de malware et en cours de forensic pour renforcer votre programme de master cybersécurité ? Retrouvez les intervenants spécialisés disponibles sur Cyber Teachers et trouvez le profil adapté à vos objectifs pédagogiques.