Mastère Spécialisé de l'ESIEA : sécurité informatique
 

Cette formation de 6 mois accréditée par la CGE se concentre à la fois sur les techniques de retro-ingénierie et sur les différences selon les applications recherchées: analyser un code malveillant est très différent de la découverte d’un protocole inconnu.

Objectifs de la formation

Le BADGE Reverse Engineering (Bilan d’Aptitude Délivré par les Grandes Écoles) reviendra sur les notions élémentaires liées aux architectures étudiées pendant la formation (x86, x86_64 et ARM principalement). Les étudiants se pencheront sur les principales applications du reverse engineering : malwares, protections, programmes de grosse taille, protocoles non documentés et cryptographie.

À l’issue de cette formation, les participants seront capables de répondre à tous les besoins en terme de reverse engineering et auront été confrontés à de nombreux cas pratiques. Ils seront alors capables de comprendre le comportement de tout programme, protégé ou non, et de l’étudier de manière approfondie.

Le BADGE « Reverse Engineering » en un coup d’œil

  • Nombre d’heures de formation : 233h de cours / projets / ateliers / conférences.
  • Horaires :  (voir planning).
  • Prochaine session : débute le lundi 13 février 2017, se termine le jeudi 13 juillet 2017 (voir planning).
  • Durée totale : 6 mois.
  • Lieu : Paris (Métro « Les Gobelins », ligne 7).
  • Candidatures : Actuellement.
  • Tarifs 2017 (pour information) :
    • Formation financée par l’entreprise dans le cadre du budget de formation continue : 7 700€ nets de taxe ;
    • Formation auto-financée par le participant : 6 000€ nets de taxe paiement comptant sinon 6 100€ nets de taxe pour le paiement échelonné.

    De plus, il convient de rajouter les frais de de dossier de 125€ nets de taxe.

 

Télécharger le planning complet

 

Responsables pédagogiques

Cette formation BADGE en « Reverse Engineering » (tout comme celle en « Sécurité Offensive ») a été conçue conjointement par l’ESIEA et QUARKSLAB en collaboration avec des personnalités aux compétences reconnues issues de différents milieux (entreprises de service, industrie, État). L’objectif de ce BADGE étant de faire de vous l’expert en sécurité de l’information que les entreprises, mais aussi les organismes publics recherchent activement, il vous préparera aux multiples environnements dans lesquels vous serez amenés à évoluer.

  • Alexandre Gazet et Sébastien Renaud (QUARKSLAB)
  • Jean-Philippe Luyten (DGA/MI)
  • Vincent Guyot (responsable des formations en sécurité – ESIEA Paris)

 

Prérequis pour postuler à la formation

La connaissance du fonctionnement d’un système d’exploitation (Windows / Linux) est une base utile – en particulier la gestion de la mémoire et des processus.

Il faut également connaître au moins l’un des outils suivants par catégorie :

  • Notions pour un assembleur (x86, ARM, MIPS, PPC, …)
  • Langages : C/C++, python, ruby
  • Désassembleurs : IDA, metasm
  • Debuggers : ollydbg, windbg, gdb

 

Connaissances acquises à l’issue du BADGE

ACQUIS DESCRIPTION
Architectures : x86, ARM Ce cours présente l’architecture des ordinateurs, les couches physiques, le noyau, l’espace utilisateur, les hyperviseurs, et les liens entre les composants logiciels et le matériel. Il s’agit de comprendre le fonctionnement interne d’un ordinateur et des mécanismes qui permettent ensuite d’interagir avec un programme (pagination, segmentation, DMA, breakpoints logiciels et matériels, gestion des fautes, etc.)
Analyse de malwares Les virus ont largement muté depuis quelques années. On ne voit en effet plus d’infections massives comme avec des Code Red ou Slammer. Aujourd’hui, les malwares sont plus des chevaux de Troie ou des rootkits. Ce cours a pour objectif d’apprendre à analyser ces programmes. Vu le nombre sans cesse croissant de tels codes, il est impossible de tout analyser manuellement. Nous passerons donc en revue les outils et les méthodes de classification afin d’optimiser les analyses.
Protections : DRM, jeux, anti-debugs, packers, … De nombreux logiciels sont protégés pour de multiples raisons. Les malwares le sont pour retarder l’analyse, et ainsi maximiser la propagation du code. D’autres programmes ont recours à ces protections pour protéger l’intelligence mise dans le code (propriété intellectuelle), ou des données sensibles (clé dans des DRMs). Ce cours présentera les différentes formes de protection, tant statiques que dynamiques.
Reverse de « gros » programmes : par où commencer, quoi chercher ? Un malware qui ne fait que quelques Ko peut se reverser complètement. En revanche, cela est impossible pour de plus gros programmes. Par exemple, la bibliothèque principale d’Acrobat Reader « pèse » environ 20Mo. Nous expliquerons donc les stratégies à adopter pour s’en sortir quand même. Nous présenterons aussi le cas particulier du reverse de drivers (mode noyau).
Reverse de protocoles : construire un client / serveur pour un protocole non documenté, … Les systèmes communiquent de plus en plus entre eux, mais pour autant, les « langages » (protocoles) ne sont pas forcément publics. Prenons le cas de Skype ou de BlackBerry : il n’existe aucune description des protocoles utilisés. Le reverse de protocole demande à la fois de bien comprendre les systèmes, afin d’identifier les points importants pour l’analyse, et le réseau, afin d’être en mesure d’interpréter les transmissions et de reconstruire des clients minimalistes pour ces protocoles fermés.
Reverse de crypto : reconstruire un algorithme équivalent, sortir des clés, … La cryptographie est partout. On a évoqué les malwares ou les DRM, ces deux types de programmes en utilisent beaucoup. Le défi est de reconstruire dans un langage équivalent le protocole cryptographique utilisé. Souvent, ils s’appuient sur des algorithmes connus, mais ils sont régulièrement enveloppés dans d’autres couches (par exemple des transformations linéaires pour les DRM).

Comment candidater et s’inscrire ?

Cette procédure d’inscription a pour objectifs de cerner vos connaissances et de s’assurer que vous êtes aptes à suivre un BADGE.

  1. Envoyez un CV détaillé (expérience, projets réalisés, articles, ou tout autre élément illustrant votre expérience) par email à l’adresse suivante : (retirer « NOSPAM ») badges(AT)NOSPAMesiea(POINT)fr
  2. Si le jury vous déclare admissible, vous recevrez un dossier à compléter et nous retourner accompagné des frais de candidature (125€ – non remboursables).
  3. Vous serez ensuite convoqué à un entretien, qui s’appuiera sur ce dossier. Les résultats d’admission seront disponibles rapidement après l’entretien.