L'ajout de cookie est désactivé sur votre navigateur, vous devez l'activer pour pouvoir naviguer sur ce site internet.
UpUp, la 1ère plateforme de mutualisation de formations.

Rétroingénierie de logiciels malfaisants

Formation cybersécurité

Rétroingénierie de logiciels malfaisants

Cybersécurité et IA > Cybersécurité

Objectifs

  • Qualifier la menace d'un logiciel malfaisant.
  • Savoir mettre en place d'un laboratoire d'analyse des logiciels malfaisants et préparer l'outillage d'analyse .
  • Analyser de manière statique et dynamique le comportement de logiciels malfaisants.
  • Apprendre l'architecture x86.
  • Savoir identifier les structures logiques (boucles, branchement...).
  • Savoir identifier des motifs utilisés par les logiciels malfaisants en analysant le code.
  • Analyser la mémoire.
  • Savoir contourner les techniques d'autoprotection.

Le programme de la formation

Section 1 : Introduction aux bases de l'analyse de logiciels malveillants

 

Processus et méthodologie générique
Analyse statique :

  • Analyse des métadonnées
  • Analyse statique

Analyse dynamique

  • Comportemental
  • Débugger

Construire son laboratoire d'analyse

  • Simuler internet
  • Utilisation de la virtualisation

Contournement des mécanismes de protection anti-VM
Simulation d'architecture "exotique" (IOT)
Construction du laboratoire et boite à outils

  • Sandbox

 

Cas d'analyse

 

Introduction au langage assembleur

  • Guide de survie des instructions de bases
  • Instruction modifiant le flux d'exécution
  • Présentation des registres

Conventions d'appels

  • Spécificités des langages objets

IDA Pro :

  • Introduction
  • Prise en main de l'outil (création de scripts)

Chaine de compilation et binaires

  • Fuite d'informations possibles
  • Imports d'information dans IDA

 

Section 2 : Système d'exploitation

 

Introduction aux systèmes d'exploitation

  • Processus vs thread
  • Scheduler
  • Syscall
  • Différence processus vs thread

Format d'exécutable

  • Format PE

Présentation des informations
Structures internes

  • SEH
  • TEB
  • PEB
  • SSDT

Introduction au "kernel debugging"

 

Section 3 : Mécanismes de protection (DRM ou packer)

 

Introduction aux outils de DRM/Protection de code

  • Comment les identifier ?
    • Quels sont les impacts ?

Introductions aux différentes techniques de protection :

  • Anti-désassemblage
  • Anti-debogage
  • Obscurcissement du CFG
  • Machine virtuelle
  • Évasion (détection de sandbox/Virtualisation)

Analyse de packer

  • Présentation de la méthode générique d'unpacking
  • Découverte de l'OEP
  • Reconstruction de la table d'imports
    • Miasm2 :
      • Unpacking automatique

 

Section 4 : Malwares

 

Catégoriser les logiciels malveillants en fonction de leurs API

Keyloggers

Rootkits (userland et kerneland)

Sniffers

Ransomwares

Bots et C2

Injection de codeo

  • Technique de contournement de flux d'exécution (ie: detour)

Shellcodeo

  • Techniques et outils d'analyseso
  • Miasm2
  • Unicorn Engine

 

Section 5 : Autres types de malwares

 

Malware "Web" (JavaScript/VBScript)

  • Analyse statique et dynamique
  • Limitation des navigateurs

Malwares Flash

Applications mobiles Android

Documents malveillants

  • Suite Office
  • PDF
  • RTF

Malwares .Net

 

Section 6 : Threat Intelligence

 

Création de signatures Yara

Communication et base de connaissances

  • MISP
  • Yeti

 

Section 7 : Avantage de l'analyse mémoire

Public et Pré-requis de la formation

Membres d'un SOC ou d'un CSIRT, Équipes de réponse aux incidents. Toute personne souhaitant réaliser des analyses avancées des menaces. Toute personne intéressée par l'analyse des logiciels malfaisants. Professionnel de la sécurité souhaitant acquérir des connaissances en analyse de codes malfaisants, Analystes et Responsables sécurité.

 

Connaître le système Windows.
Savoir programmer.
Avoir les bases en réseau.
Connaître l'assembleur.

Méthode pédagogique de la formation

Cours magistral illustré par des travaux pratiques réguliers.

29 Commentaires