Aller au contenu

« Rétro-ingénierie assistée par l'IA » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
NotYohan (discuter | contributions)
Créé en traduisant la page « AI-assisted reverse engineering »
(Aucune différence)

Version du 20 janvier 2024 à 05:10

La rétro-ingénierie assistée par l'IA (AIARE – Anglais: AI-assisted reverse engineering) est un domaine de l'informatique qui fait usage de l'intelligence artificielle (IA) et notamment des stratégies d'apprentissage automatique (ML), pour accélérer et automatiser le processus de rétro-ingénierie. Cette dernière consiste à décomposer un produit, un système ou un processus afin d'en comprendre la structure, la conception et les fonctionnalités. L'AIARE est apparue au début du 21e siècle et a connu des progrès majeurs depuis 2010.

Aperçu

Traditionnellement, la retro-ingénierie est réalisée par des spécialistes qui déconstruisent un système pour en comprendre les principes de fonctionnement, souvent afin d'en permettre la reproduction, la modification, l'amélioration de la compatibilité ou encore l'analyse. Cette méthode, bien qu'efficace, peut s'avérer laborieuse et chronophage, en particulier lorsqu'il s'agit de systèmes logiciels ou matériels complexes. [1] [2] [3]

L'AIARE intègre des algorithmes d'apprentissage automatique pour accélerer ou automatiser partiellement ce processus. [4] [5] Elle est capable de détecter des motifs, des relations, des structures et des vulnérabilités potentielles au sein du système analysé, avec une rapidité et une précision qui dépasse souvent celle des experts humains. Pour ces raisons, l’AIARE est devenue un outil essentiel dans de nombreux domaines, notamment la cybersécurité, le développement de logiciels, ainsi que la conception et l’analyse de matériel. [6]

Techniques

L'AIARE englobe plusieurs méthodologies d'IA :

L'apprentissage supervisé

L'apprentissage supervisé utilise des données étiquetées afin d'entraîner des modèles a reconnaître les composants d'un système et a comprendre leur fonctionnement et leurs interactions. Cette méthode est particulièrement utile dans l'analyse de logiciels pour découvrir des vulnérabilités ou améliorer la compatibilité. [3] [7] [8]

L'apprentissage non-supervisé

L'apprentissage non-supervisé est utilisé pour détecter des motifs et des structures dissimulés dans des données non étiquetées. Cette technique s'avère bénéfique pour comprendre des systèmes complexes où il n'y a pas d'étiquetage ou de lien évident entre les composants. [1] [9]

L'apprentissage par renforcement

L'apprentissage par renforcement est utilisé pour construire des modèles qui affinent progressivement leur compréhension du système par tâtonnement. Cette méthode est souvent appliquée lors du déchiffrement des fonctionnalités d'un système dans diverses circonstances ou configurations. [1] [5]

L'apprentissage profond (Deep Learning)

L'apprentissage profond est utilisé dans l'analyse de données de haute dimension. Par exemple, les techniques d'apprentissage profond peuvent aider à examiner la structure et les connexions des circuits intégrés (CI), ce qui réduit considérablement l'effort manuel nécessaire à la retro-ingénierie. [3] [4]

Références

  1. a b et c Florian Neukart, Reverse engineering the mind: consciously acting machines and accelerated evolution, Wiesbaden, Springer, coll. « AutoUni – Schriftenreihe », (ISBN 978-3-658-16175-0)
  2. Shawn Bayern, Reverse engineering (by) artificial intelligence, Research Handbook on Intellectual Property and Artificial Intelligence, Edward Elgar Publishing, pp. 391–404, doi:10.4337/9781800881907.00029, 2022 (ISBN 978-1-80088-190-7), accédé le 2023-07-06
  3. a b et c Stephen P. Ethier, Using Functional Genomics and Artificial Intelligence to Reverse Engineer Human Cancer Cells, Cambridge Scholars, (ISBN 978-1-5275-9230-8)
  4. a et b Eldad Eilam, Reversing: secrets of reverse engineering, Indianapolis, Ind, Nachdr., (ISBN 978-0-7645-7481-8)Eilam, Eldad (2005). Reversing: secrets of reverse engineering (Nachdr. ed.). Indianapolis, Ind: Wiley. ISBN 978-0-7645-7481-8. Erreur de référence : Balise <ref> incorrecte : le nom « :2 » est défini plusieurs fois avec des contenus différents.
  5. a et b Tools and methods of competitive engineering: proceedings of the Tenth International Symposium on Tools and Methods of Competitive Engineering - TMCE 2014, May 19 - 23, Budapest, Hungary, Delft, Faculty of Industrial Design Engineering, Delft University of Technology, (ISBN 978-94-6186-177-1)Horváth, Imre; Technische Universiteit Delft; Budapesti Műszaki és Gazdaságtudományi Egyetem, eds. (2014). Tools and methods of competitive engineering: proceedings of the Tenth International Symposium on Tools and Methods of Competitive Engineering - TMCE 2014, May 19 - 23, Budapest, Hungary. Delft: Faculty of Industrial Design Engineering, Delft University of Technology. ISBN 978-94-6186-177-1. Erreur de référence : Balise <ref> incorrecte : le nom « :3 » est défini plusieurs fois avec des contenus différents.
  6. Eldad Eilam, Reversing: secrets of reverse engineering, Indianapolis, Ind, Nachdr., (ISBN 978-0-7645-7481-8)
  7. Telea Alexandru C., Reverse Engineering - Recent Advances and Applications, InTech, (ISBN 978-9535101581)
  8. (en) Tonella, Torchiano, Du Bois et Systä, « Empirical studies in reverse engineering: state of the art and future trends », Empirical Software Engineering, vol. 12, no 5,‎ , p. 551–571 (ISSN 1382-3256, DOI 10.1007/s10664-007-9037-5, lire en ligne)
  9. Research handbook on intellectual property and artificial intelligence, Cheltenham Northampton, MA, Edward Elgar Publishing, coll. « Research handbooks in intellectual property », (ISBN 978-1-80088-189-1)