Saltar al contenido principal
Seguridad de aplicaciones9 min

¿Cómo gestionan las plataformas de protección de API y aplicaciones web los ataques de día cero sin provocar falsos positivos?

Puntuación de anomalías y umbrales, modelo de seguridad positivo, parcheo virtual, excepciones acotadas y por qué se mide antes de cambiar nada.

Foto de Gorka Gonzalo
Gorka GonzaloFundador y CEO
Ilustración isométrica abstracta de una retícula de cortafuegos web que filtra peticiones, deja pasar el tráfico legítimo y aísla un cubo rojo desconocido en una celda de parche virtual

Frenan los ataques de día cero combinando capas: un modelo de seguridad positivo que solo admite lo que la API define como válido, reglas gestionadas con puntuación de anomalías y umbrales calibrados, y parches virtuales cuando se conoce la vulnerabilidad. Evitan los falsos positivos desplegando en modo registro, midiendo y afinando con excepciones acotadas antes de bloquear.

Por qué día cero y falsos positivos tiran en direcciones opuestas

NIST define un ataque de día cero como el que explota una vulnerabilidad de hardware, firmware o software que antes era desconocida [1]. Por definición, no existe una firma específica el primer día. Un WAAP (protección de aplicaciones web y APIs) tiene entonces dos vías para frenarlo:

  • Ser estricto con lo que acepta, de modo que lo inesperado no pase aunque no se conozca.
  • Detectar clases genéricas de ataque (inyección, ejecución de comandos) en lugar de exploits concretos.

Ambas vías corren el mismo riesgo: bloquear tráfico legítimo. Las reglas genéricas, advierte la documentación del OWASP CRS, no conocen los servicios que protegen, y un tráfico legítimo puede coincidir con un patrón de ataque genérico [2]. Todo el oficio consiste en aumentar la protección sin disparar esos falsos positivos.

Los cuatro mecanismos

1. Modelo de seguridad positivo: lo que no está definido, no pasa

En un modelo positivo se define la entrada válida y se rechaza lo que no se ajusta. La guía de OWASP sobre parcheo virtual lo describe como el enfoque más fuerte, pero manual y difícil de escalar, y recomienda aplicarlo de forma selectiva en un punto concreto [3]. En las API, el equivalente práctico es validar cada petición contra el esquema OpenAPI: la documentación de Cloudflare explica que el esquema define qué peticiones son válidas, que la detección no mitiga por sí sola y que los resultados deben revisarse en un análisis antes de aplicar el perfil con reglas personalizadas [4].

La consecuencia práctica es que el modelo positivo exige que el esquema esté al día: una API que cambia cada semana sin actualizar su especificación genera falsos positivos propios.

2. Modelo negativo con puntuación de anomalías

Un conjunto de reglas gestionadas (como el OWASP Core Rule Set, CRS) detecta patrones de ataque. La idea clave del CRS es que las reglas individuales solo detectan y suman puntos; no bloquean por sí solas, y el bloqueo depende de una puntuación acumulada frente a un umbral [5]. Por defecto, las amenazas entrantes más habituales aportan 5 puntos, y los incumplimientos menores aportan menos; con un umbral de 7 se necesitan varias coincidencias, y con uno de 10, al menos dos reglas críticas o muchas menores [5]. Subir el umbral hace al conjunto menos sensible y, por tanto, menos propenso a bloquear, a costa de cobertura. La documentación pide tener en cuenta que cada categoría tiene un número distinto de reglas (la inyección SQL tiene más de 50) [5].

Los niveles de paranoia añaden más reglas y más agresivas: el nivel 1 busca pocos o ningún falso positivo; los niveles superiores aumentan la probabilidad, y el CRS advierte de que usar un nivel alto en modo de bloqueo sin ajustarlo es muy arriesgado [6]. Otros WAF gestionados usan el mismo principio: el conjunto OWASP de Cloudflare suma la puntuación de cada regla coincidente en una puntuación acumulada [7].

3. Parcheo virtual: protección concreta mientras llega el arreglo

OWASP define el parcheo virtual como una capa de aplicación de políticas que detecta y bloquea los intentos de explotación de un fallo conocido sin modificar el código vulnerable [3]. Es la respuesta a un día cero una vez conocido. El proceso que recomienda tiene seis fases: preparación, identificación, análisis, creación del parche virtual, implementación y pruebas (empezando en modo solo registro) y seguimiento, hasta retirarlo cuando llega el arreglo real [3].

Tres precauciones de esa misma guía:

  • Un parche virtual reduce la exposición, no elimina la vulnerabilidad: hay que corregir el código.
  • Las reglas que bloquean solo la carga útil exacta del exploit público tienen poco valor a largo plazo.
  • Las reglas demasiado amplias bloquean transacciones legítimas, así que hay que definir de antemano cómo se supervisan y cómo se revierten [3].

Para decidir qué parchear primero, ayuda cruzar tu inventario con el catálogo de vulnerabilidades explotadas de CISA [8].

4. Capas de contexto y comportamiento

Algunas plataformas añaden reputación, límites de uso o modelos de aprendizaje automático. Trátalos como cualquier afirmación de un fabricante: pide medirlos con tu tráfico y comprueba qué ocurre cuando se equivocan.

De dónde salen los falsos positivos

  • Reglas genéricas frente a contenido legítimo. El ejemplo clásico del CRS: un campo que legítimamente contiene HTML dispara una regla de XSS en nivel de paranoia 2 aunque la aplicación lo gestione de forma segura [2].
  • Cuerpos de petición grandes. La documentación de Cloudflare avisa de que pueden inflar la puntuación de las reglas OWASP y causar falsos positivos [7].
  • Tráfico propio del framework de la aplicación. Formularios que invocan funciones del servidor, editores de texto enriquecido, consultas con sintaxis parecida a código o cargas serializadas pueden parecerse a un ataque sin serlo.
  • Un esquema desactualizado en el modelo positivo.
  • Un nivel de paranoia o un umbral inadecuados para esa ruta.

Afinar sin abrir agujeros: excepciones acotadas

El CRS es claro: los falsos positivos se resuelven escribiendo exclusiones de reglas, no editando las reglas (hacerlo equivale a crear una bifurcación del conjunto, y las actualizaciones sobrescribirían los cambios). Y la exclusión debe tener el alcance más estrecho posible: una variable, una regla o una etiqueta; las exclusiones en tiempo de ejecución pueden limitarse a una ruta u otra condición. Si hay varias aplicaciones, cada paquete de exclusiones se activa solo en la ubicación de su aplicación; retirar reglas por completo es el último recurso [2].

Traducido a una política de trabajo:

  1. Una excepción tiene ruta, parámetro y regla concretos; nunca «desactivar esta regla en todo el sitio».
  2. Cada excepción lleva dueño, motivo y fecha de revisión.
  3. Las excepciones se revisan y se retiran cuando el motivo desaparece; una excepción olvidada es una puerta abierta.

Medir antes de cambiar

La parte que más se descuida. Antes de retirar una excepción (o de endurecer una regla), medimos primero. Describimos aquí, solo como metodología, una práctica de nuestro trabajo: antes de quitar una excepción de WAF, medimos cómo casa una regla gestionada de OWASP contra las peticiones de acciones de servidor de la aplicación, en modo registro o simulación, y decidimos con esos datos.

El procedimiento general:

  1. Fijar la pregunta: «Si retiro esta excepción, ¿se bloquearía tráfico legítimo?».
  2. Poner la regla en modo registro o simulación sobre la ruta afectada, sin bloquear. AWS WAF documenta que la acción Count no termina la evaluación: cuenta la petición y sigue procesando las reglas siguientes [9].
  3. Observar una ventana representativa, que incluya despliegues y los picos habituales del negocio.
  4. Analizar las coincidencias: qué regla, qué ruta, qué parámetro, qué dato coincidió. Los registros del CRS muestran el identificador de regla y el dato coincidente, que explica con precisión qué causó la coincidencia [2].
  5. Clasificar una muestra de las coincidencias como legítimas o sospechosas.
  6. Decidir con la tabla siguiente y dejar la decisión por escrito.
  7. Cambiar y volver a medir tras el despliegue.
Resultado de la medición (ilustrativo)Decisión
La regla no coincide con tráfico legítimo en la ventanaRetirar la excepción y activar la regla en bloqueo, con vigilancia reforzada los primeros días
La regla coincide solo con tráfico legítimo de una ruta o parámetroMantener la excepción, pero estrechar su alcance a esa ruta o parámetro
Coincide con tráfico legítimo y con tráfico sospechosoNo retirar; investigar el tráfico sospechoso y plantear una regla complementaria
Hay pocos datosAmpliar la ventana; no decidir a ciegas

Esta forma de trabajar evita dos errores caros: subir el umbral global para «apagar» un falso positivo local y retirar una excepción a ojo.

Despliegue por fases

  1. Observar: reglas en modo registro o recuento.
  2. Bloquear lo claro: nivel de paranoia 1 y puntuaciones por defecto, en las rutas más expuestas.
  3. Afinar: excepciones acotadas, con datos.
  4. Subir la exigencia por rutas: niveles superiores solo donde el riesgo lo justifique y donde haya tiempo de ajuste.
  5. Mantener: revisar excepciones, parches virtuales y cobertura de forma periódica. OWASP recuerda que personalizar un WAF exige un esfuerzo que hay que mantener a medida que cambia la aplicación [10].

Un WAAP no sustituye al código seguro: corrige los fallos de autorización y de lógica en la aplicación (véase cómo detectar vulnerabilidades en una aplicación SaaS).

Cómo te ayudamos

Hodeitek revisa la protección de aplicaciones y APIs desde la perspectiva del atacante con pentesting y Red Team, ayuda a vigilar y responder con el servicio de SOC gestionado (SOCaaS / MDR) y ordena evidencias y procesos con consultoría GRC. Si quieres saber qué ve un atacante de tu dominio, puedes consultar las plazas del radar externo. Para el contexto de inteligencia que alimenta estas decisiones, lee qué es la inteligencia sobre amenazas.

Preguntas frecuentes

¿Cómo gestionan las plataformas de protección de API y aplicaciones web los ataques de día cero sin provocar falsos positivos?

Combinan varias capas y frenan parte de ellos: los que encajan en clases genéricas de ataque detectadas por reglas gestionadas, los que incumplen un modelo positivo (como un esquema de API) y, una vez conocida la vulnerabilidad, los cubiertos por un parche virtual. Los falsos positivos se evitan desplegando primero en modo registro, midiendo y afinando con excepciones acotadas antes de bloquear. No es una garantía frente a todos los ataques, y por eso OWASP insiste en que el parche virtual no sustituye al arreglo del código [3].

¿Qué es la puntuación de anomalías?

Es un mecanismo en el que cada regla que coincide suma puntos y el bloqueo depende de que la suma alcance un umbral, en lugar de bloquear por una sola coincidencia [5].

¿Cuál es la diferencia entre modelo de seguridad positivo y negativo?

El positivo define lo válido y rechaza el resto; el negativo bloquea patrones de ataque conocidos. El positivo es más fuerte pero más laborioso; el negativo se despliega antes pero admite variantes que lo eluden [3].

¿Cómo reduzco los falsos positivos sin bajar la guardia?

Mide primero en modo registro, usa exclusiones del alcance más estrecho posible (ruta, parámetro, regla) y no edites las reglas [2]. Subir el umbral global también reduce falsos positivos, pero lo hace restando sensibilidad en todo el sitio [5].

¿Cuánto tiempo hay que dejar una regla en modo registro?

No hay una cifra universal: lo suficiente para cubrir los ciclos habituales de tráfico y al menos un despliegue de la aplicación, y para tener una muestra de coincidencias que clasificar.

Siguiente paso

¿Quieres revisar cómo está afinada la protección de tus aplicaciones y APIs? Hablemos. Y recuerda que tu proveedor de WAF o de red de distribución es un tercero crítico: HodeiShield ayuda a gestionar el riesgo de terceros y el cumplimiento.

Fuentes

  1. Zero-day attack (glossary). NIST CSRC. https://csrc.nist.gov/glossary/term/zero_day_attack
  2. False Positives and Tuning. OWASP CRS documentation. https://coreruleset.org/docs/2-how-crs-works/2-3-false-positives-and-tuning/
  3. Virtual Patching Cheat Sheet. OWASP Cheat Sheet Series. https://cheatsheetseries.owasp.org/cheatsheets/Virtual_Patching_Cheat_Sheet.html
  4. API Shield: Schema validation. Cloudflare documentation. https://developers.cloudflare.com/api-shield/security/schema-validation/
  5. Anomaly Scoring. OWASP CRS documentation. https://coreruleset.org/docs/2-how-crs-works/2-1-anomaly_scoring/
  6. Paranoia Levels. OWASP CRS documentation. https://coreruleset.org/docs/2-how-crs-works/2-2-paranoia_levels/
  7. WAF managed rules. Cloudflare documentation. https://developers.cloudflare.com/waf/managed-rules/
  8. Known Exploited Vulnerabilities Catalog. CISA. https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  9. How AWS WAF handles rule and rule group actions. AWS documentation. https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-rule-actions.html
  10. Web Application Firewall. OWASP Community. https://community.owasp.org/Web_Application_Firewall

¿Te ha sido útil este artículo?

Foto de Gorka Gonzalo

Gorka Gonzalo

Fundador y CEO

Fundó Hodeitek en 2023 y dirige la compañía, tras más de 8 años en pentesting, Red Team, auditoría OT/ICS y dirección de SOC. Experto en ciberseguridad e inteligencia artificial, marca la dirección técnica y de producto de HodeiShield y lidera personalmente los proyectos más críticos: de la estrategia de defensa a la aplicación de IA en la detección de amenazas. Es el interlocutor directo del cliente — quien define el alcance responde también por el resultado.