Supply Chain Vulnerabilities

Definición

Las vulnerabilidades en la cadena de suministro en el contexto de los modelos de lenguaje (LLMs) se refieren a los riesgos de seguridad que surgen cuando los componentes externos utilizados en el desarrollo, entrenamiento, ajuste fino, despliegue o integración del modelo son manipulados o comprometidos por un atacante.

Estas vulnerabilidades son especialmente críticas porque los LLMs dependen de numerosos elementos externos, como datasets públicos, bibliotecas de código, APIs de terceros y servicios en la nube, lo que amplía significativamente su superficie de ataque.

Una biblioteca que se me viene a la mente cuando hablamos de esta técnica pero que no está relacionado a LLMs es Wkhtmltopdf, que la pueden ver en la sección Server-Side Request Forgery (SSRF). Este es un ejemplo claro de Supply Chain Vulnerabilities ya que el cliente logró ser comprometido mediante esta biblioteca que era vulnerable a LFI y SSRF.

Principales vectores de ataque en la cadena de suministro de LLMs

1. Datos de entrenamiento comprometidos

  • Cómo ocurre: El atacante introduce datos manipulados en datasets públicos o privados utilizados para entrenar el modelo.

  • Impacto:

    • El modelo puede aprender sesgos o información errónea.

    • Puede facilitar ataques posteriores como prompt injection o filtración de información.

  • Ejemplo: Incluir contenido malicioso en foros o repositorios abiertos que son utilizados como fuente para el entrenamiento.

2. Bibliotecas de código maliciosas

  • Cómo ocurre: El atacante introduce código malicioso en bibliotecas de terceros utilizadas en el desarrollo o ajuste fino del LLM.

  • Impacto:

    • Permite la ejecución de código malicioso durante el entrenamiento o inferencia.

    • Puede generar accesos no autorizados o filtración de datos sensibles.

  • Ejemplo: Publicar una versión maliciosa de una librería en PyPI, que luego es utilizada sin la debida revisión en el pipeline de entrenamiento.

3. APIs de terceros comprometidas

  • Cómo ocurre: El LLM depende de APIs externas para obtener información o procesar datos, y estas APIs han sido manipuladas por un atacante.

  • Impacto:

    • El modelo podría recibir datos manipulados, lo que afectaría sus respuestas.

    • Puede exponer información sensible si las APIs son utilizadas sin autenticación adecuada.

  • Ejemplo: Una API de geolocalización manipulada que devuelve datos falsos, afectando las respuestas del modelo.

Mitigación

  • Validación de datos

    • Utilizar datasets de fuentes confiables y filtrar datos contaminados o maliciosos antes del entrenamiento o ajuste fino.

  • Revisión de bibliotecas y dependencias

    • Verificar la integridad de las bibliotecas de terceros mediante herramientas de análisis de seguridad y evitar versiones no oficiales.

  • Seguridad en APIs externas

    • Usar autenticación y validación estricta para cualquier API externa y sanitizar los datos que se reciban.

  • Monitoreo en producción

    • Supervisar continuamente el comportamiento del modelo para detectar anomalías o respuestas inusuales.

  • Control de accesos y cifrado

    • Restringir el acceso a datos y modelos, y aplicar cifrado en el almacenamiento y transmisión de información.

  • Pruebas de seguridad continuas

    • Realizar pruebas regulares de seguridad en el pipeline de desarrollo y en el entorno de producción.

  • Actualización y parches

    • Mantener todos los componentes, bibliotecas y dependencias actualizados para prevenir la explotación de vulnerabilidades conocidas.

Referencias

Última actualización