El Sistema de puntuación de vulnerabilidad común (CVSS) proporciona a los desarrolladores de software, evaluadores y profesionales de seguridad y TI un proceso estandarizado para evaluar vulnerabilidades. Puede usar el CVSS para evaluar el nivel de amenaza de cada vulnerabilidad y luego priorizar la mitigación en consecuencia.

Este artículo explica cómo funciona el CVSS, incluida una revisión de sus componentes, y describe la importancia de utilizar un proceso estandarizado para evaluar las vulnerabilidades.

¿Qué es una vulnerabilidad de software?

Una vulnerabilidad de software es cualquier debilidad en la base de código que puede ser explotada. Las vulnerabilidades pueden ser el resultado de una variedad de errores de codificación, que incluyen lógica defectuosa, mecanismos de validación inadecuados o falta de protección contra desbordamientos del búfer. Las API desprotegidas y los problemas aportados por bibliotecas de terceros también son fuentes comunes de vulnerabilidades.

Independientemente de la fuente de la vulnerabilidad, todos presentan algún riesgo para los usuarios y las organizaciones. Hasta que se descubren vulnerabilidades y parches , o se fijan en una actualización de software, los atacantes pueden explotar a dañar los sistemas, cortes de causa, robar datos, o implementar y malware propagación.

Cómo se informan las vulnerabilidades

La forma en que se informan las vulnerabilidades depende del tipo de software en el que se descubren y del tipo de vulnerabilidad que parecen ser. Además, la importancia percibida de la vulnerabilidad para el buscador es un factor en cómo se informa.

Por lo general, los investigadores de seguridad, los probadores de penetración y los propios usuarios encuentran e informan vulnerabilidades. Los investigadores de seguridad y los probadores de penetración pueden trabajar a tiempo completo para las organizaciones o pueden funcionar como autónomos que trabajan bajo un programa de recompensas de errores .

Cuando las vulnerabilidades son menores o el usuario puede solucionarlas fácilmente sin la ayuda del proveedor o de la comunidad, es más probable que los problemas no se notifiquen. Del mismo modo, si un investigador de sombrero negro o un ciberdelincuente descubre un problema grave , es posible que no se informe. En general, sin embargo, las vulnerabilidades se informan a las organizaciones o desarrolladores cuando se encuentran.

Si se encuentra una vulnerabilidad en el software propietario, se puede informar directamente al proveedor oa una organización de supervisión de terceros, como la organización de seguridad sin fines de lucro, MITRE . Si se encuentra uno en el software de código abierto, se puede informar a la comunidad en general, a los gerentes de proyecto o a un grupo de supervisión.

Cuando se informan vulnerabilidades a un grupo como MITRE, la organización asigna al problema un número de identificación y notifica al vendedor o al gerente del proyecto. La parte responsable tiene 30 a 90 días para desarrollar una solución o parchear el problema antes de que la información se haga pública. Esto reduce la posibilidad de que los atacantes puedan explotar la vulnerabilidad antes de que haya una solución disponible.

¿Qué es CVSS?

El Sistema de puntuación de vulnerabilidad común (CVSS) es un conjunto de estándares abiertos y gratuitos. Estos estándares son mantenidos por el Foro de Respuesta a Incidentes y Equipos de Seguridad (FIRST), una organización de seguridad sin fines de lucro. Los estándares usan una escala de 0.0 a 10.0, con 10.0 representando la mayor severidad. La versión más reciente lanzada es CVSS 3.1 , lanzada en junio de 2019.

Estos estándares se utilizan para ayudar a los investigadores de seguridad, usuarios de software y organizaciones de seguimiento de vulnerabilidades a medir e informar sobre la gravedad de las vulnerabilidades. CVSS también puede ayudar a los equipos de seguridad y desarrolladores a priorizar las amenazas y asignar recursos de manera efectiva.

Cómo funciona la puntuación CVSS

La puntuación CVSS se basa en una combinación de varios subconjuntos de puntuaciones. El único requisito para clasificar una vulnerabilidad con un CVSS es completar los componentes de puntaje base. Sin embargo, se recomienda que los reporteros también incluyan puntajes temporales y métricas ambientales para una evaluación más precisa.

El puntaje base del CVSS se evalúa utilizando una subpunta de explotabilidad, una subpunta de impacto y una subpunta de alcance. Estos tres contienen métricas para evaluar el alcance de los ataques, la importancia de los datos y sistemas afectados, y el subpunto del alcance evalúa el impacto del ataque en sistemas aparentemente no afectados.

Puntaje base

El puntaje base está destinado a representar las cualidades inherentes de una vulnerabilidad. Estas cualidades no deberían cambiar con el tiempo ni deberían depender de ambientes individuales. Para calcular el puntaje base, los reporteros deben calcular el compuesto de tres subpuntos.

Puntaje de explotabilidad

El subpunto de explotabilidad mide las cualidades de un componente vulnerable. Estas cualidades ayudan a los investigadores a definir con qué facilidad los atacantes pueden explotar una vulnerabilidad. Este subpunto se compone de las siguientes métricas:

Métrico Medición Escala (de menor a mayor)
Vector de ataque (AV) Qué fácil es para los atacantes acceder a una vulnerabilidad Físico (presencia)
Local (presencia)
Adyacente (redes conectadas)
Red (remota)
Complejidad de ataque (AC) ¿Qué requisitos previos son necesarios para la explotación? Bajo
alto
Privilegios requeridos (PR) El nivel de privilegios necesarios para explotar la vulnerabilidad. Ninguno
Bajo
Alto
Interacción del usuario (UI) Si la explotación requiere acciones de un usuario terciario Binario: ninguno o obligatorio

Puntaje de impacto

El subpunto de impacto mide los efectos que la explotación exitosa tiene en el componente vulnerable. Define cómo se ve afectado un componente en función del cambio de explotación previa a posterior. Este subpunto se compone de las siguientes métricas:

Métrico Medición Escala
Confidencialidad (C) Pérdida de confidencialidad de datos en el componente o sistemas más amplios. Ninguno
Bajo
Alto
Integridad (I) Pérdida de integridad de datos en todo el sistema de componentes. Ninguno
Bajo
Alto
Disponibilidad (A) Pérdida de disponibilidad del componente o sistemas conectados. Ninguno
Bajo
Alto

Alcance de la calificación

El puntaje del alcance mide qué impacto puede tener una vulnerabilidad en componentes distintos al afectado por la vulnerabilidad. Intenta dar cuenta del daño general del sistema que un atacante puede ejecutar explotando la vulnerabilidad reportada. Esta es una puntuación binaria con un alcance que se cambia o no cambia.

Puntuación temporal

La puntuación temporal mide aspectos de la vulnerabilidad de acuerdo con su estado actual como vulnerabilidad conocida. Este puntaje incluye las siguientes métricas:

Métrico Medición Escala (de menor a mayor)
Explotar código de madurez (E) La disponibilidad de herramientas o código que pueden utilizarse para explotar la vulnerabilidad. Prueba de concepto
funcional
no probados
de alta
No definido
Nivel de remediación (RL) El nivel de remediación actualmente disponible para los usuarios Arreglo oficial
Solución
temporal Arreglo temporal No
disponible
No definido
Informe de confianza (RC) El grado de precisión del informe de vulnerabilidad. Desconocido
Razonable
Confirmado
No definido

Métricas ambientales

Las métricas ambientales miden la gravedad de la vulnerabilidad ajustada por su impacto en los sistemas individuales . Estas métricas son personalizaciones de las métricas utilizadas para calcular la puntuación base. Las métricas ambientales son más útiles cuando se aplican internamente por equipos de seguridad que calculan la gravedad en relación con sus propios sistemas.

La importancia de la estandarización.

CVSS proporciona pautas integrales para evaluar vulnerabilidades. Este sistema de puntuación es utilizado por muchos y tiene una amplia gama de aplicaciones. Sin embargo, quizás el aspecto más importante del CVSS es que proporciona un estándar unificado para todas las partes relevantes. La estandarización es crucial al responder a los riesgos y priorizar la mitigación.

Los puntajes CVSS son más que un medio de estandarización. Estos puntajes tienen aplicaciones prácticas y pueden tener un impacto significativo para ayudar a los equipos de seguridad y desarrolladores de productos a priorizar sus esfuerzos. 

Dentro de una organización, los equipos de seguridad pueden usar los puntajes CVSS para asignar eficientemente recursos limitados. Estos recursos pueden incluir capacidades de monitoreo, tiempo dedicado a parches o incluso búsqueda de amenazas para determinar si una vulnerabilidad ya ha sido explotada. Esto es particularmente valioso para equipos pequeños que pueden no tener los recursos necesarios para abordar cada vulnerabilidad.

Los puntajes CVSS también pueden ser útiles para los investigadores de seguridad. Estos puntajes pueden ayudar a resaltar componentes que son especialmente vulnerables o tácticas y herramientas que son particularmente efectivas. Luego, los investigadores pueden aplicar este conocimiento al desarrollo de nuevas prácticas y herramientas de seguridad para ayudar a detectar y eliminar amenazas desde el principio. 

Finalmente, los puntajes de CVSS pueden ser informativos para los desarrolladores y evaluadores en la prevención de vulnerabilidades en primer lugar. Un análisis cuidadoso de las vulnerabilidades de alto rango puede ayudar a los equipos de desarrollo de software a priorizar las pruebas. También puede ayudar a resaltar áreas donde se pueden mejorar las mejores prácticas de seguridad de código. En lugar de esperar hasta que se descubra que su propio producto es vulnerable, los equipos pueden aprender de los errores de otros