[:pb]Testar as vulnerabilidades de um sistema é um processo muitas vezes esquecido, mas muito importante no desenvolvimento de qualquer serviço baseado na Internet, e tem como objetivos saber se essas vulnerabilidades podem ser realmente exploradas por agentes maliciosos no ambiente específico da sua empresa e conhecer quais são os riscos que essas vulnerabilidades podem representar para sua organização ou produto.
Na verdade, um teste de vulnerabilidade normalmente é composto por três processos diferentes, conhecidos como avaliação de vulnerabilidade, teste de penetração e análise de riscos. Saber a diferença entre eles é fundamental ao contratar uma empresa externa para testar a segurança da sua infraestrutura ou de um componente específico da sua rede.
A seguir, vamos examinar com mais detalhes as diferenças e ver como esses processos se complementam.
Avaliação de vulnerabilidades
As avaliações de vulnerabilidade são frequentemente confundidas com testes de penetração, mas são mundos distintos.
As avaliações de vulnerabilidade são realizadas usando pacotes de software disponíveis no mercado, para verificar um endereço ou intervalos de endereços IP, em busca de vulnerabilidades conhecidas. Por exemplo, o software possui assinaturas para o bug Heartbleed (que permite que qualquer pessoa na Internet leia a memória dos sistemas protegidos pelas versões do OpenSSL que apresentam falhas na implementação da funcionalidade TLS/DTLS heartbeat), ou detecta a falta de patches no servidor Apache da Web e alertará se detectar a ausência de um patch. O software produz um relatório que lista as vulnerabilidades encontradas e (dependendo do software e das opções selecionadas) fornecerá uma indicação da gravidade da vulnerabilidade e das etapas básicas de correção.
É importante lembrar que esses scanners usam uma lista de vulnerabilidades conhecidas pela comunidade de segurança e fornecedores de software, mas também pelos hackers. As vulnerabilidades desconhecidas, que não estão na lista, não serão encontradas por esses scanners.
Testes de penetração
Muitos “especialistas em testes de penetração”, na verdade, executam apenas uma verificação de vulnerabilidade, empacotam um relatório em uma bela embalagem e ganham o dia. Entretanto, esse é apenas o primeiro passo em um teste de penetração. Um bom profissional, ao realizar um teste de penetração, obtém o resultado de uma varredura de rede ou uma avaliação de vulnerabilidade e sonda uma porta aberta para ver o que pode ser explorado.
Por exemplo, digamos que um site é vulnerável ao Heartbleed. Muitos sites ainda são. Uma coisa é executar uma verificação e dizer “você é vulnerável ao Heartbleed” e outra completamente diferente é explorar o bug, descobrir a profundidade do problema e conhecer exatamente que tipo de informação poderia ser revelada se fosse explorada. Essa é a principal diferença: o site ou serviço está realmente sendo invadido, assim como um hacker faria.
De maneira semelhante a uma verificação de vulnerabilidade, os resultados geralmente são classificados por gravidade e capacidade de exploração, com sugestão das etapas de correção.
Análise de riscos
Uma análise de riscos é frequentemente confundida com os dois termos anteriores, mas também é um processo muito diferente. Uma análise de risco não requer nenhuma ferramenta ou aplicativo de verificação. É uma disciplina que analisa uma vulnerabilidade específica (como um item detectado em um teste de penetração) e tenta determinar o risco financeiro, de reputação, para a continuidade de negócios, para a conformidade com a regulamentação e outros riscos para a empresa, se a vulnerabilidade fosse explorada.
Muitos fatores são considerados ao realizar uma análise de risco: ativos envolvidos, vulnerabilidades, ameaças e impactos para a empresa. Um exemplo disso seria o trabalho de um analista tentando encontrar o risco para a empresa de um servidor vulnerável ao Heartbleed.
O analista examinaria primeiro o servidor vulnerável, onde ele está na infraestrutura de rede e o tipo de dados que ele armazena. Um servidor localizado em uma rede interna sem conectividade externa e sem armazenar nenhum dado, mas vulnerável ao Heartbleed, tem uma situação de risco muito diferente de um servidor Web voltado para o cliente, que armazena dados de cartões de crédito e também é vulnerável ao Heartbleed.
Uma varredura de vulnerabilidade não faz essas distinções. Em seguida, o analista examinaria as ameaças que provavelmente poderiam explorar essa vulnerabilidade, a partir do crime organizado ou de agentes internos, e cria um perfil de capacidades, motivações e objetivos. Por fim, é verificado o impacto na empresa, especificamente que danos poderiam acontecer à empresa se um grupo do crime organizado explorasse o Heartbleed e conseguisse acessar os dados dos titulares dos cartões.
Uma análise de risco, quando concluída, apresentará uma classificação final de risco, com controles atenuantes que podem reduzir ainda mais o risco. Os líderes de negócios podem se basear no relatório de riscos e nos controles mitigadores e decidir se devem ou não ser implementados.
A importância de saber a diferença
Os três conceitos diferentes expostos aqui não são exclusivos um do outro, mas se complementam. Em muitos programas de segurança da informação, as avaliações de vulnerabilidades são o primeiro passo. Elas são usadas para realizar amplas varreduras de uma rede, visando encontrar patches ausentes ou software mal configurado. A partir daí, é possível realizar um teste de penetração, para ver o quão explorável é a vulnerabilidade ou uma análise de risco para determinar a relação custo/benefício da correção da vulnerabilidade. Obviamente, você não precisa realizar uma análise de risco. O risco pode ser determinado em qualquer situação em que uma ameaça e um ativo estejam presentes. Tanto pode ser um data center localizado em uma zona de furacões ou papéis confidenciais jogados em uma lixeira.
É importante saber a diferença. Cada um desses processos é importante à sua maneira e têm objetivos e resultados muito diferentes. Certifique-se de que qualquer empresa contratada para executar esses serviços também saiba a diferença.[:]
