5. Botnets

5.1. O que são bots?

O termo bot é derivado de “robot” (robô em inglês) . Bot é um termo genérico usado para descrever um script ou um conjunto de scripts criados para desempenhar funções preestabelecidadas de forma automatizada. Bots são utilizados por máquinas de buscas para caminhar pela web tomando conhecimento dos conteúdos dos websites e em jogos online para prover oponentes virtuais. Como exemplo concreto podemos citar a rede IRCi> na qual as funções dos bots nos canais incluem acesso à listas, movimentação de arquivos, compartilhamento de usuários , compartilhamento de informação do canal, e muitas outras funcionalidades desde que os devidos scripts sejam adicionados corretamente [11].

5.2. Botnet

Um conjunto de bots servindo juntos a um mesmo bot mestre constitui uma botnet. Com a finalidade de possibilitar a interação entre os bots e o bot mestre foram criadas algumas capacidades de comunicação que possibilitariam a recepção de comandos e o envio de resultados ao bot mestre. Segundo [3], existem dois tipos diferentes nos quais um bot pode receber comandos de seu mestre, são eles: (1) o modo de “puxar” e o modo de “empurrar”. Ambos precisam de um servidor de command-and-control (C&C) que “conversa” com os bots agentes, este assunto será abordado de maneira mais ampla na Seção 5.5.

5.3.IRC

Diversos protocolos podem ser utilizados para a realização de comunicação em botnets. Dentre os mais conhecidos temos o Internet Relay Chat (IRC).

O IRC é um protocolo de internet criado pelo finlandês Jarkko Oikarinen, em 1988. O objetivo desse protocolo é permitir que as pessoas conectadas à internet possam interagir em conversas por texto em tempo real [6]. Cada discussão está em um canal e várias pessoas podem ingressar nesse canal conjuntamente. O protocolo IRC é baseado na arquitetura cliente-servidor e é apropriada para execução distribuída em várias máquinas.

5.4. Como se propaga – atacante e vítima , prioridade de contaminação

Os bots podem ser utilizados de forma maliciosa. Isto ocorre através da infecção de máquinas (vítimas) por meio do atacante através da exploração de vulnerabilidades, de aplicações ou do próprio sistema operacional, ou instalação do bot de forma não intencional. Após ser instalado o bot modifica variáveis do sistemas operacional para que seja inicializado toda vez que o sistema for inicializado. Com isso, os bots das máquinas vítimas (bots agentes) estariam conectados com o bot da máquina atacante (bot mestre). Alguns parâmetros podem ser utilizados para o estabelecimento de prioridades de contaminação de máquinas em meio ao universo de possíveis alvos. Dentre esses parâmetros temos a quantidade de banda disponível por meio desse bot, poder de processamento dessa máquina, entre outros. O bot mestre pode causar grandes danos ao utilizar conjuntamente os bots presentes nas máquinas infectadas, as atividades maliciosas que podem ser realizadas serão melhor detalhadas na Seção 5.6.

5.5. Topologias de comunicação da botnet

Diversas topologias C&C são empregadas com o intuito de garantir defesas comerciais, desligamentos determinados por lei e tentativas de “sequestro” de bots [8]. Essas topologias vem sendo otimizadas para reduzir network chatter e as falhas do sistema. As principais topologias utilizadas são : estrela, multi-servidor, hierárquica e randômica.

Estrela

A topologia estrela possui um único centralizado recurso de C&C para se comunicar com todos os demais bots. Cada bot recebe instruções diretamente do ponto central C&C [8].

Vantagens Desvantagens
A comunicação direta entre o C&C e o bot agente possibilita a transferência de instruções (e dados roubados) rapidamente [8]. Possui um ponto único de falha. Caso o C&C central for bloqueado ou desabilitado, toda a botnet é neutralizada [8].
Topologia estrela

Figura 5.1.: Topologia Estrela de botnets




Multi-servidor

Uma extensão lógica da topologia estrela, na qual vários servidores são utilizados para prover instruções de C&C para os bots agentes[8]. Esses servidores comunicam entre si enquanto gerenciam a botnet. Essa topologia de C&C é mais refinada e por isso exige uma maior esforço para ser implementada, porém por ter seu C&C descentralizado torna-se possível a manutenção da botnet mesmo caso um dos servidores de C&C forem derrubados.

Vantagens Desvantagens
Não possui um ponto único de falha. Caso um dos servidores C&C forem bloqueados ou desabilitados os remainescentes ainda são capazes de manter o controle de todos os demais bots agentes da botnet. Exige mais esforço e conhecimento para a construção da infraestrutura de um C&C multi-servidor.
Torna possível a realização de otimizações geográficas por meio da distribuição adequada dos servidores de C&C aumentando a velocidade da comunicação entre os elementos da botnet.
Topologia estrela

Figura 5.2.: Topologia Multi-Servidor de botnets

Hierárquica

Reflete a dinâmica dos métodos utilizados na contaminação e na posterior propagação dos bots. Os bots agentes tem a habilidade de transmitir novas instruções de C&C para bots agentes propagados anteriormente. A utilização desse método de propagação geralmente gera problemas com latência tornando difícil para o operador da botnet utilizar a botnet para atividades de tempo real [8].

Nessa topologia nenhum bot tem conhecimento da localização da botnet como um todo. Essa característica dificulta a determinação o tamanho de uma botnet. Essa estrutura também favorece a escalabilidade da botnet.

Vantagens Desvantagens
A interceptação ou tomada de controle dos bots agentes não enumerará todos os membros da botnet nem o servidor de C&C. Devido a necessidade de transmissão de comandos por meio de múltiplos canais de comunicação há latência.
Maior escalabilidade da botnet.
Topologia estrela

Figura 5.3.: Topologia Hierárquica de botnets




Randômica

Não possui uma estrutura de C&C centralizada. Os comandos são introduzidos na botnet por meio de qualquer bot agente. Esses comandos geralmente fazem com que o bot agente propague automaticamente os comandos para todos os demais bots agentes presentes na botnet [8] .

Vantagens Desvantagens
A ausência de uma infraestrutura de C&C centralizada e o modelo de comunicação empregado torna muito dificil de derrubar a botnet. A latência gerada pela natureza randômica dos links utilizados para a realização da comunicação de C&C.
É possível a identificação de bots agentes por meio do monitoramento das comunicações de um dado bot agente.
Topologia estrela

Figura 5.4.: Topologia Randômica de botnets




5.6. Atividades maliciosas

Diversas atividades maliciosas podem ser desempenhadas com o uso de botnets. A principal é o ataque por negação de serviços distribuidos, cujas informações se encontram na Seção 4. Atividades como a “infecção local secundária” (secondary local infection) forçam a instalação de key logger ou cavalo de tróia para a obtenção de dados pessoais da vítima [6] . Demais atividades como “troca de banda”, backdoor e armazenamento de dados ilegais também serão abordadas abaixo:

    "Troca de banda"
      Consiste na troca da banda de alta velocidade de máquinas infectadas (bots) entre as comunidades hackers.
    Backdoor
      Utilizado para a manutenção do controle da máquina infectada mesmo após a falha de segurança que permitiu a contaminação ter sido eliminada.
    Armazenamento de dados ilegais
      Os bots podem ser utilizados para armazenar dados ilegais, tais como filmes, documentos, músicas, etc. Um exemplo bastante conhecido seria o Torrent.

5.7. Botnets Legais

Charity Engine

Charity Engine é uma botnet, na qual as pessoas podem ingressar espontaneamente, utilizada para gerar dinheiro para caridade através da realização de tarefas contratadas por indústrias, universidades, etc. A Charity Engine utiliza o poder computacional ocioso nos computadores de milhares de pessoas ao redor do mundo que desejam fazer caridade de forma simples e prática. Além disso, possui um sistema de recompensa no qual os usuários podem receber compensações em dinheiro pela ajuda prestada.

Folding @ home

Folding @ Home é um projeto de Stanford similar à Charity Engine. Esse projeto também implementa uma botnet nos mesmos moldes, porém com objetivo de auxiliar os cientistas por meio do processamento de dados utilizado para realização de pesquisas em temas Alzheimer’s, Huntington’s, Parkinson’s e vários tipos de câncer [5].

Anterior Próxima