Sistema de puntuación de vulnerabilidad común

El Common Vulnerability Scoring System ( CVSS ) es un estándar abierto que se utiliza para calcular puntuaciones cuantitativas de vulnerabilidades de seguridad en un sistema informático, generalmente para comprender la prioridad de solucionarlo.

Las puntuaciones se calculan mediante fórmulas especiales basadas en varias métricas y se aproximan a la facilidad de implementación del exploit y su impacto en el sistema informático. El resultado del cálculo son tres puntuaciones numéricas ( Base Score , Temporal Score y Environmental Score ), cada una de las cuales puede tomar un valor de 0 a 10, donde 10 expresa la máxima peligrosidad.

La última versión del estándar es la 3.1, lanzada en junio de 2019. Por diversas razones, algunas empresas utilizan la versión antigua del estándar CVSSv2, otras utilizan el nuevo CVSSv3 y otras aún combinan el uso de diferentes versiones.

Historia

La investigación realizada en 2003-2004 por el Consejo Asesor de Infraestructura Nacional ( NIAC  ) condujo a la primera versión de CVSS en febrero de 2005. El objetivo inicial era proporcionar métodos abiertos y universales para evaluar la gravedad de las vulnerabilidades del software. En abril de 2005, NIAC lanzó el sitio web Forum of Incident Response and Security Teams (FIRST), donde se publicó la primera versión del estándar.

La primera versión del estándar no estuvo sujeta a revisión por pares por parte de terceros, por lo que los comentarios reales de las empresas que se especializaron en el desarrollo de software y trataron de usarlo revelaron muchos problemas graves, en relación con los cuales se lanzó la segunda versión del estándar en junio. 2007. Un mayor desarrollo condujo al lanzamiento de la tercera versión del estándar en junio de 2015.

Destacados

CVSS intenta evaluar la vulnerabilidad desde diferentes ángulos [1] :

  1. Evaluación cualitativa de la vulnerabilidad, que no depende del tiempo ni del entorno del software, expresada en términos de métricas base ( Base metrics ):
    1. El vector de acceso (AV) muestra cómo se puede introducir la vulnerabilidad.
    2. Complejidad de acceso (AC) indica qué tan fácil o difícil es explotar una vulnerabilidad dada.
    3. La autenticación (Au) estima el número de autenticaciones que debe realizar un atacante antes de explotar una vulnerabilidad.
    4. El impacto de la vulnerabilidad en el sistema informático ( Impact metrics ):
      1. La confidencialidad (C) describe el impacto en la privacidad de los datos procesados ​​por el sistema.
      2. La integridad (I) describe el impacto en la integridad de los datos de un sistema informático.
      3. Disponibilidad (A) describe el impacto de una vulnerabilidad en la disponibilidad de un sistema informático. Por ejemplo, los ataques que afectan el rendimiento de la red o consumen tiempo de CPU afectan la disponibilidad del sistema.
  2. Métricas temporales , que tienen en cuenta la reacción del fabricante de un producto vulnerable, que cambian desde el momento en que se descubre una vulnerabilidad hasta el momento en que se soluciona:
    1. La capacidad de explotación (E) muestra el estado actual de los métodos de explotación de vulnerabilidades, incluidos los automatizados.
    2. El nivel de remediación (RL) es un número de corrección que le permite suavizar la estimación de tiempo a medida que las correcciones para una vulnerabilidad están disponibles.
    3. El informe de confianza (RC) le permite medir el nivel de confianza en la existencia de una vulnerabilidad y la confiabilidad de sus datos técnicos.
  3. Métricas de vulnerabilidad que tienen en cuenta los requisitos de seguridad específicos del sistema en el que se ejecuta el producto vulnerable ( Métricas ambientales ):
    1. Potencial de daño colateral (CDP) estima el daño potencial a una empresa a partir de una vulnerabilidad dada, como pérdida potencial, daño físico al equipo, etc.
    2. Target Distribution (TD) estima la proporción de sistemas vulnerables en una red informática.
    3. El modificador de puntuación secundaria de impacto incluye números de corrección de confidencialidad (CR), integridad (IR) y disponibilidad (AR) que le permiten ajustar las métricas de impacto y la puntuación final a los requisitos de seguridad específicos de un entorno en particular.

Las métricas para el cálculo se toman de las tablas, las cuales brindan su descripción, valores cualitativos y cuantitativos. La siguiente tabla muestra las métricas introducidas desde la segunda versión del estándar [1] .

Tabla dinámica con métricas CVSSv2
Calificación Métrica Descripción
puntaje base Vector de acceso (AV)

Expresión cualitativa

expresión cuantitativa
Explicación
locales (L) 0.395 El atacante debe tener acceso físico al sistema o tener una cuenta local.
Red adyacente (A) 0.646 El atacante debe tener acceso al canal de transmisión o al dominio de colisión .
Red (N) una Interfaz vulnerable que se ejecuta en la capa de red o en una capa superior del modelo OSI
Complejidad de acceso (AC)
Alto (H) 0.35 Hay algunas condiciones especiales para atacar, como una condición de carrera en el sistema, o se cumplen algunos requisitos de ingeniería social , que pueden ser notados por un especialista informado.
Medio (M) 0,61 Existen algunos requisitos adicionales para el ataque, por ejemplo, se define una fuente de ataque específica o existe un requisito para una configuración especial para el sistema atacado, diferente al estándar.
Bajo (L) 0.71 No hay requisitos especiales para explotar la vulnerabilidad.
Autenticación (AU)
Múltiple (M) 0,45 Un atacante debe autenticarse al menos dos veces para aprovechar la vulnerabilidad, incluso si se utilizan las mismas credenciales.
Soltero (S) 0,56 Un atacante debe autenticarse una vez para aprovechar la vulnerabilidad.
Ninguno (N) 0.704 No se requiere autenticación para explotar la vulnerabilidad
Confidencialidad (C)
Ninguno (N) 0 Sin impacto en la privacidad del sistema
Parcial (P) 0.275 Solo una cantidad limitada de datos se divulga ampliamente
Completa (C) 0.660 Divulgación completa de todos los datos del sistema
integridad (yo)
Ninguno (N) 0 Sin impacto en la integridad del sistema
Parcial (P) 0.275 La cantidad de datos del sistema que se pueden cambiar está claramente limitada
Completa (C) 0.660 El atacante puede cambiar cualquier dato del sistema.
Disponibilidad (A)
Ninguno (N) 0 Sin impacto en la disponibilidad del sistema
Parcial (P) 0.275 Hay una degradación parcial del rendimiento.
Completa (C) 0.660 Pérdida completa del recurso atacado
Puntuación temporal Explotabilidad (E)
No probado (U) 0.85 El código de explotación no está disponible o la explotación es teórica
Prueba de concepto (P) 0.9 Hay disponible un código de explotación de demostración, pero no es universal y cubre solo uno o unos pocos casos especiales.
Funcional (F) 0,95 El código de explotación está disponible y funciona en la mayoría de las situaciones donde la vulnerabilidad está presente
Alto (H) 1.0 El código de explotación está disponible y se puede introducir en el sistema de forma automática, como en forma de gusano o virus .
No definido (ND) 1.0 Ignorar esta métrica
Nivel de remediación (RL)
Solución oficial (O) 0.87 El proveedor ofrece una solución completa a la vulnerabilidad, ya sea como una actualización o como un parche .
Solución temporal (T) 0.90 El proveedor tiene una solución alternativa que mitiga parcialmente el impacto de la vulnerabilidad.
solución alternativa (W) 0,95 Solución no oficial o recurso de terceros disponible
No disponible (U) 1.0 No hay solución disponible o no se puede aplicar la solución propuesta. Por lo general, una vulnerabilidad permanece en este estado inmediatamente después del descubrimiento.
No definido (ND) 1.0 Ignorar esta métrica
Informe de confianza (RC)
Sin confirmar (UC) 0.9 Una fuente no confirmada, o varias fuentes, pero no describen la vulnerabilidad más o menos de la misma manera. Incluyendo rumores sobre vulnerabilidad
No corroborado (UR) 0,95 Varias fuentes que generalmente describen la vulnerabilidad de la misma manera. Los pequeños desacuerdos son aceptables
Confirmado (C) 1.0 La vulnerabilidad es confirmada tanto por el proveedor como por el fabricante del producto afectado
No definido (ND) 1.0 Ignorar esta métrica
Puntaje ambiental Potencial de daños colaterales (CDP)
Ninguno (N) 0 La vulnerabilidad no conlleva pérdidas para los negocios
Bajo (L) 0.1 Pérdida menor de ingresos o rendimiento del sistema
Bajo Medio (LM) 0.3 daño moderado
Medio Alto (MH) 0.4 Daño significativo
Alto (H) 0.5 daño catastrófico
No definido (ND) 0 Ignorar esta métrica
Distribución objetivo (TD)
Ninguno (N) 0 Los sistemas de destino no existen, o existen en el laboratorio.
Bajo (L) 0.25 1-25% del sistema afectado
Medio (M) 0.75 26-75% del sistema afectado
Alto (H) 1.0 76-100% sistema afectado
No definido (ND) 1.0 Ignorar esta métrica
Modificador de subpuntuación de impacto
Bajo (L) 0.5 Es probable que la pérdida de (confidencialidad (CR) / integridad (IR) / disponibilidad (AR)) solo tenga un impacto limitado en la organización
Medio (M) 1.0 La pérdida de (Confidencialidad (CR) / Integridad (IR) / Disponibilidad (AR)) puede afectar seriamente a una organización
Alto (H) 1.51 La pérdida de (confidencialidad (CR) / integridad (IR) / disponibilidad (AR)) puede ser desastrosa para una organización
No definido (ND) 1.0 Ignorar esta métrica

Fórmulas para calcular en CVSSv2

La puntuación se calcula utilizando las siguientes fórmulas. Los valores de los parámetros se seleccionan de la tabla anterior. Los números fraccionarios resultantes deben redondearse al primer decimal, que se expresa en términos de la siguiente función .

Las siguientes fórmulas se utilizan para el cálculo .

Las siguientes fórmulas se utilizan para el cálculo . se calcula usando la misma fórmula que , pero necesita sustituir .

Ejemplo

En 2002, se descubrió una vulnerabilidad CVE -2002-0392 en la aplicación del servidor Apache , que condujo a la corrupción de la memoria del servidor durante la codificación fragmentada de las solicitudes. Sabiendo esto, un atacante puede crear un exploit exitoso que, en algunos casos, puede conducir a una denegación de servicio del servidor y, en otros, a la ejecución de código arbitrario con los privilegios de una aplicación de servidor.

Usando métricas CVSS para calcular la puntuación base , el problema se puede describir de la siguiente manera:

Por lo tanto, los parámetros para calcular la calificación base pueden expresarse mediante la siguiente cadena de texto, en la práctica llamada vector : AV:N/AC:L/Au:N/C:N/I:N/A:C

Dado que la Fundación Apache ha confirmado la vulnerabilidad para las versiones de servidor 1.3 y 2.0, el vector para Temporal Score será:E:F/RL:O/RC:C

El vector para el puntaje ambiental depende de qué es más importante para la empresa que usa el servidor Apache y qué capacidad tiene. Para este ejemplo, deje que el vector sea así: CDP:H/TD:H/CR:M/IR:M/AR:H

Sustituyendo los valores cuantitativos de los indicadores de la tabla, obtenemos los siguientes resultados.

Dadas las puntuaciones tan altas para esta vulnerabilidad, deberíamos actualizar nuestros servidores Apache al menos a la versión 2.1 lo antes posible.

Crítica y comparación de versiones de la norma

Varios proveedores de software no están satisfechos con CVSSv2:

Para abordar algunas de estas críticas, el desarrollo del estándar CVSSv3 comenzó en 2012 y la versión final se lanzó en junio de 2015. Se han cambiado, agregado y eliminado varios indicadores, y las fórmulas se han corregido ligeramente manteniendo el rango de calificación de 0 a 10.

Las principales diferencias entre CVSSv3 y CVSSv2 son las siguientes:

En junio de 2019, se lanzó la versión 3.1 [4] . Esta versión no introduce nuevos cambios al estándar, sino que solo detalla la descripción de algunas métricas para una mejor comprensión.

Aplicación

Muchas organizaciones han adoptado varias versiones de CVSS como método principal para cuantificar las vulnerabilidades. Estos son solo algunos ejemplos:

Notas

  1. 1 2 Una guía completa para el sistema de puntuación de vulnerabilidad común  . www.first.org . Foro de Equipos de Seguridad y Respuesta a Incidentes (junio de 2007). Consultado el 6 de mayo de 2021. Archivado desde el original el 8 de marzo de 2022.
  2. CVSSv2 Deficiencias, fallas y formulación de fallas . www.riskbasedsecurity.com . Consultado el 7 de mayo de 2021. Archivado desde el original el 7 de mayo de 2021.
  3. Uso de Common Vulnerability Scoring System (CVSS) por Oracle . www.oracle.com . Consultado el 7 de mayo de 2021. Archivado desde el original el 6 de mayo de 2021.
  4. Common Vulnerability Scoring System versión 3.1:  Documento de especificación . www.first.org . Foro de Equipos de Seguridad y Respuesta a Incidentes (junio 2019). Consultado el 7 de mayo de 2021. Archivado desde el original el 8 de marzo de 2022.
  5. Base de datos de vulnerabilidad nacional: sitio oficial . nvd.nist.gov . Consultado el 7 de mayo de 2021. Archivado desde el original el 6 de abril de 2018.
  6. Manión, art. Gravedad de la vulnerabilidad mediante  CVSS . insights.sei.cmu.edu (12 de abril de 2012). Consultado el 7 de mayo de 2021. Archivado desde el original el 7 de mayo de 2021.

Enlaces