13.04.2015 Views

Formation BADGE Reverse Engineering Planning 1 ... - ESIEA

Formation BADGE Reverse Engineering Planning 1 ... - ESIEA

Formation BADGE Reverse Engineering Planning 1 ... - ESIEA

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!