sexta-feira, 6 de junho de 2008

Resumo do Livro - Conheça o seu inimigo

O projeto Honeynet


O meu comandante costumava dizer que para se defender do inimigo primeiro é preciso conhecer o inimigo, ou seja, conhecer seus métodos de ataque, suas ferramentas, táticas e objetivos. Essa doutrina militar se aplica facilmente à segurança de rede, assim como foi aplicada ao exército. A comunidade blackhat é o adversário. Nós precisamos nos defender dessa ameaça. Entretanto, para ter sucesso, primeiro temos de conhecer o nosso inimigo.

Parte I

1- A Honeynet

No passado, se você perguntasse a um profissional da segurança sobre os bandidos, provavelmente teria uma resposta técnica sobre as diversas ferramentas de exploração e algumas adivinhações elaboradas sobre as táticas e os motivos dos diversos atacantes. Nós entendemos que a comunidade blackhat tradicionalmente tem se limitado às ferramentas usadas pelos atacantes, com pouca compreensão do modo como essas ferramentas estavam sendo usadas, por quem ou por que. Os profissionais da segurança podiam explicar com muitos detalhes como o mais recente ataque de estouro de buffer funcionava ou podiam falar sobre a funcionalidade de um ataque baseado na web, mas muito provavelmente eles teriam dificuldades para explicar quem estava atacando esses sistemas, por que eles estavam sendo atacados ou o que acontecia depois que um sistema estava comprometido. Nossa compreensão se limitava às ferramentas de exploração usadas e a algumas teorias sobre as ações do inimigo.
Esse enfoque é fácil de entender. Dentro da comunidade da segurança a maioria de nós tem uma formação altamente técnica. As nossas funções exigem um conjunto altamente técnico de habilidades para que possamos entender as tecnologias envolvidas, implementar e solucionar os problemas dessas tecnologias. Como esse é o ambiente que tradicionalmente entendemos melhor, também é mais fácil entender nossas ameaças nesses termos técnicos. Da mesmo forma. As evidências com as quais tivemos de aprender são os próprios sistemas comprometidos, as ferramentas e os danos que os bandidos deixaram para trás. Com freqüência, a única coisa que um profissional da segurança pode determinar pode determinar é qual vulnerabilidade foi explorada e, potencialmente, como ela foi explorada. Eventualmente, os blackhats deixam ferramentas nos sistemas comprometidos, mas elas quase sempre são apagadas ou são difíceis de entender. Da mesma forma, dadas todas as outras atividades de rede, os sistemas e seus aplicativos, talvez seja difícil determinar o que é a atividade de produção normal e o que é atividade suspeita ou mal intencionada.
O Honeynet Project é uma tentativa de mudar tudo isso. O seu objetivo é aprender o máximo sobre a comunidade blackhat. O nosso objetivo é aprender não apenas as suas ferramentas, como também as suas táticas e motivos. Nós queremos entender não apenas quais são as ferramentas que os bandidos estão usando, como também como e por que eles estão usando. É nesse ponto que o Honeynet entra em ação.
2- O que é uma Honeynet


As Hineynets são umas ferramentas de aprendizado – especificamente, as ferramentas, as táticas e os motivos da comunidade blackhat. O que torna uma Honeynet exclusiva é o fato de que nada é emulado. Ao contrário, uma rede altemente controlada é formada por máquinas que executem sistemas operacionais que são idênticos aos sistemas de produção. Após estarem comprometidos, os sistemas não apenas nos ensinam como a comunidade blackhat opera, mas também identificam os riscos e as vulnerabilidades que existem nos nossos ambientes. Esse é o principal valor da Honeynet: o aprendizado.

3- Como funciona uma Honeynet

Os dois principais elementos são o controle de dados e a captura de dados. O controle de dados é a filtragem de quais dados fluem para onde. O elemento crítico é controlar as conexões que podem ser iniciadas para fora, para minimizar o risco. A captura de dados é a coleta das informações, as quais são o objetivo final da Honeynet. O segredo da captura de dados são as camadas. Uma variedade de técnicas deve ser usada para coletar dados. Nenhuma camada deve ser um ponto de falha único. Por último, a engenharia social é um método de “manter a Honeynet doce”. Isso permitirá atrair e manter membros mais avançados da comunidade blackhat. Lembre-se, porém, de que independentemente das medidas usadas, sempre existe o risco. O Honeynet Project fez todo o possível para reduzir o risco, mas ele nunca poderá ser eliminado. No exército diríamos “nunca subestime o seu inimigo”.

4- Como criar uma Honeynet



Não existe um único produto, método ou solução para uma Honeynet. Tudo depende dos seus requisitos e do seu ambiente. Entretanto, a funcionalidade do controle e da captura de dados deve ser incluída. Independentemente da arquitetura que você deseja desenvolver e implementar, você deve poder controlar e capturar dados. As Honeynets não são uma solução do tipo “instalar e esquecer”. Elas exigem cuidado e manutenção constantes. À medida que as suas ameaças se adaptam e mudam, a sua Honeynet também deve se adaptar e mudar. Da mesma forma, deve existir um procedimento para reagir rapidamente a um sistema comprometido.

Parte II
Análise de Dados

Logs do Firewall
Na maioria das organizações, os logs de firewall tem pouco valor. São tantos os dados registrados pelo firewall que fica difícil determinar o que é trafego valido e o que é supeito, e isso exige maiores analises. As organizações passam semanas ou ate mesmo meses sem examinar os registros do firewall. Entretanto, em uma Honeynet todo o trafego é suspeito. Assim sendo , todo o trafego dos logs do firewall é potencialmente informação útil.
O firewall do Honeynet Project foi criado para enviar alertas de e-mail para todo o trafego recebido na Honeynet. Esses alertas são gerados sempre que alguém inicia uma conexão com a Honeynet. Isso simplifica o processo de coleta de dados. Em vez de examinar manualmente os logs do firewall, o firewall nos envia por e-mail todas as informações necessárias.
Para obter informações detalhadas sobre os pacotes enviados, átis como flags TCP, nos teríamos de examinar os pacotes capturados pelo farejador do IDS. Entretanto, os alertas do firewall nos dão o feedback em tempo real sobre o que esta acontecendo.
Esses alertas também funcionam para conexões para fora. O firewall dos alertas para todas as conexões iniciadas pela Honeynet para fora. Essas informações são muito importantes, uma vez que elas nos alertam quando um sistema foi comprometido. Normalmente, tal atividade é alertada tanto por e-mail como por um “paging” para a administração atual. É importante monitorar o sistema comprometido o mais rápido possível para garantir que o blackhat não contone nenhuma das medidas de segurança da Honeynet.

Análise do IDS
O IDS fornece três fontes de informações. A primeira fonte são os próprios alertas do IDS, quando alguma atividade suspeita é detectada, essa atividade geralmente é predefinida como uma assinatura especifica no banco de dados do IDS. A segunda fonte de informações são as capturas de pacotes, essas informações detalhadas são armazenadas em um arquivo de log binário e são referenciadas após um ataque para uma analise detalhada. A terceira fonte de informações são os logs de sessão ASCII, o lugar onde o IDS armazena os dado ASCII detectados na carda útil de casa pacote, tal como os pressionamentos de teclas.
O IDS da Honeynet net foi configurado para gerar um alerta sempre que ele detectar atividades suspeitas. Esses alertas são armazenados por meio do syslogd em um arquivo de log, que pe monitorado pelo Swatch uma ferramenta de analise de log adequada para a automação. O Swatch encaminha esses alertas por e-mail para o administrador.

Logs de Sistema
Os logs de sistemas podem ser usados para validar os logs do firewall e do IDS. Nesse caso nos confirmamos que uma exploração de rpc.statd foi, sem duvida, executada no sistema. Os registros também confirmam que as duas contas, operator e cgi, foram usadas para acessar o honeypot.
Nesse caso especifico o blackhat não tentou ocultar a atividade modificando os arquivos de log. Assim sendo, os logs do honeypot em si e os logs registrados no servidor de log remoto eram idênticos.

Análise de um Sistema Comprometido

A sondagem
Ao estudar um ataque você de começar pelo inicio. Onde o blackhat começou? Após identificarmos o inicio, nos podemos fazer o passo a passo do ataque decodificando o mesmo.
Os blackhats normalmente começam com a coleta das informações. Antes de atacarem ele precisam determinar quais são as vulnerabilidades. Se o sistema foi comprometido, em geral essa não é a primeira vez que o blackhat se comunica com aquele sistema. A maioria dos ataques envolve a coleta de informações antes do ataque ser iniciado.

A exploração
A próxima etapa é examinar o ataque. Para tanto, vamos examinar os pacotes de rede. Todas essa informações foram capturadas pelo Snort de IDS e armazenadas em um arquivo de log binário. Agora examinamos esse arquivo de log para identificar e analisar a exploração. O objetivo da maioria das explorações é obter um sell root ou um acesso root no sistema remoto. Após ganhar um Shell root, o blackhat pode executar qualquer comando como o root.

Ganhando acesso
Após iniciar a exploração com sucesso, o nosso blackhat conectou-se ao honeypot com TELNET e FTP. Felizmente para nos, esses sçao protocolos em texto simples em que os dados não são criptografados. Assim sendo, nos podemos decodificar o rastro do farejador e capturar todos os pressionamentos de teclas do blackhat. O Snort já fez isso convertendo o conteúdo em ASCII das sessões TELNET e FTP em arquivos de texto simples. Ao analisar os pressionamentos de teclas que o Snort capturou, nos podemos determinar o que nosso blackhat fez. Um dos benefícios da decodificação das sessões com o farejador de rede é que nós capturamos não apenas STDIN (os pressionamentos de teclas) como tambem STDOUT e STDER.

O retorno
Após o honeypot ter sido comprometido nos o colocamos off-line para examinar os dados. Entretanto, notamos na semana seguinte que uma serie de sistemas estavam tentando usar o TELNET no computador. Aparentemente, o blackhat queria voltar, muito provavelmente para usar o sistema comprometido para outras atividades. Assim sendo, nos deixamos o sistema comprometido novamente on-line, curiosos para ver se o blackhat voltaria. Quase duas semanas depois ele voltou. Novamente nós capturamos todos seu pressionamentos de teclas usando o Snort. Conseguimos determinar os motivos do blackhat. Neste caso, nós aprendemos como o nosso sistema comprometido seria usado com um cliente de recusa de serviço distribuída, o Trinoo. Esse blackhat queria ter a propriedade do máximo possível de sistemas para iniciar ataques de recusa de serviço distribuídos e altamente destrutivos.






Análise de Dados Avançada

Obtenção passiva de impressões digitais
No método de obtenção passiva de impressões digitais você aprende mais sobre o atacante sem se arriscar a ser detectado. Você pode determinar o sistema operacional, os serviços e os aplicativos de um hots remoto usando apenas os rastros do farejador (sniffer). Tradicionalmente, têm-se usado para a obtenção de impressões digitais ferramentas ativas, programas tais como o Queso ou o Nmap. Essas ferramentas operam de acordo com o principio de que toda pilha IP e todos os aplicativos do sistema operacional tem propriedades e particularidades exclusivas. É possível enviar uma seqüência de pacotes de sondagem para os sistemas de destino e examinar as respostas com muito cuidado.
A obtenção passiva de impressões digitais segue o mesmo conceito, mas é implementada de forma diferente. A obtenção passiva de impressões digitais se baseia nos rastros do farejador do trafego gerado pelo sistema remoto.
A obtenção passiva de impressões digitais tem algumas vantagens com relação a obtenção ativa de impressões digitais.
Nós podemos agir em todas as camadas de TCP/IP;
É possível detectar os sistemas com tempo de operação (uptime) baixo;
Nós podemos detectar paroes de comportamento;
As ações acontecem passivamente, sem que o usuário remoto saiba o que estamos descobrindo.
Mas a obtenção passiva de impressões digitais não é perfeita
Ela não é 100% precisa
Alguns aplicativos criam seus próprios pacotes e não produzirão a mesma assinatura que seria produzida pelo sistema operacional em si
Alguns dos valores padrões que usamos podem ser alterados facilmente; as informações podem ser alteradas.

O Exemplo ICMP
A requisição de eco (echo request) do ICMP é exclusiva no sentido que quase todos os sistemas operacionais tem essa capacidade. Isso faz com que os aplicativos baseados em ICMP sejam os mais usados pelos blackhats. Normalmente, o utilitário ping é usado para gerar as requisições de eco ICMP. Podemos faze uma distinção clara entre a implementação do ping em sistemas operacionais UNIX e semelhantes ao UNIX e a implementação do ping em sistemas operacionais da Microsoft.

Argumentação
A arqumentação (forensics) é outra técnica que permite faze uma analise muito mais detalhada dos dados, A argumentação pode recuperar os processos, os arquivos ou as ferramentas que o blackhat possa ter comprometido, permitindo recriar as atividades de usuário ou identificar atividades que não tenham sido identificadas por outras analises. A argumentação é o processo de examinar o sistema comprometido e volta passo a passo para saber o que aconteceu. Geralmente isso exige que se deixe o sistema comprometido off-line ou que se crie uma copia do sistema e se analise as imagens.


O Desafio da Argumentação

The Cotoner’s Toolkit
The Cotoner’s Toolkit (TCT) é um conjunto de ferramentas que oferece uma ampla variedade de funcionalidades. A finalidade do TCT, e da argumentação em geral, é tirar o máximo possível de informações de um sistema comprometido. Muitas pessoas tentam recuperar apenas informações especificas, mas isso é um erro. Em vez de tentar recuperar e analisar um subconjunto especifico de informações, recomendamos que você tente reunir o maxi possível de informações e, em seguida, junte as peças.

Os horários de MAC
Cada arquivo tem um inode que armazena os atributos de MAC (Modify/Access/Change, modificação/acesso/alteração) para manter p estado de um arquivo. Esses atributos são atualizados pelo inode quando os arquivos do sistema são usados.
O atributo Modify mantém o estado, como quando bytes de um arquivo são alterados, quando alguém escreve em um arquivo ou quando um arquivo é incluído ou excluído de um diretório. Access ocorre quando um arquivo é executado ou aberto, ou quando um diretório é acessado. Change se refere a quando um modo de arquivo oi o dono (ownership) muda ou quando um arquivo é alterado.

Inodes excluídos
Os horários de MAC são informações armazenadas dentro do inode de um arquivo. Se o inode puder ser recuperado, os horários de MAC também pode sê-lo. O Ils é um utilitário que recupera os inode excluídos. O Ils2mac é um utilitário que toma os inodes excluídos e determina os horários de MAC do arquivo.

Recuperação de dados
Os arquivos excluídos podem ser recuperados se identificarmos o inode.
Alem da recuperação do inode, O TCT tem outra opção, unrm, para recuperar os arquvos excluídos. O unrm toma uma partição e fornece todo o espaço excluído daquela partição. Ele só fornece os dados que foram excluídos. Esse pe um método excelente para recuperar dados que não podem ser recuperados com base nos inodes excluídos. Por exemplo, suspeitamos que o blackhat modificou os logs de sistema, provavelmente na tentativa de limpar qualquer log de acesso ou atividade.

Parte III

O Inimigo

Na parte I discutimos o conceito da Honeynet e definimos a rede e o seu valor para comunidade da segurança, na parte II explicamos como analisar os dados que uma Honeynet captura, e a partir dessa análise, obter inteligência sobre o oponete. Mais na Parte II discutiremos o comportamento e o que a Honeynet revelou sobre os Blackhats.

A Ameaça
Uma ameaça que todos nós enfrentamos normalmente é conhecida como metodologia scipt kidde (garotada de scripts, iniciantes que não cria suas próprias ferramentas de exploração. Mais sim usa scripts de terceiros para os ataques) que é a sondagem e a exploração de um ataque fácil.
Alguns desses blackhats são usuários avançados que desenvolvem suas próprias ferramentas e deixam no seu sistemas portas dos fundos (backdoors) sofisticadas. Os script kiddes procuram sistemas inseguros para fazer as explorações e o ataque fácil.

As Táticas
A tática que identificamos é simples. A maioria dos blackhats varre a internet aleatoriamente, procurando por uma fraqueza especifica, quando a encontram eles a exploram. Eles se concentram em uma vulnerabilidade específica que pode ser a única que eles conhecem. A comunidade blackhat tem até um nome para esses tipos de ferramentas: autorooter. Em primeiro lugar, o blackhat desenvolve um banco de dados com endereços IP que podem ser varridos, os sistemas em operação que o blackhat pode sondar. A etapa seguinte é obter as informações sobre aqueles endereços IP. Quais sistemas operacionais eles estão usando e todos os serviços ou aplicativos que eles estão oferecendo. Após essas informações serem obtidas, o blackhat ou ferramenta determinará se o sistema remoto é vulnerável.
Nmap ou Queso, essas ferramentas criam pacotes especiais que podem determinar remotamente o tipo do sistema operacional na maioria dos sistemas, eventualmente, até mesmo a versão do kernel ou o nível de correções (patches).
Após os sistemas terem sido comprometidos, os blckhats mais sofisticados implementam “Calos-de-Tróia” e portas dos fundos. As portas de fundos permitem o acesso fácil e não percebido ao sistema. Mesmo que o administrador mude as contas ou senhas do sistema, o blackhat ainda tem o acesso remoto.

As Ferramentas
As ferramentas usadas são difíceis de desenvolver, mas extremamente simples de usar. Desenvolver essas ferramentas exige um conhecimento profundo de programação de baixo nível, tal como programação em Assembler, bem como conhecimento do funcionamento interno dos sistemas operacionais e do desenvolvimento de aplicativos. Primeiro vêm as ferramentas usadas para criar um banco de dados de Ips. Essas ferramentas são verdadeiramente aleatórias, uma vez que varrem a Internet indiscriminadamente.

Mais após essa analise vale lembrar que nem todos os blackhats operem e pensem desses jeito.

Com a Palavra o Inimigo
Bom agora vamos analisar o perfil de um grupo de blackhats denominado kldd13. Porque o perfil e uma ferramenta extremamente útil quando fazemos a coleta de atribuição, previsão ou inteligência. Essa análise foi dividida em diversas partes:
1. Criamos os perfis de cada membro
2. Executamos uma análise de linha de tempo dos ataques, caracterizando os alvos
3. Em seguida, nos fazemos uma análise do trafego, a qual inclui os padrões de uso.
O grupo K1ddl3 é um grupo nomeado adequadamente e liderado por um adolescente para executar os ataques que o líder achava justificados por causa da disputa pela Cashemira. Infelizmente, apenas o líder (DLCK) parece motivado pela causa e o restante só o segue. Esse é um prupo não muito unido que se juntou apenas pela causa comum do hacking.
Dlck é o líder e principal investigador desse grupo. Sem ele o grupo não existiria. Ele é um adolescente sem supervisão dos pais que cria os sites, coordena o IRC e lidera os ataques. Parece ter pelo menos as habilidades básicas de programação em C, conhece os comandos do Unix e tem as habilidades de hacking nos sistemas Unix e Linux, embora use principalmente scripts prontos.
J4n3 é um adolescente, assim como os restantes. Aparentemente Jane também mora no Paquistão. Ela demonstra não ter conhecimento de programação e aparentemente precisa de ajuda para usar os scripts.
M4ry parece fala inglês. O seu conjunto de habilidades é ligeiramente superior ao de Jane. Mary tem algumas habilidades de programação, embora o seu nível de habilidade seja desconhecida.
Sp07 obviamente é americano.

Texto extraído do Livro: Conheça o Seu Inimigo
Autor: Honeynet Project
Adaptado por: GrupoCSI

Nenhum comentário: