Como já foi visto, a menor das falhas pode trazer um imenso problema e, para piorar, o número de pontos vulneráveis em um sistema geralmente é bem elevado, dificultando o trabalho de identificação de falhas. Para ajudar nessa tarefa, surgiu o scanner de vulnerabilidades. Os scanners são softwares que fazem uma varredura em computadores ou dispositivos de rede em busca de potenciais ameaças, permitindo assim que se tome conhecimento de erros e que sejam aplicadas medidas de correção e prevenção.
Um scanner trabalha comparando os dados de um sistema com uma lista de vulnerabilidades conhecidas. Um scanner para Unix é diferente de um scanner para Windows, até porque as falhas são diferentes, e, mesmo quando projetados para um mesmo sistema operacional, têm características muito variadas.
Um bom scanner deve ser capaz de, dentre outras coisas, detectar erros comuns de configuração, configurações e senhas padrão, combinações óbvias de usuário e senha, hosts ativos, portas abertas e vulnerabilidades publicadas. Alguns são tão sofisticados que, além de encontrar milhares de pontos vulneráveis, ainda fornecem instruções para corrigi-las e até mesmo explorá-las.
Há de se convir que embora a maioria dos scanners tenha sido desenvolvida para o bem, disponibilizam dados tão significativos que não poderiam deixar de ser usados para o mal. Não é à toa que muitos scanners permitem examinar grandes faixas de endereços IP, realizar testes de autenticação com ataques de força bruta, analisar o código-fonte de sites inteiros listando arquivos e diretórios, explorar brechas que possibilitam conexão anônima, fazer injeções de SQL etc.
Aliás, muitos ataques começam utilizando um scanner para determinar quais são os hosts ativos do alvo e também os seus nomes (Domain Name System), pois é muito provável que um deles tenha uma vulnerabilidade que um cracker possa utilizar para penetrar na rede. Para isso, faz-se então uma varredura nas portas: uma série de mensagens é enviada para um host, que enviará uma resposta e, dependendo da resposta, pode-se saber se uma porta está sendo usada ou não, pois a partir do número da porta, tem-se uma ideia dos serviços utilizado pelo host (o scanner sabe, por exemplo, que 80 é a porta normalmente usada para o HTTP, 21 para o FTP e 22 para o SSH). Que fique claro que o problema não está nas portas abertas, mas sim nas falhas de segurança dos programas que rodam atrás dessas portas e que frequentemente também são reveladas pelos scanners.
Para tirar um melhor proveito de um scanner, é preciso ter conhecimento das configurações do sistema, pois nem todos os ambientes são iguais. Desconsiderar isso, pode levar a resultados falsos, perigos que não são reais. Além disso, deve-se mantê-lo atualizado, já que novas vulnerabilidades surgem todos os dias. Quanto ao registro de falhas, deve ser estudado criticamente e os riscos avaliados. Finalmente, providências devem ser tomadas para que as vulnerabilidades encontradas sejam monitoradas ou sanadas.
MACHADO, Marcel Jacques. Segurança da Informação: uma Visão Geral sobre as Soluções Adotadas em Ambientes Organizacionais. Curitiba: UFPR, 2012. Trabalho de Graduação – Bacharelado em Ciência da Computação, Universidade Federal do Paraná, Curitiba, 2012.