Formation continue en cybersécurité : Reverse Engineering, Bac+2
Graduate School of Engineering - ESIEA
Information clé
Sélectionnez l'emplacement
Emplacement du campus
Laval, France
Langues
Français
Format d'étude
Sur le campus
Durée
Demande d'info
Rythme
À plein temps
Frais de scolarité
Demande d'info
Date limite d'inscription
Demande d'info
Date de début au plus tôt
Sep 2023
Bourses d'études
Explorez les possibilités de bourses pour vous aider à financer vos études
introduction
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.
Connaissances acquises à l’issue du BADGE:
Introduction à l’ASM x86 et à l’ARM -Ce module est une brique de base sur lequel les intervenants de la formation s’appuieront. Il s’agit de voir ou revoir les concepts liés au reverse engineering ainsi que les particularités de l’ASM et de l’ARM. Au travers des différents exercices pratiques, les étudiants vont acquérir un bagage technique suffisant pour aborder les différents sujets de la formation.
Cryptographie - Ce cours a pour objectif d’introduire les concepts fondamentaux de la cryptographie moderne ainsi que de donner un aperçu des primitives présentes dans les protocoles cryptographiques actuels. À l’issue de la formation, les étudiants auront les connaissances et la méthodologie nécessaires à l’identification et au reverse engineering d’algorithmes cryptographiques.
Reverse Engineering appliqué aux langages orientés objet - L’analyse de binaires développés dans un langage orienté objet nécessite des notions spécifiques à ce dernier. Cette intervention a pour but, par le biais de l’étude des caractéristiques liées au C++, d’introduire les concepts et la façon d’analyser ce type d’exécutable.
Compilation et obfuscation - Ce cours permet de se familiariser avec les différentes étapes du processus de compilation d’un programme et propose un aperçu des techniques d’obfuscation basiques. Ces notions sont utiles afin de comprendre les optimisations effectuées par le compilateur ainsi que d’identifier certains mécanismes utilisés pour contrer l’analyse de binaire.
Reverse Mobile - L’objectif de ce module est de présenter les notions de base associées au reverse engineering sur mobile. À l’issue de la formation, les étudiants seront capables d’analyser et de débugger des applications IOS et Android et auront une connaissance générale des mécaniques internes à ces deux plateformes.
Outils et framework d’analyse - Le reverse engineering d’applications réelles peut être long et fastidieux. Il est parfois nécessaire de développer ses propres scripts afin de faciliter leur analyse. Ce module présente différents outils tels que Metasm, Miasm et Triton qui aident au reverse en proposant chacun un angle d’approche différent. À la fin de la formation, les étudiants auront une idée de l’utilité de tels outils, et seront en capacité de les utiliser efficacement.
Format de fichier exécutable - Ce cours apporte des connaissances sur les structures internes d’un fichier exécutable ainsi que sur le processus de chargement de binaires sur le système d’exploitation.
À l’issue de cette intervention, les étudiants seront capables d’étudier et de manipuler ce type de format ainsi que de reconnaitre les différentes structures le constituant.
Embarqué - Le reverse engineering ne s’arrête pas à la couche logicielle. De plus en plus d’attaques sont possibles au niveau matériel. Ce module a pour objectif de montrer, par la pratique, une méthodologie d’analyse de devices embarqués et de fournir les connaissances de base en reverse engineering matériel.
Architectures d’un système d’exploitation - Ce cours présente l’architecture des ordinateurs, les couches physiques, le noyau, l’espace utilisateur, 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.).
Exploitation - Cette intervention a pour vocation de présenter les différentes classes de vulnérabilité ainsi qu’une méthodologie liée à la recherche de ces dernières. Dans ce module, les étudiants sont invités à analyser des failles logicielles et développer des codes d’exploitation fonctionnels.
Analyse de malwares - Les malwares sont des binaires particuliers qui peuvent s’avérer compliqués à reverser : ils sont généralement accompagnés par de nombreux mécanismes de protection et leur nature même peut rendre pénible leur analyse. Ce cours a pour objectif d’apprendre à étudier efficacement ces programmes. Vu le nombre sans cesse croissant de tels codes, il est impossible de tout regarder manuellement. Nous passerons donc en revue les outils et les méthodes de classification afin d’optimiser les analyses.
À propos de l'école
Des questions
Cours similaires
PG Dip Cybersécurité
- Online United Kingdom
Master en cybersécurité et résilience des entreprises
- Porto, Portugal
Certificat supérieur en cybersécurité
- Rochester, États-Unis d'Amérique