Ir ao contido

Que é un CWE?

Referencia oficial

https://cwe.mitre.org

CWE significa Common Weakness Enumeration.
É un catálogo estandarizado de debilidades de software e hardware que poden levar a vulnerabilidades de seguridade.


Obxectivo de CWE

O propósito principal do proxecto CWE é identificar, describir e clasificar os tipos de erros de deseño ou programación que causan vulnerabilidades.
A diferenza do CVE (que identifica unha vulnerabilidade específica), o CWE define o patrón de debilidade subxacente que a provoca.


CVE vs CWE vs CVSS

Sistema Significado Que mide / representa Exemplo
CVE Common Vulnerabilities and Exposures Unha vulnerabilidade concreta e coñecida CVE-2011-2523
CWE Common Weakness Enumeration A causa raíz ou tipo de erro que permite esa vulnerabilidade CWE-78 (Command Injection)
CVSS Common Vulnerability Scoring System A gravidade ou impacto cuantitativo da vulnerabilidade CVSS 10.0 (Crítico)

Resumo

  • CVE → “Que vulnerabilidade é”.
  • CWE → “Por que ocorre”.
  • CVSS → “Canto de grave é”.
Fig. Tríada CVE, CWE, CVSS


Exemplos comúns de CWE

ID CWE Nome da debilidade Descrición resumida
CWE-79 Cross-Site Scripting (XSS) Inserción de código JavaScript malicioso en aplicacións web
CWE-89 SQL Injection Inxección de comandos SQL a través de entradas non validadas
CWE-120 Buffer Overflow Escritura de datos máis alá dos límites dun búfer
CWE-287 Improper Authentication Fallos no proceso de autenticación de usuarios
CWE-502 Deserialization of Untrusted Data Execución de código malicioso mediante obxectos deserializados
CWE-787 Out-of-bounds Write Escritura de memoria fóra dos límites asignados
CWE-22 Path Traversal Acceso a ficheiros ou directorios restrinxidos manipulando rutas
CWE-416 Use After Free Uso de memoria liberada, potencial execución de código
CWE-306 Missing Authentication for Critical Function Falta de autenticación nunha función sensible
CWE-200 Information Exposure Exposición non intencionada de información sensible

Relación CVE ↔ CWE

Cada entrada de CVE adoita referenciar un ou máis CWE para indicar a natureza técnica da vulnerabilidade.

Exemplo práctico:

CVE-2011-2523 → CWE-78 (Improper Neutralization of Special Elements used in an OS Command)

Isto significa que a vulnerabilidade do vsftpd 2.3.4 foi causada por un erro de tipo Command Injection, é dicir, unha execución indebida de comandos no sistema operativo.


Estrutura dunha entrada CWE

Cada CWE inclúe:

  • ID numérico (ex. CWE-89)
  • Nome curto (SQL Injection)
  • Descrición detallada
  • Consecuencias posibles (ex. execución de código, fuga de datos)
  • Métodos de detección (auditoría de código, fuzzing, escáneres)
  • Técnicas de mitigación recomendadas

Onde consultar CWEs


Por que é importante CWE?

O uso de CWE permite:

  • Establecer boas prácticas de desenvolvemento seguro
  • Priorizar correccións segundo o tipo de debilidade
  • Mellorar a análise de código estático (SAST)
  • Categorizar vulnerabilidades en informes técnicos e executivos
  • Relacionar métricas de seguridade entre proxectos distintos

Exemplo aplicado

Caso: Vulnerabilidade CVE-2021-44228 (Log4Shell)

Elemento Valor
CVE CVE-2021-44228
CWE asociado CWE-502 (Deserialization of Untrusted Data)
CVSS 10.0 (Crítico)
Impacto Execución remota de código

Neste exemplo, o CWE-502 explica a causa técnica que fai posible o ataque, mentres que o CVSS mide a gravidade, e o CVE é o identificador público.


Conclusión

O CWE é o estándar que define as causas técnicas das vulnerabilidades.
Xunto con CVE (identificación) e CVSS (avaliación), forma o trío fundamental para comprender, documentar e mitigar riscos de seguridade de forma estruturada.

Resumo

  • CWE describe a debilidade raíz,
  • CVE nomea a vulnerabilidade concreta,
  • CVSS mide a gravidade e o impacto.