Sécurité : Intelligence artificielle - Conception et apprentissage

14 mars 2024

Se doter des ressources et outils nécessaires pour développer un système d’IA robuste, fiable et performant.

Qu’il s’agisse de l’entraînement d’un nouveau modèle ou de l’intégration d’un modèle existant dans un logiciel ou un écosystème d’applications, le développement d’un système d’intelligence artificielle (IA) nécessite la mise en œuvre de certaines mesures de sécurité spécifiques. Le volume important de données d’entraînement, tout comme la complexité de ces systèmes, augmentent la surface d’attaque et le risque de défaillance pouvant avoir des conséquences graves sur la fiabilité du système. Cette fiche énumère plusieurs recommandations d’ordre technique et organisationnel permettant d’atteindre un premier niveau de sécurité.

Les précautions élémentaires

Constituer une équipe de développement aux compétences pluridisciplinaires (analyse et ingénierie des données, interface et expérience utilisateur, contrôle qualité, administration des infrastructures informatiques, équipes métier), veiller à sa formation sur les bonnes pratiques de sécurité et sensibiliser aux vulnérabilités propres à l’IA.

Mettre en œuvre une procédure obligatoire pour le développement et l’intégration continus, reposant sur des tests exhaustifs et robustes, des accès soumis à habilitation et à une authentification adaptée aux profils (voir la fiche n°4 - Authentifier les utilisateurs), notamment pour les modifications apportées au code de production (voir la fiche n°11 - Encadrer les développements informatiques).

Vérifier la qualité des données et des annotations, la présence possible de biais, la fiabilité des sources de données, notamment afin d’éviter que les données ne puissent être manipulées par un tiers (ex. : empoisonnement).

Éviter les copies, partielles ou totales, des bases de données et en restreindre l’accès et l’utilisation aux seules personnes habilitées pour des cas le nécessitant. Recourir à des données fictives ou de synthèse dans les autres cas, comme pour les tests de sécurité, l’intégration, ou pour certains audits.

Construire un recueil documentaire à l’intention des développeurs et des utilisateurs du système, portant notamment sur :

  • la conception du système, et notamment les données et modèles utilisés ainsi que les analyses ayant conduit à leur sélection et à leur validation, et les résultats de ces analyses ;
     
  • le fonctionnement du système durant tout son cycle de vie, ses performances, l’analyse de ses biais et les résultats obtenus, ses conditions d’utilisations et limitations d’usage, comme les cas où la performance peut être insuffisante ;
     
  • les équipements matériels nécessaires pour l’utilisation du système, la latence attendue ou encore la capacité maximale pour les systèmes accessibles en SaaS.

Vérifier la légitimité des utilisateurs du système lorsque celui-ci est rendu disponible en tant que service, afin d’éviter une tentative d’attaque telle qu’une attaque par inversion de modèle ou par déni de service.

Prévoir un plan d’audit du système, portant sur les éléments logiciels, matériels, et sur les mesures organisationnelles telles que les procédures de supervision humaine du système d’IA.

Ce qu'il ne faut pas faire

  • Entraîner un modèle sur des données dont la source est inconnue ou n’est pas fiable, ou dont la qualité, et notamment celle de l’annotation, n’a pas été vérifiée.
     
  • Déployer, partager, diffuser ou rendre accessible un modèle sans vérifier la qualité des sorties, et en particulier l’absence de sorties problématiques (ex : contenus haineux) et de données personnelles, hormis à des fins de tests et d’audit.
     
  • Utiliser un système sans en connaître les limitations, ou sans évaluer les conséquences d’une erreur ou d’un biais.

Pour aller plus loin

  • La CNIL a publié un ensemble de fiches concernant la phase de développement des systèmes d’IA impliquant des données personnelles.
     
  • Les modèles d’attaques sur les systèmes d’IA sont divers et encore peu connus. Le Laboratoire d’innovation numérique de la CNIL (LINC) a publié un premier article recensant ces attaques ainsi qu’un second recensant les bonnes pratiques de sécurité pour s’en prémunir (comme l’apprentissage fédéré, ou la confidentialité différentielle).
     
  • La collecte de données personnelles peut être minimisée grâce à des techniques d’augmentation ou de synthèse de données, ou encore en concentrant la collecte sur des données de qualité.
     
  • Les données utilisées lors de la phase de déploiement peuvent évoluer au cours du temps, et perdre en qualité pour plusieurs raisons (ex. : détérioration d’un capteur, dérive ou empoisonnement des données). Ces évolutions doivent être surveillées.
     
  • Le résultat fourni par le système peut être accompagné d’informations permettant à l’utilisateur de l’interpréter et d’identifier une éventuelle erreur (ex. : score de confiance, carte de saillance). • Des mesures, telles que des filtres sur les sorties, l’apprentissage par renforcement à partir de la rétroaction humaine (« reinforcement learning from human Feedback » ou RLHF) ou encore le tatouage numérique (« watermarking ») du contenu généré, permettent de sécuriser les contenus produits par le système.