En este documento, se proporcionan prácticas recomendadas para los equipos de plataformas, los ingenieros de seguridad y los arquitectos de nube que implementan cargas de trabajo de IA en Google Kubernetes Engine (GKE). Puedes usar GKE para proteger la propiedad intelectual (IP) patentada, como los pesos del modelo, proteger la reputación de la marca filtrando el contenido y mejorar el cumplimiento de las reglamentaciones.
Implementa estas prácticas recomendadas además de otras prácticas recomendadas de seguridad de GKE y cargas de trabajo de IA, como las siguientes:
- Prácticas recomendadas de seguridad de la IA generativa
- Prácticas recomendadas para endurecer la seguridad del clúster
Comprende tus responsabilidades de seguridad
La postura de seguridad de tus cargas de trabajo de IA depende de varias capas de tu entorno, como la infraestructura Cloud de Confiance by S3NS y los modelos que usas. En la siguiente tabla, se describen estas capas, quién es responsable de proteger cada una y las responsabilidades de seguridad de cada capa:
| Capa | Descripción | Responsabilidades |
|---|---|---|
| Infraestructura | La infraestructura subyacente, como las máquinas virtuales (VM), los componentes de redes y el hardware de almacenamiento en los que se ejecutan tus cargas de trabajo de IA, Cloud de Confiance es propiedad de la infraestructura y proporciona un sólido nivel de seguridad básico. | Los administradores de la plataforma de tu organización implementan controles para mejorar la seguridad en las siguientes áreas:
|
| Modelo | El modelo, los pesos del modelo, la canalización de entrenamiento y las propiedades de seguridad. Si ejecutas modelos que entrenaste o ajustaste, eres responsable de proteger la capa del modelo. Si ejecutas modelos administrados de proveedores externos (como Gemini), el proveedor es responsable de la seguridad del modelo. | En la capa del modelo, el propietario del modelo es responsable de la seguridad en las siguientes áreas:
|
| Aplicación | Las instrucciones, el código, las instrucciones del sistema y la experiencia del usuario final. Los operadores de aplicaciones y los administradores de plataformas de tu organización son responsables de la seguridad a nivel de la aplicación. | En la capa de aplicación, los operadores de aplicaciones, los desarrolladores y los administradores de plataformas son responsables de la seguridad en las siguientes áreas:
|
Aplicas controles para proteger las capas de las que eres responsable. En los siguientes ejemplos, se muestran los tipos de implementación comunes para los clientes de GKE y las responsabilidades de seguridad correspondientes para esas implementaciones:
- Ejecutas un modelo administrado, como Gemini: Aplicas controles en las capas de infraestructura y aplicación. Incluso cuando usas un modelo administrado que tiene filtros de seguridad integrados, sigues siendo responsable de las defensas contra la inyección de instrucciones necesarias para proteger la lógica específica de tu aplicación.
- Ejecutas tu propio modelo: Si ejecutas un modelo ajustado, un modelo de código abierto o un modelo que entrenaste, eres responsable de la seguridad en cada capa.
- Eres un proveedor de servicios de IA de múltiples instancias: Si proporcionas servicios de IA a tus propios usuarios finales ejecutando tu modelo en GKE y exponiendo extremos de inferencia a múltiples instancias, eres responsable de los controles adicionales. Estos controles de múltiples usuarios incluyen el aislamiento lógico y físico de los usuarios (como grupos de nodos, espacios de nombres y políticas de red dedicados), la límite de frecuencia por usuario y la encriptación de los datos de los usuarios en reposo con claves de encriptación administradas por el cliente (CMEK) distintas.
Mejora la seguridad en la capa de infraestructura
En la capa de infraestructura, Cloud de Confiance y GKE proporcionan una postura de seguridad de referencia que implementa varios controles de seguridad de forma predeterminada. Para mejorar la seguridad de tu infraestructura para las cargas de trabajo de IA, debes configurar controles de seguridad adicionales según el tipo de cargas de trabajo de IA que ejecutes y los objetivos de seguridad específicos que desees alcanzar. En las siguientes secciones, se describen los productos y servicios que puedes usar para proteger varios componentes de tu infraestructura de IA.
Protege los nodos de GKE
Usa los siguientes servicios para proteger los datos sensibles, como las cargas de trabajo de inferencia que procesan instrucciones y respuestas, o las cargas de trabajo de entrenamiento que acceden a modelos propietarios:
Encripta los datos sensibles en uso con la certificación de hardware: Ejecuta tus cargas de trabajo de inferencia en Confidential Google Kubernetes Engine Nodes, lo que extiende la encriptación de memoria a nivel del hardware a los aceleradores, incluidas las GPUs y las TPUs, además de las CPUs AMD SEV-SNP o Intel TDX. Usa Confidential GKE Nodes para implementaciones reguladas y cargas de trabajo de inferencia sensibles. Los Confidential GKE Nodes no protegen las cargas de trabajo de los exploits a nivel de la aplicación ni de los usuarios autorizados que tienen acceso a nivel del nodo.
Para los proveedores cuyos clientes tienen requisitos de aislamiento estrictos (como las cargas de trabajo soberanas), GKE Hypercluster proporciona una certificación criptográfica que ni siquiera el operador de la infraestructura subyacente,Cloud de Confiance, puede inspeccionar los datos del arrendatario.
Reduce el riesgo de suplantación de identidad del nodo: Ejecuta cargas de trabajo en nodos de GKE protegidos, que proporcionan certificaciones de integridad y de identidad de nodos verificables. Usa nodos de GKE protegidos para todos los tipos de cargas de trabajo.
Elimina el uso de credenciales estáticas para las cargas de trabajo: Usa la federación de identidades para cargas de trabajo para GKE para acceder a los servicios de Cloud de Confiance desde el código de tu aplicación con credenciales federadas de corta duración y evita que los metadatos no esenciales de Compute Engine se expongan a las aplicaciones. Usa Workload Identity Federation for GKE en todos los clústeres de producción, en especial cuando necesites acceder a datos que se encuentran en servicios fuera del clúster.
Implementa controles de red
Puedes usar las siguientes funciones y productos para mejorar la seguridad de la red en las cargas de trabajo de IA:
Usa rangos de direcciones IP de alias: Los clústeres nativos de la VPC usan rangos de direcciones IP de alias para enrutar el tráfico entre Pods en lugar de usar rutas estáticas en la red de VPC. Siempre usa clústeres nativos de la VPC.
Restringe el acceso a la red de los nodos: Usa nodos privados para evitar el tráfico entre tus nodos y la Internet pública de forma predeterminada. Los extremos de inferencia que deben exponerse deben tener un servicio administrado, como Google Cloud Armor, entre los extremos y la Internet.
Deniega el tráfico dentro del clúster de forma predeterminada: Usa NetworkPolicies de Kubernetes para denegar el tráfico entre Pods, entre espacios de nombres y el tráfico de salida a Internet. Permite el tráfico de red solo para las aplicaciones que requieren acceso específico.
Agrega protección perimetral a los extremos de Internet: Puedes usar Google Cloud Armor para proteger los extremos de inferencia que se exponen a Internet. Para ello, implementa la límite de frecuencia, la protección contra DSD, el control de acceso basado en la ubicación geográfica y la mitigación de ataques de capa 7. Si tienes APIs de IA orientadas al público, usa Cloud Armor para controlar los ataques volumétricos y de capa de aplicación antes de que lleguen a tu infraestructura de procesamiento. Combina Cloud Armor con nodos privados para optimizar la seguridad de los extremos de inferencia.
Evita el robo de datos durante un ataque: Usa los Controles del servicio de VPC para crear un perímetro de seguridad alrededor de tus Cloud de Confiance recursos. Incluso si se vulneran las credenciales, los atacantes no pueden extraer datos fuera del perímetro. Usa los Controles del servicio de VPC para las cargas de trabajo reguladas.
Administra la identidad y el acceso
Para identificar a los usuarios y controlar el acceso a los clústeres y las cargas de trabajo, usa los siguientes mecanismos de autorización:
Controla el acceso a los Cloud de Confiance recursos: Usa las políticas de acceso de Cloud de ConfianceIdentity and Access Management (IAM) para controlar qué principales pueden interactuar con los clústeres y nodos de GKE.
Controla el acceso a los recursos de Kubernetes en los clústeres: Usa políticas de control de acceso basado en roles (RBAC) de Kubernetes para controlar lo que pueden hacer las distintas entidades principales con los recursos de la API de Kubernetes dentro de cada clúster.
Configura el acceso de confianza cero a los extremos de inferencia y las interfaces de administrador: Usa un servicio como Chrome Enterprise Premium para configurar el acceso del usuario según la identidad y la posición del dispositivo en lugar de la topología de red.
Administra claves y secretos
Mantén todas tus claves de encriptación y datos sensibles, como las claves de API y las credenciales, fuera del clúster. Los siguientes productos pueden ayudarte a almacenar estos recursos:
Administrar claves de encriptación: Usa Cloud Key Management Service para administrar todas las claves de encriptación. También puedes crear claves de encriptación administradas por el cliente (CMEK) en Cloud KMS para encriptar datos con claves que controlas, lo que suele ser un requisito en industrias reguladas.
Almacena datos sensibles de la aplicación: Usa Secret Manager para almacenar datos sensibles que usan las cargas de trabajo, como los secretos de la aplicación, las claves de API y las credenciales. Para leer estos datos desde los Pods, usa la federación de identidades para cargas de trabajo para GKE y otorga a identidades de cargas de trabajo específicas acceso solo a los recursos que necesitan los Pods.
Mejora la seguridad de la cadena de suministro
Los siguientes Cloud de Confiance servicios pueden ayudarte a mejorar la seguridad en toda la cadena de suministro de software:
- Analiza las imágenes de contenedor en busca de vulnerabilidades: Almacena tus imágenes de contenedor en repositorios de Artifact Registry que tengan habilitado el análisis de vulnerabilidades de forma predeterminada. Habilita la detección continua de CVE en cada imagen de tu registro.
Permite que solo las imágenes verificadas lleguen a producción: Usa la Autorización Binaria para aplicar la autorización basada en políticas de las firmas de imágenes de contenedor en el momento de la implementación. Solo las imágenes certificadas llegan a producción.
Configura la detección de seguridad y la administración de la postura: Usa Security Command Center para ver los hallazgos de detección de amenazas y administración de la postura específicos de la IA, como los extremos de Gemini Enterprise Agent Platform mal configurados o los buckets de datos de entrenamiento expuestos. Security Command Center integra estos hallazgos basados en IA con las vulnerabilidades de Artifact Registry y el análisis de IAM para proporcionar una vista integral de tu flota.
Realiza un seguimiento de los artefactos de IA: Usa herramientas de lista de materiales creadas para cargas de trabajo de IA de Kubernetes, como
k8s-aibom, para generar inventarios integrales de tus modelos, conjuntos de datos y frameworks.
Mejora la seguridad en la capa del modelo
Si ejecutas modelos que entrenaste o ajustaste, o bien modelos de código abierto que configuraste, debes establecer varios controles para mejorar la seguridad del modelo. Si ejecutas modelos administrados de proveedores externos, esta capa no se aplica a tu caso. En las siguientes secciones, se describe lo que puedes hacer para mejorar la integridad, la confidencialidad y la seguridad de tus modelos.
Mejora la integridad del modelo
Mejora la integridad de tus modelos para que puedas encontrar evidencia de manipulación antes de que el modelo esté disponible en un extremo de inferencia. Los siguientes lineamientos pueden ayudarte a mejorar la integridad del modelo:
- Firma los artefactos de tu modelo: Firma criptográficamente los pesos del modelo antes de publicar los pesos en tu registro. Cuando implementes el modelo, verifica la firma con las certificaciones de la Autorización Binaria. Firmar y verificar los artefactos de tu modelo te ayuda a identificar si se manipularon los modelos durante el almacenamiento o el tránsito, y te proporciona una cadena de custodia verificable para los modelos de producción.
- Find post-training modifications: El Analizador de modelos de activación (AMS) de código abierto detecta modelos que se modificaron después del entrenamiento (por ejemplo, para agregar puertas traseras, perturbaciones de peso o ajustes no autorizados) analizando las firmas de activación del modelo en comparación con un valor de referencia. Ejecuta un analizador como AMS como parte de tu canalización de CI/CD antes de publicar tus modelos en los registros de producción. En el caso de los modelos valiosos o regulados, programa análisis periódicos del AMS en los artefactos de producción para detectar manipulaciones que se produzcan después de la publicación inicial.
Protege la confidencialidad del modelo
Si tienes pesos del modelo sensibles, como ajustes finos propietarios, modelos entrenados con datos regulados o propiedad intelectual competitiva, usa los siguientes lineamientos para proteger los pesos:
Encripta los pesos en reposo: Almacena los pesos en un almacenamiento de objetos encriptado, como en buckets de Cloud Storage, con acceso restringido de IAM. De forma predeterminada, Cloud Storage encripta el contenido del cliente en reposo. De manera opcional, puedes usar CMEK para encriptar los datos con claves que controlas, lo que suele ser un requisito en las industrias reguladas. Para obtener más información, consulta Opciones de encriptación de datos en la documentación de Cloud Storage.
Protege los pesos en uso: Ejecuta modelos en Confidential GKE Nodes para garantizar que los pesos se encripten en la memoria durante la inferencia. Los Confidential GKE Nodes pueden ayudarte a proteger tu propiedad intelectual de la vulneración a nivel del hipervisor y del acceso no autorizado por parte del operador de infraestructura. Los Confidential GKE Nodes no protegen contra los exploits a nivel de la aplicación ni contra los usuarios autorizados con acceso a nivel del nodo.
Controla todo el acceso a los pesos: Registra todo el acceso a los artefactos del modelo en el almacenamiento. Usa políticas de acceso de IAM para restringir el acceso a cuentas de servicio y personas específicas que tengan una necesidad de acceso documentada. Restringe estrictamente el acceso administrativo al clúster, incluido el acceso a la shell de los contenedores, el acceso SSH a las VMs de los nodos o la depuración a nivel del nodo, con las políticas de RBAC de Kubernetes y Chrome Enterprise Premium. Estas medidas pueden ayudarte a proteger los pesos del modelo de los usuarios que tienen acceso a nivel del nodo, lo que no está cubierto por Confidential GKE Nodes.
Mejorar las propiedades de seguridad del modelo
Puedes implementar varios parámetros de configuración de seguridad para los modelos durante el entrenamiento. Si entrenas o ajustas tu propio modelo, invierte en entrenamiento sobre seguridad que sea pertinente para el caso de uso del modelo. Las propiedades de seguridad de los modelos incluyen el comportamiento de rechazo, el entrenamiento de alineación y la resistencia a los jailbreaks. Si usas un modelo previamente entrenado, elige uno que tenga propiedades de seguridad que coincidan con los requisitos de tu aplicación.
Los desarrolladores y operadores de aplicaciones pueden implementar varios controles en la capa de aplicación para mejorar la seguridad en áreas que el modelo no puede cubrir.
Mejora la seguridad en la capa de la aplicación
La capa de aplicación es donde los operadores y los desarrolladores tienen el mayor control sobre las configuraciones de seguridad específicas de la IA. En la capa de aplicación, puedes implementar controles de seguridad que protejan los datos, creen solicitudes bien formadas y protejan las instrucciones y las respuestas. Por lo general, estos controles son útiles para las cargas de trabajo de inferencia, que controlan las instrucciones, las sesiones y las respuestas de los usuarios. En las siguientes secciones, se describen varios controles, productos y servicios que pueden ayudarte a alcanzar objetivos de seguridad específicos en la capa de aplicación.
Defiéndete contra amenazas de la capa de contenido
Inspecciona todas las instrucciones y respuestas en busca de problemas de seguridad, como inyección de instrucciones, exposición de datos sensibles y contenido dañino. Dado que los nodos de GKE están diseñados para no tener acceso al contenido, implementa Model Armor entre tu aplicación y el extremo de inferencia. Model Armor tiene principios específicos de almacenamiento y tratamiento de datos diseñados para mejorar la privacidad de tus datos durante el análisis.
Protege las instrucciones del sistema
Filtrar los resultados para evitar la filtración de instrucciones y configurar la detección de exfiltración de datos de Model Armor para detectar patrones de extracción Para las instrucciones altamente sensibles, procesa las instrucciones en una invocación que no muestre texto al usuario.
Administra sesiones y el enrutamiento
Cuando expongas extremos de inferencia para los usuarios finales, usa la puerta de enlace de inferencia de GKE. Inference Gateway extiende la API de Gateway para enrutar el tráfico en función de las métricas y los datos específicos de las cargas de trabajo de inferencia de IA. Puedes ajustar automáticamente la escala de las cargas de trabajo para satisfacer la demanda y realizar integraciones con Model Armor y Apigee para el filtrado de contenido, la observabilidad a nivel de la sesión y la aplicación de cuotas.
Mejora la seguridad de los agentes de IA
Si tu carga de trabajo de IA es un agente, necesitarás controles adicionales a nivel de la aplicación, como los siguientes:
- Restringe el acceso a las APIs: Usa Workload Identity Federation for GKE con políticas de acceso de IAM para limitar a qué APIs pueden acceder los Pods de la carga de trabajo del agente. Cloud de Confiance Usa una ServiceAccount de Kubernetes dedicada para cada agente y otorga a esa principal solo los permisos de IAM que necesita la carga de trabajo.
- Ejecuta código o herramientas no confiables en zonas de pruebas: Ejecuta agentes que ejecuten código generado o interactúen con herramientas de terceros no verificadas en entornos de zona de pruebas con Agent Sandbox. Agent Sandbox usa un mecanismo de aislamiento, como GKE Sandbox o Kata Containers, para protegerse contra las fugas de contenedores.
Configura la observabilidad y la respuesta ante incidentes
Recopilamos registros y supervisamos varias métricas para identificar posibles ataques de forma anticipada y limitar el impacto de los exploits. En las siguientes secciones, se proporcionan lineamientos que pueden ayudarte a mejorar la detección y la respuesta.
Recopila registros y métricas
Para identificar las amenazas lo más rápido posible, implementa tantas prácticas recomendadas de observabilidad como sea posible:
- Recopila registros de GKE.
- Habilita los registros de auditoría de acceso a los datos para las operaciones sensibles, como el uso de claves de KMS.
- No registres contenido de instrucciones o de finalización, a menos que tu política lo permita explícitamente. Si recopilas datos de instrucciones y respuestas multimodales (versión preliminar), borra los datos almacenados o restringe el acceso a ellos según tus políticas de seguridad.
- Recopila métricas que sean importantes para tus ingenieros de SRE.
- Configura la supervisión automática de aplicaciones para tipos específicos de servidores de modelos de IA.
- Agrega registros en Cloud Logging o en tu propia plataforma de administración de información y eventos de seguridad (SIEM).
- Usa métricas basadas en registros para crear métricas basadas en el contenido de los registros.
Detecta amenazas específicas de la IA
Configura alertas en Logging y Cloud Monitoring para detectar diversas amenazas específicas de la IA. Las políticas de alertas específicas que configures dependerán de los tipos de registros que recopiles y de lo que requiera tu organización. Para obtener más información sobre las políticas de alertas disponibles, consulta Comparación de las opciones de alertas. Configura alertas para amenazas específicas de la IA, como las siguientes:
| Amenazas y señales específicas de la IA | |
|---|---|
| Inyección de instrucciones | Registros de Model Armor para la limpieza o el rechazo de instrucciones |
| Extracción de instrucciones del sistema | Model Armor y anomalías de acierto de caché |
| Exposición de datos sensibles | Registros de respuestas de Model Armor |
| Abuso del costo de inferencia | Uso de tokens a nivel de la sesión a partir de las métricas de Inference Gateway |
| Manipulación de sesiones | Velocidad de sesiones nuevas por arrendatario a partir de las métricas de Inference Gateway |
| Creación de huellas digitales del modelo | Patrones de sondeo de capacidades |
| Canal lateral de tiempo | Mitigación arquitectónica (partición de caché) |
Establece un proceso de respuesta ante incidentes
La forma en que respondes a los distintos incidentes depende de la estructura organizativa y los requisitos de seguridad. En los siguientes lineamientos, se describe qué hacer cuando detectas tipos específicos de amenazas para tus cargas de trabajo de IA:
Detecciones de contenido en Model Armor: Bloquea la solicitud, documenta el evento y configura una alerta para notificarte si la tasa supera un umbral. Configura la limitación de frecuencia para los usuarios que tienen incumplimientos reiterados.
Detecciones de inferencia: Limita los inquilinos con Inference Gateway. Finalizar sesiones por abuso confirmado
Correlación entre capas: Una detección de Model Armor más un patrón de abuso de tokens indican abuso coordinado. Define reglas de correlación e identifica un umbral de confianza después del cual el riesgo de una alerta de falso positivo es bajo. Automatiza la finalización de las sesiones que superan este umbral.
Implementa la seguridad en todo el ciclo de vida de la implementación
Optimiza tus implementaciones de IA para garantizar la seguridad durante todo el ciclo de vida de la implementación. Durante etapas específicas del ciclo de vida, implementa controles que protejan una o más capas. En las siguientes secciones, se proporcionan lineamientos para cada etapa del ciclo de vida.
Implementa la infraestructura
Cuando crees o diseñes la infraestructura que ejecuta tus cargas de trabajo de IA, implementa la mayor cantidad posible de los siguientes controles:
| Categoría | |
|---|---|
| Nodos de GKE |
|
| Redes |
|
| Administración de identidades y accesos |
|
| Administración de datos sensibles |
|
| Observabilidad |
|
Operar cargas de trabajo e infraestructura
Cuando implementes tus cargas de trabajo de IA y ejecutes un sistema de producción, implementa tantos de los siguientes controles como sea posible:
| Categoría | |
|---|---|
| Seguridad de las cargas de trabajo |
|
| Redes |
|
| Protección de datos sensibles | Usa CMEK para encriptar datos con tus propias claves en entornos regulados. |
| Observabilidad |
|
Administra implementaciones a gran escala
A medida que tu organización crezca, implementa los siguientes controles para automatizar la administración de la seguridad:
- Configura protecciones a nivel de la organización con el servicio de políticas de la organización.
- Aplica la política en el momento de la admisión con webhooks de admisión de Kubernetes.
- Automatiza la primera respuesta para las detecciones de alta confianza.
- Establece correlaciones de SIEM entre capas y valores de referencia de comportamiento por arrendatario.
Resumen de prácticas recomendadas
En la siguiente tabla, se resumen las prácticas recomendadas de este documento.
| Tema | |
|---|---|
| Mejora la seguridad en la capa de infraestructura | Protege los nodos de GKE, implementa controles de red, administra la identidad y el acceso, administra las claves y los secretos, y mejora la seguridad de la cadena de suministro. |
| Mejora la seguridad en la capa del modelo | Mejorar la integridad, proteger la confidencialidad y mejorar las propiedades de seguridad de los modelos |
| Mejora la seguridad en la capa de la aplicación | Defiéndete contra las amenazas a nivel del contenido, protege las instrucciones del sistema, administra las sesiones y el enrutamiento, y mejora la seguridad de los agentes de IA. |
| Configura la observabilidad y la respuesta ante incidentes | Recopila registros y métricas, detecta amenazas específicas de la IA y establece un proceso de respuesta ante incidentes. |
| Implementa la seguridad en todo el ciclo de vida de la implementación | Implementar infraestructura, operar cargas de trabajo e infraestructura, y controlar implementaciones a gran escala |
¿Qué sigue?
- Prácticas recomendadas de seguridad de la IA generativa
- Prácticas recomendadas para endurecer la seguridad del clúster