Chevrosky Posted April 25, 2010 Share Posted April 25, 2010 Salut! Je tiens d'abord a remercier el-farouk pour l'idée, Maverick pour son enthousiasme, et Samir_dz pour l'espace et la compréhension. Reverse Code Engineering est un art d'une extreme vitalité pour les professionnels et les experts de la sécurité d'aujourd'hui.De la rétro-ingénierie d'un malware à la découverte des vulnérabilités dans un binarie, un tel savoir est exigé de nos jours afin de pouvoir sécuriser convenablement une organisation dans un monde ou l'évolution des menaces est en perpétuelle croissance ( plus de 1 millions de virus en 1998 d'apres les laboratoires de Kaspersky). Reverse Code Engineering est une compétence essentielle ? Les pirates utilisent de plus en chevaux de Troie personnalisés qui ne sont pas détectés par les antivirus. En outre, de nombreux programmes binaires contiennent des vulnérabilités, telles que les dépassements de tampon et de l'utilisation de très faibles algorithmes cryptographiques. La seule facon de découvrir ces vulnérabilités critiques pour les programmes de closed-source ( le contraire d'open source) est bien le reverse code engineering. Le RCE est également nécessaire afin de comprendre les mécanismes complexes de l'obscurcissement binaires utilisés par les fournisseurs de protection contre la copie, ainsi que l'obscurcissement mis en place par les éditeurs de logiciels commerciaux. Dans cette section, vous apprendrez les connaissances d'analyse binaires nécessaires pour découvrir la vraie nature de tout binaire Windows ( Rappelez vous qu'un Logiciel freeware ne veut pas dire Open Source), vous apprendrez également comment reconnaitre la construction des langages de haut niveau ( branching statements (if, else, switch), looping functions et le code socket réseau), essentiels à l'exécution d'une analyse consciencieuse et professionnelle d'un binaire. En somme, vous apprendrez : - Comprendre les états de branchement conditionnel - Identification des variables - Gestion de la mémoire - Formats d'exécutable de Win32 - Fondements de l'IDA Pro - Utilisation avancée de l'IDA Pro avec le code hostile - Utilisation d'OllyDbg pour l'analyse d'exécution de logiciels malveillants - Mode débogage du noyau (Kernel) avec SoftICE (ring 0) - Dump d'un exécutables à partir de la mémoire - Localisation des API non documentées - Le Reversing de ntdll.dll - Obfuscation de formats de fichiers - Comprendre les fonctions de hachage - Travailler avec des fichiers binaires cryptées - Unpacking ( décompression ) d'UPX et d'autres types de compression (ACProtect, ASProtect, Armadillo, Obsidium, Themida, PCGuard, etc) - Découvrir les débordements de pile - Suivi des modifications du Registre - Contrecarrer le code anti-debugger - Débogage des programmes multi-thread , etc Après avoir appris ces connaissances préliminaires importantes, vous avancerez à l'analyse de : - Code hostile & Malware ( vers, virus, chevaux de Troie, les rootkits et les bots ) . - Vulnérabilités dans les binaires ( des vulnérabilités de chaine de format, les conditions de dépassement de mémoire tampon, et l'identification des lacunes des schémas cryptographiques). - Les schémas d'obscurcissement binaires utilisés par : ( les Pirates informatiques, les concepteurs de Trojans et les algorithmes de protection contre la copie ). Vous apprendrez supplémentairement comment reconnaitre les caractéristiques des compilateurs (optimiseurs) modernes ( la famille gcc 4.x et l'omniprésent Visual Studio. NET). PS : Le prochain post sera consacré a l'assembleur http://fr.wikipedia.org/wiki/Assembleur 7 Quote Link to comment Share on other sites More sharing options...
el-farouk Posted April 25, 2010 Share Posted April 25, 2010 snip Salam, Peut tu faire une traduction à l'algérienne pour cet article? histoire de le rendre comestible pour nos tète (nous les V.I.N. ou Very Ignorant Newbies) 1 Quote Link to comment Share on other sites More sharing options...
MoiAtmane Posted April 25, 2010 Share Posted April 25, 2010 (edited) Merci pour cette introduction, que je trouves un peu orientée. Si vous permettez chevrosky, j'estimes qu'il faut aussi expliquer et rappeler ce que signifie "Reverse Engineering" globalement en omettant le mot code, notement pour les nuls(titre du sujet oblige) j'aurais préféré pour débutants. on indiquant ce lien Wikipedia :http://en.wikipedia.org/wiki/Reverse_engineering ou http://fr.wikipedia.org/wiki/R%C3%A9tro-ing%C3%A9nierie J'attends votre prochain post. mes salutations Edited April 25, 2010 by MoiAtmane add lien Quote Link to comment Share on other sites More sharing options...
Chevrosky Posted April 25, 2010 Author Share Posted April 25, 2010 Merci el-farouk et MoiAtmane pour vos répliques! Accordez moi 72 heures pour repenser carrément mon approche,je prendrai en considération vos remarques et suggestions.En ce qui concerne le titre de l'article, un lien comblera surement des lacunes http://fr.wikipedia.org/wiki/Pour_les_nuls 1 Quote Link to comment Share on other sites More sharing options...
milax Posted April 25, 2010 Share Posted April 25, 2010 Parmi les points d'entrée de ce monde, peut être le désassemblage (IDA ou windasm (je sais pas si il obsolète celui là ), approche dead list donc et live approach (softice). Quote Link to comment Share on other sites More sharing options...
Chevrosky Posted April 26, 2010 Author Share Posted April 26, 2010 (edited) Parmi les points d'entrée de ce monde, peut être le désassemblage (IDA ou windasm (je sais pas si il obsolète celui là ), approche dead list donc et live approach (softice). Est ce que tu as appris a faire la différence entre un désassmbleur et un debuggeur en mode noyau ? Softice est mort depuis 2006, on peut citer quelques remplaçant , à savoir http://rr0d.droids-corp.org/, qui est open source. http://www.sysersoft.com/ qui nécessite une license, mais un excellent remplacant. TRW 2000 http://www.knlsoft.com/ payant aussi, pourtant il était gratuit les premiers temps de son developpement. Dans le pire des cas y'a le WinDbg de chez windows dispo sur http://www.microsoft.com/whdc/devtools/debugging/default.mspx. En ce qui concerne l'approche, je pralais de la mienne concernant la facon dont je comptais animer cette section du forum. PS: http://www.linice.com/ un clone, mais sous Linux. Je vous promets qu'on touchera a tout ( Windows + Linux + Mac OS x), alors s'il vous plait, soyez patients! Merci! Edited April 26, 2010 by Chevrosky Quote Link to comment Share on other sites More sharing options...
MoiAtmane Posted April 26, 2010 Share Posted April 26, 2010 En ce qui concerne le titre de l'article, un lien comblera surement des lacunes je voulais juste dire qu'une étape vous a échappé dans l'introduction compte tenu du titre sans plus, mais bon, une mise au point est toujours bienvenue. (ceci témoigne mon intéressement à cette rubrique) bonne continuation et merci ! Quote Link to comment Share on other sites More sharing options...
Hakim3i Posted April 26, 2010 Share Posted April 26, 2010 Merci j'att tes cours sinon ça c'est pas pour les NULL ! faut au moi étre nul Quote Link to comment Share on other sites More sharing options...
Chevrosky Posted April 26, 2010 Author Share Posted April 26, 2010 je voulais juste dire qu'une étape vous a échappé dans l'introduction compte tenu du titre sans plus, mais bon, une mise au point est toujours bienvenue. (ceci témoigne mon intéressement à cette rubrique) bonne continuation et merci ! MoiAtmane, je vous remercie pour l'interet que vous portez pour cette séction , sachez que vos remarques et vos mises au point seront toujours les bienvenue.Merci! Merci j'att tes cours sinon ça c'est pas pour les NULL ! faut au moi étre nul Quote Link to comment Share on other sites More sharing options...
bassim Posted April 26, 2010 Share Posted April 26, 2010 Peut tu faire une traduction à l'algérienne pour cet article? histoire de le rendre comestible pour nos tète (nous les V.I.N. ou Very Ignorant Newbies) Salut, Le problème c'est que le sujet est un peu complexe. Pas évident de l'expliquer à des débutants en informatique, il faut avoir un minimum de pré-requis (en système d'exploitation) et de pratique (en programmation). Quote Link to comment Share on other sites More sharing options...
Chevrosky Posted April 27, 2010 Author Share Posted April 27, 2010 Salut, Le problème c'est que le sujet est un peu complexe. Pas évident de l'expliquer à des débutants en informatique, il faut avoir un minimum de pré-requis (en système d'exploitation) et de pratique (en programmation). Si je suis la, c'est surement pour relever le défis, quitte à faire des tutorials en dialecte algérien. 1 Quote Link to comment Share on other sites More sharing options...
oufda Posted September 13, 2010 Share Posted September 13, 2010 je soutiens l'avis de Chevrosky Quote Link to comment Share on other sites More sharing options...
Aboucymbale Posted October 6, 2016 Share Posted October 6, 2016 Salut! Je tiens d'abord a remercier el-farouk pour l'idée, Maverick pour son enthousiasme, et Samir_dz pour l'espace et la compréhension. Reverse Code Engineering est un art d'une extreme vitalité pour les professionnels et les experts de la sécurité d'aujourd'hui.De la rétro-ingénierie d'un malware à la découverte des vulnérabilités dans un binarie, un tel savoir est exigé de nos jours afin de pouvoir sécuriser convenablement une organisation dans un monde ou l'évolution des menaces est en perpétuelle croissance ( plus de 1 millions de virus en 1998 d'apres les laboratoires de Kaspersky). Reverse Code Engineering est une compétence essentielle ? Les pirates utilisent de plus en chevaux de Troie personnalisés qui ne sont pas détectés par les antivirus. En outre, de nombreux programmes binaires contiennent des vulnérabilités, telles que les dépassements de tampon et de l'utilisation de très faibles algorithmes cryptographiques. La seule facon de découvrir ces vulnérabilités critiques pour les programmes de closed-source ( le contraire d'open source) est bien le reverse code engineering. Le RCE est également nécessaire afin de comprendre les mécanismes complexes de l'obscurcissement binaires utilisés par les fournisseurs de protection contre la copie, ainsi que l'obscurcissement mis en place par les éditeurs de logiciels commerciaux. Dans cette section, vous apprendrez les connaissances d'analyse binaires nécessaires pour découvrir la vraie nature de tout binaire Windows ( Rappelez vous qu'un Logiciel freeware ne veut pas dire Open Source), vous apprendrez également comment reconnaitre la construction des langages de haut niveau ( branching statements (if, else, switch), looping functions et le code socket réseau), essentiels à l'exécution d'une analyse consciencieuse et professionnelle d'un binaire. En somme, vous apprendrez : - Comprendre les états de branchement conditionnel - Identification des variables - Gestion de la mémoire - Formats d'exécutable de Win32 - Fondements de l'IDA Pro - Utilisation avancée de l'IDA Pro avec le code hostile - Utilisation d'OllyDbg pour l'analyse d'exécution de logiciels malveillants - Mode débogage du noyau (Kernel) avec SoftICE (ring 0) - Dump d'un exécutables à partir de la mémoire - Localisation des API non documentées - Le Reversing de ntdll.dll - Obfuscation de formats de fichiers - Comprendre les fonctions de hachage - Travailler avec des fichiers binaires cryptées - Unpacking ( décompression ) d'UPX et d'autres types de compression (ACProtect, ASProtect, Armadillo, Obsidium, Themida, PCGuard, etc) - Découvrir les débordements de pile - Suivi des modifications du Registre - Contrecarrer le code anti-debugger - Débogage des programmes multi-thread , etc Après avoir appris ces connaissances préliminaires importantes, vous avancerez à l'analyse de : - Code hostile & Malware ( vers, virus, chevaux de Troie, les rootkits et les bots ) . - Vulnérabilités dans les binaires ( des vulnérabilités de chaine de format, les conditions de dépassement de mémoire tampon, et l'identification des lacunes des schémas cryptographiques). - Les schémas d'obscurcissement binaires utilisés par : ( les Pirates informatiques, les concepteurs de Trojans et les algorithmes de protection contre la copie ). Vous apprendrez supplémentairement comment reconnaitre les caractéristiques des compilateurs (optimiseurs) modernes ( la famille gcc 4.x et l'omniprésent Visual Studio. NET). PS : Le prochain post sera consacré a l'assembleur http://fr.wikipedia.org/wiki/Assembleur Merci l'ami pour ton sujet, moi même je pratique le reverse code engineering (pas simple à première vue) mais cette pratique requiert une méthodologie très spécifique. J'ai des docs en PDF je vais voir si je peux les retrouver et les poster ici. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.