Projet 22

La rétro-ingénierie

dimanche 15 juin 2014, par Neimad

Connaissez-vous la rétro-ingénierie ?

Prenons quelques exemple :

  • Vous avez huit ans ans, vous essayer de voir comment fonctionne le jouet-robot. Vous commencez par le soulever, le soupeser, le tourner dans tous les sens, vous appuyez sur les bras, le ventre, vous soulevez le cache où se trouve les piles...
  • On vous offre un nouveau portable-tablette-ordinateur-appareil photo, mais on a oublié de vous fournir la notice...
  • Vous partez en vacances, vous devez prendre en main un voilier, vous essayer de voir comment il fonctionne, comment répond le navire, sans savoir au début si vos mouvements sont dus à des gestes de votre part, à la mer ou au vent...
  • Vous faites partie d’une multinationale de cosmétiques, vous essayez de reproduire la "crème rajeunissante", d’une autre firme, vous vous en procurez un flacon et vous analysez ses composants...
  • Vous êtes faussaire et vous voulez reproduire un "véritable" vase Ming, il faut vous d’abord comprendre comment ils étaient conçus et créés, avec quels matériaux, quelles techniques...
  • Vous voyagez dans le temps, vous perdez votre montre en 850 de notre ère. Qu’auraient pensé les horlogers de l’époque ? Auraient-ils compris le fonctionnement de votre montre ?
  • Un OVNI atterrit dans votre jardin et laisse un objet technologiquement très avancé, peut-être par accident, peut-être intentionnellement, vous ne savez pas. A quoi sert-il ? Que peut-il faire ? Comment apprendre à s’en servir rapidement ? Et comment éviter les accidents ?

Dans tous les cas, vous faites une découverte empirique, vous partez de l’objet seul pour retrouver son auteur, son usage, sa source d’énergie, son fonctionnement... Quand on essaie de comprendre le fonctionnement d’un objet, de réécrire son manuel d’utilisateur, de retrouver sa méthode de conception, on appelle cela de la rétro-ingénierie.

Ce terme est aujourd’hui utilisé en informatique, mais on le trouve aussi dans d’autres domaines (dans la réparation d’objets manufacturés, en électronique, en ufologie...).

De manière plus large, la rétro-ingénierie [1] peut être vue comme un principe de déduction "à rebours" des modes opératoires habituelles de la recherche scientifique, puisqu’il ne s’agit pas de produire une technique nouvelle à partir des connaissances acquises précédemment, et d’avancer petit à petit vers une technique plus précise, plus efficace, plus puissante, mais de comprendre une technologie plus avancée qui dépasse ses facultés actuelles de compréhension et d’avancer plus vite que de simples tâtonnements et des coups de chance.

**Définition

La rétroingénierie [2], également nommée rétroconception, ingénierie inversée ou ingénierie inverse, est "l’activité qui consiste à étudier un objet pour en déterminer le fonctionnement interne ou la méthode de fabrication" [3].

Cette ingénierie inversée est une ingénierie essentiellement pratique, en ce sens qu’elle ne passe pas par les "lois" de la physique. Elle s’appuie uniquement sur l’analyse des événements et en déduit les causes possibles et les réponses à avoir [4]. Cette logique peut s’appliquer dans de nombreux domaines, et pas seulement ceux liés à des objets physiques...

**Les origines de la rétroingénierie

Les peuples de l’Antiquité communiquaient, copiaient leurs voisins et envoyaient leurs élites apprendre auprès des castes les plus savantes. Ainsi, les Egyptiens récupérèrent la technique du char chez les Assyriens, les philosophes Grecs (Solon, Thalès, Platon...) partirent apprendre les mathématiques auprès des Egyptiens, les premiers Romains remplacèrent leurs boucliers ronds par des boucliers ovales comme ceux des Celtes et imitèrent les Gaulois qui fabriquaient des côtes de maille et des casques...

Les Romains en particulier, nous raconte l’historien Polybe, avait récupéré une birème phénicienne et étudié la façon dont elle était construite pour copier son procédé de standardisation et accélérer la production de leurs propres navires.

Les premiers médecins qui pratiquèrent vivisection et dissection sur des cadavres essayaient de comprendre comment fonctionnait le corps humain. Il s’agit donc d’un type de rétroingénierie basé sur la biologie.

De même, les physiciens Faraday, Ampère, Watt, Edison et Benjamin Franklin ont essayé de comprendre le phénomène de l’électricité et celui de la foudre. L’excitation des pattes de grenouille par l’électricité avait créé un débat entre ceux qui pensaient que la vie était animée par l’électricité (ce qui donna le mythe de Frankenstein...) et ceux qui distinguaient l’électricité physique et l’électricité animale (ce qui dériva vers l’idée d’un magnétisme animal...). Ils essayaient chacun à leur manière de percer les secrets de mère Nature. Il s’agit d’une forme de rétro-ingénierie appliqué à la physique.

**Les applications en informatique

A partir des circuits informatiques, il est possible, à partir d’algorithmes spécifiques (déassembleur, décompilateur), de retrouver les bases du programme informatique qu’il génère. La "rétroingénierie logicielle" peut également s’appliquer à la récupération des données entre un ordinateur et son périphérique, qui permet de communiquer à son tour avec le périphérique. Ce type de rétro-ingénierie est en particulier utilisé pour la production de logiciels libre pour la fabrication de pilotes (pour imprimantes, webcam, cartes graphiques...).

La rétroingénierie logiciel pose le problème de la légalité. Le film Paycheck, inspiré d’une nouvelle de Philip K. Dick, met d’ailleurs en scène au début du film un personnage qui est payé pour comprendre la technologie utilisée par un concurrent à partir de l’objet physique. En évitant de voler les codes et les plans de ses adversaires, le "copieur" peut faire croire à une découverte simultanée et améliorer encore la technologie qu’il a copiée.

[/Source : 3dscanco.com/]

**Les applications en cryptographie

Conséquence la rétro-ingénierie en informatique, ce type de rétro-ingénierie essaie de décrypter le système de déchiffrement d’un logiciel crypté ou simplement encodé.

Par exemple, un code qui remplacerait toutes les lettres de l’alphabet par des chiffres correspondants utiliserait une table de déchiffrement très simple (A=1 ; B=2...). Il suffirait de lister les nombres utilisés pour s’apercevoir qu’il n’y en a que 26 et que le chiffre le plus utilisé est le 5, qui correspond au E, la lettre la plus fréquente de la langue française.

Il existe évidemment des codes beaucoup plus complexes, mais les "casseurs de code", comme certains détectives pour résoudre des énigmes policières [5], commencent toujours pas lister les informations en leur possession, puis essayaient de regrouper les points communs, de voir les différences, bref d’établir une analyse qui peut être logique ou statistique.

Il ne part pas de rien, puisqu’il existe un nombre limité de modes de cryptage, mais il faut ensuite trouver la bonne clef pour lire le message. De toute façon, le système de déchiffrement sera moins complexe que la liste des codes à déchiffrer, non pas parce qu’il permet de lire clairement le message codé, mais simplement parce que le nombre d’opérations à effectuer se réduit à un nombre de signes plus réduit que le message plus réduit. Le déchiffrement d’un code correspond donc à une technique de réduction des données, en éliminant toute référence au "sens" de ces données. Le sens du message ne vient qu’après opération du code de décryptage, comme mode de vérification si on veut.

**Les applications en linguistique

Champollion a procédé par rétroingénierie pour déchiffrer ou décoder le système des hiéroglyphes, et ce, notamment grâce à la Pierre de Rosette. La répétition de certains symboles le mettait sur la voie d’une traduction littérale, mais Champion a fini par découvrir que les hiéroglyphes n’utilisaient pas seulement des vocables ou des symboles mais un système mixtes qui s’appuyaient à la fois sur des sons et des symboles qui pouvaient valoir un mot entier ou simplement rappeler dans quel sens lire le hiéroglyphe précédent...

D’un certain point de vue, une autre langue est un code a percer. Les hiéroglyphes égyptiens étaient un système plus complexe que les langues syllabiques comme la nôtre. Il fallait donc procéder par rétroingénierie. Les glyphes maya, le linéaire A utilisé autrefois en Crète et le linéaire C qui en dérive et qui était utilisé à Chypre constituent d’autres systèmes de langue qu’il nous est encore impossible de déchiffrer. A la différence d’une communication codée, les Mayas, les Crétois et les Chypriotes de l’antiquité ne sont plus là pour communiquer entre eux, les scientifiques doivent donc faire avec le corpus qu’ils possèdent...

**Les applications en biologie et en robotique

Que ce soit pour comprendre la façon dont communiquent les animaux (abeilles, fourmis, dauphins...) ou la manière dont les êtres vivants apprennent à se déplacer, construisent des nids, des toiles d’araignées... les scientifiques peuvent s’inspirer de ce qui existe pour construire des modèles et es appliquer par exemple en robotique. Il s’agit aussi d’une forme de rétroingénierie.

D’ailleurs, la cybernétique inventée dans les années xxx prenait pour modèle le fonctionnement (d’un point de vue logique) des neurones de notre système nerveux. Le système de feedback qui est l’origine de la cybernétique s’appelle d’ailleurs le "neurone formel de MucCulloch et Pitts" [6].

**Les applications en ufologie

En ufologie, on utilise parfois le terme de "rétro-ingénierie" pour désigner la récupération de technologies extra-terrestres, en particulier à partir du crash supposé d’un OVNI à Roswell (Nouveau Mexique, Etats-Unis) en 1947. En effet, des avancées technologiques majeures ont été réalisées aux Etats-Unis dans les années 50, le transistor, la fibre optique, etc.

Evidemment, on peut aussi trouver des précurseurs à ces inventions. Les défenseurs de la rétro-ingénierie en matière ufologique rétorqueront que Roswell n’a fait qu’accélérer des découvertes qui auraient peut-être été faites des années plus tard et que cette technologie exigeait justement un minimum de connaissances scientifiques pour être comprise et reproduite.

Dans l’état actuel de nos connaissances sur l’affaire Roswell, il ne semble pas qu’il y ait eu de rétro-ingénierie concernant le transistor et la fibre optique, mais il y a bien eu des tentatives de création d’avions furtifs de forme ronde soulevés par une série de turbines situées autour du cockpit [7]. Cet objet n’ayant jamais réussi à voler avec efficacité, où ont-ils pris l’idée de faire voler un avion en forme de "soucoupe volante" ? Simple coïncidence ? Volonté de manipulation de l’opinion pendant la guerre froide ? Les documents déclassifiées de la NASA [8]viennent de faire rebondir l’hypothèse ufologique : plusieurs corps ayant été retrouvés par les militaires sur le lieu du crash, il ne pouvait pas s’agir d’un ballon sonde comme le gouvernement l’avait affirmé pendant des années (et continue de l’affirmer). Si extra-terrestres il y avait, alors quelle forme avait leur appareil ?

L’idée de la découverte d’une technologie "alien" par les êtres humains a été exploité par le film et la série Stargate  : dans cette histoire, des extra-terrestres ont installé des "portes des étoiles" sur les planètes pour pouvoir se téléporter aisément entre les mondes. Les hommes du XXe siècle découvrent un exemplaire de cette porte dans les sables d’Egypte et commencent leur exploration de l’Univers. De même, quelques années plus tard, ils découvrent un vaisseau laissé sur Terre par les "Anciens", Atlantis, et tentent de percer son fonctionnement...

**Les applications en archéologie et en ethnologie

L’archéologue se trouve parfois confronté à des objets ou à des monuments construits avec des techniques qu’il ne connaît pas, sans notice explicative. Les étapes intermédiaires n’existent pas ou sont très éloignées du résultat final, comme les pyramides du plateau de Gizeh en Egypte ou la machine d’Anticythère [9].

De même, l’ethnologie qui découvre une nouvelle tribu, un nouveau peuple, découvrait en même temps une nouvelle langue, un nouveau système de parenté, une nouvelle économie, une nouvelle religion, de nouvelles techniques de chasse, etc. Ce sont dans les premiers mois, dans les premières semaines, que l’ethnologue applique les principes de la rétro-ingénierie puisqu’il essaie de comprendre comment fonctionne une société à partir des comportements de ses membres, en essayant de s’adapter à eux. Il produit déjà ses premières "règles" pour expliquer ce qu’il voit. Ce n’est qu’après l’apprentissage de la langue qu’il affinera ses conceptions par un dialogue avec les membres de la communauté.

**Les applications en psychologie

La psychologie comportementale, à l’opposé de la psychanalyse, chercher à modifier le comportement des personnes et à les aider à vivre avec leur phobie, par exemple, sans chercher à comprendre comment fonctionne la "boîte noire" de notre cerveau, ni à chercher les causes de ces phobies. Or, les résultats de la psychologie comportementale sont très probants et parviennent à diminuer la phobie, voire à la faire disparaître. Ses détracteurs indiquent qu’un problème psychologique (un refoulement), s’il ne peut pas s’exprimer au travers de cette phobie, s’exprimera d’une autre manière dans le comportement ou le corps de la personne. Le fait est qu’elle donne une réponse immédiate à la souffrance de la personne et qu’elle lui permet de vivre mieux.

D’une certaine manière, la psychologie comportementale est une forme de rétroingénierie, qui déduit un état de crise à partir du comportement de la personne et propose une liste d’actions progressives qui diminuent le stress et aident la personne à surmonter ses craintes.

[/Source : proftnj.com/]

**Les applications en physique quantique

La physique quantique est une forme très claire de rétro-ingénierie car les statistiques permettent de décrire le comportement "hasardeux" des particules, sans que l’on comprenne exactement comment et pourquoi les particules agissent de cette manière. Ces statistiques sont d’autant plus efficaces qu’elles s’appliquent à des particules dans leur ensemble et non pas à une particule isolée [10]. C’est pourquoi Einstein s’opposait à la théorie quantique : elle remplace des lois par des statistiques. Or "Dieu ne joue pas aux dés", disait-il. Aujourd’hui, la physique quantique est utilisées dans toutes les technologies modernes sans que l’on comprenne "comment ça marche", comment fonctionne le monde des particules et comment il s’articule avec notre univers quotidien et les lois de la physique.

**Les applications sociologiques et philosophiques

Il est probable que beaucoup de nos comportements sont dictés par des croyances sur l’état du monde, la façon dont il fonctionne (avec ou sans Dieu), les comportements attendus par les autres (ce qu’il faut faire/ne pas faire en société), etc. Quand ces comportements ne produisent pas l’effet attendu, cela étonne mais cela peut aussi engendrer de la souffrance. On cherche ensuite à se rassurer ou on change sa "règle" de vie. Pourtant, nous pouvons vive sans ces "règles". Nous ne savons vraiment comment pensent les autres mais nous vivons avec eux ; nous ne savons pas exactement ce que animent nos dirigeants mais nous votons pour eux ; nous ne savons pas en détail comment le monde fonctionne mais nous vivons dedans. Au final, nous connaissons vraiment très peu de choses sur ce qui nous entoure mais, étrangement, cela ne nous empêche d’évoluer dans ce monde.

De ce point de vue, les "modèles comportementaux" seraient plus importants que les croyances qui y sont associées. Ainsi, les rituels religieux seraient plus importants que les croyances, les actions morales que les intentions, etc.

**Logique de la rétroingénierie

La rétroingénierie s’appuie sur trois outils :

  1. Le jeu des questions-réponses, qui, régulièrement enregistrées, permettent de lister les actions et les réactions, puis d’étudier les occurrences pour en tirer des règles de comportement : c’est la base de l’apprentissage automatique utilisé par certains jeux vidéos pour anticiper les décisions du joueur, par des navigateurs Internet qui s’adaptent à vos habitudes...
  2. L’algorithme : les actions et les conséquences possibles peuvent être formalisées sous la forme d’un algorithme ; l’intérêt de l’algorithme réside dans la non-rétroactivité du processus, c’est-à-dire qu’il n’y a pas d’égalité entre A=>B et B=>A, et dans sa non-transitivité (Si A=>B et que B=>C, alors on NE peut PAS dire que A=>C) : il permet de résoudre des problèmes avec des informations parcellaires, d’explorer des territoires asymétriques, de reconnaître un visage sous différents angles, de suivre... [11]
  3. Le modèle : la rétroingénierie devient efficace et capable de reproduire ou de produire un objet fonctionnel à partir du moment où elle devient capable de créer un modèle (réel ou mental) de l’objet d’origine. Ce modèle sera plus facile à construire s’il est plus simple que celui d’origine. L’enjeu de la construction d’un modèle, à la façon d’un modèle réduit, est de réduire l’objet d’origine à ses spécificités les plus générales, à ses réactions habituelles et archétypales, comme le neurone formel de la cybernétique est la réduction aux seuls rapports électriques du neurone biologique, sans tenir compte de la communication chimique/hormonale qui existe au niveau du cerveau.

**Conclusion

En élargissant l’ingénierie à l’ensemble des techniques, nous avons vu que la rétroingénierie devait recevoir une définition plus large. Le terme d’objet devrait être remplacé par celui de "signifiant", de "système" ou de "technique". En soi, le mode d’interrogation que suppose la rétroingénierie peut s’appliquer à tous les aspects d’un objet x : le processus de fabrication, le fonctionnement et sa finalité.

Dans le roman de science-fiction Stalker des frères Strougaski, les hommes découvrent des objets à certains endroits de la terre dont ils ne méconnaissent pas les possibilités et la finalité. Ces objets défiant parfois les lois de la physique, ils peuvent s’avérer très dangereux pour ceux qui les découvrent, les "Stalkers". Les meilleurs Stalkers sont ceux adoptent les comportements adéquats (avancer prudemment, se surveiller mutuellement, etc.). Ces "comportements adéquats" ne permettent pas de comprendre la finalité de ces objets, mais ils permettent de les manipuler en diminuant le danger, ils forment donc des "réponses adéquats" à la présence de ces objets.

Cette logique n’est pas seulement valable pour les objets manufacturés, mais aussi pour les productions du vivant, la psychologie, les sociétés humaine...

La rétro-ingénierie est une méthode qui serait utilisée pour analyser un objet extra-terrestre, mais aussi pour apprendre à se servir d’un pouvoir extra-sensoriel. Dans les deux cas, quelque chose n’est pas expliqué, quelque chose n’est pas visible, et c’est à l’esprit humain de deviner...

___

Le monde est étrange, vous ne trouvez pas ?

Notes

[1] Depuis la réforme de l’orthographe de 1991, il est possible de retirer le tiret des mots composés. Le terme de rétroingénierie sera donc utilisé plus bas.

[2] traduction de l’anglais reverse engineering)

[3] Source : wikipedia

[4] Autrement dit, elle s’appuie sur la déduction et s’interdit toute induction. La rétroingénierie s’appuie sur ce qui est , l’’étant" de Heidegger, pour produire des effets observables et mesurables. D’une certaine manière, cette manière de voir reflète plus probablement le réel que les "lois" de la physique qui peuvent toujours être reflète être réfutées et expliquées par une autre loi (comme la loi de la gravité par celle de la relativité restreinte...). Le philosophe Wittgenstein définit d’ailleurs le monde comme l’ensemble des événements possibles et le langage comme la seule articulation possible de la pensée. Arrivé au summum de son efficacité, la rétroingénierie devrait être capable de dupliquer un objet sans l’expliquer, comme si l’on devenait capable de parler une langue sans la comprendre.

[5] Je pense en particulier à Sherlock Holmes.

[6] Cf. la conférence de Macy de 1942, et la publication qui en est issue : "A Logical Calculus of Ideas Immanent in Nervous Activity". Ce texte est également considéré comme le premier article de sciences cognitives, puisqu’il permet de rendre compte de la manière dont notre cerveau traite les informations qu’il reçoit. Certains se sont servi de cette analogie "formelle" entre le cerveau et une machine neuronale pour indiquer que la pensée pourrait prendre un autre support que le substrat biologique. Une machine pensante au sens Turing ou un dialogue "cybernétique" entre l’homme et la machine deviendrait possible. Cette analogie a été très féconde puisqu’elle est l’origine de la PNL ou Programmation Neuro-Linguistique et des histoires de science-fiction où un scientifique parvient à transférer son esprit dans une machine, comme dans le film Tron...

[7] Voir l’article de Porjet 22 sur les projets Avrocar et Silverburg

[8] Voir https://www.projet22.fr/ovni/le-fbi...

[9] Voir l’article de Projet 22 sur Le mécanisme d’Anticythère

[10] Il n’est d’ailleurs pas possible d’isoler complètement une particule, de l’observer dans son entier, car on ne peut jamais connaître à la fois sa vitesse et sa position (cf. principe d’incertitude d’Heinsenberg. La dualité onde-corpuscule cache en réalité notre incompétence à définir ce qu’est une électron, un photon ou un quark. Ces particules sont créées par la description que l’on donne du phénomène observé en laboratoire. En soi, elles n’existent pas.

[11] La logique de la rétroingénierie l’éloigne donc mathématiques et la rapproche de la physique, en particulier des principes de la thermodynamique), avec ses lois pleines d’exceptions (entropie, flèche du temps, probabilité quantique...).

1 Message

Répondre à cet article

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0