Ce document du framework Well-Architected : perspective de l'IA et du ML présente les principes et recommandations permettant de s'assurer que vos déploiements d'IA et de ML répondent aux exigences de sécurité et de conformité de votre organisation. Les recommandations de ce document sont conformes au pilier de sécurité du framework Google Cloud Well-Architected.
Le déploiement sécurisé des charges de travail d'IA et de ML est une exigence essentielle, en particulier dans les environnements d'entreprise. Pour répondre à cette exigence, vous devez adopter une approche holistique de la sécurité qui commence dès la conceptualisation initiale de vos solutions d'IA et de ML, et s'étend au développement, au déploiement et aux opérations continues. Google Cloud propose des outils et des services robustes conçus pour vous aider à sécuriser vos charges de travail d'IA et de ML.
Les recommandations de ce document sont associées aux principes fondamentaux suivants :
- Définir des objectifs et des exigences clairs
- Assurer la sécurité des données et éviter leur perte ou leur mauvaise gestion
- Sécuriser les pipelines d'IA et les protéger contre les accès non autorisés
- Déployer sur des systèmes sécurisés avec des outils et des artefacts sécurisés
- Valider et protéger les entrées
- Surveiller et évaluer les résultats, et se préparer à y répondre
Pour en savoir plus sur la sécurité de l'IA, vous pouvez également consulter les ressources suivantes :
- Le framework d'IA sécurisé (SAIF) deGoogle Cloud fournit un guide complet pour créer des systèmes d'IA sécurisés et responsables. Il présente les principes clés et les bonnes pratiques pour répondre aux considérations de sécurité et de conformité tout au long du cycle de vie de l'IA.
- Pour en savoir plus sur l'approche de Google Clouden matière de confiance dans l'IA, consultez notre Centre de ressources pour la conformité.
Définir des objectifs et des exigences clairs
Une sécurité efficace de l'IA et du ML est un élément essentiel de votre stratégie commerciale globale. Il est plus facile d'intégrer les contrôles de sécurité et de conformité requis au début de votre processus de conception et de développement, plutôt que de les ajouter après le développement.
Dès le début de votre processus de conception et de développement, prenez des décisions adaptées à votre environnement de risque spécifique et à vos priorités commerciales spécifiques. Par exemple, des mesures de sécurité trop restrictives peuvent protéger les données, mais aussi entraver l'innovation et ralentir les cycles de développement. Toutefois, un manque de sécurité peut entraîner des violations de données, nuire à la réputation et engendrer des pertes financières, ce qui est préjudiciable aux objectifs commerciaux.
Pour définir des objectifs et des exigences clairs, tenez compte des recommandations suivantes.
Aligner la sécurité de l'IA et du ML sur les objectifs commerciaux
Pour aligner vos efforts de sécurité liés à l'IA et au ML sur vos objectifs commerciaux, adoptez une approche stratégique qui intègre la sécurité à chaque étape du cycle de vie de l'IA. Pour suivre cette approche, procédez comme suit :
Définissez clairement vos objectifs commerciaux et vos exigences de sécurité :
- Identifiez les principaux objectifs commerciaux : définissez des objectifs commerciaux clairs que vos initiatives d'IA et de ML sont conçues pour atteindre. Par exemple, vos objectifs peuvent être d'améliorer l'expérience client, d'optimiser les opérations ou de développer de nouveaux produits.
- Traduisez vos objectifs en exigences de sécurité : lorsque vous clarifiez vos objectifs commerciaux, définissez des exigences de sécurité spécifiques pour les atteindre. Par exemple, votre objectif peut être d'utiliser l'IA pour personnaliser les recommandations client. Pour atteindre cet objectif, vos exigences de sécurité peuvent consister à protéger la confidentialité des données client et à empêcher tout accès non autorisé aux algorithmes de recommandation.
Trouvez l'équilibre entre sécurité et besoins de l'entreprise :
- Effectuez des évaluations des risques : identifiez les menaces et les failles de sécurité potentielles dans vos systèmes d'IA.
- Priorisez les mesures de sécurité : classez ces mesures de sécurité par ordre de priorité en fonction de leur impact potentiel sur vos objectifs commerciaux.
- Analysez les coûts et les avantages : assurez-vous d'investir dans les solutions les plus efficaces. Tenez compte des coûts et des avantages des différentes mesures de sécurité.
- Virage à gauche pour la sécurité : mettez en œuvre les bonnes pratiques de sécurité dès la phase de conception, et adaptez vos mesures de sécurité en fonction de l'évolution des besoins de l'entreprise et de l'émergence de nouvelles menaces.
Identifier les vecteurs d'attaque et les risques potentiels
Tenez compte des vecteurs d'attaque potentiels qui pourraient affecter vos systèmes d'IA, tels que l'empoisonnement des données, l'inversion de modèle ou les attaques par requêtes antagonistes. Surveillez et évaluez en permanence l'évolution de la surface d'attaque à mesure que votre système d'IA se développe, et gardez un œil sur les nouvelles menaces et failles. N'oubliez pas que les modifications apportées à vos systèmes d'IA peuvent également entraîner des changements dans leur surface d'attaque.
Pour atténuer les risques juridiques et d'atteinte à la réputation potentiels, vous devez également répondre aux exigences de conformité liées à la confidentialité des données, aux biais algorithmiques et à d'autres réglementations pertinentes.
Pour anticiper les menaces et les failles potentielles en amont et faire des choix de conception qui atténuent les risques, adoptez une approche sécurisée dès la conception.
Google Cloud propose une suite complète d'outils et de services pour vous aider à implémenter une approche "secure by design" :
- Gestion de la posture cloud : utilisez Security Command Center pour identifier les failles et les erreurs de configuration potentielles dans votre infrastructure d'IA.
- Scores d'exposition aux attaques et chemins d'attaque : affinez et utilisez les scores d'exposition aux attaques et les chemins d'attaque générés par Security Command Center.
- Google Threat Intelligence : restez informé des nouvelles menaces et techniques d'attaque qui émergent pour cibler les systèmes d'IA.
- Journalisation et surveillance : Suivez les performances et la sécurité de vos systèmes d'IA, et détectez les anomalies ou les activités suspectes. Effectuez des audits de sécurité réguliers pour identifier et corriger les failles potentielles dans votre infrastructure et vos modèles d'IA.
- Gestion des failles : mettez en œuvre un processus de gestion des failles pour suivre et corriger les failles de sécurité dans vos systèmes d'IA.
Pour en savoir plus, consultez Secure by Design at Google et Implémenter la sécurité dès la conception.
Sécuriser les données et éviter leur perte ou leur mauvaise gestion
Les données sont une ressource précieuse et sensible qui doit être protégée. La sécurité des données vous aide à maintenir la confiance des utilisateurs, à atteindre vos objectifs commerciaux et à respecter vos exigences de conformité.
Pour protéger vos données, tenez compte des recommandations suivantes.
Respecter les principes de minimisation des données
Pour assurer la confidentialité des données, respectez le principe de minimisation des données. Pour minimiser les données, ne collectez, ne conservez ni n'utilisez pas les données qui ne sont pas strictement nécessaires à vos objectifs commerciaux. Dans la mesure du possible, utilisez des données synthétiques ou entièrement anonymisées.
La collecte de données peut générer des insights et des analyses commerciales, mais il est essentiel de faire preuve de discernement lors de ce processus. Si vous collectez des informations permettant d'identifier personnellement vos clients, révélez des informations sensibles ou créez des biais ou des controverses, vous risquez de créer des modèles de ML biaisés.
Vous pouvez utiliser les fonctionnalités Google Cloud pour vous aider à améliorer la minimisation et la confidentialité des données pour différents cas d'utilisation :
- Pour anonymiser vos données tout en préservant leur utilité, appliquez des méthodes de transformation telles que la pseudonymisation, l'anonymisation et la généralisation (comme le binning). Pour implémenter ces méthodes, vous pouvez utiliser Sensitive Data Protection.
- Pour enrichir les données et atténuer les biais potentiels, vous pouvez utiliser un job d'étiquetage de données Vertex AI. Le processus d'étiquetage des données ajoute des tags informatifs et pertinents aux données brutes, ce qui les transforme en données d'entraînement structurées pour les modèles de ML. L'étiquetage des données ajoute de la spécificité aux données et réduit l'ambiguïté.
- Pour protéger les ressources contre un accès ou une manipulation prolongés, utilisez les fonctionnalités Cloud Storage pour contrôler le cycle de vie des données.
Pour découvrir les bonnes pratiques d'implémentation du chiffrement des données, consultez Chiffrement des données au repos et en transit dans le Framework Well-Architected.
Surveiller la collecte, le stockage et la transformation des données
Les données d'entraînement de votre application d'IA présentent les risques les plus élevés d'introduction de biais et de fuite de données. Pour rester conforme et gérer les données de différentes équipes, établissez une couche de gouvernance des données afin de surveiller les flux, les transformations et les accès aux données. Conservez les journaux des activités d'accès aux données et de manipulation de données. Les journaux vous aident à auditer les accès aux données, à détecter les tentatives d'accès non autorisées et à empêcher les accès indésirables.
Vous pouvez utiliser les fonctionnalités Google Cloud pour vous aider à implémenter des stratégies de gouvernance des données :
- Pour établir une plate-forme de gouvernance des données à l'échelle de l'organisation ou d'un service, utilisez Dataplex Universal Catalog.
Une plate-forme de gouvernance des données peut vous aider à découvrir, gérer, surveiller et gouverner de manière centralisée les données et les artefacts d'IA sur vos plates-formes de données. La plate-forme de gouvernance des données permet également d'accéder aux utilisateurs de confiance. Vous pouvez effectuer les tâches suivantes avec Dataplex Universal Catalog :
- Gérez la lignée de données. BigQuery peut également fournir un lineage au niveau des colonnes.
- Gérez les vérifications de la qualité des données et les profils de données.
- Gérez la découverte, l'exploration et le traitement des données dans différents magasins de données.
- Gérez les métadonnées des caractéristiques et les artefacts du modèle.
- Créez un glossaire d'entreprise pour gérer les métadonnées et établir un vocabulaire standardisé.
- Enrichissez les métadonnées avec du contexte à l'aide des aspects et des types d'aspects.
- Unifiez la gouvernance des données dans BigLake et les tables au format ouvert comme Iceberg et Delta.
- Créez un maillage de données pour décentraliser la propriété des données entre les propriétaires de données de différentes équipes ou différents domaines. Cette pratique respecte les principes de sécurité des données et peut contribuer à améliorer l'accessibilité des données et l'efficacité opérationnelle.
- Inspectez et envoyez les résultats des données sensibles de BigQuery vers Dataplex Universal Catalog.
- Pour créer un lakehouse ouvert et unifié, bien gouverné, intégrez vos lacs de données et entrepôts de données à des services de métastore gérés tels que Dataproc Metastore et BigLake Metastore. Un lakehouse ouvert utilise des formats de tables ouverts compatibles avec différents moteurs de traitement de données.
- Pour planifier la surveillance des caractéristiques et des groupes de caractéristiques, utilisez Vertex AI Feature Store.
- Pour analyser vos ensembles de données Vertex AI au niveau de l'organisation, du dossier ou du projet, utilisez la détection des données sensibles pour Vertex AI. Vous pouvez également analyser les profils de données stockés dans BigQuery.
- Pour capturer les journaux en temps réel et collecter les métriques liées aux pipelines de données, utilisez Cloud Logging et Cloud Monitoring. Pour collecter les journaux d'audit des appels d'API, utilisez Cloud Audit Logs. N'enregistrez pas d'informations permettant d'identifier personnellement un utilisateur ni de données confidentielles dans les expériences ni dans différents serveurs de journaux.
Implémenter des contrôles d'accès basés sur les rôles avec les principes du moindre privilège
Implémentez des contrôles d'accès basés sur les rôles (RBAC) pour attribuer différents niveaux d'accès en fonction des rôles des utilisateurs. Les utilisateurs ne doivent disposer que des autorisations minimales nécessaires pour leur permettre d'effectuer les activités liées à leur rôle. Attribuez des autorisations en fonction du principe du moindre privilège afin que les utilisateurs ne disposent que de l'accès dont ils ont besoin (par exemple, aucun accès, accès en lecture seule ou accès en écriture).
Le RBAC avec le principe du moindre privilège est important pour la sécurité lorsque votre organisation utilise des données sensibles qui résident dans des lacs de données, des magasins de caractéristiques ou des hyperparamètres pour l'entraînement des modèles. Cette pratique vous aide à éviter le vol de données, à préserver l'intégrité des modèles et à limiter la surface d'attaque en cas d'accident ou d'attaque.
Pour vous aider à mettre en œuvre ces stratégies d'accès, vous pouvez utiliser les fonctionnalitésGoogle Cloud suivantes :
Pour implémenter la précision des accès, envisagez les options suivantes :
- Mappez les rôles IAM de différents produits à un utilisateur, un groupe ou un compte de service pour autoriser un accès précis. Mappez ces rôles en fonction des besoins de votre projet, des schémas d'accès ou des tags.
- Définissez des stratégies IAM avec des conditions pour gérer l'accès précis à vos données, à votre modèle et à vos configurations de modèle, comme le code, les paramètres de ressources et les hyperparamètres.
Explorez l'accès précis au niveau de l'application qui vous aide à sécuriser les données sensibles que vous auditez et partagez en dehors de votre équipe.
- Cloud Storage : définissez des stratégies IAM sur les buckets et les dossiers gérés.
- BigQuery : utilisez les rôles et autorisations IAM pour les ensembles de données et les ressources qu'ils contiennent. Restreignez également l'accès au niveau des lignes et au niveau des colonnes dans BigQuery.
Pour limiter l'accès à certaines ressources, vous pouvez utiliser des stratégies de limite d'accès des comptes principaux (PAB, Principal Access Boundary). Vous pouvez également utiliser Privileged Access Manager pour contrôler l'élévation temporaire des privilèges au moment opportun pour certains comptes principaux. Vous pourrez ensuite consulter les journaux d'audit de cette activité Privileged Access Manager.
Pour restreindre l'accès aux ressources en fonction de l'adresse IP et des attributs de l'appareil de l'utilisateur final, vous pouvez étendre les règles d'accès Identity-Aware Proxy (IAP).
Pour créer des modèles d'accès pour différents groupes d'utilisateurs, vous pouvez utiliser le contrôle des accès à Vertex AI avec IAM pour combiner les rôles prédéfinis ou personnalisés.
Pour protéger les instances Vertex AI Workbench à l'aide de contrôles d'accès contextuels, utilisez Access Context Manager et Chrome Enterprise Premium. Avec cette approche, l'accès est évalué chaque fois qu'un utilisateur s'authentifie auprès de l'instance.
Mettre en œuvre des mesures de sécurité pour le transfert de données
Implémentez des périmètres sécurisés et d'autres mesures telles que le chiffrement et les restrictions sur le transfert de données. Ces mesures vous aident à éviter l'exfiltration et la perte de données, qui peuvent entraîner des pertes financières, nuire à votre réputation, engendrer des responsabilités juridiques et perturber vos activités commerciales.
Pour éviter l'exfiltration et la perte de données sur Google Cloud, vous pouvez utiliser une combinaison d'outils et de services de sécurité.
Pour implémenter le chiffrement, tenez compte des éléments suivants :
- Pour mieux contrôler les clés de chiffrement, utilisez des clés de chiffrement gérées par le client (CMEK) dans Cloud KMS. Lorsque vous utilisez des CMEK, les services suivants bénéficiant d'une intégration des CMEK chiffrent les données au repos pour vous :
- Pour protéger vos données dans Cloud Storage, utilisez le chiffrement côté serveur pour stocker vos CMEK. Si vous gérez les CMEK sur vos propres serveurs, le chiffrement côté serveur peut vous aider à protéger vos CMEK et les données associées, même si votre système de stockage CMEK est compromis.
- Pour chiffrer les données en transit, utilisez HTTPS pour tous vos appels d'API aux services d'IA et de ML. Pour appliquer le protocole HTTPS à vos applications et API, utilisez des équilibreurs de charge HTTPS.
Pour découvrir d'autres bonnes pratiques sur le chiffrement des données, consultez Chiffrer les données au repos et en transit dans le pilier Sécurité du framework Well-Architected.
Pour implémenter des périmètres, tenez compte des éléments suivants :
- Pour créer une limite de sécurité autour de vos ressources d'IA et de ML, et pour empêcher l'exfiltration de données depuis votre Virtual Private Cloud (VPC), utilisez VPC Service Controls pour définir un périmètre de service. Incluez vos ressources d'IA et de ML, ainsi que vos données sensibles, dans le périmètre. Pour contrôler le flux de données, configurez des règles d'entrée et de sortie pour votre périmètre.
- Pour limiter le trafic entrant et sortant vers vos ressources d'IA et de ML, configurez des règles de pare-feu. Implémentez des règles qui refusent tout le trafic par défaut et n'autorisent explicitement que le trafic qui répond à vos critères. Pour obtenir un exemple de règle, consultez Exemple : Refuser toutes les connexions externes, à l'exception de ports de destination spécifiques.
Pour implémenter des restrictions sur le déplacement des données, tenez compte des éléments suivants :
- Pour partager des données et évoluer au-delà des limites de confidentialité dans un environnement sécurisé, utilisez le partage BigQuery et les data clean rooms BigQuery, qui fournissent un cadre de sécurité et de confidentialité robuste.
- Pour partager des données directement dans des destinations intégrées à partir de tableaux de bord de business intelligence, utilisez le Action Hub de Looker, qui fournit un environnement cloud sécurisé.
Se protéger contre l'empoisonnement des données
L'empoisonnement des données est un type de cyberattaque au cours de laquelle des pirates informatiques injectent des données malveillantes dans des ensembles de données d'entraînement pour manipuler le comportement des modèles ou dégrader leurs performances. Cette cyberattaque peut constituer une menace sérieuse pour les systèmes d'entraînement du ML. Pour protéger la validité et la qualité des données, adoptez des pratiques qui les protègent. Cette approche est essentielle pour garantir la cohérence, la fiabilité et l'intégrité de votre modèle.
Pour suivre les comportements incohérents, les transformations ou les accès inattendus à vos données, configurez une surveillance et des alertes complètes pour les pipelines de données et de ML.
Les fonctionnalitésGoogle Cloud peuvent vous aider à mettre en place davantage de protections contre l'empoisonnement des données :
Pour valider l'intégrité des données, tenez compte des points suivants :
- Implémentez des contrôles de validation des données robustes avant d'utiliser les données pour l'entraînement. Vérifiez les formats, les plages et les distributions des données. Vous pouvez utiliser les fonctionnalités de qualité des données automatiques dans Dataplex Universal Catalog.
- Utilisez Sensitive Data Protection avec Model Armor pour profiter de fonctionnalités complètes de protection contre la perte de données. Pour en savoir plus, consultez Concepts clés de Model Armor. Sensitive Data Protection avec Model Armor vous permet de détecter, de classer et de protéger les données sensibles telles que la propriété intellectuelle. Ces fonctionnalités peuvent vous aider à éviter l'exposition non autorisée de données sensibles dans les interactions avec les LLM.
- Pour détecter les anomalies dans vos données d'entraînement qui pourraient indiquer un empoisonnement des données, utilisez la détection d'anomalies dans BigQuery avec des méthodes statistiques ou des modèles de ML.
Pour préparer un entraînement robuste, procédez comme suit :
- Utilisez des méthodes d'ensemble pour réduire l'impact des points de données empoisonnés. Entraînez plusieurs modèles sur différents sous-ensembles de données avec le réglage des hyperparamètres.
- Utilisez des techniques d'augmentation des données pour équilibrer la distribution des données dans les ensembles de données. Cette approche peut réduire l'impact de l'empoisonnement des données et vous permet d'ajouter des exemples contradictoires.
Pour intégrer une révision humaine aux données d'entraînement ou aux sorties du modèle, procédez comme suit :
- Analysez les métriques d'évaluation du modèle pour détecter d'éventuels biais, anomalies ou comportements inattendus pouvant indiquer un empoisonnement des données. Pour en savoir plus, consultez Évaluation de modèles dans Vertex AI.
- Profitez de l'expertise du domaine pour évaluer le modèle ou l'application et identifier les schémas ou points de données suspects que les méthodes automatisées ne détectent pas forcément. Pour en savoir plus, consultez Présentation de Gen AI Evaluation Service.
Pour découvrir les bonnes pratiques concernant la création de plates-formes de données axées sur la sécurité de l'infrastructure et des données, consultez le principe Implémenter la sécurité dès la conception dans le framework Well-Architected.
Sécuriser les pipelines d'IA et les protéger contre la falsification
Votre code d'IA et de ML, ainsi que les pipelines définis par le code, sont des éléments essentiels. Un code non sécurisé peut être falsifié, ce qui peut entraîner des fuites de données, un non-respect de la conformité et l'interruption d'activités commerciales critiques. La sécurisation de votre code d'IA et de ML permet de garantir l'intégrité et la valeur de vos modèles et de leurs sorties.
Pour sécuriser le code et les pipelines d'IA, tenez compte des recommandations suivantes.
Utiliser des pratiques de codage sécurisées
Pour éviter les failles de sécurité, utilisez des pratiques de codage sécurisées lorsque vous développez vos modèles. Nous vous recommandons de mettre en œuvre une validation spécifique à l'IA pour les entrées et les sorties, de gérer toutes vos dépendances logicielles et d'intégrer systématiquement des principes de codage sécurisé dans votre développement. Intégrez la sécurité à chaque étape du cycle de vie de l'IA, du prétraitement des données au code de votre application finale.
Pour implémenter une validation rigoureuse, tenez compte des points suivants :
Pour éviter la manipulation de modèles ou l'exploitation de failles du système, validez et nettoyez les entrées et les sorties dans votre code.
- Utilisez Model Armor ou des LLM affinés pour filtrer automatiquement les requêtes et les réponses afin de détecter les risques courants.
- Implémentez la validation des données dans vos scripts d'ingestion et de prétraitement des données pour les types, les formats et les plages de données. Pour Vertex AI Pipelines ou BigQuery, vous pouvez utiliser Python pour implémenter cette validation des données.
- Utilisez des agents LLM d'assistance au codage, comme CodeMender, pour améliorer la sécurité du code. Maintenez une intervention humaine pour valider les modifications proposées.
Pour gérer et sécuriser les points de terminaison d'API de votre modèle d'IA, utilisez Apigee, qui inclut des fonctionnalités configurables telles que la validation des requêtes, le contrôle du trafic et l'authentification.
Pour limiter les risques tout au long du cycle de vie de l'IA, vous pouvez utiliser la protection de l'IA pour effectuer les opérations suivantes :
- Découvrez l'inventaire d'IA dans votre environnement.
- Évaluez l'inventaire pour identifier les failles potentielles.
- Sécurisez les composants d'IA à l'aide de commandes, de règles et de protections.
- Gérez les systèmes d'IA grâce à des fonctionnalités de détection, d'investigation et de réponse.
Pour sécuriser les dépendances de code et d'artefacts dans votre pipeline CI/CD, tenez compte des points suivants :
- Pour faire face aux risques que les dépendances de bibliothèques Open Source peuvent présenter pour votre projet, utilisez Artifact Analysis avec Artifact Registry pour détecter les failles connues. Utilisez et gérez les versions approuvées des bibliothèques. Stockez vos packages de ML personnalisés et vos dépendances approuvées dans un dépôt Artifact Registry privé.
- Pour intégrer l'analyse des dépendances dans vos pipelines MLOps Cloud Build, utilisez Binary Authorization. Appliquez des règles qui n'autorisent les déploiements que si les images de conteneur de votre code réussissent les contrôles de sécurité.
- Pour obtenir des informations sur la sécurité de votre chaîne d'approvisionnement logicielle, utilisez les tableaux de bord de la console Google Cloud . Ils fournissent des détails sur les sources, les builds, les artefacts, les déploiements et les environnements d'exécution. Ces informations incluent les failles dans les artefacts de compilation, la provenance de la compilation et les listes de dépendances de la nomenclature logicielle (SBOM).
- Pour évaluer le niveau de maturité de la sécurité de votre chaîne d'approvisionnement logicielle, utilisez le framework SLSA (Supply-chain Levels for Software Artifacts).
Pour intégrer de manière cohérente les principes de codage sécurisé à chaque étape du développement, tenez compte des points suivants :
- Pour éviter l'exposition de données sensibles lors des interactions avec les modèles, utilisez la journalisation avec Sensitive Data Protection. Lorsque vous utilisez ces produits ensemble, vous pouvez contrôler les données que vos applications d'IA et vos composants de pipeline enregistrent, et masquer les données sensibles.
- Pour appliquer le principe du moindre privilège, assurez-vous que les comptes de service que vous utilisez pour vos jobs, pipelines et modèles déployés Vertex AI personnalisés ne disposent que des autorisations IAM minimales requises. Pour en savoir plus, consultez Implémenter des contrôles d'accès basés sur les rôles avec les principes du moindre privilège.
- Pour sécuriser et protéger vos pipelines et vos artefacts de compilation, comprenez les configurations de sécurité (VPC et VPC Service Controls) dans l'environnement dans lequel votre code s'exécute.
Protéger les pipelines et les artefacts de modèle contre les accès non autorisés
Vos artefacts et pipelines de modèle sont de la propriété intellectuelle, et leurs données d'entraînement contiennent également des informations propriétaires. Pour protéger les pondérations de modèle, les fichiers et les configurations de déploiement contre les falsifications et les failles, stockez ces artefacts et accédez-y avec une sécurité renforcée. Implémentez différents niveaux d'accès pour chaque artefact en fonction des rôles et des besoins des utilisateurs.
Pour sécuriser vos artefacts de modèle, tenez compte des points suivants :
- Pour protéger les artefacts de modèle et d'autres fichiers sensibles, chiffrez-les avec Cloud KMS. Ce chiffrement permet de protéger les données au repos et en transit, même si le stockage sous-jacent est compromis.
- Pour sécuriser l'accès à vos fichiers, stockez-les dans Cloud Storage et configurez des contrôles d'accès.
- Pour suivre les configurations incorrectes ou inadéquates, ainsi que toute dérive par rapport aux normes que vous avez définies, utilisez Security Command Center pour configurer des postures de sécurité.
- Pour activer un contrôle des accès précis et le chiffrement au repos, stockez vos artefacts de modèle dans Vertex AI Model Registry. Pour renforcer la sécurité, créez une signature numérique pour les packages et les conteneurs produits lors des processus de compilation approuvés.
- Pour bénéficier de la sécurité de niveau entreprise de Google Cloud, utilisez les modèles disponibles dans Model Garden. Model Garden fournit les modèles propriétaires de Google et propose des modèles tiers de partenaires sélectionnés.
Pour appliquer la gestion centralisée à tous les cycles de vie des utilisateurs et des groupes, et pour appliquer le principe du moindre privilège, utilisez IAM.
- Créez et utilisez des comptes de service dédiés auxquels le principe du moindre privilège est appliqué pour vos pipelines MLOps. Par exemple, le compte de service d'un pipeline d'entraînement est autorisé à lire les données d'un bucket Cloud Storage spécifique et à écrire des artefacts de modèle dans le registre de modèles.
- Utilisez les conditions IAM pour appliquer un contrôle des accès conditionnel basé sur des attributs. Par exemple, une condition permet à un compte de service de déclencher un pipeline Vertex AI uniquement si la requête provient d'un déclencheur Cloud Build de confiance.
Pour sécuriser vos pipelines de déploiement, tenez compte des points suivants :
Pour gérer les étapes MLOps sur les services et les ressources Google Cloud , utilisez Vertex AI Pipelines, qui peut s'intégrer à d'autres services et fournir un contrôle d'accès de bas niveau. Lorsque vous réexécutez les pipelines, assurez-vous d'effectuer des vérifications Vertex Explainable AI et Responsible AI avant de déployer les artefacts de modèle. Ces vérifications peuvent vous aider à détecter ou à prévenir les problèmes de sécurité suivants :
- Modifications non autorisées, qui peuvent indiquer une falsification du modèle.
- Script intersites (XSS), qui peut indiquer que des images de conteneur ou des dépendances ont été compromises.
- Points de terminaison non sécurisés, qui peuvent indiquer une infrastructure de diffusion mal configurée.
Pour sécuriser les interactions avec les modèles pendant l'inférence, utilisez des points de terminaison privés basés sur Private Service Connect avec des conteneurs prédéfinis ou des conteneurs personnalisés. Créez des signatures de modèle avec un schéma d'entrée et de sortie prédéfini.
Pour automatiser le suivi des modifications du code, utilisez Git pour la gestion du code source et intégrez le contrôle des versions à des pipelines CI/CD robustes.
Pour en savoir plus, consultez Sécuriser le pipeline d'IA.
Appliquer la traçabilité et le suivi
Pour vous aider à respecter les exigences de conformité réglementaires auxquelles vous pourriez être soumis, appliquez la traçabilité et le suivi de vos composants d'IA et de ML. La traçabilité et le suivi des données fournissent des journaux de modifications détaillés pour les données, les modèles et le code. La provenance des modèles assure la transparence et la responsabilité tout au long du cycle de vie de l'IA et du ML.
Pour appliquer efficacement la traçabilité et le suivi dans Google Cloud, pensez aux outils et services suivants :
- Pour suivre la traçabilité des modèles, des ensembles de données et des artefacts qui sont automatiquement chiffrés au repos, utilisez Vertex ML Metadata. Consignez les métadonnées sur les sources de données, les transformations, les paramètres de modèle et les résultats des tests.
- Pour suivre la traçabilité des artefacts de pipeline depuis Vertex AI Pipelines, et pour rechercher des ressources de modèle et d'ensemble de données, vous pouvez utiliser Dataplex Universal Catalog. Suivez les artefacts de pipeline individuels lorsque vous souhaitez effectuer un débogage, un dépannage ou une analyse des causes fondamentales. Pour suivre l'intégralité de votre pipeline MLOps, y compris la traçabilité des artefacts de pipeline, utilisez Vertex ML Metadata. Vertex ML Metadata vous permet également d'analyser les ressources et les exécutions. Model Registry applique et gère les versions de chaque modèle que vous stockez.
- Pour suivre les appels d'API et les actions administratives, activez les journaux d'audit pour Vertex AI. Analysez les journaux d'audit avec Log Analytics pour comprendre qui a accédé aux données et aux modèles ou les a modifiés, et quand. Vous pouvez également acheminer les journaux vers des destinations tierces.
Déployer sur des systèmes sécurisés avec des outils et des artefacts sécurisés
Assurez-vous que votre code et vos modèles s'exécutent dans un environnement sécurisé. Cet environnement doit disposer d'un système de contrôle des accès robuste et fournir des garanties de sécurité pour les outils et les artefacts que vous déployez.
Pour déployer votre code sur des systèmes sécurisés, tenez compte des recommandations suivantes.
Entraîner et déployer des modèles dans un environnement sécurisé
Pour préserver l'intégrité, la confidentialité et la disponibilité de vos systèmes d'IA et de ML, mettez en place des contrôles d'accès stricts qui empêchent la manipulation non autorisée des ressources. Cette défense vous aide à effectuer les opérations suivantes :
- Atténuer la falsification des modèles qui pourrait produire des résultats inattendus ou contradictoires.
- Protégez vos données d'entraînement contre les atteintes à la confidentialité.
- Maintenir le temps d'activité du service.
- Maintenir la conformité réglementaire.
- Gagnez la confiance des utilisateurs.
Pour entraîner vos modèles de ML dans un environnement plus sécurisé, utilisez des services gérés dans Google Cloud comme Cloud Run, GKE et Dataproc. Vous pouvez également utiliser Vertex AI Serverless Training.
Cette section fournit des recommandations pour vous aider à sécuriser davantage votre environnement d'entraînement et de déploiement.
Pour sécuriser votre environnement et vos périmètres, tenez compte des points suivants :
Lorsque vous mettez en œuvre des mesures de sécurité, comme décrit précédemment, tenez compte des points suivants :
- Pour isoler les environnements d'entraînement et limiter l'accès, utilisez des projets ou des VPC dédiés pour l'entraînement.
- Pour protéger les données et le code sensibles pendant l'exécution, utilisez des VM protégées ou l'informatique confidentielle pour les charges de travail d'entraînement.
- Pour sécuriser votre infrastructure réseau et contrôler l'accès à vos modèles déployés, utilisez des VPC, des pare-feu et des périmètres de sécurité.
Lorsque vous utilisez Vertex AI Training, vous pouvez utiliser les méthodes suivantes pour sécuriser votre infrastructure de calcul :
- Pour entraîner des jobs personnalisés qui communiquent de manière privée avec d'autres services autorisés Google Cloud et qui ne sont pas exposés au trafic public, configurez une interface Private Service Connect.
- Pour bénéficier d'une sécurité réseau et d'une latence réseau supérieures à celles d'une adresse IP publique, utilisez une adresse IP privée pour vous connecter à vos tâches d'entraînement. Pour en savoir plus, consultez Utiliser une adresse IP privée pour l'entraînement personnalisé.
Lorsque vous utilisez GKE ou Cloud Run pour configurer un environnement personnalisé, tenez compte des options suivantes :
- Pour sécuriser votre cluster GKE, utilisez les règles de réseau, les règles de sécurité de pod et les contrôles d'accès appropriés. Utilisez des images de conteneurs fiables et vérifiées pour vos charges de travail d'entraînement. Pour analyser les images de conteneurs et détecter les failles, utilisez Artifact Analysis.
- Pour protéger votre environnement contre les échappements de conteneur et d'autres attaques, implémentez des mesures de sécurité d'exécution pour les fonctions Cloud Run. Pour mieux protéger votre environnement, utilisez GKE Sandbox et l'isolation des charges de travail.
- Pour sécuriser vos charges de travail GKE, suivez les bonnes pratiques décrites dans la présentation de la sécurité dans GKE.
- Pour répondre à vos exigences de sécurité dans Cloud Run, consultez la présentation de la conception de la sécurité.
Lorsque vous utilisez Dataproc pour l'entraînement de modèles, suivez les bonnes pratiques de sécurité de Dataproc.
Pour sécuriser votre déploiement, tenez compte des points suivants :
- Lorsque vous déployez des modèles, utilisez Model Registry. Si vous déployez des modèles dans des conteneurs, utilisez GKE Sandbox et Container-Optimized OS pour renforcer la sécurité et isoler les charges de travail. Limitez l'accès aux modèles de Model Garden en fonction des rôles et des responsabilités des utilisateurs.
- Pour sécuriser vos API de modèles, utilisez Apigee ou API Gateway. Pour éviter tout abus, implémentez des clés API, l'authentification, l'autorisation et la limitation du débit. Pour contrôler l'accès aux API de modèles, utilisez des clés API et des mécanismes d'authentification.
- Pour sécuriser l'accès aux modèles lors de la prédiction, utilisez Vertex AI Inference. Pour empêcher l'exfiltration de données, utilisez les périmètres VPC Service Controls afin de protéger les points de terminaison privés et de régir l'accès aux modèles sous-jacents. Vous utilisez des points de terminaison privés pour permettre l'accès aux modèles dans un réseau VPC. IAM n'est pas directement appliqué au point de terminaison privé, mais le service cible utilise IAM pour gérer l'accès aux modèles. Pour la prédiction en ligne, nous vous recommandons d'utiliser Private Service Connect.
- Pour suivre les appels d'API liés au déploiement de modèles, activez Cloud Audit Logs pour Vertex AI. Les appels d'API concernés incluent des activités telles que la création de points de terminaison, le déploiement de modèles et les mises à jour de configuration.
- Pour étendre l'infrastructure Google Cloud aux emplacements périphériques, envisagez les solutions Google Distributed Cloud. Pour une solution entièrement déconnectée, vous pouvez utiliser Distributed Cloud air-gapped, qui ne nécessite pas de connectivité à Google Cloud.
- Pour standardiser les déploiements et assurer la conformité avec les besoins réglementaires et de sécurité, utilisez Assured Workloads.
Suivre les consignes SLSA pour les artefacts d'IA
Suivez les consignes standards des niveaux de la chaîne d'approvisionnement pour les artefacts logiciels (SLSA) pour vos artefacts spécifiques à l'IA, comme les modèles et les packages logiciels.
SLSA est un framework de sécurité conçu pour vous aider à améliorer l'intégrité des artefacts logiciels et à prévenir toute falsification. En respectant les consignes SLSA, vous pouvez renforcer la sécurité de votre pipeline d'IA et de ML, ainsi que des artefacts qu'il produit. Le respect de SLSA peut offrir les avantages suivants :
- Confiance accrue dans vos artefacts d'IA et de ML : SLSA permet de s'assurer que vos modèles et packages logiciels ne sont pas falsifiés. Les utilisateurs peuvent également remonter à la source des modèles et des packages logiciels, ce qui renforce leur confiance dans l'intégrité et la fiabilité des artefacts.
- Réduction du risque d'attaques de la chaîne d'approvisionnement : SLSA permet d'atténuer le risque d'attaques qui exploitent les failles de la chaîne d'approvisionnement logicielle, comme les attaques qui injectent du code malveillant ou qui compromettent les processus de compilation.
- Stratégie de sécurité renforcée : SLSA vous aide à renforcer la stratégie de sécurité globale de vos systèmes d'IA et de ML. Cette implémentation peut vous aider à réduire le risque d'attaques et à protéger vos ressources précieuses.
Pour implémenter SLSA pour vos artefacts d'IA et de ML sur Google Cloud, procédez comme suit :
- Comprendre les niveaux SLSA : familiarisez-vous avec les différents niveaux SLSA et leurs exigences. Plus le niveau est élevé, plus l'intégrité qu'il offre est importante.
- Évaluez votre niveau actuel : comparez vos pratiques actuelles au framework SLSA pour déterminer votre niveau actuel et identifier les points à améliorer.
- Définissez votre niveau cible : déterminez le niveau SLSA approprié à cibler en fonction de votre tolérance au risque, de vos exigences de sécurité et de la criticité de vos systèmes d'IA et de ML.
Implémenter les exigences SLSA : pour atteindre le niveau SLSA cible, implémentez les contrôles et les pratiques nécessaires, qui peuvent inclure les éléments suivants :
- Contrôle du code source : utilisez un système de contrôle des versions comme Git pour suivre les modifications apportées à votre code et à vos configurations.
- Processus de compilation : utilisez un service qui vous aide à sécuriser vos compilations, comme Cloud Build, et assurez-vous que votre processus de compilation est scripté ou automatisé.
- Génération de la provenance : générez des métadonnées de provenance qui capturent des informations sur la façon dont vos artefacts ont été créés, y compris le processus de compilation, le code source et les dépendances. Pour en savoir plus, consultez Suivre les ressources Vertex ML Metadata et Suivre les exécutions et les artefacts.
- Signature des artefacts : signez vos artefacts pour vérifier leur authenticité et leur intégrité.
- Gestion des failles : analysez régulièrement vos artefacts et vos dépendances pour détecter les failles. Utilisez des outils tels qu'Artifact Analysis.
- Sécurité du déploiement : mettez en œuvre des pratiques de déploiement qui contribuent à sécuriser vos systèmes, comme celles décrites dans ce document.
Amélioration continue : surveillez et améliorez votre implémentation SLSA pour faire face aux nouvelles menaces et failles, et visez des niveaux SLSA plus élevés.
Utiliser des images de conteneurs préconfigurées validées
Pour éviter un point de défaillance unique pour vos étapes MLOps, isolez les tâches qui nécessitent une gestion des dépendances différente dans des conteneurs distincts. Par exemple, utilisez des conteneurs distincts pour l'extraction de caractéristiques, l'entraînement ou l'affinage, et les tâches d'inférence. Cette approche permet également aux ingénieurs en ML de contrôler et de personnaliser leur environnement.
Pour assurer la cohérence des MLOps dans votre organisation, utilisez des conteneurs prédéfinis. Maintenez un dépôt central d'images de plate-forme de base fiables et validées en suivant les bonnes pratiques suivantes :
- Maintenez une équipe de plate-forme centralisée dans votre organisation qui crée et gère des conteneurs de base standardisés.
- Étendez les images de conteneur prédéfinies fournies par Vertex AI spécifiquement pour l'IA et le ML. Gérez les images de conteneurs dans un dépôt centralisé au sein de votre organisation.
Vertex AI fournit divers conteneurs de deep learning prédéfinis pour l'entraînement et l'inférence. Il vous permet également d'utiliser des conteneurs personnalisés. Pour les modèles plus petits, vous pouvez réduire la latence pour l'inférence si vous chargez les modèles dans des conteneurs.
Pour améliorer la sécurité de la gestion de vos conteneurs, tenez compte des recommandations suivantes :
- Utilisez Artifact Registry pour créer, stocker et gérer des dépôts d'images de conteneurs de différents formats. Artifact Registry gère le contrôle des accès avec IAM, et il dispose de fonctionnalités d'observabilité et d'évaluation des failles intégrées. Artifact Registry vous permet d'activer des fonctionnalités de sécurité des conteneurs, d'analyser les images de conteneurs et d'examiner les failles.
- Exécutez des étapes d'intégration continue et créez des images de conteneurs avec Cloud Build. Les problèmes de dépendance peuvent être mis en évidence à ce stade. Si vous souhaitez déployer uniquement les images créées par Cloud Build, vous pouvez utiliser l'autorisation binaire. Pour éviter les attaques de la chaîne d'approvisionnement, déployez les images créées par Cloud Build dans Artifact Registry. Intégrez des outils de test automatisés tels que SonarQube, PyLint ou OWASP ZAP.
- Utilisez une plate-forme de conteneurs comme GKE ou Cloud Run, qui sont optimisées pour les GPU ou les TPU pour les charges de travail d'IA et de ML. Envisagez les options d'analyse des failles pour les conteneurs dans les clusters GKE.
Envisager l'informatique confidentielle pour les GPU
Pour protéger les données en cours d'utilisation, vous pouvez utiliser l'informatique confidentielle. Les mesures de sécurité classiques protègent les données au repos et en transit, mais l'informatique confidentielle chiffre les données pendant leur traitement. Lorsque vous utilisez le informatique confidentielle pour les GPU, vous contribuez à protéger les données d'entraînement sensibles et les paramètres du modèle contre les accès non autorisés. Vous pouvez également contribuer à empêcher l'accès non autorisé des utilisateurs cloud privilégiés ou des pirates potentiels qui pourraient accéder à l'infrastructure sous-jacente.
Pour déterminer si vous avez besoin du informatique confidentielle pour les GPU, tenez compte de la sensibilité des données, des exigences réglementaires et des risques potentiels.
Si vous configurez le informatique confidentielle, tenez compte des options suivantes :
- Pour les charges de travail d'IA et de ML à usage général, utilisez des instances de VM confidentielles avec des GPU NVIDIA T4. Ces instances de VM offrent un chiffrement matériel des données en cours d'utilisation.
- Pour les charges de travail conteneurisées, utilisez les nœuds Confidential GKE Node. Ces nœuds fournissent un environnement sécurisé et isolé pour vos pods.
- Pour vous assurer que votre charge de travail s'exécute dans un enclave authentique et sécurisée, vérifiez les rapports d'attestation fournis par Confidential VM.
- Pour suivre les performances, l'utilisation des ressources et les événements de sécurité, surveillez vos ressources informatique confidentielle et vos nœuds Confidential GKE Node à l'aide de Monitoring et Logging.
Valider et protéger les entrées
Traitez toutes les entrées de vos systèmes d'IA comme non fiables, qu'elles proviennent d'utilisateurs finaux ou d'autres systèmes automatisés. Pour sécuriser vos systèmes d'IA et vous assurer qu'ils fonctionnent comme prévu, vous devez détecter et assainir les vecteurs d'attaque potentiels dès le début.
Pour vérifier et protéger vos entrées, tenez compte des recommandations suivantes.
Implémenter des pratiques permettant de sécuriser les systèmes d'IA générative
Traitez les requêtes comme un composant d'application essentiel, aussi important pour la sécurité que le code. Mettez en œuvre une stratégie de défense en profondeur qui combine une conception proactive, un filtrage automatisé et une gestion disciplinée du cycle de vie.
Pour sécuriser vos requêtes d'IA générative, vous devez les concevoir en tenant compte de la sécurité, les examiner avant de les utiliser et les gérer tout au long de leur cycle de vie.
Pour améliorer la sécurité de la conception et de l'ingénierie de vos requêtes, tenez compte des pratiques suivantes :
- Structurez vos requêtes pour plus de clarté : concevez et testez toutes vos requêtes à l'aide des fonctionnalités de gestion des requêtes de Vertex AI Studio. Les requêtes doivent avoir une structure claire et univoque. Définissez un rôle, incluez des exemples few-shot et donnez des instructions spécifiques et limitées. Ces méthodes réduisent le risque que le modèle interprète mal une entrée utilisateur et crée ainsi une faille de sécurité.
Testez la robustesse et l'ancrage des entrées : testez de manière proactive tous vos systèmes par rapport aux entrées inattendues, mal formées et malveillantes afin d'éviter les plantages ou les sorties non sécurisées. Utilisez les tests de la Red Team pour simuler des attaques réelles. Automatisez vos tests de robustesse en tant qu'étape standard dans vos Vertex AI Pipelines. Vous pouvez utiliser les techniques de test suivantes :
- Tests de fuzzing.
- Testez directement les informations permettant d'identifier personnellement l'utilisateur, les entrées sensibles et les injections SQL.
- Analyser les entrées multimodales qui peuvent contenir des logiciels malveillants ou enfreindre les règles relatives aux requêtes.
Mettez en place une défense multicouche : utilisez plusieurs défenses et ne vous fiez jamais à une seule mesure défensive. Par exemple, pour une application basée sur la génération augmentée par récupération (RAG), utilisez un LLM distinct pour classer l'intention de l'utilisateur et rechercher les schémas malveillants. Ce LLM peut ensuite transmettre la requête au LLM principal plus puissant qui génère la réponse finale.
Nettoyez et validez les entrées : avant d'intégrer des entrées externes ou fournies par l'utilisateur dans une requête, filtrez et validez toutes les entrées dans le code de votre application. Cette validation est importante pour vous aider à éviter l'injection indirecte d'instructions.
Pour le filtrage automatisé des requêtes et des réponses, tenez compte des pratiques suivantes :
- Utilisez des services de sécurité complets : implémentez un service de sécurité dédié et indépendant du modèle, comme Model Armor, en tant que couche de protection obligatoire pour vos LLM. Model Armor inspecte les requêtes et les réponses pour détecter les menaces telles que l'injection de requêtes, les tentatives de jailbreak et les contenus nuisibles. Pour vous assurer que vos modèles ne divulguent pas de données d'entraînement sensibles ni de propriété intellectuelle dans leurs réponses, utilisez l'intégration Sensitive Data Protection avec Model Armor. Pour en savoir plus, consultez Filtres Model Armor.
- Surveiller et enregistrer les interactions : conservez des journaux détaillés de toutes les requêtes et réponses pour les points de terminaison de votre modèle. Utilisez la journalisation pour auditer ces interactions, identifier les schémas d'utilisation abusive et détecter les vecteurs d'attaque qui pourraient émerger contre vos modèles déployés.
Pour sécuriser la gestion du cycle de vie des invites, tenez compte des pratiques suivantes :
- Implémentez la gestion des versions pour les requêtes : traitez toutes vos requêtes de production comme du code d'application. Utilisez un système de contrôle des versions comme Git pour créer un historique complet des modifications, appliquer des normes de collaboration et permettre de revenir aux versions précédentes. Cette pratique MLOps fondamentale peut vous aider à maintenir des systèmes d'IA stables et sécurisés.
- Centralisez la gestion des requêtes : utilisez un dépôt central pour stocker, gérer et déployer toutes vos requêtes versionnées. Cette stratégie assure la cohérence entre les environnements et permet les mises à jour d'exécution sans avoir à redéployer l'intégralité de l'application.
- Effectuez régulièrement des audits et des tests Red Team : testez en continu les défenses de votre système contre les failles connues, comme celles listées dans le Top 10 de l'OWASP pour les applications LLM. En tant qu'ingénieur en IA, vous devez être proactif et tester votre propre application avec une équipe rouge pour découvrir et corriger les faiblesses avant qu'un pirate informatique ne puisse les exploiter.
Empêcher les requêtes malveillantes adressées à vos systèmes d'IA
En plus de l'authentification et de l'autorisation, dont nous avons parlé plus haut dans ce document, vous pouvez prendre d'autres mesures pour sécuriser vos systèmes d'IA contre les entrées malveillantes. Vous devez préparer vos systèmes d'IA aux scénarios post-authentification dans lesquels des pirates informatiques contournent les protocoles d'authentification et d'autorisation, puis tentent d'attaquer le système en interne.
Pour mettre en œuvre une stratégie complète qui peut vous aider à protéger votre système contre les attaques post-authentification, appliquez les exigences suivantes :
Sécurisez les couches réseau et applicatives : établissez une défense multicouche pour tous vos composants d'IA.
- Pour créer un périmètre de sécurité qui empêche l'exfiltration de données de modèles depuis le registre de modèles ou de données sensibles depuis BigQuery, utilisez VPC Service Controls. Utilisez toujours le mode de simulation pour valider l'impact d'un périmètre avant de l'appliquer.
- Pour protéger les outils Web tels que les notebooks, utilisez IAP.
- Pour sécuriser tous les points de terminaison d'inférence, utilisez Apigee pour bénéficier d'une sécurité et d'une gouvernance de niveau entreprise. Vous pouvez également utiliser API Gateway pour une authentification simple.
Surveillez les anomalies dans les schémas de requêtes : par exemple, un pirate informatique qui sonde un système à la recherche de failles peut envoyer des milliers de requêtes séquentielles légèrement différentes. Signalez les schémas de requêtes anormaux qui ne reflètent pas le comportement normal des utilisateurs.
Surveillez le volume de requêtes : un pic soudain du volume de requêtes indique fortement une attaque par déni de service (DoS) ou une tentative de vol de modèle, qui consiste à essayer d'effectuer une rétro-ingénierie du modèle. Utilisez la limitation du débit et la limitation pour contrôler le volume de requêtes provenant d'une seule adresse IP ou d'un seul utilisateur.
Surveillez les anomalies géographiques et temporelles et configurez des alertes : établissez une référence pour les modèles d'accès normaux. Générez des alertes en cas d'activité soudaine provenant de zones géographiques inhabituelles ou à des heures étranges. Par exemple, un pic massif de connexions depuis un nouveau pays à 3h du matin.
Surveiller, évaluer et préparer des réponses aux résultats
Les systèmes d'IA sont utiles, car ils produisent des résultats qui augmentent, optimisent ou automatisent la prise de décision humaine. Pour préserver l'intégrité et la fiabilité de vos systèmes et applications d'IA, assurez-vous que les résultats sont sécurisés et qu'ils respectent les paramètres attendus. Vous devez également disposer d'un plan de réponse aux incidents.
Pour conserver vos résultats, tenez compte des recommandations suivantes.
Évaluer les performances du modèle avec des métriques et des mesures de sécurité
Pour vous assurer que vos modèles d'IA respectent les benchmarks de performances, les exigences de sécurité et les normes d'équité et de conformité, évaluez-les minutieusement. Effectuez des évaluations avant le déploiement, puis continuez à évaluer régulièrement les modèles en production. Pour minimiser les risques et créer des systèmes d'IA fiables, mettez en œuvre une stratégie d'évaluation complète qui combine des métriques de performances avec des évaluations spécifiques de la sécurité de l'IA.
Pour évaluer la robustesse et la stratégie de sécurité du modèle, tenez compte des recommandations suivantes :
Implémentez la signature et la validation de modèles dans votre pipeline MLOps.
- Pour les modèles conteneurisés, utilisez l'autorisation binaire pour valider les signatures.
- Pour les modèles déployés directement sur des points de terminaison Vertex AI, utilisez des vérifications personnalisées dans vos scripts de déploiement.
- Pour tout modèle, utilisez Cloud Build pour la signature de modèle.
Évaluez la résilience de votre modèle face à des entrées inattendues ou antagonistes.
- Pour tous vos modèles, testez-les afin de détecter les altérations courantes des données et les modifications potentiellement malveillantes. Pour orchestrer ces tests, vous pouvez utiliser Vertex AI Training ou Vertex AI Pipelines.
- Pour les modèles critiques en termes de sécurité, effectuez des simulations d'attaques par requêtes antagonistes afin de comprendre les failles potentielles.
- Pour les modèles déployés dans des conteneurs, utilisez Artifact Analysis dans Artifact Registry pour rechercher les failles dans les images de base.
Utilisez Vertex AI Model Monitoring pour détecter la dérive et l'asymétrie des modèles déployés. Ensuite, réintégrez ces insights dans les cycles de réévaluation ou de réentraînement.
Utilisez les évaluations de modèle de Vertex AI en tant que composant de pipeline avec Vertex AI Pipelines. Vous pouvez exécuter le composant d'évaluation de modèle seul ou avec d'autres composants de pipeline. Comparez les versions du modèle aux métriques et aux ensembles de données que vous avez définis. Enregistrez les résultats de l'évaluation dans Vertex ML Metadata pour la traçabilité et le suivi.
Utilisez ou développez le service d'évaluation de l'IA générative pour évaluer les modèles de votre choix ou implémenter des workflows d'évaluation humaine personnalisés.
Pour évaluer l'équité, les biais, l'explicabilité et la factualité, tenez compte des recommandations suivantes :
- Définissez des mesures d'équité qui correspondent à vos cas d'utilisation, puis évaluez vos modèles pour détecter les biais potentiels dans différentes tranches de données.
- Comprendre quelles caractéristiques déterminent les prédictions du modèle afin de s'assurer que les caractéristiques et les prédictions qui en résultent sont conformes aux connaissances du domaine et aux consignes éthiques.
- Utilisez Vertex Explainable AI pour obtenir des attributions de caractéristiques pour vos modèles.
- Utilisez le service d'évaluation de l'IA générative pour calculer les métriques. Lors de la phase de validation des sources des tests, la métrique d'ancrage du service vérifie la factualité par rapport au texte source fourni.
- Activez l'ancrage pour la sortie de votre modèle afin de faciliter une deuxième couche de vérification des sources au niveau de l'utilisateur.
- Consultez nos Principes concernant l'IA et adaptez-les à vos applications d'IA.
Surveiller les sorties des modèles d'IA et de ML en production
Surveillez en continu vos modèles d'IA et de ML, ainsi que leur infrastructure de production. Il est important d'identifier et de diagnostiquer rapidement les dégradations de la qualité ou des performances des résultats du modèle, les failles de sécurité qui apparaissent et les écarts par rapport aux exigences de conformité. Cette surveillance vous aide à maintenir la sécurité, la fiabilité et la fiabilité du système.
Pour surveiller les résultats du système d'IA afin de détecter les anomalies, les menaces et la dégradation de la qualité, tenez compte des recommandations suivantes :
- Utilisez la surveillance de modèles pour vos sorties de modèle afin de suivre les changements inattendus dans les distributions de prédictions ou les pics de prédictions de modèle à faible confiance. Surveillez activement les sorties de votre modèle d'IA générative pour détecter les contenus générés qui sont dangereux, biaisés, hors sujet ou malveillants. Vous pouvez également utiliser Model Armor pour filtrer toutes les sorties de votre modèle.
- Identifier des schémas d'erreur spécifiques, capturer des indicateurs de qualité ou détecter des résultats nuisibles ou non conformes au niveau de l'application. Pour identifier ces problèmes, utilisez la surveillance personnalisée dans les tableaux de bord Monitoring et les métriques basées sur les journaux de Logging.
Pour surveiller les résultats afin de détecter les signaux spécifiques à la sécurité et les modifications non autorisées, tenez compte des recommandations suivantes :
- Identifiez les tentatives d'accès non autorisées aux modèles d'IA, aux ensembles de données dans Cloud Storage ou BigQuery, ou aux composants du pipeline MLOps. En particulier, identifiez les modifications inattendues ou non autorisées des autorisations IAM pour les ressources d'IA. Pour suivre ces activités et les examiner afin d'identifier des schémas suspects, utilisez les journaux d'audit des activités d'administration et des accès aux données dans Cloud Audit Logs. Intégrez les résultats de Security Command Center, qui peuvent signaler les erreurs de configuration de sécurité et les menaces potentielles qui concernent vos composants d'IA.
- Surveillez les résultats pour les volumes de requêtes élevés ou les requêtes provenant de sources suspectes, qui peuvent indiquer des tentatives de rétro-ingénierie des modèles ou d'exfiltration de données. Vous pouvez également utiliser la protection des données sensibles pour surveiller l'exfiltration de données potentiellement sensibles.
- Intégrez les journaux à vos opérations de sécurité. Utilisez Google Security Operations pour détecter les cybermenaces ciblant vos systèmes d'IA, les orchestrer et y répondre.
Pour suivre l'état de fonctionnement et les performances de l'infrastructure qui diffuse vos modèles d'IA, tenez compte des recommandations suivantes :
- Identifiez les problèmes opérationnels qui peuvent avoir un impact sur la fourniture de services ou les performances du modèle.
- Surveillez les points de terminaison Vertex AI pour détecter la latence, les taux d'erreur et les tendances du trafic.
- Surveillez l'état d'exécution et les erreurs des pipelines MLOps.
- Utilisez Monitoring, qui fournit des métriques prêtes à l'emploi. Vous pouvez également créer des tableaux de bord personnalisés pour vous aider à identifier les problèmes, comme les pannes de points de terminaison ou les échecs de pipelines.
Mettre en œuvre des procédures d'alerte et de réponse aux incidents
Lorsque vous identifiez des problèmes potentiels de performances, de sécurité ou de conformité, il est essentiel de réagir efficacement. Pour que les équipes appropriées reçoivent les notifications en temps voulu, implémentez des mécanismes d'alerte robustes. Établissez et mettez en œuvre des procédures complètes de réponse aux incidents, tenant compte de l'IA, pour gérer, contenir et résoudre ces problèmes de manière efficace.
Pour établir des mécanismes d'alerte robustes pour les problèmes d'IA que vous identifiez, tenez compte des recommandations suivantes :
- Configurez des alertes exploitables pour avertir les équipes concernées en fonction des activités de surveillance de votre plate-forme. Par exemple, configurez des alertes qui se déclenchent lorsque la surveillance de modèles détecte des anomalies importantes au niveau de la dérive, de l'écart ou des prédictions. Vous pouvez également configurer des alertes qui se déclenchent lorsque Model Armor ou des règles de surveillance personnalisées signalent des entrées malveillantes ou des sorties dangereuses.
- Définissez des canaux de notification clairs, qui peuvent inclure Slack, les e-mails ou les SMS via les intégrations Pub/Sub. Personnalisez les canaux de notification pour les niveaux de gravité de vos alertes et les équipes responsables.
Élaborez et opérationnalisez un plan de réponse aux incidents tenant compte de l'IA. Un plan de réponse aux incidents structuré est essentiel pour minimiser tout impact potentiel et assurer la reprise. Personnalisez ce plan pour faire face aux risques spécifiques à l'IA, comme la falsification de modèles, les prédictions incorrectes dues à la dérive, l'injection de requêtes ou les résultats non sécurisés des modèles génératifs. Pour créer un plan efficace, incluez les phases clés suivantes :
Préparation : identifiez les composants et leurs failles, développez des playbooks et assurez-vous que vos équipes disposent des droits appropriés. Cette phase comprend les tâches suivantes :
- Identifiez les composants d'IA critiques, tels que les modèles, les ensembles de données et les ressources Vertex AI spécifiques comme les points de terminaison ou les instances Vertex AI Feature Store.
- Identifiez les modes de défaillance ou les vecteurs d'attaque potentiels des composants.
Développez des playbooks spécifiques à l'IA pour les incidents qui correspondent au modèle de menace de votre organisation. Par exemple, les playbooks peuvent inclure les éléments suivants :
- Restauration d'un modèle à l'aide de la gestion des versions dans Model Registry.
- Pipeline d'entraînement d'urgence sur Vertex AI Training.
- Isolation d'une source de données compromise dans BigQuery ou Cloud Storage.
Utilisez IAM pour vous assurer que les équipes de réponse disposent du niveau d'accès minimal nécessaire aux outils requis lors d'un incident.
Identification et tri : utilisez les alertes configurées pour détecter et valider les incidents potentiels. Établissez des critères et des seuils clairs pour la façon dont votre organisation enquête sur un incident lié à l'IA ou le déclare. Pour une analyse détaillée et la collecte de preuves, utilisez Logging pour les journaux d'application et de service, et Cloud Audit Logs pour les activités administratives et les modèles d'accès aux données. Les équipes de sécurité peuvent utiliser Google SecOps pour analyser plus en détail la télémétrie de sécurité.
Confinement : isolez les systèmes ou composants d'IA concernés pour éviter tout impact supplémentaire ou toute exfiltration de données. Cette phase peut inclure les tâches suivantes :
- Désactiver un point de terminaison Vertex AI problématique.
- Révoquez des autorisations IAM spécifiques.
- Mettez à jour les règles de pare-feu ou les stratégies Cloud Armor.
- Mettez en veille un pipeline Vertex AI qui ne fonctionne pas correctement.
Éradication : identifiez et éliminez la cause première de l'incident. Cette phase peut inclure les tâches suivantes :
- Corrigez le code vulnérable dans un conteneur de modèle personnalisé.
- Supprimez les portes dérobées malveillantes identifiées d'un modèle.
- Nettoyez les données empoisonnées avant de lancer un job de réentraînement sécurisé sur Vertex AI Training.
- Mettez à jour les configurations non sécurisées.
- Affinez la logique de validation des entrées pour bloquer des techniques d'injection d'instructions spécifiques.
Récupération et redéploiement sécurisé : restaurez les systèmes d'IA concernés dans un état opérationnel stable et sécurisé. Cette phase peut inclure les tâches suivantes :
- Déployez une version de modèle précédemment validée et approuvée à partir de Model Registry.
- Assurez-vous de trouver et d'appliquer tous les correctifs de sécurité pour les failles qui pourraient être présentes dans votre code ou votre système.
- Rétablissez les autorisations IAM selon le principe du moindre privilège.
Activité post-incident et enseignements tirés : une fois les incidents d'IA importants résolus, effectuez un examen post-incident approfondi. Cet examen implique toutes les équipes concernées, telles que les équipes d'IA et de ML, de MLOps, de sécurité et de data science. Comprendre le cycle de vie complet de l'incident Utilisez ces insights pour affiner la conception du système d'IA, mettre à jour les contrôles de sécurité, améliorer les configurations de surveillance et optimiser le plan et les playbooks de réponse aux incidents liés à l'IA.
Intégrez la réponse aux incidents basée sur l'IA aux cadres organisationnels plus larges, tels que la gestion des incidents informatiques et de sécurité, pour un effort coordonné. Pour aligner votre gestion des incidents spécifiques à l'IA sur les cadres de votre organisation, tenez compte des éléments suivants :
- Escalade : définissez des procédures claires pour escalader les incidents d'IA importants vers les équipes SOC, IT, juridiques ou les unités commerciales concernées.
- Communication : utilisez les canaux de communication établis de l'organisation pour tous les rapports et mises à jour internes et externes sur les incidents.
- Outils et processus : utilisez les systèmes de gestion des incidents et de tickets d'entreprise existants pour les incidents liés à l'IA afin d'assurer un suivi et une visibilité cohérents.
- Collaboration : prédéfinissez des protocoles de collaboration entre les équipes d'IA et de ML, de MLOps, de data science, de sécurité, juridiques et de conformité pour répondre efficacement aux incidents d'IA.
Contributeurs
Auteurs :
- Kamilla Kurta | Ingénieure client spécialiste en IA générative/ML
- Vidhi Jain | Ingénieure cloud, Analytics et IA
- Mohamed Fawzi | Responsable de la sécurité et de la conformité pour le Benelux
- Filipe Gracio, PhD | Ingénieur client, spécialiste en IA/ML
Autres contributeurs :
- Lauren Anthony | ingénieur client, spécialiste en sécurité
- Daniel Lees | Architecte en sécurité cloud
- John Bacon | Architecte de solutions partenaires
- Kumar Dhanagopal Développeur de solutions multiproduits
- Marwan Al Shawi | Partner Customer Engineer
- Mónica Carranza | Analyste senior des menaces liées à l'IA générative
- Tarun Sharma | Architecte principal
- Wade Holmes | Directeur des solutions mondiales