Pasos prácticos para proteger su canalización MLOps

Todos los Artículos

Imagínese la próxima reunión de la junta directiva. Usted, un líder de seguridad en su organización, presentará su presentación estándar con riesgos, mitigaciones e incidentes. Luego, uno de los miembros de la junta preguntará: ¿Cómo se están preparando para proteger las nuevas tecnologías de IA y los canales MLOps que la empresa ya está utilizando? 

Aquí tienes tu respuesta.

La IA trae consigo nuevos riesgos

Los canales de MLOps (a veces también conocidos como AI Ops), si bien son similares a los sistemas de procesamiento de datos tradicionales en su valor para las organizaciones, tienen vulnerabilidades distintas. Los atacantes pueden intentar insertar sesgos, manipular los resultados del modelo o comprometer la integridad de los datos o las herramientas, apuntando a socavando la confiabilidad del modelo y distorsionando los procesos de toma de decisiones. ATLAS, un marco de la organización MITRE para la protección de MLOps, subraya la necesidad de medidas de seguridad personalizadas que aborden estos desafíos.

La IA traerá consigo nuevas regulaciones

El floreciente campo de la IA y MLOps está bajo un creciente escrutinio por parte de los reguladores de todo el mundo. A falta de una legislación federal integral en los Estados Unidos, la orientación de organismos como el Instituto Nacional de Estándares y Tecnología (NIST), como el Marco de gestión de riesgos de inteligencia artificial 1.0, ofrece una visión de los futuros marcos regulatorios. El marco enfatiza la confiabilidad de los sistemas de IA, incluidas las siete características definidas de los sistemas de IA confiables: la seguridad, seguridad y resiliencia, explicabilidad e interpretabilidad, privacidad mejorada, justo con sesgo dañino gestionado, responsable y transparente, así como las  válido y confiable.

MLOps y la cadena de suministro de software tienen mucho en común

Las similitudes entre las vulnerabilidades del canal MLOps y los riesgos de la cadena de suministro de software tradicional son sorprendentes. Ambos ámbitos enfrentan amenazas de compromiso cuyo objetivo es socavar la integridad del proceso de desarrollo y la seguridad del producto final. Modificar maliciosamente un LLM es bastante similar a modificar maliciosamente una dependencia de software; modificar maliciosamente el software que ejecuta el LLM es, de hecho, un ataque a la cadena de suministro de software; Los requisitos de responsabilidad, transparencia y confianza discutidos en el mundo de la IA son exactamente lo que respalda los requisitos de SBOM en el mundo de la cadena de suministro de software.

La organización MITRE publica modelos de ciberseguridad. MITRE ha publicado recientemente el modelo Atlas para protección MLOps, que se puede encontrar aquí. A continuación se ofrece una descripción general del modelo:

Matriz ATLAS

Al igual que en el ámbito de la ciberseguridad "tradicional", las regulaciones sobre IA y MLOps aún se están desarrollando. Seguir estas regulaciones emergentes facilitaría la protección de los activos existentes de MLOps, así como también dar fe del cumplimiento de los procesos de MLOps con las mejores prácticas existentes y emergentes. Las organizaciones deberán dar fe de la integridad de su modelo, así como de que su modelo es imparcial.

Hay tecnologías que servirán a ambos ámbitos

Las tecnologías que garantizan la integridad de los datos, el código y las herramientas pueden proporcionar los controles de integridad necesarios para la seguridad de la cadena de suministro de software tanto de MLOps como de DevOps.

Las tecnologías que brindan transparencia y medidas de confianza del software pueden proporcionar valores similares para MLOps. 

Tecnología de seguridad de la cadena de suministro basada en certificaciones

El concepto de protección de la cadena de suministro de software basada en evidencia es simple: no se debe confiar en un artefacto de software a menos que exista evidencia suficiente de su confiabilidad. La implementación de este concepto implica herramientas de recolección de evidencia, un motor de políticas que evalúa la evidencia para verificarla, alertas de violaciones y recomendaciones de mitigaciones, y mecanismos de intercambio que permitan la transparencia y la colaboración. El marco integral es un ejemplo académico de tal solución. La plataforma de cadena de suministro de software de Scribe es, entre otras cosas, una manifestación comercial de esta tecnología y amplió su tecnología para soportar los desafíos de ML-Ops.

El enfoque basado en evidencia de Scribe es independiente de los detalles específicos de la evidencia; por lo tanto, la misma tecnología puede servir para la protección MLOps, por ejemplo:

  • Garantizar la integridad del software y la integridad del proceso de aprendizaje automático.
  • Garantizar la integridad de las dependencias de código abierto y la integridad del modelo de IA.
  • Evaluar los informes SAST para garantizar informes de herramientas de prueba específicas de IA (por ejemplo, pruebas de sesgo).
  • Compartir SBOM y evaluaciones de políticas, así como evaluaciones de políticas de MLBOM y MLOps. 

Tecnología de cadena de suministro de software de seguridad Scribe para operaciones de IA/ML

El MITRE ATLAS y la tecnología de Scribe

A continuación se muestra un mapeo de las capacidades actuales de Scribe en comparación con el mapa de ataque MITRE ATLAS:

Etapa de ataqueTécnicasLa solución del escriba
Desarrollo de recursos para atacantesPublicar conjuntos de datos envenenados
Datos de entrenamiento de veneno.
Integridad de los datos:
Da fe de los conjuntos de datos consumidos y verifica la fuente y el contenido de los conjuntos de datos.
Dar fe de los datos de capacitación y verificar el contenido y la fuente de los datos de capacitación.
Acceso inicialCompromiso de la cadena de suministro de aprendizaje automáticoIntegridad de datos y código:
Da fe de los datos, modelos, software y configuraciones de los canales de ML.

Aplicación de la política de canalización de ML:
Dar fe de las acciones y verificar las políticas en consecuencia (p. ej., kit de proceso de lanzamiento, pruebas, patrones de acceso)
Acceso inicial, impactoEvadir el modelo ML (p. ej., solicitudes elaboradas)Seguimiento preciso de la tubería:
Realice un seguimiento de los recursos y detecte anomalías en los patrones de acceso a las canalizaciones de ML (FS-Tracker)
EjecuciónIntérprete de comandos y secuencias de comandosSeguimiento preciso de la tubería:
Realice un seguimiento de los recursos y detecte anomalías en los patrones de acceso a las canalizaciones de ML (FS-Tracker)
PersistenciaDatos de entrenamiento de venenoIntegridad de los datos:
Dar fe de los datos de entrenamiento, verificar el contenido y la fuente de los datos de entrenamiento.
Persistencia,
Puesta en escena de ataques de aprendizaje automático
Modelo de aprendizaje automático de puerta traseraIntegridad de los datos:
Dar fe del ciclo de vida del modelo ML y verificar en uso.
ImpactoMal uso del sistema por efectos externosPolíticas a nivel del sistema:
Dar fe del comportamiento y las características del sistema y aplicar políticas en consecuencia (por ejemplo, costos de computación, patrones de acceso).

A continuación se muestra un mapeo de las mitigaciones de MITRE en comparación con la tecnología de Scribe:

ID de mitigación MITREMitigaciónLa solución del escriba
AML.M0005Controle el acceso a modelos de aprendizaje automático y datos en reposoSeguimiento preciso de la tubería:
Realice un seguimiento de los recursos y detecte anomalías en los patrones de acceso a las canalizaciones de ML (FS-Tracker)
AML.M0007Desinfectar datos de entrenamientoIntegridad de los datos:
Dar fe y verificar los datos utilizados para la capacitación.
AML.M0011Restringir la carga de la biblioteca Integridad de datos y código:
Dar fe y verificar el modelo de datos y la carga de la biblioteca de códigos.
AML.M0013Firma de código Integridad del código:
Dar fe y verificar el código utilizado.
AML.M0014Verificar artefactos de aprendizaje automáticoIntegridad de datos y código:
Dar fe y verificar el modelo de datos y la carga de la biblioteca de códigos.
AML.M0016Exploración de Vulnerabilidades Escaneo de vulnerabilidades, evaluación de políticas:
Dar fe de la ejecución de herramientas como el escaneo de vulnerabilidades. Evaluar políticas respecto de estas certificaciones.
Analice las vulnerabilidades según las certificaciones de SBOM recopiladas del proceso de aprendizaje automático.

Firmar y verificar modelos y conjuntos de datos de ML usando Valint

Valint es la poderosa herramienta CLI de Scribe para generar y validar certificaciones. Valint se puede utilizar para firmar y verificar conjuntos de datos y modelos de ML.

Ejemplo:

Queremos utilizar el modelo HuggingFace. wtp-bert-tiny. Para evitar comprometer el modelo, queremos firmarlo y verificarlo antes de su uso. La creación de una atestación (evidencia firmada) se puede realizar con el siguiente comando:

valint bom git: https://huggingface.co/benjamin/wtp-bert-tiny -o attest

Este comando creará una certificación firmada para el repositorio del modelo. La certificación se almacenará en un almacén de certificaciones (en este caso, una carpeta local) y se firmará (en este caso, mediante la firma sin llave Sigstore).

Un uso típico del modelo sería clonar el repositorio y utilizar sus archivos. Se puede verificar la integridad del modelo inmediatamente después de la descarga con los siguientes comandos:

git clone git:https://huggingface.co/benjamin/wtp-bert-tiny valint verificar git:wtp-bert-tiny

La verificación de la integridad del modelo antes de cada uso se puede realizar con el siguiente comando:

Valint verificar git:wtp-bert-tiny

Notas: 

  • Se puede utilizar un enfoque similar para firmar y verificar conjuntos de datos.
  • Una de las características de los modelos ML es su enorme tamaño. Para evitar descargar y manejar archivos grandes que no son necesarios, un las mejores prácticas es descargar solo los archivos necesarios. Este caso de uso es compatible con Valint, que admite la firma solo de una carpeta o archivo específico.

Verificación de políticas en modelos de ML

Scribe's Valint es una poderosa herramienta de verificación de políticas. Una de las formas de gestionar el riesgo es hacer cumplir las políticas. En la siguiente sección, demostraremos cómo reducir el riesgo aplicando una política de licencias sobre los modelos de ML utilizados. 

Supongamos que solo permitimos el uso de la licencia MIT en nuestro proyecto. Una vez configurado, Valint puede verificarlo:

Valint verificar git:wtp-bert-tiny -d att -c verificar-licencia.yml

Este comando usa el verificar-licencia política que se define de la siguiente manera:

attest: cocosign: políticas: - nombre: ML-policy enable: true módulos: - nombre: verificar-tipo de licencia: verificar-artefacto habilitar: verdadero entrada: firmado: verdadero formato: attest-cyclonedx-json rego: ruta: verificar-hf -licencia.rego

La política implementada en el verificar-licencia-hf.rego El archivo extrae de la certificación firmada el ID del modelo HuggingFace, extrae información de la API de HuggingFace sobre el modelo y verifica que sea MIT.

Se puede utilizar un flujo similar para verificar licencias de conjuntos de datos de código abierto.

Caso de uso: protección de un servicio ML-Ops del mundo real

Un servicio ML-Ops es parte de una aplicación que permite un fácil acceso a modelos de IA; los usuarios del servicio solo necesitan expresar sus solicitudes, y el servicio realiza todos los aspectos prácticos para acceder al modelo ML entre bastidores.

Ejemplo:

Queremos producir y utilizar un servicio que exponga el acceso a Microsoft "ayuda”Paquete de código abierto (en palabras simples, este paquete permite una mejor utilización de los modelos de lenguaje grandes (LLM) al ejecutar cadenas de consultas en lugar de un único mensaje).

El servicio será una imagen de Docker que contendrá el código de servicio y el modelo. Basaremos nuestro código en el proyecto de la cadena de Andrómeda. El proyecto envuelve la biblioteca de orientación con un servicio y crea una imagen acoplable con la aplicación.

La siguiente es la versión básica de Dockerfile:

DESDE python:3.10 COPIAR ./requirements.cpu.txt requisitos.txt EJECUTAR pip3 install -r requisitos.txt EJECUTAR mkdir models \ cd models \ git clone https://huggingface.co/api/models/benjamin/wtp-bert- tiny COPY ./guidance_server guiado_server WORKDIR guiado_server # Establece el punto de entrada CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "9000"]

Es bastante sencillo; Al construir la ventana acoplable, se instalan las dependencias del código, se instala el modelo y el código de servicio se copia en la imagen de Docker. 

Una vez creada la imagen, podemos crear una certificación firmada de la misma con el siguiente comando Valint:

valint bom ml-servicio:último -o attest

Este comando genera una certificación firmada que contiene un SBOM detallado de la imagen de Docker denominada ml-service.

Esta atestación se puede utilizar más adelante para verificar la imagen de Docker mediante el siguiente comando:

Valint verificar ml-servicio: último

Este comando verifica la integridad de la imagen, tanto el código como el modelo ML. La verificación se puede realizar cada vez que se implementa la imagen, asegurando así el uso de un contenedor válido.

Creación de un servicio de operaciones de aprendizaje automático protegido

Combinando las capacidades demostradas en los párrafos anteriores, ahora podemos demostrar cómo proteger la construcción de un servicio ML-Ops:

Requisito previo: una vez seleccionado un modelo, cree una certificación del mismo:

valint bom git: https://huggingface.co/benjamin/wtp-bert-tiny -o attest

Construir canalización:

1. Verificar la integridad y la licencia del modelo en proceso de construcción:

git clone https://huggingface.co/benjamin/wtp-bert-tiny valint verificar git:wtp-bert-tiny -d att -c verificar-license.yml

2. Construya la ventana acoplable y cree una certificación de la misma:

docker build -t ml-service:latest . valint bom ml-servicio:último -o attest

3. Antes de utilizar la imagen, verifíquela:

Valint verificar ml-servicio: último

Este paso de verificación garantiza que la imagen implementada es la creada con el modelo verificado en su interior.

Se puede realizar una verificación similar antes de cada implementación en Kubernetes utilizando el controlador de admisión de Scribe. 

Recomendación 

Invertir en un producto de seguridad de la cadena de suministro de software en 2024 que aborde tanto los requisitos inmediatos de la cadena de suministro de software como las demandas cambiantes de MLOps es una opción estratégica.

Invertir en una solución basada en evidencia con un motor de políticas flexible permitiría la integración futura con tecnologías de seguridad MLOps emergentes específicas de dominio a medida que maduren.

¿Por qué esta es una publicación de blog de Scribe Security?

Debería saber la respuesta si ha leído todo hasta aquí: Scribe proporciona una solución de seguridad de la cadena de suministro de software basada en evidencia/certificación con un motor de políticas flexible y ampliable. Para ver un caso de uso elaborado sobre la protección de una canalización MLOps utilizando productos Scribe, presione aquí.

Este contenido es presentado por Scribe Security, un proveedor líder de soluciones de seguridad de la cadena de suministro de software de extremo a extremo, que ofrece seguridad de última generación para artefactos de código y procesos de desarrollo y entrega de código en todas las cadenas de suministro de software. Más información.