Sem categoria

O que é um processo de Gestão de Vulnerabilidades

Aqui na Conviso sempre falamos muito com nossos clientes sobre o processo de Gestão de Vulnerabilidades, e enfatizamos que esta estruturação é extremamente importante quando falamos de segurança de software.

Prefere ouvir a versão em áudio deste artigo? Utilize o player abaixo:

No entanto, ainda encontramos muitos gestores e profissionais de desenvolvimento que entendem a gestão de vulnerabilidades como sendo a simples execução de uma ferramenta que irá fazer o scan de vulnerabilidades.

Framework de Gestão de Vulnerabilidades

Portanto quero começar com um trecho de um artigo publicado pelo Gartner onde é demonstrado a construção de um framework de gestão de vulnerabilidades.

“One of the most common ways to fail at VM is by simply sending a report with thousands of vulnerabilities to the operations team to fix. Successful VM programs leverage advanced prioritization techniques and automated workflow tools to streamline the handover to the team responsible for remediation.”

Podemos ter uma tradução livre deste texto como:

“Uma das maneiras mais comuns de falhar na VM(Vulnerability Management) é simplesmente enviar um relatório com milhares de vulnerabilidades para a equipe de operações corrigir. Os programas de VM bem-sucedidos utilizam técnicas avançadas de priorização e ferramentas automatizadas de fluxo de trabalho para otimizar a entrega à equipe responsável pela correção.”

Acreditamos que o processo de gestão de vulnerabilidade é algo que não se tem receita, não se compra pronto, não é possível chegar em uma loja ou consultoria e comprar uma caixinha com o processo dentro.

Construa, ajuste e teste

Assim esse processo deve ser construído, ajustado, testado e depois melhorado continuamente dentro de um ciclo que se repete incontavelmente.

O Gartner define  da seguinte maneira um processo de Gestão de Vulnerabilidades: 

“… as the process cycle for finding, assessing, remediating and mitigating security weaknesses on information systems. As parts of this process, policy and scope definition, assessment, remediation, mitigation and monitoring are required.”

Podemos colocar como sendo:

“… o gerenciamento de vulnerabilidades como o ciclo do processo para encontrar, avaliar, remediar e mitigar os pontos fracos da segurança nos sistemas de informação. Como partes desse processo, são necessárias definição de política e escopo, avaliação, correção, mitigação e monitoramento.”

Uma conceituação sobre vulnerabilidades

Logo após termos entendido o conceito dado para o processo de gestão de vulnerabilidades, precisamos entender os vários conceitos que podemos identificar sobre vulnerabilidades.

Muitos escritores e profissionais entendem vulnerabilidade como algo “suscetível a ataques” ou mesmo algo que esteja “disponível”. 

Aqui vamos deixar evidente que o conceito de vulnerabilidade será o de uma falha que pode proporcionar a exploração da aplicação, gerando um impacto.

Uma ameaça que tira proveito de uma vulnerabilidade pode induzir uma cadeia de eventos visto que resulta em consequências adversas para a organização. 

Qual o papel e qual a importância da Gestão de Vulnerabilidades?

É evidente que trabalhar a segurança de software de forma preventiva é uma das formas mais baratas e eficientes de garantir a segurança do produto final. 

Isso fica muito claro quando comparamos resultados ganhos com a implantação de um processo de desenvolvimento seguro correto e o valor gasto no processo de correção de vulnerabilidades ou até mesmo problemas legais ocasionados por vulnerabilidades exploradas no software.

Entretanto ainda encontramos empresas onde o pensamento permanece o de atuar apenas no final do processo, e além disso  por meio de testes bem pontuais.

O processo de Gestão de Vulnerabilidade como entendemos é muito mais completo e complexo do que simplesmente o uso de uma ferramenta para mostrar vulnerabilidades presentes em código. 

E um processo de gestão de vulnerabilidades é muito maior, precisa de mais atenção e envolvimento, mas seus resultados são muito acima do que se investe na criação, uso e manutenção do processo.

Podemos recorrer novamente ao Gartner para ter uma boa ideia de um processo de Gestão de Vulnerabilidades. 

Mas, o que é interessante sobre um processo é que ele não é fixo, rígido ou mesmo imutável, e com isso podemos imaginar que a construção do seu Processo de Gestão de Vulnerabilidades pode ser feita tendo as características da sua equipe, isso é fantástico!

Além dos relatórios

Espero que, até aqui, já tenha entendido que se o seu fornecedor, ou mesmo sua equipe, te entrega um relatório contendo um monte de vulnerabilidades e pede que sua equipe solucione, isso não é um processo de gestão de vulnerabilidades!

Falo isso porque não é raro encontrarmos empresas que recebem esse tipo de relatório. Ainda muitas recebem o relatório crú, assim como sai da ferramenta milagrosa de validação de código, sem qualquer análise. 

Isso definitivamente não é Gestão de Vulnerabilidades!

Quando uma empresa resolve agir de forma correta em gestão de vulnerabilidades ela ganha controle sobre seu processo de desenvolvimento, aumenta o  controle sobre a segurança de seu software e maturidade de sua equipe. 

Qual o pensamento do atacante?

Quando olhamos para uma vulnerabilidade de forma isolada e a tratamos baseada apenas em sua criticidade, tendemos a deixar passar alguns pontos bem importantes.

Um dos pontos principais que deixamos de lado é sem dúvida o pensamento do atacante. De forma geral o atacante não pensa na criticidade da vulnerabilidade e sim no uso efetivo em busca de um resultado.

Um exemplo disso é visto quando estamos falando das vulnerabilidades relacionadas no OWASP TOP 10.

Como sabemos elas não são as vulnerabilidades mais perigosas, todavia são usadas inúmeras vezes como porta de entrada para ataques bem mais sofisticados.

Priorize as correções

A priorização das correções é fator fundamental para o sucesso de um processo efetivo. A gestão das vulnerabilidades é, novamente, um processo que deve ser observado por muitos ângulos, nunca em um único aspecto.

Para que a priorização seja feita de forma correta, uma série de passos e entendimentos devem ser observados tais como o impacto para o negócio a partir da exploração de uma vulnerabilidade. , 

Ainda, é preciso que se tenha uma visão global do ativo e das vulnerabilidades, pois assim conseguiremos aplicar um critério de prioridade de correção de forma mais efetiva.

Em seu artigo intitulado “Implement a Risk-Based Approach to Vulnerability Management” o Gartner nos traz alguns dados interessantes que devem ser observados quando tratamos de correções de vulnerabilidades, talvez um dos mais críticos seja o tempo.

Sabemos que a correção de uma vulnerabilidade não é e dificilmente será um processo simples e rápido, principalmente em estruturas complexas e que precisam de avaliações de mudanças.

Quando temos um processo maduro implementado e sendo usado, temos a garantia de que vamos conseguir de forma mais organizada e estruturada realizar as correções necessárias.

Como seria um Processo de Gestão de Vulnerabilidades?

Como falamos, um processo de gestão de vulnerabilidades é muito maior e mais complexo que apenas a execução de uma ferramenta.

Precisamos dentro do processo definir algumas etapas, passos, recursos e ferramentas que serão usadas.

Como podemos ver, existe uma lógica, uma sequência na execução e realização de ações dentro de um processo.

Portanto, falamos que a construção de um processo é algo que consegue ser flexível, e que pode e deve seguir a estrutura da empresa, refletir suas necessidades e objetivos.

Podemos entender que de forma básica todo processo de gestão de vulnerabilidades deve apresentar no mínimos estas etapas.

Identificação de vulnerabilidades: O processo deve ser iniciado com a avaliação dos resultados das ferramentas e testes utilizados para levantamento de dados.

Verificação da vulnerabilidade: Depois de ter sido identificada, a vulnerabilidade deve passar por um processo de análise, identificação de possíveis cenários de exploração, seus impactos e sua criticidade. Só assim podemos criar uma lista para trabalharmos nas correções.

É importante lembrar que ferramentas produzem inúmeros falsos positivos e pior, falsos negativos, e isso deve ser levado em consideração na análise dos resultados.

Priorização: Avalie quais vulnerabilidades serão mitigadas ou corrigidas primeiro com base em sua capacidade de solucionar as vulnerabilidades.

Mitigação de Vulnerabilidades: Neste ponto vamos decidir sobre as correções, implementações de controles compensatório e a busca por uma solução do problema raiz da vulnerabilidade. Sempre avaliando se há formas mais apropriadas de correção/mitigação e quais são as  formas de exploração.

Remediação de Vulnerabilidades: Quando possível, proceder com a atualização da estrutura para evitar possíveis problemas posteriores.

Tenha controle e visibilidade de todo o processo

O processo de gestão de vulnerabilidades é complexo e requer um alto grau de controle.

Precisamos ter suporte para vários controles e como as vulnerabilidades serão corrigidas, mantidas e testadas. Esse processo se torna ainda mais fácil quando usamos de forma correta uma plataforma desenvolvida apropriadamente para o processo de gestão de vulnerabilidades.

A busca por um processo bem desenvolvido e robusto deve ser o objetivo de todo gestor que tenha como alvo melhorar a segurança de sua aplicação.

Nós como profissionais de AppSec não podemos confundir um processo de gerenciamento de vulnerabilidades com a execução esporádica de ferramentas de varredura. 

O uso destas ferramentas deve fazer parte do processo, e dessa forma, são apenas um pequeno pedaço do todo.

Espero que este artigo tenha conseguido esclarecer ainda mais os conceitos por trás de um processo de gerenciamento de vulnerabilidades.

New call-to-action

About author

Articles

Mais de 15 anos de experiência em segurança da informação e aplicações, graduado em processamento de dados, trabalhei como professor universitário e participei ativamente como instrutor de treinamento para mais de 6000 desenvolvedores em equipes de TI. Sou pai de duas meninas e trader nas horas vagas.
Related posts
Sem categoria

Testes de Segurança - aplicando ao pipeline

Na primeira parte de nosso artigo, falamos sobre os conceitos básicos de testes de segurança.
Read more
InfraestruturaSem categoria

Arquitetura Imutável em AppSec

Falar sobre infraestrutura imutável requer que voltemos um pouco no tempo e comecemos explicando…
Read more
ProdutoSem categoria

Como funciona a gestão de vulnerabilidades no AppSec Flow

Alguns anos atrás, a equipe da Conviso percebeu que precisava encontrar uma maneira de organizar as…
Read more

Deixe um comentário