¿Qué es el API Abuse?

El abuso de API es el mal uso de una API que funciona, con bots, scraping, credential stuffing o volumen excesivo. Tipos, ejemplo y prevención.

¿Qué es el abuso de API?

El abuso de API es el uso de una API que funciona de un modo que su propietario no quería: scraping, credential stuffing, compras automatizadas por bots o simple volumen. Nada está roto. Cada petición puede llevar un token válido y recibir un 200 OK. El problema es quién llama, con qué frecuencia y por qué, y eso solo se ve en conjunto, a través de muchas peticiones, cuentas o direcciones IP.

OWASP trata la parte de negocio como API6:2023 Unrestricted Access to Sensitive Business Flows.

Abuso de API frente a ataques y vulnerabilidades

Una vulnerabilidad es un fallo de la API, como una comprobación de autorización ausente. Un ataque a una API explota un fallo así para romper el sistema. El abuso es distinto: el abusador sigue el contrato documentado, pero a una escala o con una intención que el negocio nunca quiso. La defensa frente a fallos se trata en seguridad de API. La defensa frente al abuso va de comportamiento y volumen, no de parchear código, aunque los abusadores también suelen buscar fallos.

Tipos habituales de abuso de API

  • Scraping: clientes automatizados extraen grandes volúmenes de precios, anuncios o perfiles a través de endpoints públicos o autenticados.
  • Credential stuffing: bots repiten contra un endpoint de login pares de usuario y contraseña filtrados en otro sitio. Incluso con una tasa de éxito baja, a ese volumen salen cuentas comprometidas.
  • Automatización con bots: scripts que crean cuentas falsas, publican spam o canjean promociones mucho más rápido que una persona.
  • Evasión de límites: rotar direcciones IP, claves de API o cuentas para quedar por debajo de los límites por cliente.
  • Abuso de la lógica de negocio: usar un flujo como fue diseñado para un resultado no deseado. Entre los ejemplos de OWASP están comprar casi todo un producto de stock limitado para revenderlo y automatizar altas falsas para cobrar crédito por recomendación.
  • Fraude en pagos y fidelización: pruebas de tarjetas a través de un endpoint de pago o adivinar números de tarjetas regalo.
  • Denial of wallet: saturar un endpoint de pago o costoso para que crezca la factura del proveedor, sin tumbar el servicio.

Un ejemplo: el endpoint de SMS de pago

Un endpoint de restablecimiento de contraseña envía un SMS a través de un proveedor que cobra por mensaje. Un script lo llama en bucle con distintos números de teléfono. Cada llamada devuelve un 200 normal, la latencia parece buena y no se registra ningún error, pero la factura de SMS sube. OWASP usa este escenario para API4:2023 Unrestricted Resource Consumption. La solución es un límite por número de teléfono y por cliente en ese endpoint, más un tope de gasto o una alerta de facturación con el proveedor.

Cómo detectar el abuso de API

Cada petición suelta parece legítima, así que la detección compara el comportamiento con una línea base.

  • Volumen y velocidad: peticiones por cuenta, clave e IP a lo largo del tiempo, y muchas cuentas que comparten una misma huella de dispositivo.
  • Comportamiento: las personas hacen pausas y varían. Los bots muestran tiempos de máquina y secuencias idénticas.
  • Mezcla de tráfico: un endpoint de login o de restablecimiento con muchas veces su volumen habitual, o un cambio brusco de geografía o de user agent.
  • Monitorización: la monitorización de API guarda un historial de tiempo de respuesta y errores, de modo que una ralentización gradual se ve en las gráficas. La monitorización de API de LoadFocus comprueba código de estado, cuerpo de la respuesta, cabeceras y tiempo de respuesta (comprobaciones gratuitas cada 5 minutos). No detecta ni bloquea el abuso por sí sola, así que combínala con logs y un WAF o una herramienta antibots.

Cómo prevenir el abuso de API

  • Autenticación sólida: tokens de vida corta, autenticación multifactor en el login y un manejo cuidadoso de las claves de API, que son fáciles de compartir y de recolectar.
  • Límites de velocidad y cuotas: por usuario, por clave y por IP, diseñados para que rotar uno de ellos no lo reinicie todo. Cómo debe comportarse un cliente ante un 429 se explica en cómo evitar el rate limiting de API.
  • Gestión de bots: huellas de dispositivo, desafíos para detectar humanos y puntuación de reputación. OWASP menciona la huella de dispositivo, el CAPTCHA y la detección de acciones más rápidas de lo que haría una persona. Aplica fricción solo a las sesiones sospechosas.
  • Límites en flujos de negocio: topes de compra por cuenta, límites de velocidad en recompensas y checkout.
  • Límites de gasto: topes o alertas de facturación para cada integración de pago con terceros.
  • Probar los límites bajo carga: un límite solo queda demostrado cuando las peticiones lo alcanzan de verdad. Una prueba de carga en la nube muestra si el throttling se activa a la tasa prevista y si la API se degrada con control ante una ráfaga.

Errores frecuentes

  • Limitar solo por IP. Los abusadores reparten las peticiones entre muchas direcciones. Combínalo con límites por cuenta y por clave.
  • Proteger el login y no sus vecinos. El restablecimiento de contraseña, el OTP y el registro se abusan igual de a menudo.
  • Dar por sano un 200. Una avalancha de llamadas de apariencia válida parece éxito en un panel de estados.
  • Desafiar a todos. Un CAPTCHA en cada petición castiga a los usuarios reales. Resérvalo para el tráfico sospechoso.
  • No probar nunca los límites. Una regla que no se ha alcanzado bajo carga es una suposición.

Preguntas frecuentes sobre el abuso de API

¿El abuso de API es lo mismo que un ataque a una API?

No. Un ataque a una API explota un fallo para romper el sistema. El abuso de API da mal uso a funciones que trabajan como fueron diseñadas, con automatización, credenciales robadas o volumen excesivo, para extraer un valor que el negocio nunca quiso regalar.

¿En qué se diferencia el abuso de API de un ataque DDoS?

Un DDoS intenta dejar un servicio fuera de línea. El abuso de API suele querer que el servicio siga en pie para seguir extrayendo valor, y a menudo es lento y silencioso para no superar los umbrales de detección. Sobre los ataques de inundación, consulta cómo detener ataques DDoS.

¿Basta el rate limiting para detener el abuso de API?

No. Los abusadores rotan direcciones IP, claves y cuentas para quedar por debajo de los límites por cliente. El rate limiting funciona como una capa junto a la autenticación, la gestión de bots, el análisis de comportamiento y los límites en flujos de negocio.

¿Qué es el denial of wallet?

Abuso dirigido al coste en lugar de a la disponibilidad. En APIs de pago por uso, un atacante dispara operaciones de pago o costosas, como SMS o llamadas de cómputo, de modo que crece la factura del proveedor mientras el servicio sigue en pie.

¿Cómo ayuda LoadFocus con el abuso de API?

LoadFocus no bloquea el abuso. La monitorización de API guarda un historial de tiempo de respuesta y estado para que las ralentizaciones se noten, y las pruebas de carga con k6 o JMeter permiten comprobar que tus límites de velocidad y tu throttling aguantan con mucho tráfico.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.