Priorizar CVEs sin fiarse solo del CVSS
Un CVSS de 9.8 puede ser irrelevante y uno de 6.5 una emergencia. Como cruzo NVD, el catalogo KEV de CISA y la probabilidad de EPSS para decidir que vulnerabilidad se parchea primero, y como lo automatice para que no dependa de que yo me acuerde de mirarlo.
- cve
- vulnerabilidades
- nvd
- epss
- gestion-de-riesgo
El error que mas veces he visto, y que cometi yo tambien al principio, es ordenar una lista de CVEs por CVSS y llamar a eso priorizacion. El CVSS mide gravedad tecnica en abstracto. No dice si alguien esta explotando ese fallo ahora mismo. Son preguntas distintas, y tratarlas como si fueran la misma hace que se gasten semanas en un CVE de 9.8 que nadie usa mientras uno de 6.5 se explota activamente.
Tres fuentes, tres preguntas distintas
Cada una de las siguientes responde algo que las otras dos no saben:
- NVD responde que es el fallo: CVSS, CWE, y la version que lo corrige.
- CISA KEV responde si se esta explotando de verdad, ahora mismo, confirmado.
- EPSS responde la probabilidad de que se explote en los proximos 30 dias, aunque todavia no este en KEV.
Ninguna sustituye a las otras dos. NVD sin las otras da listas larguisimas sin orden real. KEV solo es binario: dentro o fuera. EPSS solo es un numero sin contexto de que corrige.
El criterio que aplico
Con las tres cruzadas, el orden queda asi, sin excepciones:
- Si esta en KEV, va primero. Da igual el CVSS.
- Si no esta en KEV pero el EPSS es alto, va despues. Es la senal de que empieza a explotarse.
- CVSS alto con EPSS bajo y fuera de KEV puede esperar al ciclo normal de parcheo.
La sorpresa la primera vez que aplico esto sobre un tenant real siempre es la misma: la lista final no se parece nada a la que sale de ordenar solo por CVSS.
Por que lo automatice
Cruzar tres fuentes a mano cada mes no escala, y es justo el tipo de tarea que se salta cuando hay prisa, que es precisamente cuando mas falta hace. Lo integre en el generador de informes que uso para los clientes: cada CVE que aparece se enriquece automaticamente contra las tres fuentes antes de entrar en el documento, con cache en disco para no volver a preguntar por un CVE que ya se consulto. El codigo esta publicado si a alguien le sirve de referencia.
Lo que ninguna de las tres sabe
Ni NVD, ni KEV, ni EPSS saben si el activo afectado es un portatil de pruebas o un controlador de dominio. Eso solo lo sabe quien conoce la red. La automatizacion ordena por senal tecnica; el contexto de negocio lo sigue poniendo una persona, y ahi es donde de verdad se decide que se parchea esta semana y que espera al mes que viene.
Relacionado: automaticé la vigilancia del propio catálogo KEV para no depender de acordarme de consultarlo.