CVSS V4.0: avanzando en la evaluación de vulnerabilidades
El CVSS (Common Vulnerability Scoring System) surge como un sistema de puntuación que proporciona un método estándar y abierto para estimar el impacto de las vulnerabilidades del software. Este sistema se estructura en cuatro conjuntos de métricas:
- el grupo Base captura las cualidades fundamentales de una vulnerabilidad que mantienen su constancia en el tiempo y en todos los contextos de usuario;
- el grupo Temporal refleja las características de una vulnerabilidad que evolucionan con el transcurso del tiempo;
- el grupo Ambiental se encarga de las características específicas de una vulnerabilidad ligadas a un usuario;
- las Suplementarias, son nuevas métricas que describen y miden atributos extrínsecos adicionales de una vulnerabilidad.
La función principal de CVSS es clasificar las vulnerabilidades mediante una puntuación que varía de cero (0) a diez (10), lo que permite determinar si representan un riesgo entre bajo y crítico.
CVSS 4.0 es la última evolución de este sistema de evaluación de vulnerabilidades en la cual se han incorporado métricas más refinadas, incluyendo nuevas categorías de impacto y los requisitos de ataque. Se simplificaron las cadenas vectoriales para una mejor comprensión y claridad en la puntuación, mejorando la precisión y adaptabilidad en la evaluación de amenazas.
Cambios respecto a las versiones previas
Los principales cambios respecto a la versión CVSS 3.1 son los siguientes:
- Las métricas temporales se renombraron como métricas de amenazas, dando lugar a métricas más claras y simplificadas. Además, se ha eliminado el nivel de remediación (RL) y el nivel de confianza del informe (RC), con el objetivo de reducir el score del CVSS-BTE (Base, Threat, Enviroment), ya que muchos resultados de las métricas base eran demasiados altos.
- Incluyendo la métrica de “requisitos de ataque” se ha buscado solucionar la problemática que ocasionaba el introducir los valores bajo y alto, dividiéndose en “complejidad de ataque” y “requisitos de ataque”.
- Se ha eliminado la métrica “alcance” (scope), ampliándose en su lugar las métricas de impacto en dos grupos:
- Confidencialidad (VC), Integridad (VI), y Disponibilidad (AV) de los sistemas vulnerables.
- Confidencialidad (VC), Integridad (VI), y Disponibilidad (AV) de los sistemas afectados.
- Por último, se ha introducido un nuevo grupo de métricas denominadas ’métricas complementarias’, con el objeto de transmitir atributos extrínsecos adicionales, que analizaremos a lo largo de este artículo.
- Ejemplo de actualización en las métricas base del CVSS 3.1 a la versión 4.0; Fuente. -
Guía de puntuación
Una vez que se han asignado valores a las métricas, la ecuación calcula la puntuación, generando una cadena de texto con dichos valores que es utilizada para comunicar la forma en que se generó cada puntuación. Por esta razón, el vector suele mostrarse junto a la calificación de la vulnerabilidad. Aunque pueda parecer un proceso complicado, existen varias herramientas que ayudan a calcular la puntuación de las vulnerabilidades, lo que hace que la clasificación sea mucho más sencilla, como la calculadora oficial de FIRST.
Una vez se hayan seleccionado los valores característicos de la vulnerabilidad que se esté analizando, la puntuación final aparecerá automáticamente. Además, en la parte inferior de la sección base, se podrá observar la cadena de vectores con los valores que se hayan elegido.
Métricas suplementarias
Como se ha mencionado, el nuevo grupo de “Métricas suplementarias” describe y mide atributos externos adicionales de una vulnerabilidad y se utiliza con el objetivo de complementar la información sobre una vulnerabilidad, proporcionando a las organizaciones la capacidad de definir la importancia y el significado sobre las mismas.
Es fundamental destacar que estas métricas no alteran la puntuación en CVSS v4, ya que sus valores se completan principalmente como información interna y no influyen en la puntuación de la vulnerabilidad. Sin embargo, estas métricas pueden emplearse para describir aspectos específicos de la vulnerabilidad.
Dada la naturaleza de estas nuevas métricas, se revisan brevemente cada una de ellas:
- Seguridad: permite identificar si es posible que la explotación de la vulnerabilidad puede tener un impacto en la seguridad del sistema.
- Automatizable: indica si es factible automatizar todo el proceso, empezando por la identificación y llegando a la explotación.
- Recuperación: esta métrica expone la habilidad del sistema para restablecerse tras sufrir un ataque, en cuanto a rendimiento y disponibilidad.
- Densidad de valor: detalla los activos que un atacante puede tomar bajo su control mediante una única explotación de la vulnerabilidad. La métrica cuenta con dos opciones: "difuso" y "concentrado". Su objetivo es determinar si al comprometer el equipo vulnerable se obtendrán accesos a recursos diversos o a múltiples activos.
- Esfuerzo de respuesta a la vulnerabilidad: ofrece detalles adicionales sobre los desafíos que las empresas afrontan al intentar proporcionar una respuesta inicial al impacto de las vulnerabilidades en su infraestructura. En otras palabras, proporciona información suplementaria sobre el grado de esfuerzo necesario para implementar medidas de mitigación y/o planificar la corrección de los problemas identificados.
- Urgencia del proveedor: esta métrica facilita información sobre la urgencia en atender dicha vulnerabilidad.
- Métricas suplementarias; Fuente -
Ejemplo de modificación sobre una vulnerabilidad
En este caso, se realizará un ejemplo de puntuación entre el CVSS 3.1 y el CVSS 4.0. Se trata de una vulnerabilidad de Node.js donde se aprecia una diferencia de puntuación de casi dos puntos, la cual es debida a la ampliación de métricas y su refinamiento.
Vulnerabilidad analizada: CVE-2022-32223.
- Descripción: Node.js es vulnerable al flujo de ejecución de secuestro: secuestro de DLL bajo ciertas condiciones en plataformas Windows. Esta vulnerabilidad se puede aprovechar si la víctima tiene las diferentes dependencias en una máquina con Windows. Es posible que un atacante coloque el archivo malicioso "providers.dll" en una variedad de rutas para explotar esta vulnerabilidad.
- Diferencia de puntuaciones entre CVSS 3.1 y CVSS 4.0: en la siguiente ilustración se puede observar cómo utilizando el sistema de puntuación CVSS v3.1 se obtiene una puntuación de 7.3, mientras que la puntuación CVSS v4.0 es de 5.4.
- Diferencia de puntuación entre v3.1 y 4.0. Fuente -
- Análisis en CVSS 3.1: parámetros y métricas definidos según la vulnerabilidad detectada para la versión CVSS 3.1:
- Ejemplo de resultado de puntuación para la vulnerabilidad CVE-2022-32223 utilizando CVSS v3.1. Fuente -
En cambio, en la nueva versión 4.0 se observa que se mantienen algunos parámetros, como el vector de ataque o la complejidad del ataque, pero también varían otros parámetros, como requerimientos de ataque, que no se comparten con la versión 3.0 y de ahí que se obtengan resultados de puntuación diferentes.
- Ejemplo de resultado de puntuación para la vulnerabilidad CVE-2022-32223 utilizando CVSS v4.0. Fuente -
Conclusiones
CVSS V4.0 es, sin duda, un gran avance respecto al CVSS V3.1. Como ocurrió con la evolución de la versión 2 a la 3, el tiempo de implementación suele ser bastante largo.
Las nuevas métricas suplementarias son una incorporación interesante para la infraestructura y las vulnerabilidades de tipo OT, pero cabe destacar que no afectan a la puntuación de los resultados, su uso podría darse para remarcar características concretas de una vulnerabilidad.