“Su seguridad es nuestro compromiso”
Los 10 riesgos más críticos para las aplicaciones de modelos de lenguaje extenso
22 febrero 2024
Los modelos de lenguaje extenso (LLMs, por sus siglas en inglés) son sistemas de inteligencia artificial que pueden generar, comprender y manipular texto natural. Algunos ejemplos de LLMs son GPT-3, BERT y XLNet. Estos modelos se han vuelto muy populares en los últimos años, ya que ofrecen una gran variedad de aplicaciones, como chatbots, generación de contenido, traducción automática, análisis de sentimientos y más.
Sin embargo, el uso de LLMs también implica una serie de riesgos de seguridad, que pueden afectar tanto a los desarrolladores como a los usuarios de las aplicaciones basadas en estos modelos. Estos riesgos pueden derivar en ataques maliciosos, fugas de datos, comportamientos no deseados o resultados erróneos.
Para ayudar a concientizar y prevenir estos riesgos, el proyecto OWASP Top 10 ha publicado una lista de las 10 vulnerabilidades más críticas que se suelen ver en las aplicaciones de LLMs, destacando su potencial impacto, facilidad de explotación y prevalencia en las aplicaciones reales. Esta lista se basa en un amplio consenso de expertos en seguridad de la información y en el análisis de casos reales de aplicaciones de LLMs.
En Segtics Soluciones queremos explicarte brevemente cada una de las categorías que posiblemente saldrán a la luz con el informe final de OWASP Top 10 LLMs (recordemos que el actual es sólo una versión preliminar, considerada como una versión 0.5).
La lista de OWASP Top 10 para LLMs (v0.5) es la siguiente:
LLM01: Inyecciones de prompts:
Los prompts son las entradas de texto que se le proporcionan a un LLM para generar una salida. Si un atacante puede modificar o inyectar un prompt malicioso en una aplicación de LLM, puede obtener información sensible, ejecutar código arbitrario, alterar el comportamiento del modelo o generar contenido falso o dañino.
LLM02: Salida insegura de Datos:
Cuando los LLMs aceptan todo tipo de salida de datos sin ningún escrutinio pueden ser usados potencialmente por medio de ataques de tipo XSS, CSRF, SSRF, escalamiento de privilegios, ejecución de código remota o ataques de secuestro de sesión. Como un ejemplo, si un LLM puede acceder o generar URLs sin ninguna validación adicional, un atacante puede explotar esta capacidad para realizar solicitudes maliciosas, como escanear puertos, acceder a servicios restringidos, robar datos o ejecutar comandos.
LLM03: Envenenamiento de datos de entrenamiento:
Se produce cuando un atacante introduce datos maliciosos o sesgados en el conjunto de datos de entrenamiento de un LLM, alterando su comportamiento o su rendimiento. Por ejemplo, un atacante podría inyectar datos falsos, ofensivos o extremistas en el conjunto de datos de entrenamiento de un LLM para influir en sus salidas o degradar su calidad.
LLM04: Denegación de servicio del modelo:
Se produce cuando un atacante sobrecarga o interrumpe el funcionamiento de un LLM, impidiendo que los usuarios legítimos accedan a sus servicios o recursos. Por ejemplo, un atacante podría enviar una gran cantidad de solicitudes al LLM, consumir toda su memoria o CPU, o provocar que el LLM entre en un bucle infinito o se bloquee.
LLM05: Vulnerabilidades de la cadena de suministro:
Se produce cuando un atacante compromete algún componente de la cadena de suministro de un LLM, como el código fuente, las bibliotecas, los frameworks, los modelos pre-entrenados, los datos de entrenamiento o los servicios de terceros, introduciendo código malicioso o modificando el comportamiento del LLM. Por ejemplo, un atacante podría infectar un modelo pre-entrenado con un troyano, alterar una biblioteca de LLM con una puerta trasera, o suplantar un servicio de terceros con un servidor falso.
LLM06: Problemas de permisos:
Se produce cuando un LLM tiene permisos excesivos o insuficientes para acceder o modificar los recursos o los datos de los usuarios o las organizaciones, lo que puede conducir a violaciones de la privacidad, la integridad o la confidencialidad. Por ejemplo, un LLM podría tener permiso para leer o escribir archivos, enviar o recibir mensajes, realizar llamadas o ejecutar comandos, sin el consentimiento o el conocimiento de los usuarios o las organizaciones.
LLM07: Fugas de datos:
Los LLMs se entrenan con grandes cantidades de datos, que pueden contener información personal, confidencial o sensible. Si un atacante puede acceder al modelo o a sus salidas, puede extraer o inferir datos que no deberían ser públicos, como contraseñas, números de tarjetas de crédito, identidades, preferencias o secretos comerciales.
LLM08: Agencia excesiva:
Se produce cuando un LLM tiene más autonomía o autoridad de la que debería tener, lo que puede provocar que el LLM tome decisiones o acciones que no son consistentes con los objetivos, los valores o las expectativas de los usuarios o las organizaciones. Por ejemplo, un LLM podría realizar compras, reservas, transacciones o inversiones sin la aprobación o el control de los usuarios o las organizaciones.
LLM09: Sobreconfianza en el contenido generado por LLMs:
El contenido generado por LLMs puede ser muy convincente, pero también puede ser falso, engañoso, sesgado o inexacto. Si los usuarios o los desarrolladores confían ciegamente en el contenido generado por LLMs, pueden tomar decisiones erróneas, caer en estafas, propagar desinformación o violar normas éticas o legales.
LLM10: Diseño inseguro de plugins:
Se produce cuando un LLM permite la instalación o la ejecución de plugins o extensiones que no han sido verificados o auditados, lo que puede introducir vulnerabilidades o código malicioso en el LLM o en el sistema donde se ejecuta. Por ejemplo, un LLM podría permitir la instalación de un plugin que espía la actividad del usuario, roba sus credenciales, o modifica las salidas del LLM.
Estas vulnerabilidades pueden tener consecuencias graves para la seguridad, la privacidad, la confianza, la reputación o la legalidad de las aplicaciones de LLMs y de sus usuarios. Por ello, es importante que los desarrolladores y los usuarios de estas aplicaciones sean conscientes de estos riesgos y adopten medidas para mitigarlos.
El proyecto OWASP Top 10 for Large Language Model Applications proporciona una serie de estrategias de remediación para cada una de estas vulnerabilidades, así como recursos adicionales para aprender más sobre la seguridad de las aplicaciones de LLMs.
Puedes consultar el informe completo a continuación: