Rétroingénierie de logiciels malfaisants

REVERSE1

Résumé

Comprendre le fonctionnement des logiciels malveillants est un élément clé nécessaire auprès des entreprises afin de pouvoir répondre de manière plus efficiente à vos incidents de sécurités. L'objectif de cette information est de fournir les éléments clés permettant de comprendre le fonctionnement des logiciels afin de pouvoir créer des "Indicateurs de Compromission" ainsi que des signatures permettant de détecter des versions modifiées des outils malveillants afin de détecter les mises à jour de ceux-ci sans avoir besoin de mettre à jours vos signatures. La formation vous permettra alors de pouvoir analyser tout type de menace, du client lourd à l'application "Flash" en passant par les documents malicieux (office, PDF) en passant par les sites web malveillants et les applications mobiles.

Contenu du cours

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 code

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

  • Shellcode

    • Techniques et outils d'analyses

    • 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

Certification

A l'issue de cette formation, le stagiaire a la possibilité de passer un examen ayant pour but de valider les connaissances acquises. Cet examen de type QCM dure 1h30 et a lieu durant la dernière après-midi de formation. La réussite à l'examen donne droit à la certification REVERSE1.​

Durée 

5 jours soit 35 heures

Prix Public 

3.600 € HT

 

Dates à Paris

  • 30 nov - 4 déc 2020

Public concerné

  • 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

  • Responsables sécurité

Objectifs pédagogiques

  • 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

Pré requis 

  • Connaître le système Windows

  • Savoir programmer

  • Avoir les bases en réseau

  • Connaître l'assembleur

Méthode Pédagogique

Cours magistral avec travaux pratiques et échanges interactifs

Supports 

  • Support de cours au format papier en français

  • Cahier d'exercices et corrections des exercices

  • Ordinateur portable mis à disposition du stagiaire

  • Certificat attestant de la participation à la formation

Modalité d'évaluation de la formation

Fiche d'évaluation remise aux stagiaires à l'issue de la formation afin de recueillir leurs impressions et identifier d'éventuels axes d'amélioration

Sur le même thème

SARL DIG-IT

Simplifiez vous l'IT

 

Tél : +33 (0)6 09 52 48 96

Mail : sandra@formation-IT.org

Centre de Formation enregistré

sous la DA n° 93.06.07876.06

SIRET 822 060 372 00015 - APE 7022Z 

  • Twitter Classic
  • LinkedIn Social Icon
  • Facebook Social Icon