Par Andreea Munteanu, Responsable produit chez Canonical.
Les données sont aujourd’hui au cœur de toutes les initiatives liées au machine learning qui deviennent des cibles de plus en plus attrayantes pour les attaquants. L’Identity Theft Resource Center montre un pic de 72 % des violations de données en 2023, il est donc essentiel de prendre des précautions pour s’assurer que les projets d’apprentissage automatique ne constituent pas une porte d’entrée dérobée vers les données.
L’apprentissage automatique est soumis à de nombreux risques de sécurité qui peuvent cibler des niveaux aussi variés que différents. Cela va des données essentielles à l’apprentissage qui sont autant personnelles que professionnelles. Les systèmes de ML doivent en tenir compte dès le départ afin de protéger non seulement l’organisation, mais aussi la vie privée des personnes qu’ils soient des salariés ou des clients. Il y a aussi les outils utilisés pour l’apprentissage automatique qui nécessitent un grand nombre de paquets et qui peuvent représenter des failles de sécurité au sein du système dans son ensemble. Le matériel est lui aussi clé et doit être protégé car la chaîne d’approvisionnement du matériel, sa maintenance et les mises à jour sont autant de risques potentiels. Puis il faut penser aux appareils sur lesquels sont déployés les modèles de ML qui ont des architectures, des règles de sécurité et des capacités différentes les uns des autres ce qui les rend vulnérables. Et enfin le facteur humain crée lui aussi un risque, c’est pourquoi il est crucial de former et d’assurer un suivi de tous les intervenants autour de modèles de Machine Learning (ML).
Les quatre principaux risques de sécurité liés à l’apprentissage automatique
1 – La vulnérabilités de sécurité des progiciels
En fonction des réglementations de chaque secteur, les entreprises doivent s’assurer que les logiciels qu’elles utilisent ne contiennent pas de vulnérabilités critiques ou élevées. Cependant, les projets de ML dépendent souvent de milliers de paquets et il devient facile pour les vulnérabilités de passer à travers les mailles du filet. Ces vulnérabilités peuvent apparaître à tous les niveaux de la pile, du système d’exploitation aux applications, et peuvent constituer des risques de sécurité majeurs lorsqu’elles sont exploitées à des fins malveillantes.
2 – Le Data poisoning
Il peut se produire lorsque des données sont utilisées pour former un modèle ou un produit et qu’un résultat est modifié de manière à nuire aux performances du système. De nouvelles données sont souvent introduites dans le système, ce qui amène le modèle à apprendre quelque chose de nouveau. Par exemple, si votre ensemble de Data poisoning comprend des séquences de caméras de surveillance, des attaquants pourraient malicieusement le cibler et n’utiliser que des voitures rouges pendant un certain temps pour entraîner le modèle de manière malveillante. Même une petite quantité de données mal étiquetées peut affecter les performances du modèle et le rendre peu fiable pour la production. Un pipeline de formation continue permet de s’assurer que les modèles restent toujours à jour, tandis qu’une surveillance de la dérive du modèle et des données permet de s’assurer que les professionnels sont informés en temps utile si la précision ou la structure d’un modèle varie.
3 – Les attaques adverses
Les types d’attaques les plus utilisés dans le domaine de l’apprentissage automatique, consistent à tromper le modèle pour obtenir le résultat souhaité. Elles comprennent généralement des données d’entrée fournies par l’attaquant, donnant un résultat spécifique attendu. Elles trompent essentiellement le système en raison du faible nombre de limites que les systèmes d’apprentissage automatique ont souvent. Les attaques adverses sont difficiles à détecter par l’œil humain et même par les systèmes de surveillance. Elles réduisent la précision du modèle et peuvent inciter les professionnels à ne plus mener certains projets en production. Les organisations doivent prendre en compte la formation à l’adversité et disposer d’une stratégie claire lorsqu’elles élaborent des projets de ML et nettoient des données. Toutes les données produites ne devraient pas atterrir dans un ensemble d’entraînement. Tout le monde ne devrait pas avoir accès à tous les modèles créés au sein d’une organisation et à des fonctionnalités telles que le suivi des expériences, les magasins de modèles et les outils de suivi des performances des modèles.
4 – La confidentialité des données
Les algorithmes de ML sont conçus pour générer de nouvelles données en examinant uniquement les informations existantes. Les entreprises ont accès aux données personnelles de millions de personnes. Chaque fois que des données sont mises à la disposition d’un système de ML, il existe un risque lié à leur confidentialité en raison des nouveaux flux de travail qu’ils impliquent. Les organisations devraient élaborer une politique de confidentialité claire que tous les utilisateurs devraient lire et accepter, et créer des systèmes de ML qui protègent tout le monde. Elles doivent également être attentives aux données qu’elles recueillent et aux processus qu’elles impliquent. Les meilleures pratiques, telles que la suppression des identifiants et la visibilité claire des flux de données, protégeront la vie privée à la fois des organisations et des personnes qui interagissent avec elles.
Une fois que l’organisation a compris les risques évoqués au-dessus, il faut mettre en place les meilleures pratiques possibles pour améliorer la sécurité de l’apprentissage automatique. Il faut penser une architecture pour les systèmes de ML en gardant la sécurité à l’esprit. Ne jamais sauter des étapes et se concentrer sur la construction de modèles de ML qui doivent être conformes et respecter les règles de sécurité. Qu’il s’agisse de maintenir les paquets à jour ou de construire des pipelines isolés, les architectes doivent avoir une vue d’ensemble.
- Crypter des données les protégera contre d’éventuelles attaques et évitera de réduire la précision d’un modèle. Le chiffrement des données ne suffit pas à lui seul à protéger un système de ML, mais il s’agit d’une étape fondamentale pour exécuter en toute sécurité des projets de ML en production. Lorsqu’un modèle fonctionne en production, il est sujet à des erreurs qui peuvent avoir un impact sur la crédibilité ou l’activité d’une organisation. La détection d’anomalies ou de biais améliore la robustesse d’un projet de ML, évite de détecter à tort toute dérive et augmente les chances d’identifier toute menace à temps.
- Isoler les réseaux : les accès aux pipelines de ML devraient être protégés en particulier lorsque les projets utilisent des données très sensibles. Les professionnels devraient toujours travailler sur des réseaux isolés qui limitent à la fois l’accès aux pipelines de l’extérieur et de l’intérieur. Cela permet de protéger les données utilisées par les pipelines et la fiabilité du projet.
- Contrôler l’accès : au fur et à mesure que les projets de ML se développent au sein d’une organisation, le nombre de data scientists ou d’ingénieurs ML impliqués augmente également. Il est important de contrôler leur accès aux projets développés suivant les données qui y sont intégrées. Il est également nécessaire de suivre toute activité malveillante pouvant survenir au sein de l’entreprise. Les capacités de gestion des utilisateurs sont cruciales pour la visibilité du système.
- Suivre des principes de conception sécurisés : les systèmes de ML même s’ils sont nouveaux, ne devraient pas constituer une exception au respect des meilleures pratiques existantes en matière de sécurité. Ils doivent suivre les principes de conception sécurisés existants et demander une aide spécialisée si nécessaire. En outre, il faut garder à l’esprit les tâches à accomplir pour vérifier la sécurité des systèmes, notamment la modélisation des menaces, l’analyse statique du code et les correctifs CVE.
- Surveiller les outils et artefacts : la visibilité des données, des modèles, des outils et des paquets impliqués dans un projet de ML peut déterminer son succès à long terme. Lancer des analyses quotidiennes des outils, surveiller la dérive des données et avoir une visibilité constante sur les performances du modèle sont des tâches de base qui aident les professionnels à identifier les risques éventuels. Développer un ensemble clair d’alertes, qui informent tout le monde de toute attaque malveillante ou de tout changement soudain de comportement de l’un des artefacts.
- Sensibiliser : l’intelligence artificielle et l’apprentissage automatique sont encore des sujets nouveaux pour beaucoup. Les organisations devraient consacrer du temps à la formation des professionnels sur leurs projets d’IA, les risques qui y sont associés et les méthodes qu’ils pourraient utiliser pour signaler d’éventuels problèmes.
- Examiner l’ensemble du cycle de vie de l’apprentissage automatique : la sécurité peut être un risque tout au long du cycle de vie de l’apprentissage automatique, de l’ingestion des données au déploiement des modèles. La protection de tous les artefacts tout au long du parcours réduira les risques car les attaquants recherchent les parties vulnérables des pipelines. Les vulnérabilités sont souvent découvertes vers la fin du cycle, lors de la phase de déploiement, mais cela ne doit pas inciter les organisations à négliger les risques associés aux autres étapes.
Les systèmes de ML sont des cibles attrayantes pour les acteurs malveillants, mais ce fait ne doit pas empêcher d’innover avec l’intelligence artificielle. En développant une solide compréhension du paysage des menaces, en mettant en œuvre les meilleures pratiques et en tirant parti des solutions open source, il est possible de protéger les modèles et les données et profiter des avantages de l’IA/ML sans mettre son organisation en danger. Tout reste à faire et à penser !