Desvendando o Mundo do GNU/Linux Headline Animator

segunda-feira, 12 de dezembro de 2011

Honeypot: Aprendendo com o intruso

 Por: Douglas Tavares Martins

Este artigo com como objetivo descrever um pouco sobre os Honeypots como ferramentas que auxiliam os administradores e responsáveis pela segurança, proporcionando a estes os conhecimento necesários sobre técnicas utilizadas por invasores para que assim seja possível se prevenir antes de sofrerem os ataques.
Atualmente vivemos uma situação de verdadeira guerra na internet. De um lado os administradores de redes tentando manter seus sistemas em segurança e pleno funcionamento. De outro lado os invasores que tentam desde pichar pequenos sites e derrubar serviços até invadir redes de grandes empresas pelos mais diversos motivos, desde por pura diversão e gosto pelo perigo até para o roubo de informações sigilosas, muitas vezes por terem sido contratados por concorrentes da vítima.
A internet trouxe um grande problema para as corporações no combate a estes crimes digitais, já que não existem fronteiras para este tipo de ato, onde o criminoso pode estar em outro país.
Além disto, a cada dia surgem novas ferramentas e formas de ataques aos sistemas que até ontem eram considerados seguros, e, normalmente, as falhas de segurança não são descobertas primeiramente pelos administradores, e sim pelos atacantes.
Com isto é preciso que os responsáveis pela segurança e funcionamento de sistemas estejam atualizados quanto às novas formas de ataques que estão surgindo, para assim corrigirem as falhas existentes em seus sistemas e não correrem o risco de terem suas redes comprometidas.
Para isto a técnica de Honeypots demonstra ser uma forma eficiente de se aprender como os atacantes agem, utilizando um sistema de monitoramento e análise de ataques em um ambiente totalmente controlado para este fim.
Existem diversos opções de Honeypots, sendo alguns livres (Honeyd e Valhala) o outros comerciais (Specter e KFSensor) sendo que cada um tem suas características, vantagens e desvantagem que devem serem avaliadas no momentos que se pensa em utilizar este tipo de sistema de estudo.
Mas entre todos estes sistemas de monitoramento o Honeyd se destaca, pois se trata de um sistema de fácil configuração, livre, de código aberto e que existe versão tanto para sistemas *nix quando para Windows.
Porém o Honeyd se trata de um sistema que se baseia nos arquivos de configuração em texto claro e não possui um sistema visual para sua gerência ou para análise dos logs que ele produz o que pode não ser muito agradável para todos. Ainda mais no caso de se possui vários Honeyds espalhados em uma rede ou pela própria internet (no caso de filiais de uma empresa).
Segundo Clinfford Stoll, em agosto de 1986 ele e outros administradores de rede do Lawrence Berkley Laboratory perceberam que alguém estava atacando e obtendo acesso a sua rede. Porém eles não tentaram interromper os ataques para manter o invasor longe, e sim resolveram deixá-lo continuar o ataque enquanto eles monitoravam a ação do invasor, mas as máquinas que sofreram o ataque não eram preparadas para o fim de monitoramento, eram máquinas de uso do instituto, com arquivos e serviços verdadeiros.
No ano de 1991 Bill Cheswick relatou que ao perceber que um computador da AT&T Bell Laboratories estava sofrendo um ataque resolveu fazer algo parecido com o descrito por Stool, mas este preparou especialmente uma máquina para ser invadida, assim poderia melhor controlar os acessos e permissões do invasor, além de não comprometer assim os arquivos e sistemas reais da rede.
Porém foi em 1998 que Fred Cohen desenvolveu e distribuiu gratuitamente pela internet a ferramenta chamada The Deception Toolkit. Esta ferramenta tinha o obSegundo Clinfford Stoll, em agosto de 1986 ele e outros administradores de rede do Lawrence Berkley Laboratory perceberam que alguém estava atacando e obtendo acesso a sua rede. Porém eles não tentaram interromper os ataques para manter o invasor longe, e sim resolveram deixá-lo continuar o ataque enquanto eles monitoravam a ação do invasor, mas as máquinas que sofreram o ataque não eram preparadas para o fim de monitoramento, eram máquinas de uso do instituto, com arquivos e serviços verdadeiros.
No ano de 1991 Bill Cheswick relatou que ao perceber que um computador da AT&T Bell Laboratories estava sofrendo um ataque resolveu fazer algo parecido com o descrito por Stool, mas este preparou especialmente uma máquina para ser invadida, assim poderia melhor controlar os acessos e permissões do invasor, além de não comprometer assim os arquivos e sistemas reais da rede.
Porém foi em 1998 que Fred Cohen desenvolveu e distribuiu gratuitamente pela internet a ferramenta chamada The Deception Toolkit. Esta ferramenta tinha o objetivo de simular vulnerabilidades em softwares conhecidos, emitindo respostas específicas para cada tentativa de invasão que a ferramenta sofresse, para assim tornar o sistema mais real para que o atacante não perceba que caiu em uma armadilha. Neste modo surgiu o que pode ser considerado o primeiro honeypot de aplicação.
Mesmo com os conceitos de honeypots serem da época de Stoll e Cheswick foi apenas no ano de 2002 que foi concedido ao termo honeypot uma definição clara, sendo definido como recurso de segurança cujo valor está na sua sondagem, ataque ou comprometimento.
Com uma definição tão genérica como esta se pode utilizar outros equipamentos para este fim e não apenas computadores.
O valor de um honeypot está no fato que nenhum serviço de uso comum é associado e ele, sendo que sua existência não é divulgada, então nenhuma tentativa de conexão com ele será esperada, assim qualquer tentativa de atividade com ele será considerada uma possível tentativa de ataque.


2.1 Propósito de um honeypot

Existem dois propósitos para os quais os honeypots são utilizados: honeypots de pesquisa e honeypots de produção:
Honeypots de pesquisa: são utilizados como meio de captura de capturar informações que serão utilizadas para identificar rapidamente novos malwares, novas ferramentas e novas táticas utilizadas pelos atacantes. Com isto a informações e novos alertas são divulgados mais rapidamente, proporcionando maior segurança para os responsáveis pelas redes.
Honeypots de produção: utilizados diretamente para a segurança de organizações. Este tipo de honeypot pode funcionar de três formas distintas: prevenção, detecção e resposta.
• Prevenção: este tipo de honeypot pode prevenir ataques. Ele consegue detectar scans pela rede e fornecer respostas mais lentas ou respostas pré-determinadas pelo administrador, com isto podendo fazer com que o atacante perca o interesse no alvo. Utilizando este artifício o invasor terá maiores dificuldades de identificar falhas reais no sistema. Então este sistema tem também a função de confundir o atacando.
Detecção: este honeypot é importante para que quando se detectar um ataque os administradores possam responder rapidamente quanto à ação que deve ser tomada, podendo interromper o ataque ou minimizar os possíveis danos. A vantagem do honeypot é que ele considera suspeita qualquer atividade que tente envolvê-lo.
• Resposta: para se poder responder a um ataque é necessário ter informações claras para se poder conhecer como um atacante agiu e as ferramentas usadas por ele. Em um sistema de produção é complicado de se obter estas informações pois além das informações do ataque também existem os logs dos serviços reais que estão sendo utilizados pela organização, como por exemplo login do usuário no servidor, e-mails enviados e recebidos (no caso de um servidor de e-mails). Além disto, um servidor em produção não pode ser desligado a qualquer momento e com isto a quantidade de informação desnecessária para este fim apenas aumenta, dificultando a análise. Contudo os honeypots captaram apenas as atividades necessárias e podem ser desligados a qualquer momento sem interferir nos serviços reais da organização.


2.2 Vantagens e desvantagens

Honeypots possuem um conceito bem simples, demonstrando que qualquer dispositivo que armazene logs possa ser utilizado para este fim. Mas esta simplicidade trás vantagens e desvantagens aos honeypots.


2.2.1 Vantagens

Pouca necessidade de recursos de hardware já que o honeypot apenas irá registrar as atividades maliciosas;
Possibilidade de identificar tanto as técnicas quanto as ferramentas utilizadas pelo invasor;
Captura de trafego criptografado, que muitas vezes não consegue ser analisada por um sistema de IDS convencional;
Análise de pequena quantia de dados, já que os logs são apenas das tentativas de invasão, sem estarem misturados com os logs de sistemas de produção.
É um sistema simples, pois apenas é necessária a configuração do ambiente para começar o monitoramento, sem necessitar o desenvolvimento de algoritmos complexos.


2.2.2 Desvantagens

A visão dos ataques fica restrita a apenas as ações em que o honeypot esteja diretamente envolvido, a menos que ocorra algum tipo de interação dos sistemas reais com o honeypot.
Pode ocorrer de aparecerem falsos positivos e falsos negativos análise dos logs caso o honeypot não tenha sido bem configurado;
Um honeypot mal configurado também pode ser utilizado pelo invasor para ter acesso à rede real.


2.3 Níveis de interatividade

Os honeypots possuem níveis de interatividades diferentes, sendo esta interação relativa ao nível de liberdade que o invasor terá durante o ataque.
Estas classificações de níveis são diretamente relacionadas quanto às informações que serão coletadas e quanto ao risco de segurança que o honeypot causa na estrutura real da rede.
Pelos níveis de interatividades existem três classificações: baixa interatividade, média interatividade e alta interatividade

2.3.1 Alta interatividade: este tipo de honeypots permite ao atacante interagir com um sistema operacional e serviços reais. Os serviços não são simulados, não são utilizados ambientes especiais e nada é restringido. Este honeypot traz maior risco ao sistema e é mais complexo de ser criado, porém oferece uma maior possibilidade de coleta de dados.

2.3.2 Média interatividade: um honeypot de média interatividade permite que ao atacante uma interação maior com o sistema, pois nem todos os serviços são totalmente emulados permitindo acesso a pastas e arquivos do sistema real, mas sem acesso aos arquivos críticos do sistema. Um honeypot com serviços deste nível é o Valhala que permite que os ataques ao seu serviço de FTP acessem arquivos colocados em uma determinada pasta no sistema real, podendo estes arquivos ser visualizados, copiados ou removidos.

2.3.3 Baixa interatividade: neste nível estão os honeypots de aplicação, nos quais o atacante não tem nenhuma interação com o sistema real, pois todo serviço que o invasor terá acesso serão totalmente emulados. Estes são os mais fáceis de instalar, configurar e dar manutenção.
Exatamente pelo fato deste tipo de honeypot não permitir a interação com o sistema real e esta classificação a que apresenta o menor risco de ser utilizado, sendo o mais indicado para organizações ou pessoas que estão começando a trabalhar com estes sistemas de análise de vulnerabilidades. jetivo de simular vulnerabilidades em softwares conhecidos, emitindo respostas específicas para cada tentativa de invasão que a ferramenta sofresse, para assim tornar o sistema mais real para que o atacante não perceba que caiu em uma armadilha. Neste modo surgiu o que pode ser considerado o primeiro honeypot de aplicação.

Mesmo com os conceitos de honeypots serem da época de Stoll e Cheswick foi apenas no ano de 2002 que foi concedido ao termo honeypot uma definição clara, sendo definido como recurso de segurança cujo valor está na sua sondagem, ataque ou comprometimento.
Com uma definição tão genérica como esta se pode utilizar outros equipamentos para este fim e não apenas computadores.
O valor de um honeypot está no fato que nenhum serviço de uso comum é associado e ele, sendo que sua existência não é divulgada, então nenhuma tentativa de conexão com ele será esperada, assim qualquer tentativa de atividade com ele será considerada uma possível tentativa de ataque.

2.1 Propósito de um honeypot

Existem dois propósitos para os quais os honeypots são utilizados: honeypots de pesquisa e honeypots de produção:
Honeypots de pesquisa: são utilizados como meio de captura de capturar informações que serão utilizadas para identificar rapidamente novos malwares, novas ferramentas e novas táticas utilizadas pelos atacantes. Com isto a informações e novos alertas são divulgados mais rapidamente, proporcionando maior segurança para os responsáveis pelas redes.
Honeypots de produção: utilizados diretamente para a segurança de organizações. Este tipo de honeypot pode funcionar de três formas distintas: prevenção, detecção e resposta.
• Prevenção: este tipo de honeypot pode prevenir ataques. Ele consegue detectar scans pela rede e fornecer respostas mais lentas ou respostas pré-determinadas pelo administrador, com isto podendo fazer com que o atacante perca o interesse no alvo. Utilizando este artifício o invasor terá maiores dificuldades de identificar falhas reais no sistema. Então este sistema tem também a função de confundir o atacando.
Detecção: este honeypot é importante para que quando se detectar um ataque os administradores possam responder rapidamente quanto à ação que deve ser tomada, podendo interromper o ataque ou minimizar os possíveis danos. A vantagem do honeypot é que ele considera suspeita qualquer atividade que tente envolvê-lo.
• Resposta: para se poder responder a um ataque é necessário ter informações claras para se poder conhecer como um atacante agiu e as ferramentas usadas por ele. Em um sistema de produção é complicado de se obter estas informações pois além das informações do ataque também existem os logs dos serviços reais que estão sendo utilizados pela organização, como por exemplo login do usuário no servidor, e-mails enviados e recebidos (no caso de um servidor de e-mails). Além disto, um servidor em produção não pode ser desligado a qualquer momento e com isto a quantidade de informação desnecessária para este fim apenas aumenta, dificultando a análise. Contudo os honeypots captaram apenas as atividades necessárias e podem ser desligados a qualquer momento sem interferir nos serviços reais da organização.


2.2 Vantagens e desvantagens

Honeypots possuem um conceito bem simples, demonstrando que qualquer dispositivo que armazene logs possa ser utilizado para este fim. Mas esta simplicidade trás vantagens e desvantagens aos honeypots.


2.2.1 Vantagens

Pouca necessidade de recursos de hardware já que o honeypot apenas irá registrar as atividades maliciosas;
Possibilidade de identificar tanto as técnicas quanto as ferramentas utilizadas pelo invasor;
Captura de trafego criptografado, que muitas vezes não consegue ser analisada por um sistema de IDS convencional;
Análise de pequena quantia de dados, já que os logs são apenas das tentativas de invasão, sem estarem misturados com os logs de sistemas de produção.
É um sistema simples, pois apenas é necessária a configuração do ambiente para começar o monitoramento, sem necessitar o desenvolvimento de algoritmos complexos.


2.2.2 Desvantagens

A visão dos ataques fica restrita a apenas as ações em que o honeypot esteja diretamente envolvido, a menos que ocorra algum tipo de interação dos sistemas reais com o honeypot.
Pode ocorrer de aparecerem falsos positivos e falsos negativos análise dos logs caso o honeypot não tenha sido bem configurado;
Um honeypot mal configurado também pode ser utilizado pelo invasor para ter acesso à rede real.


2.3 Níveis de interatividade

Os honeypots possuem níveis de interatividades diferentes, sendo esta interação relativa ao nível de liberdade que o invasor terá durante o ataque.
Estas classificações de níveis são diretamente relacionadas quanto às informações que serão coletadas e quanto ao risco de segurança que o honeypot causa na estrutura real da rede.
Pelos níveis de interatividades existem três classificações: baixa interatividade, média interatividade e alta interatividade

2.3.1 Alta interatividade: este tipo de honeypots permite ao atacante interagir com um sistema operacional e serviços reais. Os serviços não são simulados, não são utilizados ambientes especiais e nada é restringido. Este honeypot traz maior risco ao sistema e é mais complexo de ser criado, porém oferece uma maior possibilidade de coleta de dados.
2.3.2 Média interatividade: um honeypot de média interatividade permite que ao atacante uma interação maior com o sistema, pois nem todos os serviços são totalmente emulados permitindo acesso a pastas e arquivos do sistema real, mas sem acesso aos arquivos críticos do sistema. Um honeypot com serviços deste nível é o Valhala que permite que os ataques ao seu serviço de FTP acessem arquivos colocados em uma determinada pasta no sistema real, podendo estes arquivos ser visualizados, copiados ou removidos.
2.3.3 Baixa interatividade: neste nível estão os honeypots de aplicação, nos quais o atacante não tem nenhuma interação com o sistema real, pois todo serviço que o invasor terá acesso serão totalmente emulados. Estes são os mais fáceis de instalar, configurar e dar manutenção.
Exatamente pelo fato deste tipo de honeypot não permitir a interação com o sistema real e esta classificação a que apresenta o menor risco de ser utilizado, sendo o mais indicado para organizações ou pessoas que estão começando a trabalhar com estes sistemas de análise de vulnerabilidades.

Com a evolução tecnológica e a maior necessidade de informações sobre novos ataques os honeypots precisaram evoluir a forma que agir e detectar os ataques sem comprometer a discrição necessária para que os atacantes não percebam que caíram em uma armadilha. Com isto os honeypots evoluíram para as Honeynets e para os Honeypots Distribuídos.


3.1 Honeynets

As honeynets podem ser caracterizadas então como um conjunto de honeypots que formam uma rede com o objetivo ser comprometida.
Podemos classificar como honeynets quando vários honeypots são colocados em uma mesma rede sendo que todos utilizam o mesmo gateway que será o responsável por analisar o tráfego da rede.
A vantagem da utilização de honeynets é que os serviços ficam distribuídos em máquinas diferentes criando assim um ambientes com maior realismo, dificultando que o atacante perceba que caiu em uma armadilha.
A primeira vista pode parecer que uma rede de honeypots irá acarretar em um alto custo de implementação por necessitar de várias máquinas, e conseqüentemente vários hardwares, porém com a utilização de máquinas virtuais para a formação da honeynet será necessário apenas um hardware. Frise-se que este hardware não necessitará ser dedicado unicamente para este fim, podendo ser utilizado também para outras VMs com serviços reais na rede.


3.2 Honeypots Distribuídos

Outra evolução que os sistemas de honeypots são os honeypots distribuídos que se trata de uma rede de honeypots de aplicação fisicamente distribuídas com o objetivo de cobrir o maior número possível de IPs.
Com a possibilidade de cobrir uma quantia maior de IPs e assim detectar uma maior quantia e variedade de ataques foram criados projetos como o Consórcio Brasileiro de Honeypots, que monitora mais de 10.000 IPs e possui 47 nodos de detecção espalhados pelo Brasil, sendo que desde projeto participam universidades, organizações do governo federal, empresas privadas e de telecomunicações).
Este é um projeto organizado pelo Comitê Gestor da Internet no Brasil (CGI.BR) e disponibiliza através do site do projeto um sumário das estatísticas do trafego analisado, sendo que as estatísticas podem ser mensais, semanais, diárias, das últimas 24 horas ou em tempo real (BRAZILIAN HONEYPOTS ALLIANCE).

Nenhum comentário:

Postar um comentário