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 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 classification.
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 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. 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.
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. 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 extraits. 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.
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 J. Seymour et P. Tully, « Weaponizing data science for social engineering, 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), 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.
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. 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.
Un autre exemple de l’utilisation de l’IA pour faciliter les attaques d’hameçonnage est DeepFish. 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 historiques. 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.
« Hacking » automatique
L’IA permet d’exécuter des attaques à la vitesse de la machine. Par exemple, Deephack 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.
DeepLocker 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 complexe à 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 malveillant. 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 PentestGPT. 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. 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.
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., 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. ont conduit différents tests avec ChatGPT en le convainquant notamment de fournir des exemples de code de différents logiciels malveillants tels que NotPetya, REvil, Ryuk ou WannaCry. 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 Meltdown, RowHammer et Spectre.
Hutchins é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. 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.
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.Cela t’intéresse de travailler chez Smals ? Jette un coup d’œil à leurs offres d’emploi actuelles.