Análise de Vulnerabilidades em TI

Postado em: 15 de maio de 2015 - Por: Thiago Palmeira

radar1

 

Atualmente, com o despertar do mercado para os conceitos de Segurança da Informação, muito se fala sobre alguns termos como Análise de Vulnerabilidade, Análise de Risco e Testes de Penetração, também chamados de PenTest. O problema é que essas nomenclaturas acabam gerando confusão na cabeça de muita gente. Para tentar desembolar esse nó, iremos falar um pouquinho sobre o que é, na verdade, uma Análise de Vulnerabilidade e o porque ela é importante para o seu negócio.

Quando falamos de vulnerabilidades, estamos falando, também, dos riscos atrelados a essas vulnerabilidades e é exatamente isso que gera toda a confusão quando tratamos desse assunto.

 

nuvem_hibrida_reduz_custo_ti

 

Pra começar, precisamos entender o que é um risco. Risco é meramente um contexto que inclui as ameaças, vulnerabilidades e o valor a proteger. Sob uma visão mais aberta, ele define o que está em jogo na sua organização em termos de bens econômicos, sejam físicos ou lógicos. Para chegar a esta definição, usamos um processo chamado Análise de Risco, responsável por avaliar em que medida um determinado contexto é ou não aceitável para uma organização.

Esses pontos são parte de um processo maior, chamado Gerenciamento de Risco, que é muito mais abrangente. Como nosso objetivo é a Análise de Vulnerabilidades, vamos falar rapidamente de algumas etapas apenas para dar a você uma breve visão do todo. Por definição, os processos de Gerenciamento de Risco envolvem qualquer coisa que pode causar dano financeiro à sua organização, desde furtos, acidentes de trabalho, até fenômenos naturais catastróficos. Sendo assim, para manter o foco, nos limitaremos apenas à visão tecnológica da coisa, restringindo os pontos abordados apenas ao que diz respeito a TI.
Gerenciamento de Risco

 

Avaliação de Risco

Para gerenciar o Risco é preciso antes conhecê-lo, e este é o papel da Avaliação de Risco. Seus processos objetivam definir e avaliar, de uma forma sistemática, os riscos de segurança aos quais estão sujeitos os recursos de negócio críticos da organização.

A Identificação de Risco é responsável por identificar o que pode acontecer. Ela deve declarar as origens do risco. Na Análise de Risco vamos um pouco mais além e tentamos avaliar o risco como um todo, com sua origem, probabilidade e consequências. Na Análise de Risco, três perguntas base devem ser utilizadas nesse levantamento:

 

  1. O que pode acontecer?
  2. Qual a probabilidade de acontecer?
  3. Quais as consequências?

 

Com essas informações em mãos, podemos avançar para o próximo passo e tentar estimar o risco. A Estimativa de Risco irá avaliar se o risco é ou não aceitável para a organização. Através da chamada Matriz de Risco, que utiliza um eixo <X,Y> entre as consequências e a probabilidade de um determinado evento, podemos mensurar sua criticidade e estimar se vale a pena aceitar (assumir) o risco ou se devemos tratá-lo com alguma medida.

Avaliação de Vulnerabilidade

Agora sim, estamos chegando ao ponto principal de nossa conversa! Como parte do Gerenciamento de Risco, a Avaliação de Vulnerabilidade é definida como o processo de encontrar e verificar vulnerabilidades em um ambiente. Após identificarmos e avaliarmos os riscos, é ela quem vai produzir uma imagem do estado atual de exposição do ambiente a estes riscos, para que estes possam ser tratados. Trata-se de um processo contínuo de identificação, remediação e reporte dos resultados para que medidas possam ser tomadas, reiniciando o processo como um todo.

Análise de Capacidade

Inicialmente, temos a Análise de Capacidade, que é o processo responsável por revisar a capacidade de um grupo contra os objetivos almejados, identificando as lacunas que devem ser preenchidas. O termo “capacidade” é definido como a habilidade de indivíduos, organizações e sistemas em executar funções de maneira efetiva e sustentável. Aqui precisamos definir o que pode ser feito, como pode ser feito e o que precisamos para fazê-lo. Por exemplo, se desejamos realizar uma análise de vulnerabilidade em nossos servidores internos, precisamos antes verificar se temos a mão de obra especializada e as ferramentas necessárias para tal, como um analisador de protocolo.

Análise de Vulnerabilidade

Finalmente, a Análise de Vulnerabilidade trata do processo de identificação de falhas e vulnerabilidades conhecidas presentes no ambiente e que o expõem a ameaças. Essas falhas podem ser causadas por erros de programação, má configuração ou simplesmente falha humana. É esta análise que vai, efetivamente, mapear os programas e serviços que possam conter falhas e vulnerabilidades, reportando esses resultados através de um relatório. Assim podemos tratar e mitigar as falhas encontradas, garantindo maior segurança ao ambiente e estabelecendo uma nova Linha de Base para futuras análises.

A técnica chamada de Baseline Reporting o auxilia a identificar o que está acontecendo na sua rede ou companhia quando não existem ameaças, ou seja, quando nenhum agente está explorando, intencionalmente ou não, alguma falha ou vulnerabilidade no ambiente. Este comportamento é utilizado quando você suspeita de algum evento e precisa compará-lo ao funcionamento normal de suas atividades. Contudo, tanto o ambiente quanto as operações de sua empresa se modificam naturalmente, de forma que você deve garantir que sua Linha de Base seja atualizada frequentemente (vamos falar um pouco mais sobre isso ao final deste texto).

O processo de Análise de Vulnerabilidade é suportado por diversas Ferramentas de Análise, capazes de auxiliá-lo nesta identificação. Vamos conhecer algumas delas!

Port Scanner

Um Port Scanner varre as portas de serviço TCP/IP de cada host analisado na rede, identificando quais destas portas estão abertas ou expostas. Este resultado ajuda a identicar quais serviços estão rodando em um determinado host. Por exemplo, um servidor de nomes irá responder a uma solicitação na porta TCP 53, quando um servidor web poderá responder na porta TCP 80 (HTTP), TCP 443 (HTTPS) ou em ambas.

O importante nesta análise é identificar se essas portas estão devidamente filtradas e se há exposição desnecessária de serviços. Como assim? Bem, você pode desejar que a porta HTTP de seu servidor web esteja acessível para o mundo através da internet, mas você provavelmente não quer que o mesmo seja verdadeiro para a porta SSH (TCP 22) deste servidor. O seu servidor de banco de dados pode responder a solicitações na porta TCP 1433 (SQL), mas se a aplicação que faz acesso a este banco está dentro de sua infraestrutura, porque esta mesma porta está acessível a partir da Internet? Um Port Scanner vai ajudá-lo a levantar estes questionamentos.

Protocol Analyzer

Analisadores de Protocolo, ou Sniffers são ferramentas capazes de visualizar o tráfego de rede, capturando pacotes trafegados e permitindo a análise de seu conteúdo. Um analisador de protocolo o ajuda a identificar o comportamento “padrão” de sua rede na hora de estabelecer uma Linha de Base. Através dele, também é possível monitorar a comunicação de seus dispositivos e aplicações, observando o que está sendo trafegado, identificando erros, padrões e verificando que tipo de informação é transmitida.

Com um sniffer e uma análise minuciosa, é possível coletar até mesmo informações sensíveis como usuários e senhas de acesso, caso estas trafeguem em “texto plano”, ou seja, não criptografadas. Por exemplo, se sua empresa possui um sistema com autenticação em HTTP ou Telnet, famosas por trafegarem informações em formato plaintext, será possível visualizar estas credenciais de acesso simplesmente coletando e observando o tráfego de rede, durante o processo de autenticação.

Vulnerability Scanners

São ferramentas inteligentes capazes de escanear o seu sistema, analisando serviços, versões de software, sistemas operacionais, bancos de dados e outros elementos em seu ambiente, identificando versões desatualizadas, patches de correção não aplicados, má configuração e outros detalhes que possam expô-lo a ameaças. Essas ferramentas “aprendem”, sendo constantemente alimentadas com informações de novos patches de correção e atualizações de sistema dos fornecedores, garantindo que seu ambiente seja checado contra as mais novas descobertas de vulnerabilidades.

A característica detalhista de algumas ferramentas de análise de vulnerabilidade também gera um bocado de confusão com a técnica que chamamos de PenTest. E é importante saber diferenciar as duas coisas. Embora uma ferramenta de vulnerability scan possa realizar algumas consultas ou chamadas de serviço de modo a identificar um ponto de falha, ela nunca irá, de fato, atacar o serviço. Sua ferramenta pode, por exemplo, efetuar uma requisição HTTP usando o método TRACE para identificar se seu servidor web está vulnerável a ataques de XST, mas não irá tentar acessar o arquivo de cookie ou manipular a sua sessão.

O Teste de Penetração ou PenTest difere da Análise de Vulnerabilidade pela característica de efetivamente atacar o sistema-alvo. No PenTest, um agente assume o papel de atacante. Ao encontrar uma vulnerabilidade, ele para, estuda como pode explorá-la e realiza o ataque. O objetivo deste teste é verificar até que ponto é possível chegar através da exploração de uma determinada vulnerabilidade.

Enquanto a Análise de Vulnerabilidade fornece a você uma visão geral dos pontos de falha presentes em seu sistema, o Teste de Penetração visa pegar um destes pontos de falha e explorá-lo ao máximo, a partir do ponto de vista do atacante, de modo a tentar identificar que tipo de ações maliciosas podem ser realizadas através daquela brecha.

 

Honeypots/Honeynets

Os chamados Honeypots ou Honeynets (“Potes de Mel” e “Redes de Mel”, literalmente) têm esse nome porque são utilizados para atrair ameaças que normalmente seriam direcionadas a seu ambiente de produção. Tratam-se de implementações de software complexas, que “sentam” em seu ambiente e tentam se parecer com sistemas em produção vulneráveis, no intuito de atrair atacantes. Eles então analisam esses ataques, estudando a forma como aconteceram, o que pôde ser danificado ou comprometido, quais vulnerabilidades foram exploradas, quais serviços afetados e etc. Essas informações permitem que você tome conhecimento desses métodos e possa aprender a se prevenir contra eles no futuro.

Resultados e Conclusões

Os resultados obtidos pela Análise de Vulnerabilidade irão alimentá-lo com informações suficientes para que você chegue a uma conclusão sobre seu estado atual de exposição a ameaças. Estes deverão conter a relação do que pode acontecer, com que frequência e o quão crítica é a consequência, somada a um relatório técnico detalhando quais serviços e sistemas estão sujeitos a quais tipos de ameaça.

Assim você terá em mãos o conhecimento necessário para traçar seu plano de ação. Em seguida, basta colocar a mão na massa e partir para o próximo passo!

Tratamento de Risco

O Tratamento de Risco é um processo simples de ser descrito e bem mais complicado de ser realizado. Aqui são tomadas as medidas cabíveis para se mitigar o risco com base em tudo o que já fora concluído. A partir das conclusões extraídas, é possível traçar um plano de ação envolvendo quais riscos serão aceitos, quais deverão ser mitigados e como cada um destes deverá ser tratado.

Esses passos poderão envolver procedimentos simples, como a atualização de alguns serviços, ou procedimentos bem mais complexos, como a migração completa do ambiente de alguns sistemas, de um banco de dados ou a necessidade de rescrever o código de uma aplicação.

O Tratamento de Risco normalmente irá iniciar diversos processos de GMUD (Gerenciamento de Mudança) para que alterações sejam planejadas, efetivadas e devidamente documentadas dentro da infraestrutura. Por fim, ele se comporta como um processo de Melhoria Contínua, pois o que foi realizado e documentado deverá servir como entrada para que toda a cadeia seja reiniciada. Os resultados serão reanalisados, definindo uma nova Linha de Base e renovando o ciclo como um todo.

O Gerenciamento de Risco deve ser um processo contínuo e a Análise de Vulnerabilidade é muito importante para o seu negócio, pois concede um resultado tangível das fraquezas de seu ambiente, demonstrando a quais ameaças ele está exposto.

Não é incomum, por exemplo, empresas estarem rodando versões desatualizadas e vulneráveis do Apache em seus servidores web simplesmente por não manterem um processo de análise e monitoria dessas ferramentas. Mesmo que  inúmeros patches de correção tenham sido lançados e anunciados pelos fornecedores, corrigindo estas falhas, quando não há um processo acompanhando essas mudanças de uma forma contínua, a tendência é que o ambiente “pare no tempo” no que diz respeito à segurança da informação. Isso é um prato cheio para agentes maliciosos, que todos os dias exploram vulnerabilidades não corrigidas em sistemas, protocolos e serviços.

E, você, já faz sua Análise de Vulnerabilidade ou está esperando virar o prato do dia?

Leia também