Qu’est-ce que l’ingénierie inverse ?

Certains termes sont explicites. C’est le cas de l’ingénierie inverse, qui consiste littéralement à démonter et à remonter quelque chose. Cela peut être fait physiquement ou virtuellement, et l’intention est de comprendre comment quelque chose fonctionne afin de créer quelque chose de similaire.
L’ingénierie inverse est pratiquée depuis de nombreux siècles, presque aussi longtemps que les gens créent des choses. Parfois, l’ingénierie inverse est effectuée dans le but d’améliorer une création existante, tandis que d’autres instances d’ingénierie inverse impliquent le vol de technologie. Ce dernier cas a particulièrement été le cas avec les armes tout au long de l’histoire de la guerre.

Il n’y a pas que les armes qui font l’objet d’ingénierie inverse. Les choses de tous les jours comme les véhicules, les DVD et les appareils électroménagers font l’objet d’un examen minutieux dans le monde entier. Certaines entreprises ont l’habitude d’importer des marchandises d’autres pays, de les démonter pièce par pièce, puis d’utiliser l’ingénierie inverse pour fabriquer les leurs.

L’ingénierie inverse est également effectuée dans le monde virtuel. Les informaticiens et les scientifiques pratiquent l’ingénierie inverse en créant des modèles 3D d’appareils du monde réel, puis en les déconstruisant virtuellement afin de voir comment ils fonctionnent. Parfois, ils les reconstituent, soit exactement, soit d’une manière légèrement différente. L’avènement des serveurs lourds et des suites graphiques a rendu cela à la fois possible et souhaitable.

Les ordinateurs pratiquent également l’ingénierie inverse à un niveau plus fondamental. Une forme de ce type d’ingénierie inverse est la décompilation. La décompilation est un processus au cours duquel un ordinateur convertira les informations d’un format de bas niveau (code informatique) en un format de haut niveau (texte et nombres ASCII), afin de permettre aux gens de lire des choses comme des instructions et des articles Web. Les occurrences courantes de décompilation impliquent le transfert de fichiers d’un utilisateur à un autre, comme un échange de données ou d’images dans un e-mail, ou pour la reconstruction d’un codage endommagé ou jamais terminé. La décompilation peut également prendre la forme de failles de sécurité, dans lesquelles un pirate informatique utilisera l’ingénierie inverse pour reconstruire les données que quelqu’un d’autre voulait désespérément cacher via le cryptage.

Une autre double utilisation de l’ingénierie inverse est la création et la prévention des virus informatiques. Les créateurs de virus plongent dans les entrailles du code informatique afin de trouver des endroits où enterrer leurs créations. En reconstruisant le code machine en tant que code source, le créateur du virus peut trouver ce qu’il cherche. De l’autre côté de ces actions se trouvent les personnes qui cherchent à empêcher ou à détruire les virus informatiques. Eux aussi utilisent l’ingénierie inverse pour déconstruire le virus lui-même et détruire ou anticiper les exécutables nuisibles.