L’IA offensive
La plupart des publications traitant « d’intelligence » artificielle (IA) et s’intéressant à la sécurité et aux attaques, se concentrent sur l’étude des attaques touchant les algorithmes d’apprentissage automatique (voir p. ex. [1]) et les défenses contre de telles attaques. Par exemple, les attaques malveillantes traditionnelles sur les systèmes d’IA se produisent lorsqu’un adversaire manipule les données d’entrée pour tromper les algorithmes d’apprentissage automatique, entraînant ainsi une mauvaise classification1.
Néanmoins, un nombre significatif d’articles étudient aussi l’IA en tant qu’arme possible contre les systèmes d’information – permettant notamment des attaques potentiellement plus rapides, à plus grande échelle et d’une plus large portée – et en tant qu’outil permettant d’améliorer des vecteurs d’attaque existants.
Dans un article précédent, nous avons brièvement expliqué ce qui se cache derrière le terme « d’intelligence artificielle » en décrivant quelques techniques de base utilisées en cybersécurité. Dans cet article, nous traiterons de l’utilisation de l’IA pour faciliter les attaques contre des systèmes informatiques. En particulier, nous détaillerons comment l’IA pourrait modifier ou modifie déjà plusieurs vecteurs d’attaques.
Prévisions pessimistes
Dès 2018, Brundage et al. [2] ont fait remarquer que l’utilisation croissante des capacités de l’IA impliquerait trois changements dans le paysage des menaces :
- Une expansion des menaces existantes: l’IA pourrait permettre de réduire le coût des attaques en réduisant la main-d’œuvre nécessaire mais aussi d’atteindre un plus large éventail de cibles potentielles.
- Une introduction de nouvelles menaces: les systèmes d’IA pourraient effectuer des tâches habituellement irréalisables pour un humain.
- Un changement du caractère typique des menaces: les attaques permises par l’utilisation de l’IA pourraient devenir plus efficaces, plus finement ciblées et plus difficiles à attribuer.
Ces prévisions sont corroborées par un rapport récent du centre national de cybersécurité britannique (NCSC) qui prévoit une augmentation du nombre et de l’efficacité des menaces de cybersécurité dues à l’IA [3].
Par exemple, l’accès facile à des modèles massifs de langage pourrait permettre à des adversaires de contourner leurs propres limites en ressources, compétences et/ou connaissances. Par ailleurs, une utilisation incontrôlée d’applications d’IA dans des projets internes à une organisation ou par des employés peu avertis, pourrait créer de nouvelles surfaces d’attaques et occasionner des fuites de données personnelles, de propriété intellectuelle ou d’informations confidentielles.
Hameçonnage et ingénierie sociale
Dès 1966, avec ELIZA, l’un des premiers agents conversationnels, on découvrait que l’humain pouvait se faire tromper par la machine [4]. Le traitement du langage naturel est un cas d’utilisation de l’IA où le texte brut est la source de données à partir de laquelle les modèles sont extraits2. Le traitement du langage a été utilisé avec succès pour de nombreuses applications. La détection de courriels non désirés en est un exemple tout comme l’inverse, le contournement des filtres de protection antispam (p. ex. [5]).
L’hameçonnage est particulièrement adapté à cette dernière approche, car des modèles de texte peuvent être utilisés pour identifier les sujets qui intéressent la cible et générer des phrases auxquelles la cible pourrait répondre. Par exemple, dans [6], les auteurs utilisent un modèle de Markov et un réseau de neurones récurrents afin de démontrer la possibilité d’automatiser la génération de messages utilisés dans un processus d’hameçonnage sur Twitter : l’outil apprend à prédire le mot suivant à partir du contexte précédent dans l’historique des publications de la cible. Chaque message est donc adapté à une cible particulière augmentant ainsi la précision de l’attaque.
Étant donnée la capacité des modèles massifs de langages à mieux « comprendre » le contexte, à mieux imiter le texte humain (parfois même avec moins d’erreurs [7]3), on constate que de tels outils sont déjà utilisés pour faciliter l’écriture, avec le ton adéquat, de courriels plausibles provenant de collègues, amis, familles ou site populaires de commerce en ligne, éventuellement en fonction d’informations glanées sur les réseaux sociaux [8] (voir « Annexe – Génération de courriels d’hameçonnage »). Pire, il est aujourd’hui possible, sans connaissances importantes en sécurité, d’utiliser ChatGPT pour générer non seulement des courriels d’hameçonnage mais aussi le site web correspondant [9]. Cela est d’autant plus inquiétant lorsque l’on sait que 94 % des logiciels malveillants détectés sont toujours envoyés par courriel [10].
Un autre exemple de l’utilisation de l’IA pour faciliter les attaques d’hameçonnage est DeepFish [11]. Il s’agit d’un logiciel qui produit de nouvelles adresses web synthétiques d’hameçonnage en apprenant des modèles à partir des adresses web les plus efficaces dans les attaques historiques4. Ces adresses peuvent ensuite être utilisées dans des courriels d’hameçonnage ou d’autres canaux comme par exemple des publicités trompeuses. Peu après le lancement de Bing Chat, Microsoft a, sans grande surprise, ajouté la possibilité d’introduire des publicités dans les conversations. Malheureusement, les publicités comportent un risque inhérent et pourraient amener des utilisateurs à la recherche de téléchargements de logiciels, à visiter des sites malveillants et à installer des logiciels malveillants directement à partir d’une conversation sur Bing Chat [12].
« Hacking » automatique
L’IA permet d’exécuter des attaques à la vitesse de la machine. Par exemple, Deephack [13] est un agent logiciel de quelques centaines de lignes de Python qui apprend à s’introduire dans des applications Web à l’aide d’un réseau neuronal, d’essais et d’erreurs. Il apprend à exploiter plusieurs types de vulnérabilités, ouvrant potentiellement la porte à une multitude de nouveaux systèmes de piratage.
DeepLocker5 va plus loin en dissimulant ses intentions malveillantes et en s’activant pour des cibles spécifiques. Afin de décider si la machine où il est exécuté, est une cible ou pas, DeepLocker utilise un réseau de neurones artificiels complexe6 à la place d’une simple liste de règles. Cela empêche les outils analysant statiquement et dynamiquement le logiciel de détecter la présence de code malveillant7. DeepLocker utilise également un autre réseau de neurones afin de générer une clé permettant de chiffrer ou déchiffrer la partie malveillante de son code afin de rendre celui-ci plus difficile à détecter.
Certaines procédures de « hacking » pourraient être simplifiées et accélérées grâce à l’utilisation de modèles génératifs. Des personnes malveillantes pourraient par exemple avoir recours à des outils comme PentestGPT8. Cet outil permet en effet, d’aider à gérer différentes tâches d’un processus de test de pénétration, comme l’utilisation d’outils spécifiques (notamment utilisant des commandes avec des options complexes souvent difficiles pour un humain) et la suggestion d’étapes à suivre [14]. Selon ses auteurs il permet même de donner une « intuition » sur ce qu’il convient de faire dans un scénario d’intrusion donné. Il manque cependant de recommandations efficaces pour pouvoir accomplir les tâches de manière indépendante et il n’est pas capable de maintenir une compréhension cohérente du scénario de test. Mais Fang et al. ont montré que des agents alimentés par des modèles massifs de langage tel que ChatGPT peuvent errer par eux-mêmes sur le Web et s’introduire dans des applications Web boguées sans être surveillés [15].
Enfin, des outils d’IA générative entrainés sur des bases de données de vulnérabilités suffisamment larges, pourraient également être utilisés pour automatiser l’analyse de code afin d’identifier des vulnérabilités exploitables, mais les coûts de création de tels modèles sont élevés.
Génération de charge utile et de code malveillant
Dans le contexte d’une cyberattaque, la charge utile est la composante de l’attaque qui cause le préjudice (p. ex. effacement de fichiers). Elle peut être contenue dans un virus ou un ver informatique, une pièce jointe ou encore une requête transférée à une base de données SQL. Selon Gupta et al. [16], un outil d’IA générative pourrait être utilisé pour générer des charges utiles, et dans certains cas, de telle façon qu’elles ne puissent pas être détectées par un pare-feu d’applications Web (« Web Application Firewall (WAF) »).
Un outil d’IA générative pourrait aussi être utilisé pour faciliter l’écriture de logiciels malveillants ou de rançongiciels : Guptal et al. [16] ont conduit différents tests avec ChatGPT en le convainquant notamment de fournir des exemples de code de différents logiciels malveillants tels que NotPetya9, REvil10, Ryuk11 ou WannaCry12. Les résultats ne sont pas directement utilisables, mais fournissent une structure de haut niveau du code, plutôt évidente pour toute personne ayant déjà programmé, mais qui peut laisser imaginer des améliorations importantes dans les années à venir. Des tests similaires ont aussi été réalisés, avec des résultats similaires, pour des virus exploitant des vulnérabilités telles que Meltdown13, RowHammer14 et Spectre15.
Hutchins [17] émet cependant de sérieux doutes sur la possibilité de générer des logiciels malveillants grâce à l’IA et en particulier grâce à des outils comme ChatGPT qui sont loin d’être capable de créer des logiciels entièrement fonctionnels mais pourraient, au mieux, fournir de petites briques difficilement assemblables. Il fait également valoir que ce code généré par l’IA existe déjà sur Internet.
Attaques des systèmes physiques
Enfin, si l’on prend comme hypothèse que les systèmes physiques (p. ex. un système de contrôle du refroidissement) sont moins sécurisés que l’infrastructure informatique cible et sont relativement plus faciles à exploiter, alors on peut envisager d’utiliser un logiciel malveillant afin d’attaquer indirectement une infrastructure informatique par le biais du système physique, en déguisant les actions malveillantes en défaillances accidentelles (p. ex. une surchauffe simulée conduisant à un arrêt d’urgence bien réel). C’est ce que montrent Chung et al. [18]. Leur outil apprend automatiquement des stratégies d’attaque à partir des mesures collectées par le système physique.
Analyse des cyberattaques utilisant l’IA
Afin de permettre aux ingénieurs en sécurité d’étudier efficacement la classification des menaces dues à l’IA et leur impact et de mieux comprendre la stratégie des attaquants, Nektaria et al. [19] proposent un cadre d’analyse des cyberattaques tirant parti de l’IA. Il est basé sur le cadre existant et très répandu « Cyber Kill Chain » mis au point par Lockheed Martin et est formé de trois niveaux :
- Étapes de l’attaques et objectifs: ce premier niveau permet de décrire quand un attaquant peut atteindre ses objectifs malveillants en fonction du cycle de vie de la cyberattaque. Il permet de représenter l’intention de l’attaquant et le type de technique d’IA utilisée comme outil pour mener les actions malveillantes, en fonction de chaque phase du cycle de vie de la cyberattaque.
- Impact et classification de l’IA malveillante: ce deuxième niveau est une classification basée sur l’impact de l’utilisation malveillante des techniques d’IA, qui montre son impact potentiel en fonction du stade d’attaque appliqué.
- Classification des méthodes de défense : la défense contre les cyberattaques basées sur l’IA ne peut pas se faire avec une solution simple ou un seul outil. Il est nécessaire d’adopter une approche défensive approfondie tout au long du cycle de vie des cyberattaques afin de lutter contre « l’intelligence » des nouvelles méthodes.
Conclusion
À travers les exemples donnés précédemment, l’IA apparait principalement comme un nouvel outil de « productivité » pour des attaquants professionnels (ou pas) déjà bien motivés. La pire menace que l’IA pourrait faire peser sur la sécurité serait la découverte à grande échelle de classes d’attaques entièrement nouvelles. Cependant, rien ne prouve qu’une telle découverte soit plus probable que celle faite par des acteurs humains.
Néanmoins, de nombreux problèmes restent en suspens quant à la manière de prévenir et d’atténuer ces menaces avancées, mais une bonne analyse des menaces avec un cadre approprié est un bon point de départ. De plus, nous pensons qu’une manière efficace de lutter contre les adversaires tirant partie de l’IA sera également d’utiliser l’IA afin d’être compétitif en termes de portée, de vitesse et d’échelle. Comme nous le verrons dans un dernier article sur le sujet, l’IA pourrait en effet contribuer à l’automatisation de tâche de cyberdéfense, telles que l’évaluation de vulnérabilités, la détection d’intrusions, la réponse à des incidents et le traitement de renseignements sur les menaces.
Références
[1] N. Papernot, P. McDaniel, S. Jha, M. Fredrikson, Z. B. Celik, et A. Swami, « The limitations of deep learning in adversarial settings ». arXiv, 23 novembre 2015. Consulté le: 27 octobre 2023. [En ligne]. Disponible sur: http://arxiv.org/abs/1511.07528
[2] M. Brundage et al., « The malicious use of artificial intelligence: forecasting, prevention and mitigation », févr. 2018.
[3] « The near-term impact of AI on the cyber threat », National Cyber Security Centre, janv. 2024. Consulté le: 27 janvier 2024. [En ligne]. Disponible sur: https://www.ncsc.gov.uk/pdfs/report/impact-of-ai-on-cyber-threat.pdf
[4] J. Weizenbaum, « ELIZA—a computer program for the study of natural language communication between man and machine », Commun. ACM, vol. 9, no 1, p. 36‑45, janv. 1966, doi: https://doi.org/10.1145/365153.365168.
[5] S. Palka et D. McCoy, « Fuzzing e-mail filters with generative grammars and n-gram analysis », in WOOT’15: Proceedings of the 9th USENIX Conference on Offensive Technologies, août 2015.
[6] J. Seymour et P. Tully, « Weaponizing data science for social engineering: Automated E2E spear phishing on Twitter », présenté à Black Hat USA, 2016, p. 1‑8.
[7] M. Heikkilä, « How to spot AI-generated text », MIT Technology Review. Consulté le: 11 octobre 2023. [En ligne]. Disponible sur: https://www.technologyreview.com/2022/12/19/1065596/how-to-spot-ai-generated-text/
[8] J. Chapman, « Phishing threat trends report – From pretexting to payloads, how have phishing attacks evolved in 2023? », egress, oct. 2023. Consulté le: 7 novembre 2023. [En ligne]. Disponible sur: https://www.egress.com/media/mq4kwitu/egress_phishing_threat_trends_report.pdf
[9] S. S. Roy, K. V. Naragam, et S. Nilizadeh, « Generating phishing attacks using ChatGPT ». arXiv, 8 mai 2023. Consulté le: 17 octobre 2023. [En ligne]. Disponible sur: http://arxiv.org/abs/2305.05133
[10] « Preparing for AI-enabled cyberattacks », MIT Technology Review, janv. 2021.
[11] A. Correa Bahnsen, « DeepPhish: Simulating malicious AI », 6 décembre 2018.
[12] J. Segura, « Malicious ad served inside Bing’s AI chatbot », Malwarebytes. Consulté le: 7 novembre 2023. [En ligne]. Disponible sur: https://www.malwarebytes.com/blog/threat-intelligence/2023/09/malicious-ad-served-inside-bing-ai-chatbot
[13] D. Petro et B. Morris, « Weaponizing machine learning: Humanity was overrated anyway », présenté à DEF CON 25, 10 août 2017. [En ligne]. Disponible sur: https://www.youtube.com/watch?v=wbRx18VZlYA
[14] G. Deng et al., « PentestGPT: An LLM-empowered automatic penetration testing tool ». arXiv, 13 août 2023. Consulté le: 8 novembre 2023. [En ligne]. Disponible sur: http://arxiv.org/abs/2308.06782
[15] R. Fang, R. Bindu, A. Gupta, Q. Zhan, et D. Kang, « LLM Agents can Autonomously Hack Websites ». arXiv, 6 février 2024. Consulté le: 19 février 2024. [En ligne]. Disponible sur: http://arxiv.org/abs/2402.06664
[16] M. Gupta, C. Akiri, K. Aryal, E. Parker, et L. Praharaj, « From ChatGPT to ThreatGPT: Impact of generative AI in cybersecurity and privacy », IEEE Access, vol. 11, p. 80218‑80245, août 2023, doi: 10.1109/ACCESS.2023.3300381.
[17] M. Hutchins, « A realistic look at implications of ChatGPT for cybercrime », MalwareTech. Consulté le: 6 février 2024. [En ligne]. Disponible sur: https://malwaretech.com/2023/02/a-realistic-look-at-chatgpt-cybercrime.html
[18] K. Chung, Z. T. Kalbarczyk, et R. K. Iyer, « Availability attacks on computing systems through alteration of environmental control: smart malware approach », in Proceedings of the 10th ACM/IEEE International Conference on Cyber-Physical Systems, Montreal Quebec Canada: ACM, avr. 2019, p. 1‑12. doi: 10.1145/3302509.3311041.
[19] N. Kaloudi et J. Li, « The AI-based cyber threat landscape: A survey », ACM Comput. Surv., vol. 53, no 1, p. 1‑34, févr. 2020, doi: https://dl.acm.org/doi/abs/10.1145/3372823.
Annexe – Génération de courriels d’hameçonnage
Voici quelques exemples de génération de courriels d’hameçonnage avec ChatGPT (généré avec la version 4.0 le 9 février 2024) :
Notes
1 La base de connaissance ATLAS de MITRE (https://atlas.mitre.org/) recense un nombre important de vulnérabilités des systèmes basés sur l’IA. L’utilisation de l’IA augmente la surface d’attaque des systèmes existants.
2 Aujourd’hui de tels modèles sont capables de mémoriser l’intégralité de Wikipédia, qui est le résultat des travaux cumulés de nombreux bénévoles et experts dans leurs domaines respectifs, sur une myriade de sujets divers.
3 Qui n’a pas déjà reçu un courriel d’hameçonnage plein de fautes d’orthographe ou de grammaire, le rendant facilement identifiable ?
4 La charge la plus fréquemment utilisée pour les courriels d’hameçonnage sont les adresses web selon un rapport récent de la société egress [8].
5 https://www.blackhat.com/us-18/briefings/schedule/#deeplocker—concealing-targeted-attacks-with-ai-locksmithing-11549
6 Un exemple donné par les auteurs de DeepLocker est l’utilisation de la reconnaissance faciale de l’utilisateur pour cibler des personnes particulières avec l’attaque. Le choix d’exécuter du code malveillant pourrait aussi être lié au comportement de l’utilisateur, de l’environnement logiciel, etc.
7 D’une certaine façon l’exemple est similaire aux voitures du groupe Volkswagen qui changeaient de comportement lors des cycles d’homologation et dont le scandale a été révélé en 2015.
8 https://github.com/GreyDGL/PentestGPT
9 https://fr.wikipedia.org/wiki/Cyberattaque_NotPetya
10 https://fr.wikipedia.org/wiki/REvil
11 https://fr.wikipedia.org/wiki/Ryuk_(logiciel)
12 https://fr.wikipedia.org/wiki/WannaCry
13 https://fr.wikipedia.org/wiki/Meltdown_(vuln%C3%A9rabilit%C3%A9)
14 https://fr.wikipedia.org/wiki/Mart%C3%A8lement_de_m%C3%A9moire
15 https://fr.wikipedia.org/wiki/Spectre_(vuln%C3%A9rabilit%C3%A9)
_________________________
Ce post est une contribution individuelle de Fabien A. P. Petitcolas, spécialisé en sécurité informatique chez Smals Research. Cet article est écrit en son nom propre et n’impacte en rien le point de vue de Smals.