Denial-of-Wallet: ahora los hackers vacían presupuestos en vez de tumbar servidores

Denial-of-Wallet: ahora los hackers vacían presupuestos en vez de tumbar servidores

Los ciberataques no sólo buscan sobrecargar un sistema, sino también socavar su economía. Agotamiento del presupuesto corresponde a ese tipo de amenazas: los servicios permanecen accesibles, pero cada solicitud se convierte en un cargo notable. Para el atacante es una forma de golpear no la performance ni la red, sino el presupuesto, aprovechando mecanismos legítimos de la propia plataforma. 

Este modelo de riesgo se vuelve especialmente agudo en entornos en la nube, donde el coste depende directamente del número de solicitudes, del volumen de tráfico o de la profundidad de los cálculos. Para entender la naturaleza del agotamiento del presupuesto, es importante considerarlo no solo como un escenario técnico sino como una herramienta de presión financiera.

Agotamiento del presupuesto (DoW) — es un ataque en el que el agresor no “derriba” el servicio, sino que le obliga a gastar dinero legalmente más rápido de lo habitual. A diferencia de DDoS (Denegación de Servicio Distribuida), donde la meta es saturar la infraestructura, aquí todo funciona externamente con normalidad: las páginas se abren, las respuestas llegan, las métricas de “salud” están en orden. Cambia otra cosa: la factura con el proveedor crece y de repente alcanza cifras dolorosas.

Cómo funciona en la práctica, se comprende mejor a través de la economía de la solicitud. Si cada llamada adicional te cuesta notablemente más que al atacante, éste obtendrá una “palanca” sobre tu presupuesto. No hace falta una botnet ni herramientas complejas: basta provocar acciones que tengan coste — fallos de caché (fallo de caché), recálculos repetidos, activación de manejadores innecesarios, notificaciones de pago, consultas analíticas largas o inferencia de IA. El escalado automático (escalado automático) adapta la potencia al flujo de eventos, y por eso la factura crece de forma silenciosa y metódica.

Más suele doler allí, donde el coste está “vinculado” a la carga. Por ejemplo, la caché no encuentra un resultado listo y obliga al backend a reconstruir la página cada vez; un gancho web activa toda una cadena de manejadores; un informe “pesado” en BI (inteligencia empresarial) se recalcula por completo en lugar de usar plantillas; un agente de IA llama a herramientas en bucle; el sistema de notificaciones envía miles de correos o SMS; los registros se indexan sin filtros. Incluso repeticiones habituales de solicitudes para “fiabilidad” pueden inflar el gasto si se implementan sin pausas razonables.

Maniobras típicas del atacante se visualizan bien en forma agrupada. Abajo están los escenarios más frecuentes.

  • Eludir la caché: se hacen solicitudes de modo que la caché las considere “únicas” y calcule el resultado cada vez —incluidas las redes de entrega de contenido (CDN).
  • Inflar cadenas: una señal entrante activa muchos pasos internos, cada uno con coste (colas, manejadores, recálculos).
  • Jugar con las repeticiones: el sistema reintenta solicitudes tras errores, y el atacante provoca precisamente esas situaciones.
  • Analítica cara: se provocan consultas que recorren grandes volúmenes de datos y consumen créditos o minutos de cómputo.
  • IA en espiral: la inferencia de grandes modelos se lanza con demasiada frecuencia o demasiada profundidad, especialmente si no hay límites en el número de pasos.
  • Notificaciones de pago: a partir de una acción pública del usuario se generan miles de envíos vía correo o pasarelas SMS.
  • Registros y almacenamiento: se genera una avalancha de operaciones pequeñas de lectura/escritura y replicación innecesaria, que además se indexa.

Todas las maniobras comparten una cosa: cada paso es formalmente legal, el servicio responde correctamente, y solo aumenta el pago. Cuanta más automatización haya, más suave e imperceptible será el aumento del gasto.

Comparar con la denegación clásica de servicio es útil para elegir las medidas de protección adecuadas. La tabla siguiente muestra la diferencia principal: en el agotamiento del presupuesto atacan tu billetera, no el hardware.

Criterio Agotamiento del presupuesto ("agotamiento" del presupuesto) Denegación de Servicio
Objetivo principal Acelerar los gastos sin una caída evidente Romper la disponibilidad y “tumbar” el servicio
Sobre qué presionan Operaciones de pago, minutos o créditos tarificados Red, procesadores, memoria, límites de conexiones
Cómo se nota Métricas técnicas normales, anomalía en gastos y facturación Errores, latencias, caída de disponibilidad
Precio del ataque para el atacante Bajo: bastan “disparadores” baratos Medio/alto: se requiere potencia o una botnet
Contexto legal Las acciones suelen ser formalmente conformes a las normas A menudo violación evidente de políticas y leyes
Ritmo Prolongado en el tiempo, por debajo de umbrales habituales Repentino pico hasta el agotamiento de recursos
Disparadores típicos Fallos de caché, repeticiones, cadenas de manejadores, pasarelas de pago Tormentas de paquetes, masa de conexiones y solicitudes
Qué suele ayudar Cuotas por coste, simplificar rutas, límites y visibilidad del gasto Filtrado de tráfico, limitación de velocidad (limitación de velocidad), aumento de capacidad
Medida de emergencia Reducir cuotas o limitar temporalmente funciones caras Cortar tráfico, cambiar la enrutación

Cómo protegerse

Se necesita sentido común, “visibilidad del dinero” y limitadores preparados. Abajo están pasos prácticos que no dañan la experiencia del usuario pero rompen la economía del ataque.

  • Visibilidad del gasto: active alertas separadas por gastos y presupuestos, muestre el coste junto a las latencias y errores, no escondido en contabilidad.
  • Normalización de solicitudes: lleve direcciones y parámetros a forma canónica para que la caché encuentre más respuestas listas; añada tiempos de vida razonables a la caché.
  • Cuotas por coste, no solo por número: limite no solo “solicitudes por minuto”, sino también “coste por minuto” por cliente, organización o clave API (interfaz de programación de aplicaciones). Al acercarse al límite, responda con datos simplificados en lugar de negar el servicio por completo.
  • Domar las repeticiones: establezca pausas claras entre intentos y un límite en el número de reintentos; si el sistema falla, que no multiplique las facturas.
  • Límites de procesamiento paralelo: impida la expansión descontrolada de tareas internas —ponga topes en procesadores simultáneos y tiempo de ejecución.
  • Orden en los almacenamientos y registros: elimine versiones antiguas, use clases de almacenamiento más económicas, muestree registros ruidosos y limite consultas de búsqueda “pesadas”.
  • Precaución con las notificaciones: solicite confirmación antes de envíos de pago, introduzca límites por dirección/remitente/organización, demore envíos masivos para verificación.
  • Límites sensatos para IA: limite la profundidad de “razonamiento” y el número de pasos, separe claves y presupuestos para funciones de IA, y cuando haga falta cambie a modos más económicos.
  • Procedimientos para el día crítico: decida con antelación quién y cómo reduce cuotas, dónde está el “botón rojo” para desconectar rutas caras, y cómo contactar rápidamente con proveedores y servicios externos.

El objetivo de estas medidas es hacer el coste predecible. Cuando hay límites, reacciones claras al sobrecalentamiento y reglas sencillas para simplificar respuestas, el ataque deja de ser rentable: el atacante gasta más tiempo y dinero que usted.

Si una cadena cuesta $0,0002 por solicitud, un flujo de mil solicitudes por segundo equivale aproximadamente a $720 por hora. Sume un paso “caro” y la cifra crece de forma multiplicada. Lo frecuente es que un “poco más caro” se multiplique por la automatización decenas de miles de veces.

Qué es importante recordar

El agotamiento del presupuesto no se trata de sobrecargar hardware, sino de cargos acelerados pero legítimos. Si una solicitud puede normalizarse, normalícela; si una respuesta puede prepararse con antelación o almacenarse en caché, hágalo; si una función es “cara”, añada un límite y un modo simplificado. Mantenga la visibilidad del gasto junto a la disponibilidad y la velocidad de respuesta. Entonces el dinero dejará de ser la parte más frágil de su arquitectura y cualquier intento de “quemar” el presupuesto topará con limitadores configurados de antemano.

Alt text