Rétro-ingénierie

La rétro-ingénierie (traduction littérale de l'anglais Reverse engineering), également appelée rétro-conception, est l'activité qui consiste à étudier un objet pour en déterminer le fonctionnement. L'objectif peut être par exemple de créer un objet différent avec des fonctionnalités identiques à l'objet de départ sans contrefaire de brevet. Ou encore de modifier le comportement d'un objet dont on ne connaît pas explicitement le fonctionnement.

La démarche utilisée peut être celle de l'étude d'une boîte noire : on isole l'objet à étudier, on détermine les entrées et les sorties actives. On essaie ensuite de déterminer la réponse du système en fonction du signal d'entrée. Mais il est également possible de démonter le système jusqu'à un certain point pour en analyser les constituants.

Rétro-ingénierie et logiciel

La rétro-ingénierie s'applique aussi au logiciel. Ceci peut être réalisé en utilisant des outils d'analyse comme le décompilateur. Les méthodes employées sont similaires à celle du débogage.

La rétro-ingénierie de fichiers binaires exécutables destinés à la plate-forme Java peuvent se réaliser avec le programme ArgoUML.

Le projet Samba est un exemple typique de rétro-ingénierie. L'équipe a dû déterminer le fonctionnement du partage de ressources en réseau du système d'exploitation Microsoft Windows sans avoir accès aux spécifications techniques officielles. Ils ont donc dû les déterminer puis les traduire sous forme d'un programme informatique. Il en va de même pour le système de fichier NTFS.

La rétro-ingénierie logicielle fut popularisée avec le détournement des protections anticopie des jeux vidéo. Cette activité est appelée cracking.

En cryptographie, la rétro-ingénierie prend plusieurs formes avec des attaques cryptanalytiques. Le but est d'extraire des informations secrètes depuis la « boîte noire » symbolisant la procédure de chiffrement. Ces types d'attaques sont nommés attaques par canaux auxiliaires. On pense que la rétro-ingénierie est aussi à l'origine de la fuite des algorithmes RC2 et RC4 qui furent diffusés sur Internet via le groupe de discussion sci.crypt. L'algorithme Arcfour est d'ailleurs un clone de RC4.

Rétro-ingénierie appliquées à des objets physiques

Des systèmes de traitement du signal peuvent être utilisés pour numériser la forme d'un objet. Les coordonnées récupérées peuvent être ensuite entrées dans un outil de conception assistée par ordinateur.

La rétro-ingénierie comme activité de veille compétitive

La rétro-ingénierie est aussi une activité de veille compétitive. Elle est orientée vers :

    * l'étude des produits concurrents,
    * la compréhension des méthodes utilisées par le concurrent,
    * la recherche des fournisseurs,
    * la détermination des composants utilisés,
    * l'estimation du coût de revient à partir de tout ou partie des informations précédentes,
    * déceler de potentielles violations de brevets commises par un concurrent ou à éviter.

La rétro-ingénierie comme défense

    * l'étude de binaire malicieux (rootkit) dans le cadre d'une attaque informatique.
    * l'étude de virus informatique pour l'amélioration d'un anti-virus ou en vue d'apporter un moyen d'éradication

Catégorie :
Strategie
Auteur de l'article :
© Copyright 2006 - Wikipédia - sous licence GFDL - www.wikipedia.fr / www.1001Interactive.com
Source :
Date de publication :
3 novembre 2006