CVE, CWE, CVSS

Cover Image for CVE, CWE, CVSS
Marmeus
Marmeus

Common Vulnerabilities & Exposures (CVE)

¿Qué es un CVE?

CVE, en español Enumeración de Vulnerabilidades Comunes o EVC, es un listado de vulnerabilidades & exposiciones de seguridad de la información, cuyo objetivo es proporcionar nombres para estos problemas que han ido surgiendo a lo largo de los años.

¿Qué es una vulnerabilidad?

Una vulnerabilidad es una error en un software que puede ser usado por un atacante para ganar acceso a un sistema o red.

¿Qué es una exposición?

Una exposición es un error en un software que permite acceso a información o capacidades de un sistema o red, las cuales pueden ayudar al atacante para acceder al sistema o red. Un ejemplo de exposición permitiría a un atacante obtener información de la víctima de forma secreta para su posterior venta.

¿Qué compone un CVE?

Los identificadores CVE, también conocidos como: “nombres CVE”, “números CVE”, “CVE-IDs” y “CVEs”, son únicos. Cada CVE incluye los siguientes elementos:

  • Número identificador
  • Breve descripción
  • Versiones afectadas

Nota: Para que se vea más claro las partes de un CVE, he usado como ejemplo la vulnerabilidad CVE-2017-0144, también conocida como “EternalBlue”.

Número identificador (CVE-YYYY-NNNN)

YYYY indica el año que se ha descubierto y NNNN representa el orden en que se descubren las vulnerabilidades.

Por ejemplo, el CVE-2017-0144 indicaría que se descubrió el año 2017 y que es la número 144, por lo que ese año se han descubierto/aceptado 143 vulnerabilidades anteriores a esta.

Una breve descripción

Las descripciones deberían ser únicas, proporcionando detalles relevantes para ayudar a los usuarios:

  1. A la hora de encontrar la entrada del CVE.
  2. Distinguir entre vulnerabilidades muy parecidas.

Además, deberían incluir detalles sobre el producto afectado:

  • Versiones afectadas
  • El tipo de vulnerabilidad
  • El impacto
  • El acceso necesario para explotar dicha vulnerabilidad
  • Las porciones de código y parámetros de entrada involucrados

En este último caso, como eternalblue funciona mediante la combinación de diferentes vulnerabilidades, no se muestra las partes de código implicadas o parámetros, pero si una explicación de cada una de estas referencias.

Hay que tener en cuenta que puede haber vulnerabilidades o exposiciones, cuyas descripciones carezcan de dicho contenido. Debido a que estas usan “referencias” a otras vulnerabilidades o exposiones y solo extraen la información relevante de cada referencia.

  • Referencias

Donde se añaden enlaces a artículos, informes y avisos de la vulnerabilidad.

Common Weakness Enumeration (CWE)

Definición debilidad

Tipo de defecto o fallo de diseño programación o configuración en un equipo o sistema.

Definición CWE

CWE, en castellano Enumeración de Debilidades Comunes, es una lista de debilidades comunes de software. La cual sirve como un lenguaje común, una regla de medición para las herramientas de ciberseguridad del software, y con una base para la identificación, mitigación y prevención de debilidades.

Ejemplos de algunos tipos de debilidades:

  • Buffer Overflows, Format Strings, Etc.
  • Strucure and Validity Problems
  • Common Special Element Manipulations
  • Channel and Path Errors
  • Handler Errors
  • User Interface Errors
  • Pathname Traversal and Equivalence Errors
  • Authentication Errors
  • Resource Management Errors
  • Insufficient Verification of Data
  • Code Evaluation and Injection
  • Randomness and Predictability

La lista de debilidades tiene varias vistas, tres concretamente, que dependen del criterio de búsqueda que se desea realizar a la hora:

  • Conceptos de búsqueda
  • Conceptos de desarrollo
  • Conceptos de arquitectura

Conceptos de Búsqueda

Esta vista esta organizada principalmente según abstracciones de comportamiento de software.

Interesados

  • Investigadores Academicos
  • Vulnerability Analysts
  • Assessment Vendors

Conceptos de Desarrollo

Esta vista organiza las debilidades alrededor de los conceptos que son frecuentemente usados o encontrados en el desarrollo del software. Proporciona una variedad de categorías cuya intención es simplificar la navegación y el mapeado.

Interesados

  • Desarrollados de Software: Usan las vistas para entender mejor el potencial de los fallos que pueden ocurrir en áreas específicas de su código.
  • Profesorado: Usan esta vista para enseñar a futuros desarrolladores sobre el tipo de fallos que se encuentran comúnmente dentro de unas partes especificas del código.

Conceptos de Arquitectura

Esta vista esta organizada de acuerdo con las tácticas arquitectónicas de seguridad comunes. El objetivo es ayudar a los arquitectos de software en identificar errores potenciales que se pueden cometer en el diseño del software.

Interesados

  • Diseñadores de software: Pueden encontrar esta vista útil debido a que las debilidades están organizadas en tácticas de seguridad conocidas, ayudando al diseñador en seguridad embebida a través del proceso de diseño, en vez del descubrimiento de debilidades después de la creación del software.
  • Profesorado: Pueden usar estas vistas como material cuando se habla de seguridad mediante el diseño o debilidades arquitectónicas y los tipos de fallos que se pueden cometer.

Common Vulnerability Scoring System (CVSS)

Definición CVSS

CVSS, en castellano Sistema de Puntiación de Vulnerabilidades Comunes, es un sistema de puntuación que captura las características principales de una vulnerabilidad y produce una puntuación numérica reflejando su impacto. Esta puntuación numérica puede ser traducida a una representación cualitativa (Por ejemplo: baja, media , alta y crítica) para ayudar a las organizaciones a evaluar y priorizar sus procesos de gestión de vulnerabilidades.

Para calcular la puntuación se emplea versión 3.1 de la Common Vulnerability Scoring System Calculator.

Bibliografía