Aller au contenu

TP1 — Identification et taxonomie d'échantillons pédagogiques (2h)

Cadre du TP

Tous les fichiers manipulés dans ce TP sont des échantillons pédagogiques fictifs et bénins, spécialement construits pour l'exercice : scripts ou petits exécutables inoffensifs, imitant par leur nom, leurs chaînes de caractères ou leur structure certains traits caractéristiques de familles de malwares réelles, sans contenir aucun code malveillant fonctionnel. Aucune manipulation ne s'effectue en dehors de la machine virtuelle isolée fournie pour le TP. Il est formellement interdit de rechercher ou d'introduire tout échantillon extérieur, réel ou non fourni par l'enseignant.

Objectifs

  • Calculer et vérifier des empreintes cryptographiques de fichiers.
  • Rechercher des chaînes de caractères suspectes dans un binaire pédagogique.
  • Classer un ensemble d'échantillons fictifs selon la taxonomie vue en cours (chapitre 1).

Exercice 1 — Calcul et vérification de hachages

L'enseignant fournit un répertoire echantillons/ contenant plusieurs fichiers pédagogiques fictifs, ainsi qu'un fichier hachages_reference.sha256 listant les empreintes SHA-256 attendues pour chacun.

  1. Pour chaque fichier du répertoire, calculer son empreinte SHA-256 :
sha256sum echantillons/*
  1. Comparer automatiquement les empreintes calculées à celles du fichier de référence :
sha256sum -c hachages_reference.sha256
  1. Identifier et signaler tout fichier dont l'empreinte ne correspond pas à la référence (indice d'une modification, volontaire dans cet exercice, à documenter).

Exercice 2 — Recherche de chaînes suspectes

À partir d'un des échantillons pédagogiques fournis (fichier binaire fictif construit pour l'exercice), extraire les chaînes de caractères imprimables et identifier celles qui pourraient constituer des indicateurs intéressants dans une analyse réelle (adresse réseau fictive, chemin de fichier, nom de clé de registre simulé) :

strings -n 6 echantillons/echantillon_pedagogique_1.bin | tee chaines_extraites.txt
grep -Ei "http|\.php|CurrentVersion\\\\Run|mutex" chaines_extraites.txt

Consigner dans un tableau chaque chaîne repérée, sa catégorie probable (réseau, persistance, autre) et la justification de ce classement.

Exercice 3 — Classification taxonomique d'un jeu d'échantillons

L'enseignant fournit une fiche descriptive (comportement simulé, chaînes de caractères, mode de propagation supposé) pour cinq échantillons pédagogiques fictifs distincts. Pour chacun :

  1. Identifier, en justifiant à partir des éléments de la fiche, à quelle famille de la taxonomie du chapitre 1 il correspond le mieux (virus, ver, cheval de Troie, ransomware, spyware, rootkit).
  2. Indiquer si plusieurs familles pourraient raisonnablement s'appliquer, et pourquoi (un échantillon réel combine souvent plusieurs caractéristiques).
  3. Situer, sur la base des indices disponibles, à quelle(s) étape(s) du cycle de vie d'une attaque (chapitre 1) l'échantillon correspondrait le plus vraisemblablement (livraison, installation, commande et contrôle, etc.).

À rendre

Le tableau de l'exercice 2 (chaînes et classification), et un tableau de synthèse de l'exercice 3 (échantillon, famille retenue, justification, étape du cycle de vie).


Dr. Zakaria Sawadogo — École Polytechnique de Ouagadougou