Formation BADGE Reverse Engineering Planning 1 ... - ESIEA
Formation BADGE Reverse Engineering Planning 1 ... - ESIEA
Formation BADGE Reverse Engineering Planning 1 ... - ESIEA
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Formation</strong> <strong>BADGE</strong> <br />
<strong>Reverse</strong> <strong>Engineering</strong> <br />
<strong>Planning</strong> <br />
• 3 semaines à temps complet :<br />
o 14 – 18 janvier : accueil, mise à niveau<br />
o 1 – 5 juillet : Projets<br />
o 8 – 12 juillet : Projets<br />
• 5 samedi : Février/Mars/Avril/Mai/juin<br />
• 21 Soirées (mardi)<br />
• + Quelques conférences sur la sécurité :<br />
o Droit de l’information<br />
o Lockpicking<br />
o La sécurité autrement<br />
o Social Engeneering<br />
o Histoire de la sécurité<br />
o …<br />
1 Introduction <br />
o Architecture des ordinateurs <br />
•CPU / Mémoire<br />
•Registre<br />
•La pile<br />
•Gestion de la mémoire<br />
•Les modes d’adressages<br />
o Systèmes Numériques et Représentation des Données <br />
•Décimal<br />
•Hexadécimal<br />
•Binaire<br />
•Complément à 2 (et Integer Overflow)<br />
o Les Bases de l’assembleur <br />
•Structure d’un programme en assembleur<br />
•Les variables<br />
•Les constantes symboliques<br />
•Les opcodes<br />
•Opérations de bases sur les registres<br />
•Opérations de base sur la pile<br />
•Opérations arithmétiques et logiques<br />
•Opérations de contrôles<br />
•Les boucles
•Les procédures<br />
•Les interruptions<br />
o La Compilation <br />
Compilation<br />
Edition de liens<br />
Structure d’un programme (PE, Elf)<br />
2 Les Outils <br />
• Désassembleur(s)<br />
• Debugger<br />
• IDA Pro<br />
• Metasm<br />
• Miasm<br />
• Premiers reverses<br />
• Comprendre une API non documentée<br />
• Crack me<br />
3 Langages <br />
• C++ et RTTI (Écriture d’un plugin pour IDA)<br />
• Objective C<br />
• Qt<br />
• Python pour la sécurité<br />
4 Ingénierie de la cryptographie <br />
• Les grandes familles d’algorithmes<br />
• Hash Hmac<br />
• Dérivation de clé<br />
• Chiffrement symétrique (par bloc, par flot)<br />
• Chiffrement asymétrique et signature (Diffie-Helmann, RSA, courbes elliptiques)<br />
• Implémentation standard<br />
5 Programmes protégés <br />
• Obfuscation / Anti debug<br />
• Unpacking d’UPX<br />
• Packer avancé / Drm / Warbird ?<br />
6 Analyse de Malwares <br />
• Recherche de signatures (disque et réseau)<br />
• Déterminer les actions entreprises (ransomware comme gpcode)<br />
• Documents protégés<br />
• Le format Office<br />
• Extraction du dropper<br />
• Analyse du binaire
7 Ouverture(s) : recherche de vulnérabilités <br />
• Introduction sur l’exploitation<br />
• Analyse d’une vulnérabilité PDF<br />
• Analyse d’une vulnérabilité Flash<br />
• Analyse de malwares javascript/flash …<br />
• Analyse d’une application Android/d’un malware Android<br />
• Analyse dans le kernel Windows<br />
8 Mini projets <br />
• Mécanismes d’authentification<br />
• Chiffrement de fichiers<br />
• Mini drm<br />
• Cassage de mots de passe<br />
• Rsa utilisant un modulo déjà cassé<br />
• SSL/TLS, OpenSsl, sslstrip, Ike-scan,<br />
• IPSec, IPv6<br />
• Génération d’aléas et conséquences (faille Debian)<br />
• Analyse de malware Android<br />
• <strong>Reverse</strong> d'un driver de chiffrement<br />
9 Projets de fin de formation