Un sistema de monitoreo de CVE en tiempo real no requiere presupuestos millonarios ni equipos de 50 personas. Con el feed JSON de NVD, herramientas open-source como Nuclei u OpenVAS, y una priorización inteligente (CVSS + EPSS), un equipo pequeño puede filtrar el ruido y enfocarse en lo crítico. Aquí está la arquitectura probada que usamos en CyberShield para PyMEs LATAM, con pipeline de alertas que no satura al SOC.

¿Por qué el feed JSON de NVD es la base (y qué no te dicen de él)?

El feed JSON de NVD es el estándar de facto para monitorear vulnerabilidades, pero su adopción directa tiene trampas ocultas. Primero, el volumen: en 2023, NVD publicó 28,902 CVE (fuente: NIST NVD Annual Report 2023), un 18% más que el año anterior. Segundo, la latencia: aunque el feed se actualiza cada 2 horas, la asignación de CVSS y CPE puede demorar días (o semanas) para vulnerabilidades complejas. Tercero, la granularidad: el campo configurations en el JSON usa CPE 2.3, que no siempre mapea limpiamente con los activos reales de una PyME.

La solución no es descartar NVD, sino complementarlo. En CyberShield, usamos el feed JSON como source of truth, pero lo enriquecemos con:

El pipeline básico que recomendamos:

  1. Descargar el feed JSON de NVD cada 2 horas via curl o un cron job.
  2. Filtrar por CPEs relevantes usando jq o un script Python (ejemplo: jq '.CVE_Items[] | select(.configurations.nodes[].cpe_match[].cpe23Uri | contains("apache:tomcat"))').
  3. Enriquecer con datos de KEV y EPSS (más sobre esto en la sección de priorización).
  4. Almacenar en una base de datos ligera como SQLite o PostgreSQL para consultas posteriores.

Priorización: CVSS + EPSS + contexto local (la fórmula que reduce el ruido 80%)

CVSS es útil, pero insuficiente. Una CVE con CVSS 10.0 en un software obsoleto que no usas es ruido. Una CVE con CVSS 7.5 en tu base de datos principal es crítica. Aquí es donde entra EPSS (Exploit Prediction Scoring System), desarrollado por FIRST, que estima la probabilidad de que una CVE sea explotada en los próximos 30 días.

La literatura disponible sugiere que combinar CVSS y EPSS mejora la priorización. Un estudio de Kenna Security (2021) encontró que el 80% de las CVE con EPSS > 0.8 fueron explotadas en la wild, mientras que solo el 5% de las CVE con EPSS < 0.2 lo fueron. En CyberShield, usamos esta matriz de priorización:

CVSS \ EPSS EPSS < 0.2 0.2 ≤ EPSS < 0.5 EPSS ≥ 0.5
CVSS < 7.0 Baja prioridad (revisión trimestral) Prioridad media (revisión mensual) Prioridad alta (revisión semanal)
7.0 ≤ CVSS < 9.0 Prioridad media (revisión mensual) Prioridad alta (revisión semanal) Crítica (revisión inmediata)
CVSS ≥ 9.0 Prioridad alta (revisión semanal) Crítica (revisión inmediata) Crítica (revisión inmediata + mitigación en 24h)

Pero incluso esta matriz tiene limitaciones. Por ejemplo, una CVE con CVSS 9.8 y EPSS 0.9 en un servidor expuesto a internet debe tratarse como incidente, no como una alerta más. Por eso añadimos dos capas adicionales:

  1. Exposición de activos: Usamos herramientas como nmap o masscan para mapear qué activos están expuestos a internet. Una CVE en un activo interno sin acceso externo baja automáticamente un nivel en la matriz.
  2. Exploits públicos: Consultamos bases de datos como Exploit-DB o GitHub Trickest CVE para verificar si hay exploits públicos disponibles. Si los hay, la CVE sube un nivel.

El resultado: en un cliente con 50 activos, pasamos de 1,200 alertas mensuales a 45, de las cuales solo 5 requerían acción inmediata.

Herramientas open-source para escaneo: Nuclei vs. OpenVAS (y por qué elegimos uno)

Una vez priorizadas las CVE, el siguiente paso es verificar si están presentes en tu infraestructura. Aquí hay dos herramientas open-source dominantes: OpenVAS (ahora parte de Greenbone) y Nuclei (de ProjectDiscovery). Ambas tienen ventajas y trade-offs.

OpenVAS: el veterano con profundidad (pero lento)

OpenVAS es un escáner de vulnerabilidades maduro, con más de 50,000 pruebas en su base de datos. Sus ventajas:

Pero también tiene desventajas:

Nuclei: el ágil con templates personalizables (pero menos cobertura)

Nuclei es un escáner basado en templates YAML, diseñado para ser rápido y modular. Sus ventajas:

Sus desventajas:

Nuestra elección: Nuclei + escaneos selectivos de OpenVAS

En CyberShield, usamos un enfoque híbrido:

  1. Nuclei para escaneos diarios: Corremos Nuclei todas las noches en modo "fast scan" para detectar CVE críticas en activos expuestos a internet. Los templates se actualizan automáticamente desde el repositorio de ProjectDiscovery.
  2. OpenVAS para escaneos semanales profundos: Una vez por semana, corremos OpenVAS en modo "deep scan" en activos internos o críticos. Esto nos da cobertura para CVE que Nuclei podría haber pasado por alto.
  3. Templates personalizados para activos críticos: Para servidores de bases de datos o aplicaciones legacy, escribimos templates personalizados en Nuclei para detectar vulnerabilidades específicas.

Este enfoque nos da lo mejor de ambos mundos: velocidad para detección temprana y profundidad para cobertura completa.

Pipeline de alertas: cómo evitar la fatiga del SOC

Un sistema de monitoreo de CVE no sirve de nada si las alertas saturan al equipo. En un cliente con 200 activos, pasamos de 300 alertas diarias a 2-3, con estas técnicas:

1. Agrupación por activo y tipo de vulnerabilidad

En lugar de enviar una alerta por cada CVE, agrupamos por:

2. Contexto en las alertas (no solo "CVE-2023-1234 detectada")

Una alerta útil incluye:

Ejemplo de alerta real que enviamos:

Alerta crítica: CVE-2023-46604 en servidor-web-01 (192.168.1.10)

CVE: CVE-2023-46604 (CVSS: 9.8, EPSS: 0.95)

Exposición: Expuesto a internet en puerto 8080 (Apache ActiveMQ).

Exploits públicos: Sí (Metasploit module disponible).

Recomendación: Actualizar a ActiveMQ 5.15.16 o aplicar parche temporal (ver enlace).

Acciones tomadas: Se ha aislado el servidor de la red interna como medida temporal.

3. Escalamiento automático basado en prioridad

Usamos un sistema de escalamiento en tres niveles:

  1. Prioridad baja/media: Se registran en un dashboard (Grafana) y se revisan en la reunión semanal de seguridad.
  2. Prioridad alta: Se envía una alerta por Slack/Teams al equipo de seguridad, con un SLA de 24 horas para revisión.
  3. Prioridad crítica: Se envía una alerta por Slack/Teams y SMS al responsable de guardia, con un SLA de 1 hora. Además, se abre automáticamente un ticket en Jira con prioridad "Highest".

4. Integración con herramientas de ticketing y respuesta

Para evitar trabajo manual, integramos el pipeline con:

Caso real: cómo detectamos y mitigamos CVE-2023-46604 en 3 horas

El 27 de octubre de 2023, Apache anunció CVE-2023-46604, una vulnerabilidad de Remote Code Execution en ActiveMQ con CVSS 9.8. Aquí está cómo nuestro sistema la manejó:

1. Detección (Hora 0:00)

2. Priorización (Hora 0:05)

3. Verificación (Hora 0:30)

4. Mitigación (Hora 1:30)

5. Parcheo definitivo (Hora 3:00)

Tiempo total desde la publicación de la CVE hasta la mitigación: 3 horas. Sin este sistema, el cliente habría tardado días en detectar y parchear la vulnerabilidad, tiempo suficiente para que un atacante explotara el RCE.

Errores comunes (y cómo evitarlos)

En nuestra experiencia implementando estos sistemas en PyMEs LATAM, estos son los errores más frecuentes:

1. Confiar solo en CVSS

CVSS es un buen punto de partida, pero no considera el contexto. Por ejemplo, una CVE con CVSS 10.0 en un software que no usas no es crítica. Siempre combina CVSS con EPSS y exposición de activos.

2. No actualizar el inventario de activos

Un sistema de monitoreo de CVE es tan bueno como su inventario de activos. Si no sabes qué software tienes, no podrás filtrar las CVE relevantes. Usa herramientas como osquery o inventory.sh para mantener el inventario actualizado automáticamente.

3. Escanear todo, todo el tiempo

Escaneos profundos como los de OpenVAS consumen muchos recursos y pueden afectar la disponibilidad de los sistemas. Enfócate en activos críticos y usa escaneos ligeros (como Nuclei) para el resto.

4. No integrar con el flujo de trabajo del equipo

Si las alertas no llegan al equipo correcto en el formato correcto, no servirán de nada. Asegúrate de integrar el pipeline con las herramientas que ya usa el equipo (Slack, Jira, etc.).

5. Ignorar las CVE "antiguas"

Muchos equipos se enfocan solo en las CVE nuevas, pero las antiguas siguen siendo explotadas. Por ejemplo, CVE-2017-5638 (Apache Struts) sigue siendo una de las vulnerabilidades más explotadas en 2023 (fuente: CISA KEV). Asegúrate de que tu sistema también monitoree CVE antiguas en tus activos.

6. No probar los parches antes de aplicarlos

Un parche mal aplicado puede romper una aplicación crítica. Siempre prueba los parches en un entorno de staging antes de aplicarlos en producción.

En CyberShield, hemos documentado estos errores (y cómo evitarlos) en nuestra base de conocimiento interna, que compartimos con nuestros clientes para que no repitan los mismos fallos.

Monitorear CVE en tiempo real no es magia: es un proceso sistemático que combina feeds de vulnerabilidades, priorización inteligente, herramientas open-source y un pipeline de alertas bien diseñado. Con la arquitectura que describimos aquí, un equipo pequeño puede reducir el ruido, enfocarse en lo crítico y responder a las amenazas en horas, no en días. La clave está en automatizar lo repetitivo, integrar las herramientas con los flujos de trabajo existentes y, sobre todo, no subestimar el poder de un inventario de activos actualizado.

En un entorno donde el tiempo entre la publicación de una CVE y su explotación se mide en horas, la diferencia entre un sistema efectivo y uno ineficaz puede ser la supervivencia de tu infraestructura. El equipo de CyberShield sigue refinando estos procesos para PyMEs LATAM, porque sabemos que la ciberseguridad no es un lujo: es una necesidad operativa.

Fuentes

  1. NIST National Vulnerability Database (NVD). (2023). NVD Annual Report 2023. https://nvd.nist.gov/general/news/annual-report-2023
  2. FIRST. (2023). Exploit Prediction Scoring System (EPSS) v3.0. https://www.first.org/epss/
  3. Kenna Security. (2021). The EPSS Model: A New Way to Measure Vulnerability Risk. https://www.kennasecurity.com/blog/the-epss-model-a-new-way-to-measure-vulnerability-risk/
  4. CISA. (2023). Known Exploited Vulnerabilities Catalog Annual Report. https://www.cisa.gov/sites/default/files/2023-11/KEV_Annual_Report_2023.pdf
  5. Apache Software Foundation. (2023). CVE-2023-46604 Security Advisory. https://activemq.apache.org/security-advisories.data/CVE-2023-46604-announcement.txt
  6. ProjectDiscovery. (2023). Nuclei Templates Repository. https://github.com/projectdiscovery/nuclei-templates
  7. Greenbone Networks. (2023). OpenVAS Documentation. https://www.openvas.org/
  8. NIST. (2020). NIST Special Publication 800-40 Revision 3: Guide to Enterprise Patch Management Technologies. https://csrc.nist.gov/publications/detail/sp/800-40/rev-3/final
  9. MITRE. (2023). Common Vulnerabilities and Exposures (CVE) List. https://cve.mitre.org/
  10. Exploit-DB. (2023). Offensive Security Exploit Database. https://www.exploit-db.com/