“Reverse-Engineering pour
le Fun et le Profit”
17 Mai 2012
FAOUZI Ayoub aka “Noteworthy”, Etudiant-Chercheur Malware Analy...
Agenda
• Qu’est ce que la rétro-ingénierie ?
• A quoi ça sert ?
• Ses applications légales/illégales
• Pourquoi c’est touj...
Qu’est ce que la rétro-ingénierie ?
Est un activité qui consiste
à étudier un objet pour
en déterminer le
fonctionnement i...
Qu’est ce que la rétro-ingénierie
RE : Reverse Engineering
– Rétro conception
– Rétro ingénierie
– Ingénierie inverse
– In...
A quoi ça sert ?
– Comprendre le fonctionnement de cet objet.
– Fabriquer une copie de cet objet.
– Créer un nouvel objet ...
Applications légales 1
– Etude d'un protocole réseau pour son portage
sur d'autres plateformes.
– Etude d'un format
de fic...
Applications légales 2
– Recherche de vulnérabilités dans un logiciel
Légal pour les entreprises agrémentées
(exemple Goog...
Applications légales 3
– Perte du code source.
– Compatibilité ou
Interopérabilité.
– Réutilisation
du code / migration.
Applications illégales 1
– Etude des vulnérabilités d'un logiciel/OS en vue
d'une exploitation.
– Casser une
protection
lo...
Applications illégales 2
– Espionnage
industriel.
– Vol
d'algorithmes
ou même de
logiciels d'une entreprise
concurrente
Pourquoi c’est toujours un Black Art ?
• Reverse Engineering = Cassage
des Protections Logiciels ?
• La DMCA qui fait chie...
En quoi c’est interessant?
– Une compréhension plus profonde de la façon
dont fonctionne n’importe quel
microprocesseur.
–...
Les phases du RE
Fichier Source
Fichier Objet (*.obj)
Fichier Exécutable
Langage
Assembleur
Compilation Linking
Désassembl...
Les connaissances requises
• Identifier le format binaire cible ;
• Maîtriser les outils ;
• Creuser et découvrir autant q...
Les outils pour le RE
– Désassembleurs ;
– Débuggeurs ;
– Décompilateurs ;
– Editeurs hexadécimaux ;
– Outils de contrôles...
Les désassembleurs – IDA
– Est un désassembleur professionnel et très
puissant mais $$
– Certains plugins (très chers) de ...
Les débogueurs - OllyDBG
– Est gratuit.
– Est Très utilisé.
– Interface conviviale.
– Peut être étendu grâce à un système ...
Les décompilateurs
– VB Decompiler ;
– Java Decompiler ;
– DeDe Delphi Decompiler ;
– Reflector .NET Decompiler ;
– Sothin...
Les éditeur Hexadécimaux
– WinHex
– HexDecCharEditor
– Hex Workshop
– Hiew
Outils de control de système
• Le suite Sysinterls de M$.
– Process Explorer
– RegMon
– FileMon
– TCPView
– Etc...
Les outils de Diffing
– WinDiff ;
– eEye Digital Security Diffing ;
– Zynamics BinDiff.
– DarunGrim
Pourquoi protéger son logiciel ?
– Les désassembleurs et les débogueurs
permettent d‘étudier un exécutable sans
posséder s...
Comment protéger son logiciel ?
– Juridiquement
– En bloquant ou freinant le piratage du logiciel
– En utilisant des mesur...
Techniques de protection simples
– Protection par
numéto de série.
– Limitation du
temps.
– Obfuscation de
code
– Chiffrem...
Techniques avancés
– Les Packers
– Techniques d’anti-
RE
– Fusion avec
l'application
– Virtualisation
RE en action 1
– Un ReverseMe
(littéralement
« crack-moi ») est
un petit programme
destiné à tester les
capacités en rétro...
RE en action 2
– Cracker le reverse-me pour accepter tous les
serials.
– Chopper un serial valide.
– Faire un self-keygene...
Conclusion
– RE est vaste et complexe.
– Avec beaucoup de pratique,
il devient très facile.
« Un bon rétro-ingénieure mait...
Questions ?
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Reverse-Engineering Pour le Fun et le Profit
Prochain SlideShare
Chargement dans…5
×

Reverse-Engineering Pour le Fun et le Profit

841 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
841
Sur SlideShare
0
Issues des intégrations
0
Intégrations
22
Actions
Partages
0
Téléchargements
16
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Dmitry Sklyarov : Il est connu pour avoir été poursuivi en 2001 par la société américaine Adobe qui s'est plainte que le système de protection anti-copie de son format de fichier e-book était contourné par le produit de ElcomSoft.
  • Intel, Windows, PE
    Intel, Linux , ELF
    ARM, iOS, Mach-o
  • FLIRT (Fast Library Identification Recognition Technology)
    PIT (Parameter Identification & Tracking)
  • Reverse-Engineering Pour le Fun et le Profit

    1. 1. “Reverse-Engineering pour le Fun et le Profit” 17 Mai 2012 FAOUZI Ayoub aka “Noteworthy”, Etudiant-Chercheur Malware Analysis, Auteur de « Pas à Pas vers l'Assembleur » mail:ayoub@marocpharm.net TAHIRI Soufiane aka “Esp!oNLerAvaGe” Chercheur Indépendant en Sécurité Logiciel, Auteur de « Premièrs Pas vers le Cracking » mail:soufiane@marocpharm.net
    2. 2. Agenda • Qu’est ce que la rétro-ingénierie ? • A quoi ça sert ? • Ses applications légales/illégales • Pourquoi c’est toujours un Black Art ? • En quoi c’est interessant? • Les phases du RE • Les connaissances requises • Les outils pour le RE • Pourquoi protéger son logiciel ? • Comment protéger son logiciel ? • Les techniques de protections simples • Techniques avancés • RE en action • Conclusion • Questions/Réponses
    3. 3. Qu’est ce que la rétro-ingénierie ? Est un activité qui consiste à étudier un objet pour en déterminer le fonctionnement interne ou sa méthode de fabrication.
    4. 4. Qu’est ce que la rétro-ingénierie RE : Reverse Engineering – Rétro conception – Rétro ingénierie – Ingénierie inverse – Ingénierie inversé – Ou bien Tout simplement: « reversing »
    5. 5. A quoi ça sert ? – Comprendre le fonctionnement de cet objet. – Fabriquer une copie de cet objet. – Créer un nouvel objet ayant des fonctionnalités identiques à l'objet de départ. – Analyser un objet produit par un concurrent. Solution: Reverse Engineer it !
    6. 6. Applications légales 1 – Etude d'un protocole réseau pour son portage sur d'autres plateformes. – Etude d'un format de fichier pour son portage sur d'autres plateformes.
    7. 7. Applications légales 2 – Recherche de vulnérabilités dans un logiciel Légal pour les entreprises agrémentées (exemple Google). – Etude de malwares : comprendre les virus/vers/rootkits/botnets pour mieux s'en défendre. (exemple ZeuS, SpyEye, Stuxnet).
    8. 8. Applications légales 3 – Perte du code source. – Compatibilité ou Interopérabilité. – Réutilisation du code / migration.
    9. 9. Applications illégales 1 – Etude des vulnérabilités d'un logiciel/OS en vue d'une exploitation. – Casser une protection logiciel ainsi qu’une publication du patch sur Internet.
    10. 10. Applications illégales 2 – Espionnage industriel. – Vol d'algorithmes ou même de logiciels d'une entreprise concurrente
    11. 11. Pourquoi c’est toujours un Black Art ? • Reverse Engineering = Cassage des Protections Logiciels ? • La DMCA qui fait chier! • Les gens pensent encore que ça devrait être illégal! Please, Le reverse engineering est légal! Dmitry Sklyarov
    12. 12. En quoi c’est interessant? – Une compréhension plus profonde de la façon dont fonctionne n’importe quel microprocesseur. – Apprendre comment le processeur gère les données aide à comprendre énormément d’autres nombreux aspects de la sécurité informatique
    13. 13. Les phases du RE Fichier Source Fichier Objet (*.obj) Fichier Exécutable Langage Assembleur Compilation Linking DésassemblageDécompilation
    14. 14. Les connaissances requises • Identifier le format binaire cible ; • Maîtriser les outils ; • Creuser et découvrir autant que vous le pouvez ... • Identifier le processeur cible ; • Identifier le système d'exploitation cible ;
    15. 15. Les outils pour le RE – Désassembleurs ; – Débuggeurs ; – Décompilateurs ; – Editeurs hexadécimaux ; – Outils de contrôles de systèmes ; – Les outils de diffing ; – …
    16. 16. Les désassembleurs – IDA – Est un désassembleur professionnel et très puissant mais $$ – Certains plugins (très chers) de retrouver le code source originel du programme analysé
    17. 17. Les débogueurs - OllyDBG – Est gratuit. – Est Très utilisé. – Interface conviviale. – Peut être étendu grâce à un système de plugins.
    18. 18. Les décompilateurs – VB Decompiler ; – Java Decompiler ; – DeDe Delphi Decompiler ; – Reflector .NET Decompiler ; – Sothink SWF Decompiler ;
    19. 19. Les éditeur Hexadécimaux – WinHex – HexDecCharEditor – Hex Workshop – Hiew
    20. 20. Outils de control de système • Le suite Sysinterls de M$. – Process Explorer – RegMon – FileMon – TCPView – Etc...
    21. 21. Les outils de Diffing – WinDiff ; – eEye Digital Security Diffing ; – Zynamics BinDiff. – DarunGrim
    22. 22. Pourquoi protéger son logiciel ? – Les désassembleurs et les débogueurs permettent d‘étudier un exécutable sans posséder sa source. – Protéger les logiciels d'une entreprise est alors indispensable.
    23. 23. Comment protéger son logiciel ? – Juridiquement – En bloquant ou freinant le piratage du logiciel – En utilisant des mesures punitives
    24. 24. Techniques de protection simples – Protection par numéto de série. – Limitation du temps. – Obfuscation de code – Chiffrement de code – Vérifications furtives
    25. 25. Techniques avancés – Les Packers – Techniques d’anti- RE – Fusion avec l'application – Virtualisation
    26. 26. RE en action 1 – Un ReverseMe (littéralement « crack-moi ») est un petit programme destiné à tester les capacités en rétro- ingénierie d'un programmeur.
    27. 27. RE en action 2 – Cracker le reverse-me pour accepter tous les serials. – Chopper un serial valide. – Faire un self-keygenerateur.
    28. 28. Conclusion – RE est vaste et complexe. – Avec beaucoup de pratique, il devient très facile. « Un bon rétro-ingénieure maitrise parfaitement le proc cible, l’OS cible, le format fichier cible, et les outils disponible au marché. »
    29. 29. Questions ?

    ×