retornar retornar

Avaliação de Vulnerabilidades

No cenário atual, onde o mundo está cada vez mais conectado e a troca de informações ocorre em ritmo acelerado, a segurança da informação precisa estar inserida no cotidiano como uma preocupação crucial para pessoas e empresas. Dentro de um contexto em que exista certo nível de maturidade em segurança por parte de uma organização, espera-se que a Gestão de Vulnerabilidades seja uma tarefa contínua, que objetiva a diminuição dos possíveis impactos que podem ser causados pela exploração dessas vulnerabilidades dentro dos seus ambientes. Uma das subtarefas da gestão de vulnerabilidades é a Avaliação das Vulnerabilidades, ou Vulnerability Assessment. Nos próximos minutos de leitura, será mostrado o que vem a ser isso, como essa atividade pode ajudar a diminuir a superfície de ataque, a importância de realizar avaliações periódicas e o papel das equipes nesse processo. Além disso, serão apresentadas sugestões de ferramentas comerciais e opensource que podem apoiar a realização dessas avaliações

Vulnerabilidades e ameaças

Antes de adentrar de fato ao assunto de avaliação de vulnerabilidades, é preciso relembrar o conceito de vulnerabilidade. Segundo a definição do dicionário de Oxford, com tradução livre, vulnerabilidade é “a qualidade ou estado de estar exposto à possibilidade de ser atacado ou prejudicado, seja fisicamente ou emocionalmente”. Trazendo para o contexto de tecnologia e segurança da informação, a norma ISO 27000 aponta vulnerabilidades como sendo “fraquezas de um ativo que poderia ser potencialmente explorado por uma ou mais ameaças”. Essas fraquezas podem ser inerentes a qualquer uma das variáveis em um ecossistema de tecnologia, como por exemplo à construção do ativo em termos de código, aos processos em que o ativo está inserido, aos dados que trafegam nesse ativo, às pessoas que o manipulam, ou até mesmo à falta de conhecimento, treinamento ou comprometimento das pessoas em si, que também devem ser consideradas como ativos valiosos das organizações. Existe um tipo de simulação ou avaliação para cada tipo de possível vulnerabilidade citada acima, portanto é importante dizer que esse artigo terá um foco exclusivo em avaliação de vulnerabilidades tecnológicas ou de software/firmware, os outros tipos de vulnerabilidades são assunto para outro (ou vários outros) artigos.

Na imagem abaixo, podemos encaixar alguns dos conceitos apresentados até aqui. Para que uma ameaça seja realmente uma ameaça (engraçado, mas é verdade) alguns requisitos precisam ser satisfeitos: é necessário um ator (agente de ameaça) com uma intenção hostil, esse ator precisa ter a capacidade para realizar uma ação hostil, e ele precisa finalmente de uma oportunidade – é aqui que se encaixa a famosa vulnerabilidade.


Tríade da ameaça em teoria de conjuntos


Esse entendimento de ameaça é interessante de ser lembrado porque um dos motivos para que se realizem avaliações de vulnerabilidades é justamente reduzir a superfície de ataque que existe em cada ecossistema de tecnologia, ou seja, a ideia é buscar diminuir as oportunidades que um atacante teria para realizar uma ação hostil através da exploração de uma vulnerabilidade conhecida.

Superfície de Ataque

Para que fique tudo claro: a superfície de ataque de uma organização pode ser explicada rapidamente como o conjunto de pontos de entrada ou exposição de um sistema que podem ser explorados por um atacante. Esses pontos podem incluir servidores, apps, dispositivos diversos, interfaces de usuário e até mesmo pessoas. O tamanho da superfície de ataque é diretamente proporcional à probabilidade de um ator malicioso explorar uma vulnerabilidade (de qualquer que seja o tipo) e comprometer a segurança do ecossistema.


Grupos de ativos em uma superfície de ataque


Definição de uma avaliação de vulnerabilidade

Em poucas palavras, trata-se de um processo sistemático e proativo para identificar e avaliar possíveis vulnerabilidades existentes em sistemas. Normalmente se realiza através de atividades para examinar ativamente redes, servidores, aplicativos e dispositivos em busca das fraquezas mencionadas anteriormente, que possam ser exploradas por invasores. Essa avaliação permite que os administradores de sistemas identifiquem as ameaças potenciais e tomem medidas corretivas para fortalecer a segurança. Isso pode ser feito “manualmente” utilizando scripts em linguagem Python ou Bash, por exemplo, mas o mais comum é que sejam feitas por ferramentas desenvolvidas para este fim, tanto comerciais quanto opensource.

Atenção!

Devido ao elevado custo que envolve a contratação de ferramentas comerciais e da complexidade de implementação de ferramentas opensource que realizam esse tipo de atividade, somado ainda à natureza dos escaneamentos que são realizados por elas, os quais podem ter uma conotação intrusiva, não é raro que haja uma confusão entre as a finalidade das avaliações de vulnerabilidades quando comparadas às atividades de Red Team/pentests.


Avaliação de vulnerabilidades e atividades de Red Team são tarefas complementares, porém distintas. Ambas cumprem papéis importantíssimos na identificação de vulnerabilidades de segurança em tecnologias, mas têm propostas diferentes.

O foco das avaliações de vulnerabilidades é encontrar e documentar (para posterior correção) vulnerabilidades presentes em redes, sistemas e aplicações. Essas descobertas servem para que a organização tome conhecimento do nível de exposição em que se encontra para que possa priorizar e corrigir os problemas de acordo com a necessidade/urgência. As ferramentas que realizam os testes e escaneamentos em geral fazem isso de forma automatizada e se baseiam em uma espécie de base de dados contendo, normalmente, vulnerabilidades conhecidas.

Por outro lado, as atividades de Pentesting procuram simular ataques reais para avaliar a efetividade dos controles de segurança de uma organização como um todo. Nessas atividades podem ser descobertas vulnerabilidades conhecidas, porém, a ideia é que isso vá além de uma tarefa de avaliação de vulnerabilidade comum, encontrando, também, vulnerabilidades não conhecidas, zero-days, falhas em processos entre outras descobertas.

Por isso, a avaliação de vulnerabilidades é normalmente realizada pelo Blue Team da organização, ou seja, pela equipe responsável pela proteção dos ativos em termos mais defensivos.

Importância da avaliação da vulnerabilidade

Abaixo está uma tabela de métricas desenvolvida e atualizada pelo projeto CVE (Common Vulnerabilities and Exposures), e ela nos mostra que apenas em 2022 foram cadastradas 25,059 novas vulnerabilidades, e o primeiro trimestre de 2023 já mostra um aumento de 1000 vulnerabilidades em relação ao mesmo período do ano anterior. Esse dado por si só já deveria ser suficiente para convencer o leitor da importância da realização desse tipo de testes.


Registros CVE publicados – Fonte: CVE.org


Além da quantidade absurda de vulnerabilidades que são descobertas todos os dias, explicando de forma geral, essas avaliações são importantes para manter a segurança do ecossistema e reduzir os riscos dos ataques cibernéticos provocados por vulnerabilidades conhecidas. Um ponto importante a ser destacado é que essas avaliações devem ser feitas de forma periódica, de acordo com o porte da organização e com a complexidade de cada ambiente.

Descendo um pouco mais fundo no assunto, podemos elencar algumas vantagens da avaliação periódica (e contínua):

 • Identificação de novas vulnerabilidades no ambiente: Novas vulnerabilidades podem ser descobertas a cada ciclo, seja em sistemas operacionais, aplicativos ou infraestrutura de rede.

 • Conformidade com as melhores práticas de segurança: avaliações regulares, as organizações garantem alinhamento com as melhores práticas de segurança e padrões de conformidade. O leitor atento associará esse item aos principais frameworks de segurança utilizados como guias de boas práticas internacionais, tais como NIST CSF e publicações especiais, CIS V8 etc. É uma prática que ajuda a manter uma postura de segurança atualizada e a evitar a exposição a riscos desnecessários.

 • Resposta a novas ameaças: Essas evoluem constantemente e novas técnicas de ataque são desenvolvidas regularmente. Ao realizar avaliações periódicas, as organizações podem identificar rapidamente novas ameaças e ajustar suas defesas.

Periodização!

Não existe uma receita de bolo que apresente a recorrência “correta” para as avaliações de vulnerabilidade e que se aplique a todos os tipos de organizações, pois existem variáveis a serem consideradas, como: o tamanho e atividade fim da organização, a natureza dos ativos, as possíveis ameaças ao ambiente, a frequência das mudanças do ambiente e várias outras.

Frameworks de melhores práticas, de maneira geral, não citam uma periodicidade específica para realização de qualquer tipo de teste de segurança, portanto, novamente pensando de maneira generalista, levando em consideração apenas o tamanho das organizações, pode-se pensar no seguinte esquema:

 • Organizações de pequeno porte: avaliações a cada 6 meses ou anualmente, dependendo da complexidade do ambiente e da quantidade de mudanças implementadas.

 • Organizações de porte médio: aqui o período de reavaliação pode ser um pouco mais curto, de 3 a 6 meses para manter um bom nível de segurança e acompanhar as mudanças e atualizações implementadas nos sistemas.

 • Organizações de grande porte: devido à maturidade e necessidade de segurança, complexidade e escala dos sistemas envolvidos, as avaliações aqui podem ser ainda menores, por exemplo, realizar a cada 1-3 meses pode ser adequado.

Mais uma vez é importante ressaltar que esses períodos são apenas sugestões baseados em uma das múltiplas variáveis que envolvem testes de segurança, e devem ser adaptados às necessidades específicas de cada organização, considerando fatores como o ambiente de ameaças, a criticidade dos ativos e os requisitos de conformidade aplicáveis.

Outras recomendações importantes que independem do tamanho da organização:

 • Testes após grandes alterações: los cambios importantes en el ecosistema deben ir seguidos de evaluaciones de la vulnerabilidad.

 • Variedade de ferramentas: diferentes ferramentas de varredura podem trazer diferentes identificações de vulnerabilidades em seus relatórios.

 • Treinamento dos colaboradores: grande parte das vulnerabilidades são resultado de erros humanos. Ter uma agenda de treinamentos em segurança da informação em vários níveis, desde o desenvolvedor até o colaborador da área menos tecnológica da organização pode ajudar a reduzir os riscos.

 • Atualização constante: Manter o ecossistema up-to-date é essencial para evitar alguns problemas.

As etapas para uma boa avaliação de segurança

A publicação especial 800-115 “Technical Guide to Information Security Testing and Assessment” do NIST (National Institute of Standards and Technology) apresenta diretrizes detalhadas e práticas recomendadas para realizar testes e avaliações de segurança abrangentes em ecossistemas completos de TI, envolvendo aplicações, redes e sistemas. É sempre interessante relembrar que cada organização tem suas particularidades em relação ao ambiente e valor de ativos etc., mas tendo como base algumas das diretrizes da publicação especial do NIST e, comparando e adaptando a diversas outras publicações e artigos nesse estilo, é possível resumir (resumir bastante, inclusive) uma boa avaliação de vulnerabilidades nos seguintes passos:

Planejamento: Definir o escopo da avaliação, identificar as redes, os sistemas, aplicações, dispositivos e quaisquer outros ativos a serem avaliados, estabelecer os objetivos e requisitos de segurança, priorizar os ativos de acordo com sua criticidade e obter as devidas autorizações.

Análise de ameaças: Identificar ameaças potenciais que podem afetar os ativos do ecossistema e analisar as técnicas e vulnerabilidades conhecidas, uma boa fonte de consulta para isso é a matriz MITRE ATT&CK.

Escaneamento de Vulnerabilidades: utilizar ferramentas automatizadas e técnicas manuais para a identificação ativa de vulnerabilidades conhecidas no ambiente.

Análise de riscos: Avaliar o impacto potencial e a probabilidade de exploração de cada vulnerabilidade identificada, levando em consideração a criticidade dos ativos.

Relatório e recomendações: Confeccionar um relatório contendo todas as vulnerabilidades identificadas e as recomendações de correção e melhorias de segurança.

Mitigação e correção: De acordo com a prioridade e criticidade de cada ativo e vulnerabilidade respectivamente, realizar as ações de correção recomendadas, como aplicação de patches, configuração de sistemas ou atualização de políticas de segurança.

Reteste: Essa é uma tarefa que costuma ser negligenciada, mas que não deveria. Após a identificação e devida correção das vulnerabilidades, é importante refazer alguns testes e realizar testes adicionais para confirmar que as vulnerabilidades foram corrigidas e que as ações de mitigação foram efetivas.

Revisão e melhoria contínua: Realizar uma revisão pós-avaliação para identificar oportunidades de melhoria na metodologia da própria avaliação e nas práticas de segurança da organização.

A imagem abaixo resume o ciclo descrito em 6 etapas:


Exemplo de ciclo de vida do gerenciamento de vulnerabilidades


Ferramentas para escaneamento

Foi solicitado ao ChatGPT que ele fizesse um ranking com as cinco melhores ferramentas para avaliação de vulnerabilidade disponíveis tanto comercialmente quanto na modalidade gratuita ou opensource e abaixo está a resposta:

Ferramentas comerciais:

 • Nessus (Tenable)
 • Qualys
 • Rapid7 Nexpose
 • Acunetix
 • BeyondTrust Retina

Ferramentas de Código Aberto:

 • OpenVAS
 • OWASP ZAP
 • Nikto
 • Nmap
 • Wapiti

Conclusões

Depois de tudo isso apresentado, é possível concluir que a avaliação de vulnerabilidades é uma tarefa fundamental para que uma organização eleve seu nível de maturidade em segurança cibernética e tenha uma postura de segurança mais robusta. É importante que essa seja uma tarefa contínua e regular do Blue Team, ou de equipes de segurança de uma maneira geral, que devem pensar em segurança de uma maneira também proativa, além de todas as medidas reativas que são inerentes à essa função, ou seja, é essencial estar um passo adiante em relação às ameaças cibernéticas, e essas avaliações periódicas ajudam a alcançar esse objetivo.

Outro ponto importante a ser observado é a integração dessas avaliações com as atividades das equipes ofensivas, que devem testar as correções aplicadas e validar sua efetividade.

Resumindo, para que o processo seja realmente eficaz, é essencial que as organizações sigam as melhores práticas, realizem os testes de segurança com uma regularidade a ser definida dentro de uma política, corrijam os problemas encontrados e se mantenham atualizadas sobre as ameaças em constante evolução.