Model Denial of Service (DoS)
Definición
Un ataque de model denial of service (DoS) ocurre cuando un atacante sobrecarga un modelo de lenguaje (LLM) mediante solicitudes excesivas o especialmente diseñadas para agotar sus recursos. Esto puede provocar que el modelo se vuelva inoperante o que su rendimiento se degrade significativamente.
Dato: esta técnica ya fue quitada del OWASP TOP 10 2025. Actualmente (2025) está en el TOP "Unbounded Consumption", que presenta características similares pero es más amplia, moderna y con otro enfoque no solo a provocar un DoS.
Vectores comunes de ataque
Solicitudes intensivas en recursos
Envío de solicitudes extremadamente complejas o con tareas que consumen mucha memoria y procesamiento, como cálculos matemáticos complejos o análisis de grandes volúmenes de datos.
Tareas inacabables
Solicitar al modelo tareas imposibles de finalizar, como "enumerar todos los números primos existentes antes de responder". Esto genera un ciclo interminable que consume recursos.
Loops vía inyección indirecta
Aprovechar instrucciones indirectas que hacen que el LLM entre en un bucle de procesamiento continuo, agotando los recursos del sistema.
DoS clásico contra APIs
Saturar las APIs del sistema mediante múltiples solicitudes automatizadas, afectando la disponibilidad del servicio para usuarios legítimos.
Ejemplos de ataques DoS en LLMs
Ejemplo 1: Generación de texto en bucle infinito
Prompt malicioso:
Impacto: El modelo puede quedar atrapado en un ciclo de generación continua, consumiendo recursos hasta agotar el límite de tokens o provocar un colapso en el sistema.
Ejemplo 2: Instrucción de validación excesiva
Prompt malicioso:
Impacto: Este tipo de solicitud genera una carga de procesamiento excesiva, aumentando el uso de memoria y ralentizando las respuestas para otros usuarios legítimos.
Ejemplo 3: Imprimir números primos de forma masiva
Prompt malicioso:
Impacto:
Este prompt solicita una lista infinita, ya que la cantidad de números primos es ilimitada.
Mitigación
Implementación de rate limiting
Limitar el número de solicitudes permitidas por usuario en un periodo de tiempo específico para reducir el riesgo de sobrecarga.
Límites en la complejidad de las solicitudes
Rechazar o simplificar solicitudes que impliquen un uso excesivo de recursos.
Control de recursos
Asignar cuotas de CPU y memoria por sesión para evitar que una única solicitud monopolice los recursos del sistema.
Tiempo máximo de ejecución
Establecer límites estrictos de tiempo para la ejecución de tareas complejas y finalizar procesos que excedan estos umbrales.
Monitoreo y alertas
Supervisar en tiempo real el uso de recursos y generar alertas cuando se detecten comportamientos anómalo
Referencias
Última actualización