Tudo que você precisa saber sobre CVE

Picture of Júlia Valim

Júlia Valim

O que é CVE?

O Common Vulnerabilities and Exposures (CVE), criado pelo MITRE em 1999, é um banco de dados que registra vulnerabilidades e fraquezas publicamente conhecidas, com a missão de identificar, definir e catalogar as vulnerabilidades.

Só em 2023, foram adicionadas mais de 25 mil vulnerabilidades ao catálogo.

Logo CVE

Imagem: Logo CVE.

 

O que se classifica como CVE?

Para ser classificado, a falha deve: ser corrigível, reconhecida pelo fornecedor ou documentada em um relatório de vulnerabilidades e afetar uma base do código, ou seja, afetar somente uma parte daquele produto.

 

Benefícios das CVEs

  • A comunicação fica padronizada, facilitando identificar informações sobre a vulnerabilidade e meios de correção.
  • Setores como financeiros e da saúde necessitam de informações sobre CVE para fins de conformidade e gerenciamento de risco.
  • Práticas DevSecOps escaneiam repositórios do código para identificar vulnerabilidades conhecidas (CVE).
  • Organizações que integram as CVEs em fluxos de trabalhos estão mais bem preparadas para um cenário de ameaças atual cada vez mais sofisticado.

 

CVEs mais conhecidas

  • CVE-2017-0144 (EternalBlue)

EternalBlue, uma das mais conhecidas vulnerabilidades, é um exploit que se tornou público em 2017, sendo supostamente desenvolvido pela Agência de Segurança Nacional dos Estados Unidos (NSA) e vazado por um grupo de hackers conhecidos como “Shadow Brokers”.

A vulnerabilidade explora o SMB (Server Message Broker) que é um protocolo que permite o acesso compartilhado a arquivos, impressoras e outros recursos por meio da rede, na porta 445, mais especificamente o SMBv1.

Essa vulnerabilidade permitia Execução Remota de Códigos em sistemas Windows, sem a necessidade de estar autenticado para realizar o ataque.

Exposição do EternalBlue.

Imagem: Exposição do EternalBlue.

  • CVE-2014-0160 (Heartbleed)

Descoberta no OpenSSL, essa falha permitiu que invasores acessassem informações sensíveis, como chaves privadas e dados pessoais, comprometendo a segurança de milhões de servidores. O Heartbleed evidenciou a importância de se manter bibliotecas de criptografia atualizadas e seguras.

Funcionamento do Heartbleed

Imagem: Funcionamento do Heartbleed.

  • CVE-2021-44228 (Log4Shell)

Encontrada na biblioteca de registro Log4j, essa vulnerabilidade possibilitou a execução remota de código sem a necessidade de autenticação, afetando inúmeras aplicações baseadas em Java.

Um invasor remoto não autenticado pode explorar essa falha enviando uma solicitação especialmente criada para um servidor que executa uma versão vulnerável do Log4j. A solicitação elaborada usa uma injeção de Java Naming and Directory Interface (JNDI) por meio de uma variedade de serviços, incluindo:

LDAP, LDAPS, RMI, DNS

Diversas aplicações, até o jogo Minecraft, foram afetadas pela vulnerabilidade, que ocorria por meio do envio de uma mensagem especialmente criada pelo do bate-papo do jogo, resultando em um RCE.

Devido à sua abrangência e facilidade de exploração, Log4Shell provocou uma resposta global imediata.

Funcionamento Log4Shell

Imagem: Funcionamento Log4Shell.

Processo de registro de uma CVE

  1. A vulnerabilidade é descoberta por um pesquisador ou profissional de segurança.
  2. A pessoa que descobriu vai relatar para algum parceiro do programa CVE.
  3. O parceiro atribui um ID.
  4. Assim o ID fica reservado até que a Autoridade de Numeração CVE divulgar publicamente a vulnerabilidade.
  5. O parceiro do programa CVE envia mais detalhes sobre a vulnerabilidade como produtos afetados, versões afetadas / corrigidas, uma referência pública.
  6. Concluído esta etapa a vulnerabilidade é publicada.

Processo de registro de uma CVE

Imagem: Processo de registro de uma CVE.

Estrutura do Identificador

Exemplo: CVE-2020-1111

  • CVE = Prefixo fixo para todas as vulnerabilidades.
  • 2020 = Ano da publicação.
  • 1111 = Numeração (de 4 a 7 dígitos).

Estrutura CVE

Imagem: Estrutura CVE.

Portanto, precisamos de meios para definir o risco que a CVE pode trazer a sua aplicação. Para isso, foram desenvolvidos diversos meios de classificar uma vulnerabilidade, e abaixo iremos explicar um pouco mais sobre alguns deles.

Informações úteis

Abaixo, podemos visualizar dados fornecidos pelo próprio CVE informando quantas vulnerabilidades foram registradas no ano:

Tabela vulnerabilidades registradas pelo CVE

Imagem: Tabela de vulnerabilidades registradas pelo CVE.

 

Gráfico de vulnerabilidades registradas pelo CVE

Imagem: Gráfico de vulnerabilidades registradas pelo CVE.

Afinal, o que podemos identificar com estes dados?

Por meio deles podemos visualizar o constante crescimento de vulnerabilidades encontradas ao decorrer dos anos. Podemos constatar também que, de 2016 até 2024, todos os anos tiveram um aumento no número de vulnerabilidades encontradas. Só de 2023 para 2024 houve um aumento de 38,83%.

 

O que é CVSS: Common Vulnerability Scoring System

O CVSS foi criado para classificar vulnerabilidades encontradas e é amplamente utilizado em conjunto com o sistema de CVEs. Atualmente, existem as versões CVSS v2.0, v3.0, v3.1 e v4.0. A pontuação varia de 0 a 10, onde valores mais próximos de 10 indicam maior criticidade.

Logo CVSS

Imagem: Logo CVSS.

O sistema é estruturado em três métricas principais:

  • Base = Impacto e complexibilidade de exploração;
  • Temporal = Disponibilidade de patches de correção;
  • Ambiental = Ajuste com base no ambiente específico do usuário.

Métricas Base:

Focado nas características da vulnerabilidade. Suas métricas incluem: Explorabilidade, Escopo e Impacto.

Explorabilidade: Esta métrica possibilita avaliar quão fácil é explorada a vulnerabilidade, sendo que ela pode ser divida em 4 outros componentes:

  • Vetor de Ataque: mede como o ataque pode ser executado. Níveis mais altos significam que podem ser executados remotamente, enquanto baixos níveis significam que são mais próximos de ataques presenciais.
  • Complexidade do Ataque: mede a dificuldade para executar. Níveis mais baixos significam mais facilidade para execução.
  • Privilégios Requeridos: indica o nível de acesso necessário para executar o ataque. Quanto maior o nível, menos privilégios são requeridos.
  • Interação do usuário: consiste em quanto o atacante precisa envolver um usuário no ataque. Níveis mais altos estão relacionados a ataques anônimos.

Escopo: Esta métrica se refere ao quanto a vulnerabilidade pode afetar outros componentes por trás do alvo inicial. A pontuação fica maior devido ao potencial de propagação a vulnerabilidade oferta.

Impacto: Mede as possíveis consequências que podem trazer, focando nas seguintes áreas:

  • Confidencialidade: a extensão da exposição de dados.
  • Integridade: a habilidade do atacante modificar dados.
  • Disponibilidade: o potencial de interrupção ao acesso do sistema e suas funcionalidades.

Métricas Temporais:

Avalia a explorabilidade atual e a disponibilidade de patches de correção, sendo seus principais componentes:

  • Maturidade do código do exploit: uma vulnerabilidade não é tão preocupante enquanto não existe um método de exploração disponível. Porém, à medida que surgem técnicas ou códigos que permitem explorá-la e eles se disseminam, a pontuação dessa vulnerabilidade aumenta para refletir o risco maior.
  • Nível de Correção: sua pontuação se torna maior quando a vulnerabilidade não possui um patch de correção ou algo similar. Conforme são lançados updates, sua pontuação diminui.
  • Confiabilidade do Relatório: mede o quão bem uma vulnerabilidade é validada, garantindo que ela seja real e explorável. Quanto maior a confiança, maior a pontuação.

Métricas do Ambiente:

Permitem às organizações ajustar a pontuação base do CVSS com base em seus requisitos específicos de segurança.

  • Requisitos de Segurança: essa métrica considera a criticidade do ativo afetado. Sistemas críticos, como banco de dados contendo informações de usuários, recebem maiores pontuações.
  • Métricas Base Modificadas: as organizações podem alterar as Métricas Base do CVSS conforme as mitigações já aplicadas.

Resumo Métricas CVSS

Imagem: Resumo Métricas CVSS.

Informações úteis

Podemos visualizar a seguir informações sobre quantas CWEs foram atribuídas em 2024:

CWEs atribuídas

Imagem: CWEs atribuídas.

Através desse gráfico podemos entender que a CWE mais atribuída foi a 79, que se refere à vulnerabilidade de Cross-Site Scripting. Essa CWE foi reportada 6.227 vezes no ano de 2024.

 

Quais as limitações do CVSS?

Esse sistema demonstra somente o quão perigoso é uma certa vulnerabilidade, porém, em certos casos, essa mesma vulnerabilidade não se faz perigosa a você.

Por exemplo: um suposto sistema possui uma falha de RCE (Remote Code Execution) de alta criticidade devido aos seus atributos. Porém, caso essa vulnerabilidade ocorra apenas em um ambiente isolado e sem muitas rotas, a falha não se torna tão crítica como avaliada em seu CVSS.

Devido a certas limitações do CVSS, ao longo dos anos foram criadas outras formas de avaliar as vulnerabilidades com outras metodologias, que serão apresentadas a seguir.

Priorização de Vulnerabilidades:

É o processo de ranquear as vulnerabilidades a fim de determinar seu impacto prático, maximizar a redução do risco e reduzir o potencial dano em caso de exploração.

As vulnerabilidades podem vir de várias fontes, como erros de configuração, bugs do programa, software que não foi aplicado seu patch e erros humanos.

Modelos modernos de priorização de vulnerabilidades: EPSS, SSVC, CISA KEV.

 

SSVC (The Stakeholder-Specific Vulnerability Categorization)

SSVC, em portugês, Categorização de Vulnerabilidade Específica das Partes Interessadas, é bem aplicado quando o foco é na priorização de correção da vulnerabilidade. Sua base é o impacto que a exploração teria sobre seu ambiente.

O SSVC foca na tomada de decisão prática e na priorização das ações de remediação conforme o impacto real que uma vulnerabilidade pode causar em um ambiente específico.

Ela basicamente forma uma espécie de “árvore” com os possíveis caminhos que a vulnerabilidade pode levar, ajudando a entender como reagir e melhorando ainda mais a identificação dos pontos com prioridade de correção.

Árvore completa

Imagem: Árvore completa.

Como funciona:

Como dito anteriormente, sua metodologia é baseada em uma espécie de árvore, demonstrando possíveis caminhos, ou seja, em vez de atribuir uma pontuação única, o modelo faz uma série de perguntas que levam a decisões qualitativas, sendo elas:

  • Track – A vulnerabilidade deve ser monitorada e corrigida dentro dos ciclos de atualização regulares, mas não exige ação imediata.
  • Track* – Semelhante à categoria Track anterior, porém exige um acompanhamento mais rigoroso, pois determinadas características podem se modificar ao longo do tempo.
  • Attend – A vulnerabilidade necessita de uma atenção especial com correções mais aceleradas.
  • Act – Significa que a vulnerabilidade é tão crítica que demanda uma ação imediata.

Decisões

Imagem: Decisões.

Critérios da Decisão:

O caminho na árvore é definido por vários critérios, geralmente sendo ligados a:

Status da exploração:

  • None – Sem evidência de exploração ativa ou PoC.
  • Public – Existe uma PoC pública ou um método conhecido de exploração.
  • Active – Há evidência confiável e compartilhada de exploração do ambiente.

Status da exploração

Imagem: Status da exploração.

Impacto Técnico:

  • Partial – A exploração concede uma exposição limitada de informações, sem comprometimento total do sistema.
  • Total – A exploração pode acarretar em comprometimento total do sistema ou divulgação completa de informações.

Impacto técnico

Imagem: Impacto técnico.

Automatização da Exploração:

Indica que, se o processo pode ser automatizado, significa que pode ser utilizado para ataques em larga escala.

Prevalência na Missão:

Avalia o quanto o ativo vulnerável está ligado a funções essenciais da organização.

Impacto no bem-estar público:

Indica que a exploração da vulnerabilidade pode causar danos além dos efeitos técnicos, atingindo aspectos como saúde ou bem-estar social.

 

Quais são as limitações do SSVC?

Em alguns casos, pode haver conflitos de interpretação entre analistas, devido ao fato de que esse tipo engloba diversos stakeholders, ou seja, em alguns casos pode haver diferentes interpretações entre si.

 

O que é EPSS (Exploit Prediction Scoring System)?

Logo EPSS

Imagem: Logo EPSS

O intuito do EPSS é medir a probabilidade de uma vulnerabilidade ser explorada nos próximos 30 dias. Ele foi desenvolvido e é mantido pelo fórum FIRST (Forum of Incident Response and Security Teams).

O EPSS utiliza-se de modelos de Machine Learning instruídos com diversos dados, incluindo eventos de exploração no mundo real, a fim de atribuir uma probabilidade de exploração de uma vulnerabilidade.

Sua pontuação varia de 0 a 1 (0 a 100%), em que, quanto mais próximo de 1, maiores as chances de a vulnerabilidade ser explorada. Alguns dados são utilizados para gerar essa métrica são:

  • Presença de exploit público.
  • Complexidade da exploração.
  • Popularidade do software afetado.
  • Dados de exploração de honeypots, sistemas de detecção de intrusão e banco de dados de exploits.
  • Correlação entre suas vulnerabilidades passadas e sua probabilidade de exploração.

Dessa maneira, o EPSS auxilia profissionais de segurança de modo a priorizar certas vulnerabilidades com maior potencial de ser explorada.

Informações úteis

A seguir temos uma tabela contendo as CVEs com a avaliação EPSS mais altas dos últimos 90 dias:

Tabela EPSS

Imagem: Tabela EPSS

Saiba mais sobre a Vantico clicando aqui.

 

Créditos

Arthur Martins

 

Referências

What is the Common Vulnerability Scoring System (CVSS)? | Balbix

Common Vulnerabilities and Exposures (CVEs) | Rapid7

EternalBlue Explained – An In-Depth Analysis of the Notorious Windows Flaw | FreeCodeCamp

EternalBlue: A Profunda Vulnerabilidade Cibernética Explorada | Infoprotect

EternalBlue Exploit: What It Is And How It Works | SentilOne

CVE-2017-0144 | NIST

CVE-2014-0160 | NIST

CVE-2021-44228 | NIST

Common Vulnerability Scoring System v3.1: Specification Document | FIRST

CVE (Common Vulnerabilities and Exposures) | GitHub

Stakeholder-Specific Vulnerability Categorization (SSVC) | Risk Based Prioritization

Metrics | CVE

2024 CVE Data Review | Jerry Gamblin

EPSS | FIRST

veja também

Outros conteúdos sobre Segurança Cibernética