Alertes de sécurité en cours Discussion Discussion
Faire un lien Lien
Assiste.com - Sécurité informatique - Décontamination - Antivirus - Protection - Protection de la Vie Privée Assiste.com - Sécurité informatique - Décontamination - Antivirus - Protection - Protection de la Vie Privée


Ingénierie inverse (Reverse engineering)

Dernière mise à jour : 2017-02-01T00:00 - 01.02.2017 - 00h00
16.05.2016 - 00h00 - Paris - (Assiste - Pierre Pinard) - Mise à jour

Ingénierie inverse (Reverse engineering)

Ingénierie inverse (Reverse engineering)

Ingénierie inverse (Reverse engineering)Ingénierie inverse (Reverse engineering)Ingénierie inverse (Reverse engineering)

En informatique, l'Ingénierie inverse (Rétro-ingénierie - Reverse engineering) est un terme essentiellement utilisé dans les tentatives de remonter d'un code exécutable d'un programme à son code source afin de comprendre ce qu'il fait et, éventuellement, ce qu'il cache.

L'Ingénierie inverse se classe dans l'espionnage industriel (intelligence industrielle) et s'applique, globalement à tous les produits et services.

En matière de logiciels informatiques, l'Ingénierie inverse commence par l'utilisation d'outils de désassemblage et de décompilation d'un code exécutable. Si le code est compilé, il est possible d'en obtenir une écriture en "assembleur" (langage de très bas niveau s'adressant directement aux processeurs). Si le code est un code intermédiaire, type P-Code, Java, .Net, etc. ... la décompilation permet de remonter directement, ou presque, au code source.

Une autre méthode d'Ingénierie inverse, en logiciels informatiques, consiste à considérer l'objet logiciel dont on cherche à comprendre le fonctionnement et le comportement, comme une boîte noire ayant des entrées (des données en entrée), et des sorties (des données en sortie). On entre des jeux d'essai de données en entrée et on observe les sorties pour en déduire :

  • Ce qui se passe dans la boîte noire (les algorithmes).
  • Les structures des données en entrée comme en sortie, lorsque ces structures sont inconnues.

Cracker un logiciel relève de l'Ingénierie inverse.

Analyser un virus pour en déterminer son comportement, ses méthodes de camouflage, ce qu'il fait, etc. ... relève de l'Ingénierie inverse.

La protection par des clauses contractuelles interdisant l'Ingénierie inverse n'est pas dissuasive.

La protection par des brevets est coûteuse mais empêche une copie pure et simple. L'Ingénierie inverse va alors permettre de comprendre puis d'imiter sans violer le brevet.

Ce problème n'existe pas avec les logiciels "Open Source" dont le code est public et où rien n'est caché.

Sécurité informatique - Comment je me fais avoir - Comment ne pas me faire avoirSécurité informatique - Comment je me fais avoir - Comment ne pas me faire avoirSécurité informatique - Comment je me fais avoir - Comment ne pas me faire avoir

Sécurité informatique - Contre mesuresSécurité informatique - Contre mesuresSécurité informatique - Contre mesures