Skip to main content

7 dicas para priorizar vulnerabilidades em contêineres e aplicações web

Escrito por
Prioritization feature

22 de setembro de 2020

0 minutos de leitura

Como é simplesmente impossível corrigir todas as vulnerabilidades de aplicações web no seu backlog, é preciso priorizar. A priorização ajuda você a se concentrar nos problemas mais importantes para a sua organização e, assim, aproveitar ao máximo o tempo e os recursos limitados disponíveis para obter o melhor impacto em segurança.

Por onde começar a priorizar vulnerabilidades?

Existem vários métodos de priorização, e a escolha depende da abordagem de segurança que você decidiu implementar. Para ajudar você a entender os diferentes elementos desse quebra-cabeça, listamos abaixo algumas das ferramentas mais usadas para priorizar vulnerabilidades em aplicações web.

1. CWE

O que é CWE?

CWE é a sigla de Common Weakness Enumeration, um glossário on-line que classifica vulnerabilidades de software e hardware em diferentes tipos. Por exemplo: CWE-20 (validação de entrada), CWE-125 (leitura fora dos limites), CWE-79 (XSS) e CWE-200 (vazamento/divulgação de informações).

Mantida pela MITRE, a CWE tem como objetivo declarado oferecer uma maneira eficaz de identificar, encontrar e resolver problemas de segurança de software o mais rápido possível. Mas ela também pode ser usada especificamente para priorizar vulnerabilidades em aplicações web de várias formas:

  • Se você está com pouco tempo e não pode se aprofundar nas vulnerabilidades encontradas no seu código, use a lista CWE Top 25 como ponto de partida para priorizar a correção das CWEs que a comunidade considera mais importantes.

  • Use a CWE para priorizar pelo impacto: as entradas da CWE incluem informações sobre o impacto técnico resultante de uma vulnerabilidade. Em vez de tentar corrigir tudo, use essas informações para se concentrar nas CWEs mais perigosas para a sua organização.

  • Use o CWSS e o CWRAF: dois sistemas de pontuação para CWEs que permitem priorizar com base na relevância para o seu negócio.

2. CVSS/gravidade

O método de priorização mais usado é o Common Vulnerability Scoring System (CVSS), padrão do setor para avaliar a gravidade das vulnerabilidades. Com base na facilidade de exploração de uma vulnerabilidade em aplicação web e no impacto de uma exploração bem-sucedida, o CVSS atribui uma pontuação de 0 a 10, sendo 10 a pontuação de maior gravidade.

De acordo com o NVD, uma pontuação base CVSS (v3) de 0,0 a 3,9 é considerada de gravidade "Baixa"; de 4,0 a 6,9, "Média"; de 7,0 a 8,9, "Alta"; e de 9,0 a 10,0, "Crítica".

Embora seja um bom ponto de partida, lembre-se de que o CVSS não oferece uma visão precisa o suficiente do risco que uma vulnerabilidade representa. Como afirma a documentação oficial do CVSS, “o CVSS foi criado para medir a gravidade de uma vulnerabilidade e não deve ser usado isoladamente para avaliar o risco... A pontuação base do CVSS deve ser complementada por uma análise contextual do ambiente e por atributos que podem mudar com o tempo”.

3. Explorabilidade

Uma forma de determinar o risco real que uma vulnerabilidade representa para a sua organização é entender como é fácil explorá-la. Um fator que facilita muito a exploração por hackers é a disponibilidade de código de exploração. Quando esse código é publicado, dizemos que há uma “exploração ativa no ambiente real”.

Saber se há “explorações ativas no ambiente real” para os problemas do seu backlog ajuda você a se concentrar em um subconjunto mais arriscado. Diferenciar os tipos de exploração publicados ajuda a restringir ainda mais o foco: há uma diferença entre o risco de uma exploração madura, publicada e prática e o de uma exploração acadêmica e teórica. Saiba mais aqui sobre a importância da explorabilidade na priorização.

4. Acessibilidade

Os desenvolvedores incorporam componentes de código aberto inteiros à base de código, mas usam apenas uma pequena parte deles na lógica da aplicação. Isso significa que algumas vulnerabilidades talvez não sejam acionadas no fluxo de execução da aplicação e, portanto, representem menos risco e possam ter prioridade menor.

Se a sua ferramenta de AppSec oferece essa visibilidade, use-a para se concentrar nos problemas mais urgentes. Em vez de priorizar uma vulnerabilidade de alta gravidade em uma função que a aplicação não chama, é muito mais eficaz priorizar uma vulnerabilidade de gravidade média que está no fluxo de execução e representa mais risco.

Você pode priorizar usando uma ou ambas as abordagens complementares a seguir:

Lembre-se: isso não significa que vulnerabilidades que não são alcançadas não sejam importantes ou possam ser ignoradas. Elas também precisam ser avaliadas e corrigidas, especialmente as de alta gravidade. O que isso significa é que a acessibilidade ajuda você a diferenciar melhor o que é importante do que é urgente.

5. Idade

Considere a idade da vulnerabilidade ao decidir a prioridade. Quanto mais recente ela for, por exemplo, menor a chance de haver uma correção disponível. Hackers também costumam se interessar por vulnerabilidades novas e chamativas, o que aumenta ainda mais o risco. Os algoritmos que definem a Pontuação de Prioridade da Snyk, por exemplo, incorporam a idade à pontuação final seguindo exatamente essa lógica.

6. Facilidade de correção

Uma abordagem de segurança é tentar corrigir o maior número possível de problemas em um determinado prazo. Se a rapidez for essencial, considere priorizar os problemas mais fáceis, rápidos e baratos de corrigir.

Para isso, tente responder a estas perguntas:

  • É possível corrigir a vulnerabilidade com uma atualização pequena?

  • Existe um patch disponível para a vulnerabilidade?

  • É fácil substituir o componente vulnerável?

7. Automação

A única forma de priorizar e reduzir a prioridade de centenas ou até milhares de problemas em diferentes projetos da sua organização é com a ajuda da automação. Se as suas ferramentas de segurança oferecem esse recurso, use políticas para definir automaticamente os parâmetros que orientam as decisões de priorização durante a correção.

Por exemplo, você pode aumentar a gravidade de todas as vulnerabilidades associadas a uma CWE específica. Ou pode reduzir automaticamente a gravidade de problemas sem explorações conhecidas.

Essas decisões variam de acordo com cada negócio, organização e equipe. Mas a automação e o controle detalhado oferecidos pelas políticas são indispensáveis em qualquer estratégia de priorização.

Os benefícios da priorização eficaz de vulnerabilidades em aplicações web

Uma priorização eficaz ajuda você a se concentrar nas vulnerabilidades que representam os maiores riscos para a sua organização e a aproveitar melhor o tempo e o esforço investidos, fortalecendo, em última análise, sua postura geral de segurança.

Mas, como vimos acima, para priorizar bem, as organizações precisam de mais do que o CVSS. Elas precisam de soluções que ofereçam contexto mais amplo e aprofundado. Quanto mais fáceis de usar e mais amigáveis para os desenvolvedores forem essas ferramentas, maior a probabilidade de eles as adotarem — algo essencial para o sucesso dos esforços de priorização e correção. É exatamente isso que a Snyk oferece.

Comece a jogar Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo à gravação sob demanda do nosso workshop virtual introdutório.

Publicado em:

Leia mais

feature insights context
Blog

Os ataques autônomos já chegaram. A defesa precisa acompanhar o ritmo.

Os atacantes autônomos estão reduzindo o tempo disponível para a defesa. Saiba como a descoberta, a correção, a validação e a prevenção contínuas ajudam as equipes de segurança a acompanhar esse ritmo.

Blog

Evo ADS Govern Agent Behavior já está disponível: controle o uso de MCP

Evo ADS Govern Agent Behavior já está disponível, começando por MCP Governance. Descubra, aprove, monitore, registre e bloqueie o uso de servidores MCP nos principais agentes de programação com IA.

illustration hero ai
Blog

O que é Agentic AppSec?

Saiba como Agentic AppSec usa agentes de IA fundamentados, com limites definidos e verificados de forma independente para executar o ciclo de segurança de aplicações.