Introduction à la rétro conception et analyse de Malware

Mis à jour le

Responsable(s) : M. Nicolas PIOCH

  • Cours + travaux pratiques
Code Cnam : USCB1A

Envie d'en savoir plus sur cette formation ?

Afin d’obtenir les tarifs, le calendrier de la formation, en distanciel, en présentiel, le lieu de la formation et un contact, remplissez les critères suivants :

Afficher le centre adapté à mes besoins

Afin d’obtenir les tarifs, le calendrier de la formation et le lieu de la formation, remplissez les critères suivants :

  • Durée : 30 heures
  • Alternance, Package
  • 3 crédits

Présentation

Objectifs

Description :

Lorsqu'un malware est détecté dans un système informatique, les responsables sécurité doivent en connaître le fonctionnement pour mieux contrer ses effets. Cette formation aborde des techniques d’analyses statiques de code, de la retro-conception ainsi que la connaissance de techniques de bases de conception d’exploits utilisés par différents malwares pour persister ou détourner le comportement d’un programme légitime afin d'obtenir plus de privilèges.

Objectifs pédagogiques :

Être capable de faire une retro-conception d’un logiciel malveillant, de caractériser son comportement afin de comprendre la menace. Publier un rapport de sécurité au profit des institutions.

 

 

Présence et réussite aux examens

Pour l'année universitaire 2023-2024 :

  • Nombre d'inscrits : 20
  • Taux de présence à l'évaluation : 90%
  • Taux de réussite parmi les présents : 83%

Compétences et débouchés

Compétences

Compétences acquises :

  • Savoir préparer un laboratoire d’analyse d’un malware
  • Savoir analyser et comprendre le comportement de logiciels malveillants
  • Savoir détecter et contourner les techniques d’autoprotection
  • Savoir rédiger un rapport d’analyses sur un malware

Savoirs :

  • Comprendre les techniques d’infection, d’exploitation de vulnérabilité, Shellcode, logiciel IDA, Cuckoo SandBox, mécanisme de protection anti-malware

Informations pratiques

Contact

Programme

Contenu

Contenu :

  • Introduction
    • Cadre légal concernant la rétro conception
    • Typologie des malwares, vecteurs d’infection, mécanisme de persistance et de propagation
    • Triptyques moyens de l’attaquant / volonté / intérêt de la cible
  • Introduction au binaire
    • Chargement et exécution en mémoire (code, données, imports et relocations)
    • Introduction à l'assembleur x86 (instructions, Piles / Tas, conventions d'appels, appels systèmes, etc.)
  • Compréhension technique des vulnérabilités et exploits
    • Mise en place d’un laboratoire d’analyse
    • Les vulnérabilités de corruption mémoire
      • Buffer overflow sur la pile
      • Integer overflow (Explications, manipulation et contre-mesures)
      • Vulnérabilités sur le tas (Heap buffer overflow, User after free, Double free)
      • Les mitigations et contournements (canaris, ASLR, DEP) et mécanismes modernes (Windows 10)
  • Les shellcodes
    • Différences avec un binaire
    • Indépendance vis-à-vis d’un loader
    • Création d’un shellcode linux en assembleur
  • Analyse statique de malware
    • Utilisation du logiciel Ghidra (méthodologie, analyse statique de code)
    • Patterns et signatures, vérification d'intégrité, Métriques d'entropie, heuristiques, etc.
  • Analyse dynamique de malware
    • Introduction à Cuckoo SandBox
    • Debug et suivi de traces
  • Mécanismes d’anti-analyse
    • Packing / protection (chiffrement de codes, anti-désassemblage)
    • Protection contre les machines virtuelles, les débogueurs, outils de rétro-ingénierie
    • Offuscation, chiffrement, ancrage
  • Le rapport d’analyse

Modalités d'évaluation

Examen de 2 heures ou dossier à rendre (rapport d'analyse technique à produire concernant un malware à analyser)