Gestão de Vulnerabilidades: tudo o que você precisa saber

Neste artigo você vai ver:

Se tem algo extremamente dinâmico, no já movimentado universo da tecnologia, é o que trata da segurança da informação. A cada dia surgem novas ameaças que podem ser desastrosas para toda a cadeia: empresas, fornecedores e clientes. Por isso, fazer uma boa gestão de vulnerabilidades pode ser o diferencial para que o seu projeto não seja o mais novo caso de ataque a aparecer na mídia.

Quer aprender o que é Gestão de Vulnerabilidades, seus principais conceitos e de quebra ainda conhecer exemplos de boas ferramentas? Então continue lendo!

Antes de começar, você precisa saber:

  • Ameaça: É toda e qualquer fragilidade que pode ser explorada.
  • Vulnerabilidades: São fraquezas que podem e provavelmente serão exploradas.
  • Risco: É quando existe a possibilidade de explorar uma vulnerabilidade, mas ela fica mais para o lado teórico sendo assim possível, mas não provável a exploração.

Análise de Vulnerabilidade

Agora vamos falar sobre Análise vs Scan. Há uma certa confusão quando profissionais de engenharia de segurança usam algum dos termos, mas vamos lá!

Uma análise é quando profissionais de engenharia de segurança fazem um reconhecimento e classificação das vulnerabilidades verificando possíveis formas de remediar, mitigar ou até aceitar o risco (falaremos mais sobre aceitar o risco no decorrer do artigo). 

Já o Scan é a utilização de ferramentas, sendo elas de SAST ou DAST, que procuram vulnerabilidades na aplicação e na infraestrutura.

Abaixo um fluxo de tomada de decisão ilustra muito bem e resume como é feito uma análise de vulnerabilidade:

Na imagem tem um fluxo de tomada de decisão onde começa pela identificação da vulnerabilidade logo ele passa pela tomada de decisão se é possível remediar caso for possível é aplicado a correção e validado, caso não for possível remediar tem uma tomada de decisão se é possível mitigar caso for possível ele aplica a mitigação e caso não for possível tem a tomada de decisão que é aceitar o riso caso ser aceitado o risco é aprovado pelos superiores e revisitado em um futuro próximo novamente entrando para o fluxo de remediação e isso fica até ser corrigido, caso não for aceito o risco entra também para o fluxo de remediação novamente.
Fonte: Gartner

O que é Gestão de Vulnerabilidades e como funciona?

Após a varredura e análise inicial, entramos com a Gestão de Vulnerabilidades, que é o processo de identificar, notificar, analisar e corrigir de forma contínua as vulnerabilidades identificadas. Cada vulnerabilidade possui uma criticidade e prioridade em que deve ocorrer a correção para direcionar e priorizar os itens mais fáceis de serem explorados.

Particularmente gosto bastante dos fluxos da Gartner, pois eles trazem uma visão muito clara e objetiva. A imagem abaixo mostra o ciclo da gestão de vulnerabilidade, um processo contínuo para não dizer infinito, que é dividido em avaliar, priorizar, agir, reavaliar e melhorar.

A imagem tem o fluxo de gestão de vulnerabilidade feito pela empresa Gartner  onde o fluxo  avaliar, priorizar, agir, reavaliar e melhorar. Onde o fragmento do avaliar tem os seguintes ações (Scan, Report, Identify Assets) o priorizar têm as ações (Assign value, Gauge exposure, Add threat context) e o agir tem como ações (Remediate, Mitigate, Accept risk) e o reavaliar tem como ações (Rescan, validate) e no melhorar tem como ações (Eliminate underlying issues, Evolve process and SLA, Evaluate metrics).
Fonte: Gartner

Criticidade das vulnerabilidades

Agora vamos falar sobre criticidade. No início de minha carreira eu tinha a sensação e convicção que vulnerabilidades do tipo crítica seriam aquelas 0 day ou que para reproduzir elas você teria que fazer engenharia reversa, analisar bytecodes ou dar bypass muito complexos. 

É… o tempo passa e as vezes é bom porque eu estava errado. Abaixo de forma resumida mostro a diferença:

  • Critical: Vulnerabilidades críticas são aquelas que são de simples reprodução e que não necessitam de um acesso específico. É isso que a torna crítica, porque pessoas com conhecimento básico (ou mesmo nenhum) podem afetar a aplicação ou a imagem da empresa. 
  • High: Vulnerabilidades altas são aquelas que podem afetar a aplicação e a imagem da empresa também, geralmente precisam que o atacante tenha um acesso mínimo, mesmo que seja de um cliente. 
  • Medium: Vulnerabilidades médias são similares às do tipo altas, mas são menos prováveis de sofrer um ataque, pois atacantes necessitam de alguns privilégios na aplicação ou requer que o invasor resida na mesma rede local onde a exploração fornece apenas acesso muito limitado. Também são as do tipo que exigem manipulação das vítimas através de engenharia social.
  • Low: Vulnerabilidades baixas são as que têm muito pouco impacto no negócio de uma organização. A exploração das vulnerabilidades requer acesso local ou físico ao sistema como privilégios muito elevados ou que requer um conhecimento muito específico e que seja de difícil reprodução.

Falso positivo

Olha, quero estar vivo para quando tiver um scan que não reporte nenhum falso positivo, viu? 

Sabemos que o falso positivo muitas vezes é um incômodo quando a aplicação pode não ter uma, duas, mas centenas deles, e isso dificulta a identificação das verdadeiras vulnerabilidades. 

O falso positivo só é falso quando devs ou appsecs fazem a verificação e comprovam que realmente não é uma vulnerabilidade. Isso faz com que o falso positivo não seja uma espécie de inimigo, mas sim um componente importantíssimo para a gestão de vulnerabilidade

O simples ato de você verificar, debugar o código atrás da comprovação do falso positivo, faz com que você tenha mais conhecimento sobre o funcionamento da aplicação e identifique outras possíveis vulnerabilidades que o scan não reportou e é isso que o torna tão importante. 

Aceitando risco

A pior coisa que poderia acontecer é o time e/ou organização aceitar o risco de uma vulnerabilidade. Geralmente isso acontece quando a organização não acha vantajoso a mitigação, pode ser por custo adicional, data da entrega muito apertada ou até mesmo a falta de conhecimento técnico.

Aceitar o risco nada mais é que deixar a vulnerabilidade em aberto no ambiente de produção com ou sem nenhum acompanhamento e contando com a sorte.  

Na imagem tem um guerreiro medieval com uma espada em cima dos ombros e seu corpo está com uma armadura imponente com uma pequena fresta para a visão no capacete de metal onde entrou um flecha atingindo sua cabeça  em uma batalha e também um texto onde fala “Quanta sorte você tem?” e um texto “eu:” alusão a flecha que entrou em uma pequena fresta revela que ele não tem sorte nenhuma.
Fonte: pics.me.me

Ferramentas de mercado: o mínimo esperado

Para se ter uma boa gestão de vulnerabilidade é importante escolher ferramentas que se adequem ao cenário atual da segurança da informação, atendendo alguns critérios mínimos, por exemplo:

  • um acesso controlado (ACL); 
  • métricas; 
  • suportar a integração com ferramentas SAST/DAST; 
  • e também ser escalável de uma forma que suporte um grande número de projetos e, infelizmente, vulnerabilidades também.

Exemplos de Ferramentas de Gestão de Vulnerabilidades

Um bom exemplo de ferramenta de gestão de vulnerabilidades é o DefectDojo (e ainda é open source). Ele oferece recursos como importação de relatórios de ferramentas como Horusec, Acunetix, Snyk, Burp Enterprise Scan entre outros e também toda a parte de Business Intelligence (B.I). 

Além disso, o DefectDojo é mantido pela comunidade OWASP, que é uma referência para profissionais de segurança de aplicações em todo o mundo. 

Na imagem mostra o dashboard do DefectDojo onde tem a quantidade de vulnerabilidades de um projeto específico.
Fonte: Defectdojo

Ah, falando em Horusec… É sempre bom lembrar que ele é um projeto open source mantido pela Zup. 😉

Tive experiência também com a ferramenta AppSec Flow da Conviso. Ela é muito boa e dentre seus pontos positivos, a parte de B.I é mais completa e detalhada, além de algumas features como o “Workflow de Correção”, muito bem desenvolvida e madura.

Outro bom exemplo para ser citado é o Faraday. Ainda não tive a oportunidade de trabalhar com esta ferramenta, mas lendo sobre vale a pena colocar no radar caso esteja procurando uma ferramenta para a gestão. 

Na imagem mostra o dashboard do Faraday onde tem métricas genéricas de todos os projetos como soma das vulnerabilidade do tipo critica, alta, média e baixa.
Fonte: Faraday

Conclusão

Esperamos que neste artigo você tenha entendido a importância de um bom processo de gestão de vulnerabilidades. Não se trata de uma ferramenta famosa de mercado ou que faz piruetas e acrobacias, mas sim um fluxo que envolve pessoas e processos para que, de forma estruturada, traga uma visão de saúde e organização dentro da sua empresa.

E você, como faz a Gestão de Vulnerabilidades na sua empresa? Conta para a gente nos comentários!

Referências

Capa artigo sobre Gestão de Vulnerabilidade em que aparece mãos trabalhando em um notebook e na tela é possível um cadeado em azul.
Foto de Renato Burton
Application security engineer
Aprendiz do mundo e motoqueiro nas horas vagas.

Este site utiliza cookies para proporcionar uma experiência de navegação melhor. Consulte nossa Política de Privacidade.