Nota: este artículo trata sobre la versión 1 de la puntuación EPSS. Desde entonces, se ha publicado una versión 4 con cambios importantes. Para obtener más información, consulte nuestro artículo actualizado sobre EPSS v4.
Aunque la puntuación CVSS (Common Vulnerability Scoring System) se utiliza ampliamente para evaluar la importancia de una vulnerabilidad informática, aparecen regularmente nuevos métodos para estudiar el mismo problema desde otro ángulo. Este artículo trata sobre una puntuación llamada EPSS, por «Exploit Prediction Scoring System», que indica la probabilidad de que una vulnerabilidad sea explotada.
EPSS: un método creado en 2019 para destacar las vulnerabilidades que son a la vez graves y explotadas
La puntuación EPSS (Exploit Prediction Scoring System) se creó en 2019 durante una presentación en la Black Hat (una famosa conferencia sobre seguridad informática).
Este proyecto, iniciado por los investigadores Jay Jacobs, Sasha Romanosky, Benjamin Edwards, Michael Roytman e Idris Adjerid, propone aportar una solución a una pregunta frecuente en la gestión de vulnerabilidades: ¿cómo priorizar las vulnerabilidades presentes en un sistema de información?
¿Qué problema busca resolver el Exploit Prediction Scoring System?
En su presentación en la Black Hat, los creadores del EPSS parten de varias observaciones del mercado, a saber:
- Se publican demasiadas vulnerabilidades en comparación con la cantidad de vulnerabilidades que pueden ser tratadas por los equipos de seguridad;
- Menos del 5% de las vulnerabilidades son realmente explotadas por atacantes.
Destacan especialmente las conclusiones de una presentación de Luca Allodi y Fabio Massacci en 2013, que indican que:
- Corregir las vulnerabilidades de nivel alto o medio que disponen de kits de ataque automáticos mejora el nivel de seguridad en un 62,81%;
- Corregir las vulnerabilidades de nivel alto o medio que disponen de demostraciones de kits de ataque mejora el nivel de seguridad en un 19,64%;
- Corregir las vulnerabilidades de nivel alto o medio mejora el nivel de seguridad en un 3,2%.
¿Qué solución propone el Exploit Prediction Scoring System?
Los creadores de la puntuación EPSS proponen calcular, para cada vulnerabilidad, la probabilidad de que sea realmente utilizada en un ciberataque en un plazo de 12 meses.
Esta probabilidad se calcula a partir de las características de cada vulnerabilidad y de un modelo de predicción basado en 16 variables, entre las que se incluyen: la existencia de un kit de ataque funcional, el fabricante del producto afectado (Microsoft, Adobe, HP, Apache, IBM, Apple, Google), el tipo de vulnerabilidad (corrupción de memoria, ejecución de código, denegación de servicio), la posibilidad de explotación remota o local, y el número de referencias asociadas a la vulnerabilidad.
A partir de estas características y de un modelo entrenado con el conjunto de CVE publicadas en la base de datos de MITRE, una fórmula matemática (log-odds) permite calcular la probabilidad de explotación de cada vulnerabilidad.
Cabe señalar que estas características pueden variar con el tiempo. Por ejemplo, los tipos de exploits disponibles para una CVE pueden cambiar según el interés de los atacantes. Esto hace que la puntuación EPSS pueda evolucionar. Por tanto, el EPSS es una puntuación dinámica, mientras que la puntuación CVSSv3.1 se utiliza más bien como una puntuación estática (aunque esto no es del todo exacto, ya que el estándar CVSSv3.1 contempla un criterio «temporal» que puede cambiar, pero rara vez se utiliza en el mercado, salvo por herramientas como Cyberwatch Vulnerability Manager).
Caso práctico: cálculo del Exploit Prediction Scoring System para la CVE-2019-0708
El artículo que presenta el EPSS ofrece un ejemplo con la CVE-2019-0708 (BlueKeep).
La CVE-2019-0708 (BlueKeep) tiene una puntuación CVSSv3.1 de 9,8/10 y una puntuación EPSS del 95,2%.
El Exploit Prediction Scoring System permite calcular la probabilidad de explotación de una vulnerabilidad y destaca aquellas con mayor probabilidad de ser utilizadas en el mercado.
La principal ventaja de la puntuación EPSS es que la diferencia de valores generados entre dos CVE puede ser muy amplia. Visualmente, resulta bastante sencillo distinguir las vulnerabilidades que requieren atención inmediata.
En una muestra de vulnerabilidades vinculadas a un entorno informático de demostración, es posible trazar la distribución de las CVE en función de su puntuación CVSSv3.1 base y su puntuación EPSS.
La distribución de las vulnerabilidades según su puntuación EPSS revela inmediatamente una tendencia, mientras que un análisis limitado a la puntuación CVSSv3.1 base no permite identificar vulnerabilidades específicas.
La puntuación EPSS ofrece un resultado similar al uso completo del estándar CVSSv3.1 con el criterio temporal Exploit Code Maturity.
Comparativa entre el enfoque de puntuación EPSS y la puntuación CVSSv3.1 con Exploit Code Maturity
Dado que la puntuación EPSS proporciona información sobre la explotabilidad de una vulnerabilidad, ofrece esencialmente datos similares a los obtenidos mediante el uso completo del estándar CVSSv3.1 al considerar el criterio temporal, especialmente el de «Exploit Code Maturity».
Este criterio, denominado «E» en el estándar CVSSv3.1, permite indicar el nivel de madurez de los kits de ataque disponibles para una vulnerabilidad. Las vulnerabilidades con un nivel de Exploit Code Maturity marcado como High son las más peligrosas, ya que indican que el kit de ataque es muy sencillo de utilizar.
Un criterio Exploit Code Maturity en nivel Functional indica que el kit está disponible pero requiere cierto esfuerzo por parte del atacante. Por otro lado, un valor Proof-of-Concept indica que el kit existe, pero solo funciona si el atacante realiza un esfuerzo considerable para adaptar el código a su objetivo.
Por último, un criterio con valor Unproven indica que, por el momento, no se conoce ningún kit de ataque.
Al tener en cuenta este criterio y analizar las vulnerabilidades de un parque informático convencional, resulta evidente que filtrar aquellas con una puntuación base crítica (CVSSv3.1 igual o superior a 9 sobre 10) y un nivel de madurez del código de explotación (Exploit Code Maturity) alto, ofrece un análisis muy pertinente de las acciones prioritarias a realizar.
Este enfoque demuestra, en particular, que el 2,32% de las vulnerabilidades presentan tanto una puntuación CVSSv3.1 crítica como un nivel de madurez del código de explotación alto.
Análisis detallado de las diferencias de resultados entre EPSS y CVSSv3.1 con Exploit Code Maturity
Comparemos ahora los resultados de ambos enfoques CVE por CVE, seleccionando el top 10 de cada método en un conjunto de demostración representativo de los sistemas de información del mercado.
Observamos que:
- Algunas CVE aparecen en ambas listas, como CVE-2022-22965 (Spring4Shell), CVE-2021-44228 (Log4Shell), CVE-2019-11043 (vulnerabilidad en PHP FPM), CVE-2020-0796 (SMBGhost), CVE-2019-2725 (vulnerabilidad en Oracle WebLogic) y CVE-2019-0708 (BlueKeep);
- El enfoque basado únicamente en los criterios CVSSv3.1 destaca la CVE-2020-1472 (Zerologon), la CVE-2018-17456 (vulnerabilidad en Git), la CVE-2021-31166 (vulnerabilidad en Microsoft Windows HTTP.sys) y la CVE-2020-9850 (vulnerabilidad en productos Apple, especialmente Safari);
- El enfoque basado en la puntuación EPSS incluye además la CVE-2021-40438 (vulnerabilidad en el componente Apache HTTP Server mod_proxy), la CVE-2017-8464 (vulnerabilidad en Microsoft Windows), la CVE-2017-0144 (una vulnerabilidad de la serie EternalBlue en Microsoft Windows) y la CVE-2017-0037 (vulnerabilidad en Microsoft Windows Internet Explorer y Edge).
En ambos casos, ciertas vulnerabilidades significativas quedan fuera: el método del "Top 10 de CVSSv3.1 crítico con madurez de código de explotación alta" no incluye la CVE-2017-0144 (parte de la serie EternalBlue), mientras que el método del "Top 10 de puntuaciones EPSS" no incluye la CVE-2020-1472 (Zerologon).
Por lo tanto, ningún método es perfecto y ambos enfoques son, de hecho, complementarios.
¿Cuáles son las ventajas y desventajas del Exploit Prediction Scoring System?
La puntuación EPSS está disponible con mayor rapidez que la puntuación CVSS del NVD, lo que proporciona un primer nivel de análisis para una CVE reciente: ventaja del EPSS
La puntuación CVSS del NVD se basa en la capacidad de evaluación de los equipos del NIST. En la práctica, a veces la puntuación CVSS no es proporcionada por el NVD hasta varios días después de la publicación de una CVE.
Por el contrario, la puntuación EPSS se calcula a partir de las fórmulas mencionadas anteriormente en este artículo. Como resultado, la puntuación EPSS se obtiene con gran rapidez y ofrece una primera visión general de la importancia de una nueva vulnerabilidad.
Un ejemplo que ilustra muy bien la situación es la CVE-2022-20477, publicada el 13 de diciembre de 2022, cuya puntuación CVSS aún no estaba disponible en el NVD el 14 de diciembre de 2022 a las 13:00 (hora de París), pero que ya contaba con una puntuación EPSS del 11,9%.
La puntuación EPSS permite identificar tendencias claras en el sistema de información: ventaja del EPSS
La puntuación EPSS varía significativamente de una CVE a otra y permite destacar tendencias en el sistema de información al distribuir las CVE con mayor puntuación EPSS en un parque informático determinado.
El Exploit Prediction Scoring System resalta las vulnerabilidades de ciertos fabricantes, a diferencia del CVSS, que es más neutral: ventaja del CVSS
La fórmula de cálculo de la puntuación EPSS destaca, por su propia construcción, las vulnerabilidades relacionadas con productos de Microsoft, IBM, Adobe, HP, Apache, Google y Apple.
En consecuencia, cuando una vulnerabilidad afecta a una tecnología distinta a la de estos fabricantes, suele obtener una puntuación EPSS bastante baja.
Este es el caso de la CVE-2022-42475, que afecta a FortiOS y que, a pesar de tener una puntuación EPSS baja, es realmente peligrosa y está siendo explotada activamente.
El Exploit Prediction Scoring System es menos conocido y reconocido por el momento que la puntuación CVSS: ventaja del CVSS
La puntuación EPSS es reciente y, por tanto, sigue siendo un proyecto en evolución y construcción. Este método aún no cuenta con un consenso general, principalmente debido a la falta de neutralidad de sus creadores.
Jonathan Spring, miembro del CERT/CC, señala en su artículo «Probably Don't Rely on EPSS Yet» que el modelo fue entrenado a partir de datos procedentes de sensores de AlienVault o Fortinet, lo que genera un sesgo, y que las vulnerabilidades mencionadas como activamente explotadas en la base CISA KEV (CISA Known Exploited Vulnerabilities) presentan puntuaciones EPSS muy bajas cuando afectan al Internet de las Cosas.
Por el contrario, la puntuación CVSS es ampliamente utilizada por la mayoría de los auditores del mercado de la seguridad informática y por la gran mayoría del software de la industria de gestión de vulnerabilidades.
En conclusión, el EPSS y el CVSS son métodos complementarios y uno no puede reemplazar al otro bajo ninguna circunstancia.
Un análisis completo de la situación demuestra que la puntuación EPSS no es una fórmula mágica capaz de sustituir al CVSS, sino más bien un método complementario para analizar las vulnerabilidades de un sistema de información que puede resultar útil en determinadas situaciones.
Cuando una vulnerabilidad especialmente reciente aún no ha sido evaluada por el NVD y no dispone de puntuación CVSS, el EPSS resulta muy útil para obtener una visión general de la peligrosidad de la CVE.
Asimismo, puede ser pertinente analizar los activos en función de la puntuación EPSS máxima detectada en ellos, con el fin de identificar tendencias en el sistema de información.
Sin embargo, una puntuación CVSSv3.1 bien utilizada, incluyendo los criterios temporales e incluso los ambientales, permite priorizar los riesgos de manera igualmente eficaz con un enfoque racional y reconocido por todo el mercado.
Además, los analistas que deseen utilizar métodos complementarios a la puntuación CVSS pueden consultar el método MITRE ATT&CK, que analiza los efectos combinados de varias CVE, un método que actualmente cuenta con el reconocimiento del mercado.
Por último, aunque el CVSSv3.1 es objeto de críticas frecuentes, no hay que olvidar que estas se refieren exclusivamente a la puntuación base del CVSSv3.1, y que al utilizar el estándar CVSSv3.1 completo con las puntuaciones temporales y ambientales, la mayoría de sus defectos desaparecen.
¿Cómo obtener el Exploit Prediction Scoring System de sus vulnerabilidades?
La solución de gestión de vulnerabilidades de Cyberwatch incluye una enciclopedia de vulnerabilidades con todas las puntuaciones EPSS disponibles y permite generar fácilmente informes centrados en esta métrica.
Puede ponerse en contacto con nosotros a través de nuestro formulario de contacto para solicitar una demostración.
