monografia botnets

69
UNIVERSIDADE SALGADO DE OLIVEIRA CAMPUS GOIÂNIA DIRETORIA DE PÓS-GRADUAÇÃO E PESQUISA ESPECIALIZAÇÃO LATU SENSO EM SEGURANÇA DA INFORMAÇÃO ALUÍSIO AIRES AGUIAR BOTNETS FUNCIONAMENTO E PERSPECTIVAS GOIÂNIA, ABRIL 2007

Upload: aluagui

Post on 10-Nov-2015

37 views

Category:

Documents


7 download

DESCRIPTION

Monografia de fim de curso de especialização em segurança da informação

TRANSCRIPT

  • UNIVERSIDADE SALGADO DE OLIVEIRA CAMPUS GOINIA DIRETORIA DE PS-GRADUAO E PESQUISA

    ESPECIALIZAO LATU SENSO EM SEGURANA DA INFORMAO

    ALUSIO AIRES AGUIAR

    BOTNETS FUNCIONAMENTO E PERSPECTIVAS

    GOINIA, ABRIL 2007

  • ALUSIO AIRES AGUIAR

    BOTNETS FUNCIONAMENTO E PERSPECTIVAS

    Monografia apresentada ao curso de especializao em Segurana da Informao da Universidade Salgado de Oliveira - UNIVERSO, como requisito parcial para obteno do ttulo de Especialista em Segurana da Informao Orientador: Prof. Luiz Gustavo Martins Arruda, SANS GSEC

    GOINIA, ABRIL 2007

  • FICHA CATALOGRFICA

  • FOLHA DE APROVAO

  • DEDICATRIA

    Dedico este trabalho a minha me, exemplo de fora e coragem e a minha

    esposa, paciente nos momentos em que no fui; compreensiva e sempre amorosa.

    Em memria de meu pai.

  • AGRADECIMENTOS

    Ao meu orientador, prof. Luiz Gustavo Martins Arruda, pela confiana e auxlio neste

    desafio.

    Aos meus amigos e colegas que me acompanharam no decorrer do curso.

  • Se voc conhece o inimigo e conhece a si mesmo, no precisa temer o resultado de

    cem batalhas.

    Sun Tzu

  • RESUMO

    Como grandes causadoras de ataques de DDoS, envio de spams, roubo de

    informaes privadas, ou mesmo congestionando as redes com trfego intenso, as

    botnets tm figurado entre as maiores ameaas da internet. Essas redes de zumbis

    evidenciam uma mudana de comportamento dos hackers, que passam a executar

    ataques com intuito de obter ganhos financeiros, no mais por simples diverso ou

    vandalismo. Este trabalho realiza um estudo detalhado sobre botnets, explicando

    seus diferentes tipos de arquitetura de comando e controle, como IRC, P2P e Web.

    Faz uma classificao dos bots entre as suas principais famlias e explica o processo

    de criao e controle das botnets. Indica tambm medidas de preveno que podem

    ser tomadas contra esses malwares. Por fim, comenta sobre alguns aspectos legais

    envolvendo essas ameaas e faz uma previso sobre as possveis tecnologias que

    sero utilizadas em botnets no futuro, de acordo com tendncias que so notadas

    nos dias de hoje.

  • ABSTRACT

    As great causers of DDoS attacks, sending spams, robbery of private

    information, or even congesting networks with intense traffic, botnets are among the

    biggest Internet threats. These zombies networks evidence a change of hackers

    behavior, now they execute attacks with intention of profit, not more for simple

    diversion or vandalism. This work carries through a detailed study of botnets,

    explaining its different command and control architectures, as IRC, P2P and Web

    based. It makes a classification of bots between the main families and explains the

    process of botnets creation and control. It also shows preventive measures that can

    be taken against these malwares. Finally, it comments some legal aspects involving

    this threats and makes a forecast of possible technologies used by botnets the future,

    in accordance with trends that are noticed nowadays.

  • LISTA DE FIGURAS

    Fig. 1: Formato da configurao da rede entre servidores ........................................ 21

    Fig. 2: Estrutura de uma botnet com C&C tipo IRC ................................................... 25

    Fig. 3: Exemplo de um ataque de DDoS de uma Botnet ........................................... 26

    Fig. 4: Arquitetura P2P centralizada .......................................................................... 29

    Fig. 5: Arquitetura P2P semicentralizada .................................................................. 30

    Fig. 6: Arquitetura P2P descentralizada (busca por inundao) ............................... 31

    Fig. 7: Botnet com C&C tipo P2P .............................................................................. 33

    Fig. 8: Interface de C&C baseada em Web ............................................................... 34

    Fig. 9: Interface grfica para customizao do Agobot ............................................. 39

    Fig. 10: Busca e infeco de novas mquinas .......................................................... 41

  • LISTA DE QUADROS

    Tabela 1: Lista de IRCds ........................................................................................... 22

    Tabela 2: lista de softwares de clientes IRC.............................................................. 22

    Tabela 3: Tempo para comprometer computadores com firewalls desativados ........ 47

    Tabela 4: Deteco de vrios bots por antivrus ....................................................... 50

    Tabela 5: Configurao de servidor DNS .................................................................. 55

  • SUMRIO

    1 INTRODUO ................................................................................................... 14

    2 OBJETIVOS ....................................................................................................... 16

    3 VRUS, PRINCIPAIS CARACTERSTICAS ....................................................... 17

    4 WORMS ............................................................................................................. 18

    5 BOTS E BOTNETS ............................................................................................ 19

    5.1 Comando e Controle (C&C) ........................................................................ 20

    5.1.1 Internet Relay Chat .............................................................................. 20

    5.1.1.1 Servidores IRC ............................................................................. 21

    5.1.1.2 Clientes IRC .................................................................................. 22

    5.1.1.3 Canais IRC ................................................................................... 23

    5.1.1.4 Operadores ................................................................................... 24

    5.1.1.5 Estrutura de Uma Botnet com C&C Baseado em IRC .................. 24

    5.1.2 Peer to Peer (P2P) ............................................................................... 27

    5.1.2.1 Tipos de Redes P2P ..................................................................... 28

    5.1.2.1.1 Centralizada .............................................................................. 28

    5.1.2.1.2 Descentralizada e Estruturada .................................................. 29

    5.1.2.1.3 Descentralizada e no Estruturada ........................................... 29

    5.1.2.1.4 Estrutura de Uma Botnet com C&C baseado em P2P .............. 31

    5.1.3 Comando e Controle Baseado em Web .............................................. 33

    5.2 Classificao dos Bots ................................................................................ 34

    5.2.1 Agobot e suas Variantes ...................................................................... 35

    5.2.2 SDBot e suas Variantes ....................................................................... 36

    5.2.3 Bots Baseados em mIRC (GT-Bots). ................................................... 37

    5.2.4 Outros Tipos de Bots ........................................................................... 37

    5.3 Estgios para a Criao e Controle de uma Botnet .................................... 38

    5.3.1 Estgio de Criao ............................................................................... 38

    5.3.2 Estgio de Configurao ...................................................................... 39

    5.3.3 Estgio de Infeco ............................................................................. 40

    5.3.4 Estgio de Controle ............................................................................. 42

    6 MEDIDAS DE PREVENO ............................................................................. 43

    6.1 Medidas de Preveno em Nvel de Usurio .............................................. 43

  • 6.1.1 Utilizao de Senhas Fortes ................................................................ 43

    6.1.2 Restrio ou Proibio de Uso de Clientes IRC, de IM (Instant

    Messaging), e P2P para Compartilhamento de Arquivos ................................... 45

    6.1.3 Cuidado com E-mail no Solicitado ou de Pessoas Desconhecidas. .. 46

    6.2 Medidas de Preveno em Nvel de Host ................................................... 46

    6.2.1 Instalao de Patches .......................................................................... 46

    6.2.2 Antivrus ............................................................................................... 48

    6.2.3 Firewall Pessoal e HIDS (Host Based Intrusion Detection System) ..... 51

    6.3 Medidas de Preveno em Nvel de Rede .................................................. 52

    6.3.1 Firewall, NAT e Proxy .......................................................................... 52

    6.3.2 NIDS e IPS........................................................................................... 53

    6.3.3 Configurao de DNS e SMTP ............................................................ 54

    6.3.4 Sistemas Anti-DDoS ............................................................................ 55

    7 ASPECTOS LEGAIS .......................................................................................... 56

    8 PERSPECTIVAS QUANTO AO FUTURO DAS BOTNETS ............................... 58

    9 CONCLUSO .................................................................................................... 61

    10 SUGESTO PARA TRABALHOS FUTUROS ................................................ 63

  • 14

    1 INTRODUO

    Bot uma abreviao de Robot. Com isso em mente, tem-se uma idia mais

    clara do que sos esses tipos de programas. Eles, como os robs, executam tarefas

    automticas muito mais rapidamente que um ser humano conseguiria executar a

    partir de comandos enviados remotamente. Os primeiros bots no foram criados com

    intuitos malignos, por exemplo, bots de IRC podem proteger o canal expulsando ou

    banindo rapidamente os maus utilizadores (IRC, 2007). Porm, programadores mal

    intencionados logo perceberam o potencial dos bots e comearam a adicionar em

    seus cdigos vrios exploits para realizar ataques contra outras mquinas. Esses

    exploits podiam causar vrios tipos de danos nas mquinas vulnerveis, como

    instalao de backdoors, negao de servio, entre outros. O prximo passo foi

    ento a insero de cdigos de worms e trojans para que os bots pudessem ter

    mecanismos de scanning e disseminao de seu cdigo, e conseqente instalao

    de novos bots em mquinas vulnerveis, transformando-as em escravas e

    aumentando assim a rede de bots. Desta forma comearam a surgir as botnets como

    so conhecidas hoje em dia (OVERTON, 2005).

    As redes de bots, ou botnets, so formadas por legies de computadores

    infectados por esses tipos de malware1, que geralmente se conectam em servidores

    de IRC, ficando ento a espera de algum comando a ser enviado pelo dono da

    botnet. A esses computadores infectados costuma-se referir como zumbis.

    As funes das botnets variam conforme o gosto de seus criadores. Elas

    podem ser usadas para realizar ataques de DDoS em empresas, ou podem enviar

    spams para milhares de pessoas contendo geralmente mensagens comerciais de

    empresas que financiam essas redes. Isso tambm indica uma mudana no perfil

    dos criadores das ameaas da Internet atualmente. Eles agora so motivados pelo

    retorno financeiro que podem vir a ter, no mais pela fama ou para provarem que

    possuem conhecimento e domnio para tal (IANELLI & HACKWORTH, 2005).

    Esse tipo de ameaa na Internet tem crescido muito nos ltimos tempos.

    Algumas estimativas indicam que o nmero de sistemas infectados por bots j passa

    1 Malware: Malicious Software, Destinado a se infiltrar em um computador alheio de forma ilcita com o intuito

    de causar algum dano (MALWARE, 2007).

  • 15

    de 47 milhes em todo o mundo e isto equivale a mais ou menos 7% dos

    computadores conectados Internet (LEMOS, 2006). Sistemas infectados por bots

    tambm so responsveis por mais ou menos 70% do envio de SPAMs na rede. De

    acordo com a empresa de segurana Sophos, se um computador sem proteo se

    conectar a Internet, ele ter 50% de chance de se tornar um zumbi em 30 minutos

    (SOPHOS, 2006).

    Para a Symantec, h aparentemente um perodo de calmaria no crescimento

    das botnets, mas acredita-se que haver uma mudana neste cenrio to logo sejam

    desenvolvidos novos e mais potentes tipos de ataques. Foi reportado tambm que,

    nos ltimos meses, houve um crescimento no nmero de vulnerabilidades em web

    browsers. Essas vulnerabilidades possuem potencial para um grande crescimento

    das redes de bots (SYMANTEC, set. 2006).

  • 16

    2 OBJETIVOS

    1. Realizar um estudo detalhado de como funcionam as botnets e quais so

    as medidas a serem tomadas para que as empresas possam se defender desse tipo

    de ameaa.

    2. Listar e classificar os principais tipos de bots que criam essas redes.

    3. Analisar as perspectivas sobre o futuro dessas redes na Internet.

  • 17

    3 VRUS, PRINCIPAIS CARACTERSTICAS

    Vrus um cdigo executvel criado basicamente para se multiplicar. Para

    isso, um vrus pode utilizar-se de diferentes estratgias. Uma delas infectar outro

    arquivo executvel, copiando seu cdigo para dentro do arquivo e modificando o

    Entry Point2 deste para que o cdigo copiado seja executado antes de o arquivo

    hospedeiro tomar o controle. Outra forma que j foi bastante eficiente se copiar

    para a rea de BOOT de um disquete ou HD. Assim, quando um vrus infecta o setor

    de BOOT de um computador, sempre que a mquina for reinicializada, o vrus ser

    tambm executado e poder ficar na memria para se copiar para outras mdias que

    por ventura sejam inseridas no computador. Esta forma de infeco, porm,

    raramente utilizada hoje em dia, pois os sistemas operacionais atuais normalmente

    no permitem acesso aos setores de BOOT.

    Os primeiros vrus criados para microcomputadores foram escritos para Apple

    II, em 1982. Rich Skrenta, um estudante que morava em Pittsburh, Pensilvnia,

    escreveu um vrus chamado Elk Cloner. Este programa tinha como payload3 a

    impresso de um poema do prprio Skrenta no monitor do computador a cada 50

    vezes que a mquina era inicializada (SZOR, 2005).

    Como mostrado no caso acima, vrus de computador nem sempre so

    destrutivos. Alguns apenas mostram mensagens ou imagens, outros simplesmente

    so criados para se disseminar, mas o fato de eles se instalarem nas mquinas

    hospedeiras sem o consentimento dos donos e de consumirem recursos, j os

    classifica como programas maliciosos. Outro problema que grande parte desses

    programas so mal escritos, podendo conter vrios bugs que, mesmo sem a

    inteno de seus criadores, podem prejudicar a mquina.

    2 Entry Point o endereo onde estar a primeira instruo do programa a ser executada

    3 Payload- a atividade que um vrus realiza no computador infectado depois que ele ativado. Pode variar entre

    mostrar simples mensagens a at apagar arquivos importantes ou danificar o computador. Nem todos os vrus

    possuem payload. Alguns apenas existem para simplesmente se disseminar.

  • 18

    4 WORMS

    Com o crescimento da informtica, uma maior utilizao das redes de

    computadores e finalmente o grande crescimento da Internet, os vrus passaram a

    utilizar uma nova estratgia de disseminao. Eles passaram a utilizar recursos de

    rede para poder se disseminar mais rapidamente. E isto ocorreu com um sucesso

    impressionante. Antigamente um vrus demorava tipicamente meses para se

    disseminar a ponto de atingir propores significativas. Mas com o advento das

    redes como vetores de disseminao, esse tempo baixou para algumas semanas.

    Comeou a se utilizar ento redes de e-mail e o tempo para disseminao passou

    para alguns dias. Depois vieram alguns vrus como CodeRed e Blaster, que

    utilizavam-se de bugs nos sistemas operacionais e realizavam ataques de Buffer

    Overflow4 executados remotamente. Esses podiam se espalhar em poucas horas.

    Um caso impressionante do vrus Slammer, que conseguiu infectar 90% dos

    sistemas vulnerveis conectados Internet em apenas 10 minutos (OVERTON,

    2005).

    A esse tipo de vrus que se espalha utilizando-se de redes dado o nome de

    worm. Worms geralmente so programas completos, que se espalham sem precisar

    de nenhum programa hospedeiro. Apesar de existirem alguns, como o

    W32/Nimda.A@mm, que tambm infectam programas.

    Resumindo, em ltima instncia, um worm pode ser considerado como uma

    subclasse dos vrus. Se o seu vetor primrio de disseminao for uma rede, ele

    considerado um worm.

    4 Buffer Overflow: Em portugus, estouro de buffer ou transbordamento de buffer. o resultado da insero de

    uma quantidade maior de dados que um buffer (rea da pilha de um programa destinada a armazenar vetores de

    dados locais em funes) pode armazenar, sobrescrevendo assim partes importantes da estrutura de um

    programa, como o endereo de retorno de uma funo (ARANHA, 2003).

  • 19

    5 BOTS E BOTNETS

    A principal caracterstica de um bot o fato de que, quando ele se instala em

    uma mquina, automaticamente feita uma conexo a uma rede de bots,

    normalmente atravs de um servidor IRC com um canal especfico, e a partir dessa

    conexo, possvel enviar comandos para a mquina infectada. Esta mquina

    infectada tambm chamada de zumbi ou drone. A uma quantidade razovel de

    zumbis conectados em uma mesma rede d-se o nome de botnet, e a partir da

    que as coisas ficam mais interessantes. A pessoa que disseminou os bots poder

    enviar diversos comandos que podero ser executados ao mesmo tempo por todos

    os zumbis da rede, ou mesmo para zumbis individuais, transformando assim a botnet

    em uma ferramenta muito poderosa para ataques de negao de servio, envio de

    spams, roubo de identidade de usurios, phishing scams5, entre outros. Costuma-se

    definir a pessoa que controla a botnet como bot master ou bot herder.

    Outra caracterstica que diferencia os bots dos worms comuns o fato de os

    bots, em sua maioria, s procurarem novas mquinas para se disseminar caso seja

    enviado um comando explcito para isso (THE HONEYNET PROJECT, 2005). Assim,

    eles geralmente ficam em espera e no executam nenhuma tarefa aps se conectar

    ao servidor. Isso ajuda a mant-los ocultos nas redes, pois a menos que haja um

    comando especfico, o trfego de informao que eles causam nas redes bem

    pequeno.

    Por causa da possibilidade de receberem comandos remotamente, bots

    podem tambm sofrer atualizaes de verso remotas. Assim, caso se descubra

    uma nova vulnerabilidade, ele poder ser atualizado remotamente para poder atacar

    os sistemas vulnerveis. Tambm podero ser adicionados novos mdulos como,

    por exemplo, mdulos que permitem criptografia das mensagens.

    Botnets tambm podem ser utilizadas para acelerar a disseminao de novos

    tipos de worms. Por exemplo, foi reportado que o worm Witty iniciou sua

    5 Phishing scam: Tcnica de engenharia social utilizada para adquirir dados da vtima. Isto feito criando um site

    falso (normalmente de um banco) e enviando e-mail para a vtima contendo um link para esse site de forma que a

    vtima pense que o site indicado seja o verdadeiro. A vtima tentar ento utilizar o site falso imaginando ser o

    verdadeiro e fornecer seus dados pessoais, como login e senha.

  • 20

    disseminao a partir de uma pequena botnet de aproximadamente 4200 zumbis

    (OVERTON, 2005).

    5.1 Comando e Controle (C&C)

    Obviamente, sempre necessrio algum tipo de conexo entre uma botnet e

    o bot herder, para que ela receba e execute os vrios tipos de comandos que lhe so

    enviados. A esses tipos de arquitetura utilizada para comunicao entre as botnets e

    os bot herders d-se o nome de Comando e Controle (Command and Control), ou

    simplesmente C&C. A grande maioria das botnets utiliza redes IRC como C&C. Isso

    se deve a facilidade de se criar e administrar redes IRC (IANELLI & HACKWORTH,

    2005). Alm disso, como mencionado anteriormente, os primeiros bots foram criados

    para redes IRC e muito provavelmente as primeiras botnets foram criadas por

    usurios de redes IRC.

    Porm, existem outras arquiteturas de C&C que tambm so utilizadas para

    controlar as botnets. Duas arquiteturas interessantes que esto crescendo

    ultimamente so a baseada em Web, e a baseada em peer to peer (P2P). Essas

    arquiteturas foram escolhidas para corrigir algumas limitaes das redes IRC, como

    a dificuldade em passar por firewalls bem configurados, ou a necessidade de se ter

    um servidor para controlar a rede, criando assim um ponto fraco, pois se o servidor

    for derrubado, toda a botnet ser perdida.

    5.1.1 Internet Relay Chat

    Internet Relay Chat, ou simplemente IRC, um sistema para teleconferncia

    com arquitetura Cliente-Servidor, que utiliza o protocolo TCP/IP e baseado em

    texto. Este sistema foi criado em 1988, por Jarkko Oikarinen, para permitir

  • 21

    conversao em tempo real e em modo texto entre os usurios das antigas BBS6.

    Mais tarde, ele se desenvolveu para utilizar a Internet e possibilitar a criao de

    redes IRC com alcano global. Para isso, o sistema IRC tambm possibilita a

    conexo entre servidores, podendo ento ser utilizado de maneira distribuda (IRC,

    2007).

    5.1.1.1 Servidores IRC

    A RFC 1459, que define o protocolo IRC, declara que os servidores IRC so

    sistemas que provm um ponto onde os clientes podem se conectar para

    conversao entre si, e um ponto onde outros servidores podem conectar para

    formar a rede IRC. A nica configurao permitida para a conexo entre os

    servidores o formato spanning tree, no qual cada servidor atua como um n central

    da rede (OIRAKINEM, 1993). O formato da conexo entre servidores, como descrito

    na RFC 1459, est disposto abaixo.

    Fig. 1: Formato da configurao da rede entre servidores7

    6 BBS- Bulletin Board System. Sistema que permitia que computadores se conectassem em um servidor,

    geralmente atravs de uma linha telefnica, e que provia, atravs do servidor, vrios servios como jogos ou salas

    de bata-papo. Este sistema foi muito utilizado antes da Internet ser amplamente difundida, depois se tornou

    obsoleto. 7 Fonte: RFC1459- disponvel em http://tools.ietf.org/html/rfc1459

    server 1

    server 2 server 3

    Server 4 server 5 server 6

    server 8

    server 10 server 9 server 11

    server 7

    etc.

    ... ...

  • 22

    Existem vrios softwares disponveis que implementam servidores IRC. Esses

    softwares tambm so conhecidos como IRC Daemons, ou simplesmente IRCds.

    Abaixo est uma tabela contendo informaes de alguns dos mais utilizados IRCds.

    Tabela 1: Lista de IRCds

    IRCd Criador Lanamento Licena

    IRCD IRCnet 1988 GPL

    Conference Room WebMaster Incorporated 1996 Proprietrio

    Exchange Microsoft 1997 Proprietrio

    UnrealIRCd UnrealIRCd Team 1999 GPL

    Bahamut DALnet 2002 GPL

    5.1.1.2 Clientes IRC

    Qualquer mquina ou software que se conecta a um servidor IRC e que no

    seja outro servidor considerado um cliente. Como o protocolo IRC um protocolo

    baseado em texto, mesmo o telnet ou o netcat podem ser utilizados como clientes

    em uma rede IRC. Obviamente a utilizao desses softwares para esse fim

    especfico um pouco complexa e tediosa, assim existem muitos softwares de

    clientes IRC que possuem vrias facilidades e otimizaes. Abaixo est uma tabela

    com alguns dos principais softwares para clientes IRC.

    Tabela 2: lista de softwares de clientes IRC

    Cliente Criador SO Preo Licena

    mIRC Khaled Mardam-Bey Windows $20 Proprietrio

    BitchX Trench e HappyCrappy Unix like

    BSD Grtis BSD License

    Miranda IM Richard Hughes Windows Grtis GPL

    Opera Opera Software

    Windows Linux

    MAC OS X Solaris

    Free BSD

    Grtis Proprietrio

    Cada cliente distinguido dos outros clientes pelo seu nickname, que deve ter

    um tamanho mximo de 9 caracteres.

  • 23

    5.1.1.3 Canais IRC

    Um canal pode ser considerado como uma diviso ou um grupo formado por

    um ou mais clientes, no qual todos os clientes que compartilham o mesmo canal iro

    receber as mensagens destinadas a ele. Existem dois tipos de canais em uma rede

    IRC. O primeiro tipo de canal distribudo, sendo assim, conhecido por todos os

    servidores conectados a rede. O outro tipo de canal apenas acessado por clientes

    conectados ao servidor em que ele foi criado, este definido pelo caractere & na

    frente do seu nome, enquanto o outro definido pelo caractere #. Abaixo esto

    dois exemplos de canais IRC.

    #goiania

    #hack3rs

    Esses dois exemplos so canais do servidor irc.brasnet.org

    Os canais so diferenciados pelos seus nomes, que alm de terem os

    caracteres # ou & na frente, podem possuir at 200 caracteres, sendo proibida a

    utilizao de espaos ou vrgulas.

    Para entrar em um canal, o usurio precisa se unir a ele atravs de um JOIN.

    Se ele for o primeiro usurio desse canal, o canal criado e ele se torna

    automaticamente o operador do canal. Os demais clientes que se unirem ao canal

    participaro dele apenas como usurios comuns. O operador do canal tem alguns

    poderes a mais em relao aos demais. Isso necessrio para que o operador

    possa coordenar o canal e evitar que alguns usurios abusem do canal. Abaixo

    esto alguns comandos que somente o operador do canal pode utilizar.

    KICK - exclui a fora um cliente do canal

    MODE - muda o modo do canal (por exemplo mode +i)

    INVITE - convida um cliente a se unir ao canal

    TOPIC - muda o tpico do canal

  • 24

    5.1.1.4 Operadores

    Alm dos clientes comuns e dos operadores de canal, tambm existe uma

    classe especial de clientes que a dos operadores, ou simplesmente OPs. Eles so

    responsveis para manter a ordem na rede e podem executar vrias tarefas de

    manuteno, como desconectar ou reconectar servidores.

    5.1.1.5 Estrutura de Uma Botnet com C&C Baseado em IRC

    Quando uma mquina infectada e se transforma em um zumbi, geralmente

    ela no possui o endereo IP do IRCd, mas sim algum nome de domnio (fully

    qualified domain name FQDN). Esse nome de domnio pode ser obtido pelo bot

    herder comprando (geralmente com um carto de crdito roubado) ou mesmo

    utilizando algum dos muitos servidores de DNS dinmico que existem na internet.

    Isto garante ao bot herder que, caso haja uma remoo do IP do servidor da internet,

    como por exemplo, ele ser roteado como um black hole, ou mesmo ser desligado, a

    botnet pode ser configurada para utilizar outro IRCd apenas reconfigurando o DNS

    para apontar para o novo servidor.

    O servidor IRC geralmente um IRCd modificado para no ter

    compatibilidade com clientes IRC comuns, no permitindo assim que outros se

    conectem a botnet atravs de um cliente IRC comercial. So retirados tambm

    comandos comuns do IRCd para vasculhar a rede, como /who, /list e /stats8.

    Os dois tipos de IRCds que so mais utilizados para criar botnets so,

    UnrelIRCd (modificado) e o ConferenceRoom (crackeado) (THE HONEYNET

    PROJECT, 2005).

    Na grande maioria dos casos, o servidor IRC tambm uma mquina

    comprometida. Isto se deve ao fato de que difcil para um bot herder se tornar um

    operador de algum servidor IRC pblico e tambm d mais flexibilidade para devidas

    8 /who lista os usurios do canal

    /list lista os canais do servidor /stats usada para mostrar estatsticas do servidor, como por exemplo, a lista de operadores do servidor

  • 25

    customizaes. Alm do fato de que seria no mnimo muito suspeito um canal IRC

    pblico com milhares de clientes com seus nicks parecidos com rbot123456.

    Um fato interessante que enquanto a grande maioria das mquinas zumbis

    so computadores utilizando Windows, frequentemente (85%) os servidores IRC

    utilizados pelas botnets so mquinas Linux ou Unix (NAZARIO & LINDEN, 2006).

    Abaixo mostrada a estrutura de uma botnet tpica com C&C do tipo IRC.

    Fig. 2: Estrutura de uma botnet com C&C tipo IRC

    A figura 2 mostra o processo de conexo de um zumbi botnet. Primeiro ele

    faz uma requisio a um servidor DNS pelo IP do servidor IRC. Aps ser informado o

    IP, o zumbi ento se conecta ao servidor IRC e envia um comando JOIN para

    acessar o canal onde esto todos os zumbis. O acesso a este canal geralmente

    protegido por senha, assim, o comando enviado pelo zumbi como mostrado

    abaixo.

    JOIN #botchannel senha_do_canal

    J includo no canal, ele fica a espera de comandos do bot herder que sero

    enviados a esse mesmo canal. O bot herder tambm precisa se conectar e se unir

    Servidor

    DNS

    Servidor

    IRC

    Zumbi Zumbi

    Zumbi Zumbi

    Bot herder

    1: getHostByName

    2: IP do servidor IRC

    comandos

    3: conecta a ircd

  • 26

    ao canal para poder enviar comandos. Ele tambm deve se autenticar junto aos bots

    para que eles aceitem seus comandos. Isso pode ser feito da seguinte maneira

    .login senha_master

    Um comando muito usado o de scan por mquinas vulnerveis:

    .advscan lsass 200 5 0 r s

    O exemplo acima um comando para os bots buscarem por mquinas que

    so vulnerveis por causa de uma falha muito conhecida em sistemas Windows

    desatualizados (vulnerabilidade no LSASS), executando 200 threads concorrentes

    com um delay de 5 segundos e por um tempo ilimitado (0). Esta busca tambm deve

    ser por IPs aleatrios (-r) e silenciosa (-s) (THE HONEYNET PROJECT, 2005).

    Fig. 3: Exemplo de um ataque de DDoS de uma Botnet9

    A figura acima mostra um bot herder se autenticando atravs do comando

    login e comandando um ataque de negao de servio atravs do comando

    udppacket.

    9 Imagem disponvel em http://swatit.org/bots/gallery.html

  • 27

    5.1.2 Peer to Peer (P2P)

    Redes peer to peer, ou simplesmente P2P so redes em que, diferentemente

    das redes cliente-servidor, cada n possui as mesmas responsabilidades de todos os

    outros ns da rede.

    Apesar de poderem ser utilizadas para inmeras tarefas, como

    processamento distribudo ou troca de mensagens, as redes P2P ficaram

    amplamente conhecidas por causa de sistemas como o Napster e o Kazaa, que so

    basicamente aplicaes para compartilhamento de arquivos.

    Algumas vantagens claras das redes P2P sobre as redes Cliente-Servidor

    so:

    Quanto mais ns so adicionados rede, maior a capacidade dela

    em termos de largura de banda de armazenamento de dados e de

    processamento, haja vista que cada n atua tanto como um cliente

    quanto como um servidor, emprestando assim parte de seus recursos

    rede. As redes do tipo cliente servidor, ao contrrio, precisam

    compartilhar os recursos de seus servidores entre todos os clientes.

    Assim quanto mais clientes forem adicionados rede, menos recursos,

    como largura de banda ou processamento, ela poder fornecer a cada

    cliente individualmente.

    As redes P2P, ou pelo menos as P2P puras, no possuem um

    servidor centralizando suas informaes ou processamento, tornando-

    as muito menos suscetveis a ataques de negao de servios e

    tambm, muito mais difceis de serem totalmente desligadas.

    Outra caracterstica interessante, pelo menos para os bot herders, o

    fato de que bem mais difcil localizar, ou mesmo estimar a quantidade

    de zumbis na rede e tambm se torna muito difcil a localizao de

    onde saem os comandos enviados rede, uma vez que o bot herder

    age na rede como se fosse mais um zumbi (LEMOS, 2006).

  • 28

    Como j de se imaginar, essas caractersticas tornam as redes P2P muito

    atraentes para a construo de botnets, sendo fortes candidatas a substiturem as

    redes do tipo IRC como principal arquitetura C&C para as botnets.

    5.1.2.1 Tipos de Redes P2P

    Os modelos de arquitetura P2P podem ser categorizados em trs tipos:

    centralizada, descentralizada e estruturada e descentralizada e no estruturada.

    5.1.2.1.1 Centralizada

    Este tipo de rede mantm um n central como um servidor contendo um

    ndice de informaes atualizadas e em quais ns encontr-las. Logo, cada n

    precisa fazer suas requisies das informaes de que necessita para n central,

    que ento vai indicar onde elas esto localizadas. Feito isso, realiza-se uma conexo

    direta entre o n que possui a informao e o n que est buscando-a. Este tipo de

    rede ficou bastante popular por causa do sistema Napster (http://www.napster.com),

    que oferece listas de arquivos MP3 de msicas compartilhadas entre os usurios do

    sistema.

  • 29

    Fig. 4: Arquitetura P2P centralizada

    A figura acima exemplifica o funcionamento de uma rede P2P centralizada. O

    n 1 faz uma requisio de um arquivo qualquer ao servidor, que atua como ndice

    da rede. O servidor, ento, responde ao n 1 que o arquivo que ele procura est no

    n 2. Assim, o n 1 se conecta diretamente ao n 2 para fazer o download do

    arquivo.

    5.1.2.1.2 Descentralizada e Estruturada

    Este tipo de rede no possui um servidor de diretrio de informaes, mas

    possui uma estrutura de modo que a topologia de rede controlada e os

    documentos ou arquivos so posicionados em locais onde, posteriormente, a sua

    localizao seja facilitada. Em geral, a busca nesse tipo de arquitetura do tipo DHT

    (Distributed Hash Table) (KAMIENSKI et al, 2004). Os sistemas Chord Pastry,

    Tapestry e CAN utilizam esse tipo de arquitetura.

    5.1.2.1.3 Descentralizada e no Estruturada

    Servidor

    Resposta

    Transferncia

    Consulta

    N 1

    N 2

  • 30

    No possui um servidor centralizado e nem controle preciso sobre a

    localizao e busca dos documentos (KAMIENSKI et al, 2004). Compreende dois

    tipos, totalmente descentralizado e semicentralizado. Sendo exemplos desses tipos

    os sistemas Gnutella e Kazaa, respectivamente. Redes P2P totalmente

    descentralizadas no requerem servidores de diretrios e os ns atuam tanto como

    clientes quanto como servidores para busca e, geralmente, a busca feita por

    inundao10. J os semicentralizados, utilizam o conceito de superns para

    aumentar o desempenho da rede. Esses superns so mquinas da rede que

    costumam ter um maior poder computacional, maior largura de banda e

    disponibilidade. Eles ento mantm listas dos arquivos disponibilizados por outras

    mquinas e o endereo onde eles se encontram. Na figura 5 mostrado um exemplo

    de rede semicentralizada. O n A faz uma consulta ao supern 1, que a repassa

    ao supern 2 e assim por diante. Ao chegar no supern 4, este verifica que o n

    B, que est diretamente conectado a ele, possui um arquivo. Assim, ele responde,

    pelo mesmo caminho da consulta, que o n B possui o arquivo. Por fim, o n A se

    conecta diretamente ao n B para a transferncia do arquivo.

    Fig. 5: Arquitetura P2P semicentralizada

    10

    Busca por inundao: tipo de busca na qual o n que a realiza envia sua requisio para todos os ns

    diretamente conectados, e estes, por sua vez, a repassam para todos os ns a eles conectados, e assim

    sucessivamente, at que a requisio seja respondida ou ocorra um nmero mximo de repasses (tipicamente de 5

    a 9) (KAMIENSKI et al, 2004).

    A B

    1

    2

    3

    4

    Resposta

    Transferncia

    Consulta

  • 31

    J na figura 6, mostrado um exemplo de uma rede totalmente

    descentralizada. O n A faz uma busca por inundao, consultando todos os ns

    conectados a ele, e esses aos outros diretamente conectados. Quando o n B

    recebe a consulta, este responde pelo mesmo caminho que veio a consulta. O n

    A, ento, se conecta ao n B para a transferncia. Nesse tipo de rede, os ns tm

    as mesmas responsabilidades, atuando tanto como clientes (clients) quanto como

    servidores (servers), por isso, muitas vezes eles so chamados tambm de servents.

    Pelo fato de no terem servidores, as redes descentralizadas tambm so

    conhecidas como redes P2P puras, enquanto que redes como a Napster so

    conhecidas como redes hbridas. J as que possuem superns para aumentar a

    sua eficincia so uma soluo intermediria entre as redes hbridas e as redes

    puras (MILOJICIC et al, 2003).

    Fig. 6: Arquitetura P2P descentralizada (busca por inundao)

    5.1.2.1.4 Estrutura de Uma Botnet com C&C baseado em P2P

    Resposta

    Transferncia

    Consulta

    A

    B

  • 32

    Atualmente, bots como phatbot e nugache utilizam um tipo de rede P2P

    chamado WASTE11 (MYERS, 2006). O protocolo WASTE foi desenvolvido por Justin

    Frankel, da NullSoft, e possui algumas funcionalidades como Instant Messaging,

    salas de bate papo, e a possibilidade de compartilhamento e transferncia de

    arquivos. A sua primeira verso foi publicada sob os termos da GNU General Public

    License (GPL). Na poca a Nullsoft tinha sido incorporada pela AOL, e esta retirou a

    verso do ar pouco tempo depois alegando que a publicao no tinha sido

    autorizada. Porm, j era tarde demais. Vrias pessoas j tinham baixado a verso

    sob GPL. Desde ento, vrios desenvolvedores tm modificado e aprimorado o

    sistema.

    A rede WASTE um sistema P2P totalmente descentralizado e no

    estruturado, que possui criptografia (apesar de o phatbot no utilizar essa qualidade)

    e utilizado para conectar um pequeno nmero de computadores (apenas de 10 a 50

    ns).

    Como no h servidores centrais, os hosts infectados devem encontrar uns

    aos outros. Isto conseguido registrando-se e utilizando atravs de scripts CGI os

    Gnutella cache servers (MYERS, 2006), que so servidores contendo listas de vrios

    ns conectados rede Gnutella (PHATBOT, 2004). Assim, eles aparecem para

    esses servidores como se fossem clientes Gnutella, porm, para diferenciarem-se

    dos demais clientes, eles utilizam uma porta diferente da porta padro.

    Quando um bot herder quer se conectar sua botnet, basta que ele, atravs

    de um cliente WASTE, acesse um dos ns (zumbis) encontrados nos cache servers,

    utilizando um login e uma senha pr-definidos. Um exemplo de utilizao de botnet

    com C&C P2P mostrado abaixo.

    11

    O nome WASTE foi tirado de um romance chamado The Crying of Lot 49, onde WASTE um acrnimo para We Await Silent Tristeros Empire. No romance ele um servio postal underground (WASTE, 2007).

  • 33

    Fig. 7: Botnet com C&C tipo P2P

    Com o bot herder j conectado a um dos zumbis, basta que ele envie um

    comando, por exemplo, DDoS (ddos.synflood), para o zumbi, o qual repassar o

    comando aos outros conectados a ele. Assim todos executaro a tarefa.

    Como redes WASTE no foram feitas para grandes quantidades de ns, esse

    tipo de botnet no pode crescer muito, ao contrrio das que utilizam C&C to tipo IRC,

    que podem vir a ter milhares de zumbis. Este talvez seja o principal motivo para que,

    ainda hoje, as botnets do tipo IRC sejam predominantes.

    5.1.3 Comando e Controle Baseado em Web

    Outra forma de comando e controle de botnets que est ganhando fora o

    baseado em HTTP. A possibilidade de se criar uma interface de controle da rede

    baseada em web, de forma a ficar bem intuitiva, e o fato de utilizar um protocolo e

    porta que a grande maioria dos firewalls no pode barrar fazem desse tipo de C&C

    outro forte candidato para substituir as redes baseadas em IRC.

    Um exemplo desse tipo de C&C o do Dumador.bc . Quando uma mquina

    infectada, esta faz uma requisio http do tipo GET para um arquivo cmd.txt a cada

    Zumbi

    cache server Zumbi

    Zumbi

    Bot herder

    Registro

    Conexo

    Consulta

    Servidor Web

    ddos.synflood

    Syn flooding

  • 34

    5 segundos. Esse arquivo criado pelo bot herder atravs de uma interface web de

    comando feita em php.

    Fig. 8: Interface de C&C baseada em Web12

    Com o uso desta interface, o bot herder pode ordenar aos zumbis que baixem

    e executem arquivos, gravem screenshots, entre outros.

    5.2 Classificao dos Bots

    Ao longo dos anos, inmeros bots foram criados e disseminados pela internet.

    Porm, a grande maioria apenas de variaes dos primeiros bots ou dos que mais

    tiveram sucesso, formando assim famlias, ou conjuntos, de bots que possuem uma

    base de cdigo em comum. Entre essas famlias, as mais importantes so: bots

    baseados no Agobot; SDBot e variantes; bots baseados em mIRC, tambm

    conhecidos como GT-Bots (Global Threat Bots).

    12

    Imagem disponvel em http://www.websense.com/securitylabs/alerts/alert.php?AlertID=257

  • 35

    5.2.1 Agobot e suas Variantes

    Este provavelmente o mais popular dos bots. Foi criado em 2003 por um

    jovem alemo que usava o pseudnimo de Ago. Em maio de 2004, ele foi preso sob

    acusao de criao de cdigo malicioso (HOLZ, 2005).

    Seu cdigo escrito em C++ e publicado sob licena GPL. O Agobot foi

    escrito de forma bastante modular e com um alto nvel de abstrao. De fato,

    bastante fcil entender seu cdigo e adicionar comandos e outras funcionalidades a

    ele. Possui tambm uma interface grfica bastante intuitiva para ajudar a customizar

    suas caractersticas

    Para C&C ele utiliza servidores IRC, porm, algumas variantes, como o

    Phatbot, podem utilizar P2P atravs do sistema WASTE.

    O Agobot utiliza vrias tcnicas para auto-proteo. Ele, por exemplo, pode

    usar NTFS Alternate Data Stream13 para ter capacidade de ocultar a sua presena

    no host comprometido. Alm do mais, possui tcnicas para dificultar a utilizao de

    engenharia reversa sobre ele, tais como a deteco de mquinas virtuais e

    debuggers. H tambm a utilizao de criptografia para esconder sua configurao

    no seu arquivo binrio (HOLZ, 2005).

    Ele tambm capaz de finalizar processos que pertencem a aplicaes de

    antivrus. Algumas verses so tambm capazes de modificar o arquivo hosts da

    mquina para adicionar uma lista de sites de antivrus e redirecion-los para o

    endereo de loopback, impossibilitando o acesso a esses sites e por conseqncia a

    atualizao ou instalao de seus softwares.

    O Agobot disponibiliza uma vasta quantidade de comandos que so utilizados

    para os mais variados motivos, como execuo de cdigos nas mquinas

    comprometidas, ataque de negao de servio, atualizao do bot, entre outros. O

    nvel de organizao dele chega a tal ponto que ele possui uma FAQ (frequently

    Asked Questions) ensinando a configur-lo e utiliz-lo passo a passo e um

    Command Reference em formato html mostrando todos os comandos possveis

    para ele, sintaxe, descrio e exemplos (Anexo 1).

    13

    Alternate Data Streams: uma soluo desenvolvida para prover compatibilidade entre o sistema de arquivos

    NTFS e o HFS ( Hierarchical File System, da Macintosh). Com ela, possvel armazenar arquivos dentro de

    outros arquivos atravs da sintaxe arquivo:arquivo_armazenado. Maiores informaes esto disponveis em http://www.ntfs.com/ntfs-multiple.htm

  • 36

    5.2.2 SDBot e suas Variantes

    Esta famlia possui os mais ativos bots em operao, tais como RBot, UrBot,

    UrXBot e SpyBot. O SDBot escrito em C e tambm possui licena GPL. Com

    alguma pacincia, pode ser facilmente achada alguma verso do seu cdigo fonte na

    internet. O seu cdigo no to bem escrito quanto o do Agobot, no oferece uma

    quantidade de comandos to vasta e nem possui uma implementao to sofisticada

    quanto. Possui C&C baseado exclusivamente em IRC.

    Algumas variantes no possuem capacidade de se espalhar

    automaticamente, ou seja, no possuem caractersticas de um worm. Assim,

    costuma-se espalh-los como cavalos de tria, disponibilizando-os em redes P2P de

    compartilhamento de arquivos ou simplesmente enviando-os via e-mail. Para induzir

    as pessoas a executarem-nos, basta que se coloquem nomes chamativos em seus

    arquivos executveis.

    Devido a sua simplicidade, podem ser integradas funes para ataque a

    novas vulnerabilidades rapidamente.

    interessante notar que com a evoluo dessa famlia, cdigos de outras

    famlias de bots foram aproveitados, mostrando assim grande cooperao entre os

    criadores desses malwares. Isso claramente notado em um comentrio includo

    num dos arquivos do cdigo fonte do RBot e mostrado abaixo.

    /*

    Okay, since we don't like lying -> This is AgoBots dcom.

    Ago helped me a lot getting this thing to work which I really appreciate.

    Original Author: Ago

    Re-written by: Nils loco-x

    Comments: It works, finally.

    */

  • 37

    5.2.3 Bots Baseados em mIRC (GT-Bots).

    Os GT-Bots, ou Global Thread Bots, so baseados no mIRC, talvez o mais

    popular cliente IRC para Windows. O ncleo dos GT-Bots feito por vrios scripts

    para mIRC os quais so usados para controlar a atividade do sistema remotamente

    (ROMANO & ROSIGNOLI & GIANNINI, 2006).

    Quando um GT-Bot instalado em uma mquina, ele inicia uma instncia do

    mIRC com vrios scripts de controle e tambm uma segunda aplicao,

    normalmente HideWindow, para tornar o mIRC invisvel ao usurio da mquina

    comprometida. Tambm podem ser ligadas ao mIRC vrias DLLs (Dynamic Link

    Library) para adicionar novas caractersticas que podem ser utilizadas pelos scripts

    mIRC para controlar o bot. Os bots podem, por exemplo, utilizar funes contidas

    nessas DLLs para se espalhar (HOLZ, 2005).

    Geralmente, eles se espalham explorando alguma vulnerabilidade da mquina

    vtima e ento fazem o seu upload para ela. Uma das suas desvantagens que, pelo

    fato de possurem algumas DLLs e o cliente mIRC com seus scripts, GT-Bots

    normalmente possuem grande tamanho, algumas vezes maior que um megabyte.

    5.2.4 Outros Tipos de Bots

    Embora alguns tipos de bots no tenham uma disseminao em larga escala,

    eles possuem certas caractersticas interessantes que devem ser mostradas.

    O Xot e seu sucessor, XT Bot, implementam uma funo chamada de

    dynamic remote settings stub (DRSS). Esta funo basicamente esconde as

    configuraes do bot embutindo-as em um arquivo de imagem. Implementando

    assim uma tcnica rudimentar de esteganografia. Este arquivo com as configuraes

    ento publicado pelo bot herder em um servidor que acessado periodicamente

    pelo Xot para fazer o download e atualizar as suas configuraes. Dessa forma fica

    bastante simples de se mudar o servidor IRC ou seu canal para a botnet (XENOZ,

    2001).

  • 38

    O Dataspy Network X Bot (DSNX bot) tambm escrito em C++ e possui

    licena GPL. Possui um sistema de plugins que torna muito fcil a adio de novas

    funcionalidades, como para scanners ou spreaders. Pode ser utilizado tambm para

    varrer a rede em busca de mquinas vulnerveis para a instalao de outros tipos de

    bots, como o SDBot

    O bot Bobax utiliza requisies HTTP para C&C, ao invs de IRC. Em

    contraste com outros bots, ele utilizado principalmente para envio de SPAMs.

    5.3 Estgios para a Criao e Controle de uma Botnet

    A criao e o controle de uma botnet podem ser divididos em quatro

    diferentes estgios distintos: criao; configurao; infeco; controle.

    5.3.1 Estgio de Criao

    Este estgio altamente dependente das habilidades do criador. Nele, pode

    ser decidido se ser escrito um cdigo para um novo bot ou simplesmente estender

    as funcionalidades de um bot j existente. Existem vrios bots que so altamente

    configurveis. O Agobot, por exemplo, possui inclusive uma interface grfica para

    ajudar na sua customizao.

  • 39

    Fig. 9: Interface grfica para customizao do Agobot

    A figura 9 mostra uma interface grfica para definio de vrios atributos do

    Agobot. Nela, podem ser definidos o endereo e porta do servidor, o nome do

    arquivo e o diretrio onde o bot ser instalado. Tambm podem ser habilitadas ou

    desabilitadas vrias funes, como polimorfismo ou sniffing de rede. Aps o criador

    definir todas as caractersticas que necessita para o bot, basta clicar em Generate

    Config que ser gerado automaticamente um arquivo chamado config.h. Esse

    arquivo conter todos os parmetros definidos e ser utilizado para a compilao do

    bot.

    Porm, a utilizao de interfaces grficas geralmente utilizada por criadores

    que no possuem muita habilidade ou conhecimento, so os chamados script

    kiddies. Criadores mais experientes e que possuem maior conhecimento preferem

    fazer suas customizaes diretamente nos cdigos fontes, ou mesmo criar novos

    bots.

    5.3.2 Estgio de Configurao

  • 40

    Este estgio envolve a criao e configurao do servidor que atuar como

    C&C. Geralmente utilizada uma mquina comprometida para a instalao desse

    servidor. O criador deve configur-lo com todos os dados necessrios para a

    proteo e restrio de acesso a sua botnet, tais como indicao de uma lista de

    usurios autorizados, implementao de senhas seguras e utilizao SSL (nesse

    caso o bot tambm deve implementar SSL).

    Como dito anteriormente, no caso de C&C baseado em IRC, criadores mais

    experientes tambm podem alterar o IRCd para torn-lo incompatvel com clientes

    IRC comerciais, impedindo o acesso de quem tente acessar a botnet atravs desses

    clientes. Alm disso, pode-se eliminar alguns comandos comuns do IRCd para

    controle e coleta de informaes da rede (ver item 4.1.1.5 Estrutura de uma Botnet

    com C&C baseado em IRC).

    5.3.3 Estgio de Infeco

    O estgio em que o bot criado ser espalhado o estgio de infeco. So

    utilizadas vrias tcnicas para a distribuio dos bots, que so divididas em diretas e

    indiretas.

    As tcnicas diretas incluem a explorao de vulnerabilidades nos sistemas

    operacionais e so muitas vezes automatizadas com a incluso de cdigos de

    worms para a busca e infeco dos hosts vulnerveis.

  • 41

    Fig. 10: Busca e infeco de novas mquinas

    A figura acima um teste em laboratrio de como uma botnet pode escanear

    uma rede e infectar mquinas vulnerveis. Nele, um bot herder, de NICK herder,

    entra no canal da botnet, ch4nn3l, e com o comando .login drone se autentica

    para os bots da rede (LSD-907448, LSD-105790 e LSD-456970). O prximo passo

    executar o comando .advscan dcom445 1 5 1 192.168.0.153, que diz aos bots

    para varrerem a rede, a partir do IP indicado, em busca de mquinas vulnerveis por

    uma falha de segurana na interface DCOM RPC14. Uma mquina vulnervel

    encontrada e atacada, infectando-a e transformando-a em um zumbi. Ela entra na

    botnet com o NICK LSD-837833.

    J as tcnicas indiretas utilizam sistemas de terceiros para a distribuio dos

    bots. Entre essas tcnicas incluem a publicao do bot com nomes chamativos em

    sistemas P2P de compartilhamento de arquivos, utilizao de outra botnet para a

    busca e infeco dos hosts vulnerveis, utilizao de falhas de segurana no Internet

    Explorer que possibilitam o download e execuo do bot atravs de sites

    comprometidos ou distribuio atravs de DCC (Direct Client-to-Client) em redes

    IRC.

    14

    DCOM RPC: Distributed Component Object Model (DCOM) Remote Procedure Call (RPC) uma interface

    da Microsoft para comunicao entre processos. Ficou bastante conhecida aps ser divulgada uma

    vulnerabilidade nela que causava buffer overflow, permitindo ento a execuo cdigos remotamente. Essa

    vulnerabilidade foi explorada com bastante sucesso na poca pela worm Blaster.

  • 42

    5.3.4 Estgio de Controle

    Este estgio envolve o comando e administrao da botnet j criada. nele

    que surge a figura do bot herder ou bot master, que ir utilizar a rede para ataques

    de DDoS, extorso, roubo de senhas ou informaes importantes, envio de SPAMs,

    etc.

  • 43

    6 MEDIDAS DE PREVENO

    Existem vrios tipos de medidas de preveno que podem ser tomadas para

    se evitar uma infeco por um bot ou um ataque de uma botnet. Algumas medidas

    podem ser consideradas genricas, como utilizao de senhas fortes ou

    investimento em conscientizao e educao, j outras so tecnolgicas, como a

    utilizao de firewalls, proxies, e IPS (OVERTON, 2005). Mas, para fim de uma

    melhor organizao, as medidas de preveno podem ser divididas em trs nveis

    listados como nvel de usurio, nvel de host e nvel de rede.

    6.1 Medidas de Preveno em Nvel de Usurio

    Sem dvida, o elo mais fraco de todo sistema de segurana o usurio. Isso

    se deve a vrios motivos como falta de cultura em segurana, baixo interesse do

    usurio final em manter seus sistemas protegidos ou desconhecimento, por parte do

    usurio, das polticas de segurana da sua empresa. Por isso, preciso investir em

    campanhas de esclarecimento e conscientizao. Existem tambm algumas medidas

    simples que podem tomadas para a proteo contra ataques de botnets que sero

    citadas a seguir.

    6.1.1 Utilizao de Senhas Fortes

    Muitos bots tm a capacidade de implementar ataques de dicionrio, nos

    quais utilizada uma lista de centenas ou milhares de senhas consideradas usuais

    para poder descobrir as senhas de compartilhamentos e dos sistemas. Por isso,

    devem-se evitar aquelas que so facilmente dedutveis ou que so muito utilizadas,

    tais como deus, jesus, brasil, etc.

  • 44

    Ataques de fora bruta, em que so testadas todas as combinaes possveis

    de caracteres para tentar obter a senha, tambm devem ser evitados utilizando

    senhas com tamanho grande o suficiente para que se torne muito demorada a sua

    quebra.

    Existe um problema, porm, que o fato de uma senha forte sempre possuir

    grande quantidade de caracteres e alta complexidade, incluindo caracteres especiais

    e nmeros. Senhas assim so muito difceis de serem memorizadas e, por isso,

    acabam sendo anotadas e guardadas em lugares inseguros, como embaixo do

    teclado ou em arquivos descriptografados. Para minimizar esse problema, existem

    algumas tcnicas de criao de senhas complexas, porm de fcil memorizao.

    Uma tcnica interessante a SFSP (Simple Formula for Strong Passwords) que

    possui basicamente a seguinte frmula (THOMAS, 2005):

    Regras de entrada -> (cdigo secreto & dica) = senha forte

    Onde as regras de entrada so procedimentos para indicar como as

    informaes da senha devem ser digitadas, como trocar a por @, e por 3 ou

    alternar as letras como maisculas e minsculas. O cdigo secreto um nmero de

    fcil memorizao que servir para ser embaralhado com a dica de modo a

    aumentar a complexidade da senha. Esse nmero pode ser, por exemplo, a data de

    aniversrio de algum, peso + altura, CEP, entre outros. A dica uma palavra

    simples e de fcil memorizao, como o nome de algum.

    Regras de entrada:

    R1: alternar maisculas com minsculas

    R2: trocar a por @ e o por 0

    R3: intercalar os caracteres do cdigo secreto com os caracteres da

    dica

    Cdigo secreto: (data de nascimento)

    130678

    Dica: (nome)

    aluisio

    Senha forte: (R1,R2,R3)->(130678 & aluisio)

  • 45

    @1L3u0I6s7I80

    O exemplo acima mostra como uma senha complexa e com muitos caracteres

    pode ser obtida atravs de informaes de fcil memorizao.

    6.1.2 Restrio ou Proibio de Uso de Clientes IRC, de IM (Instant Messaging), e P2P para Compartilhamento de Arquivos

    Clientes IRC so geralmente utilizados como vetores de disseminao e

    infeco de mquinas. Isso ocorre porque podem ser enviados arquivos atravs de

    DCC (Direct Client to Client) para eles e, com alguma engenharia social ou execuo

    de scripts, um bot pode ser enviado e executado atravs desse mesmo mtodo.

    Assim, a utilizao de clientes IRC em mquinas que possuem dados importantes ou

    mquinas de empresas no recomendvel.

    Outro vetor de disseminao de bots so os servios de mensagem

    instantnea, tambm chamados de servios de IM (Instant Messaging). Ultimamente,

    o uso desses sistemas tem crescido bastante, tanto para fins pessoais como

    profissionais (HICKEY, 2006). Tambm possvel enviar e receber arquivos por

    esses sistemas, como conseqncia, pode ser disseminado todo tipo de malware por

    eles. Alm do mais, depois que um worm instalado em uma mquina com um

    servio de IM, no necessria uma busca aleatria de IPs para infectar a prxima

    vtima. Basta que se busque na lista de contatos do servio por novas vtimas

    (HINDOCHA, 2003).

    Servios de IM tambm tm como agravante o fato de que bastante difcil

    bloquear o seu uso em empresas utilizando tecnologias convencionais como

    firewalls.

    Assim, pelo mesmo motivo dos clientes IRC, no recomendvel a utilizao

    desses sistemas em empresas, a menos que seja realmente necessria. Ento, para

    esses casos, existem solues interessantes como o messengerPolicy, que monitora

    e cria polticas de acesso para os programas de mensagens instantneas.

    Sistemas P2P para compartilhamento de arquivos, como Kazaa, eMule e

    Shareaza tambm devem ser proibidos nas redes empresariais, pois alm de

  • 46

    sobrecarregarem a rede com transferncia de arquivos, que na maioria das vezes

    so cpias ilcitas, tambm so vetores de disseminao de vrios bots, entre outros

    malwares.

    6.1.3 Cuidado com E-mail no Solicitado ou de Pessoas Desconhecidas.

    Vrios worms utilizam e-mail para se propagar e instalar nas mquinas. De

    fato, o maior vetor de propagao de worms e vrus o SMTP (Simple Mail Transfer

    Protocol). De acordo com a Symantec, em 2006, 98% do volume dos registros dos

    50 maiores cdigos maliciosos de 2006 foram feitos por cdigos que usavam SMTP

    (SYMANTEC, set. 2006). Isto no causa nenhuma surpresa, uma vez que esse

    protocolo largamente empregado para a transmisso de e-mail, uma das

    aplicaes mais utilizadas da internet.

    Um exemplo de worm que utiliza mecanismo de propagao por e-mail e

    instala um bot na mquina o Mytob, que est entre os 50 maiores cdigos

    maliciosos de 2006.

    6.2 Medidas de Preveno em Nvel de Host

    So medidas podem ser adotadas nos sistemas para que estes possam se

    tornar mais seguros. Tais medidas incluem instalao de antivrus, personal

    firewalls, HIDS (Host based Intrusion Detection System), instalao de paches, entre

    outros.

    6.2.1 Instalao de Patches

  • 47

    Todo sistema no trivial, por mais que tenha sido bem feito, no est livre de

    bugs e vulnerabilidades. Assim, muito importante que se mantenha o sistema

    sempre atualizado com relao a patches de segurana. Sistemas Windows

    possuem um servio de atualizao automtica (Windows Update) que os mantm,

    ou tenta mant-los, sempre atualizados. Este servio deve ficar habilitado. De fato,

    sua importncia to grande que alguns tipos de bots tentam desabilit-lo to logo

    consigam infectar uma mquina.

    Existe um tempo entre a publicao de uma vulnerabilidade e a

    disponibilizao de um patch para sua correo que pode variar de poucas horas a

    at algumas semanas. Nesse tempo a mquina ficar vulnervel. Mas a imensa

    maioria dos bots, trojans e worms utiliza vulnerabilidades j conhecidas e que

    possuem patches para sua correo.

    A tabela abaixo foi publicada pela Symantec em maro de 2006 e mostra o

    tempo mdio para se comprometer sistemas operacionais em diversos desktops que

    foram utilizados como honeypots (SYMANTEC, mar 2006). Ela d uma idia da

    importncia de se manter os sistemas atualizados.

    Tabela 3: Tempo para comprometer computadores com firewalls desativados

    Configurao Tempo mdio

    (h:m:s) Tempo Mximo

    (h:m:s) Tempo mnimo

    (h:m:s)

    Microsoft Windows XP Professional sem patches

    1:00:12 22:13:18 0:00:37

    Microsoft Windows 2000 Professional sem patches

    1:03:18 20:18:03 0:01:19

    Microsoft Windows 2000 Porfessional Service Pack 4

    1:14:20 21:02:48 0:00:39

    Suse Linux 9 Desktop No

    comprometido No

    comprometido No

    comprometido

    Microsoft Windows 2000 Professional com todos os

    patches

    No comprometido

    No comprometido

    No comprometido

    Microsoft Windows XP Professional com todos os

    patches

    No comprometido

    No comprometido

    No comprometido

    Microsoft Windows XP Professional Service Pack 2

    No comprometido

    No comprometido

    No comprometido

  • 48

    6.2.2 Antivrus

    Outra medida de grande importncia a instalao de algum software

    antivrus. Da mesma forma que o Windows Update, uma das primeiras aes de

    alguns malwares, depois de infectar a mquina, tentar desligar o antivrus instalado

    no sistema.

    Deve ser dito que softwares antivrus normalmente s detectam malwares

    cujas informaes esto contidas em seus bancos de dados. Novas variantes de

    malwares podem ser detectadas atravs de mtodos heursticos, porm esses

    mtodos esto longe de serem perfeitos (OVERTON, 2005). Assim, sempre deve ser

    atualizado o banco de dados do antivrus para que este possua as informaes dos

    malwares e suas variaes mais recentes.

    Os vrios antivrus disponveis no mercado tm suas formas de atuao

    bastante semelhantes. Quando so instalados, iniciam vrios processos residentes

    na memria, que sero executados sempre que a mquina for reiniciada. Esses

    processos servem para verificar automaticamente arquivos e pastas acessados por

    outros processos, fazer atualizaes automticas do banco de dados, detectar e-

    mails maliciosos, entre outras atividades.

    Como os bancos de dados de cada fabricante de antivrus so independentes,

    cada um tem sua prpria nomenclatura. O Norton Antivrus, por exemplo, pode

    nomear uma verso do worm Mytob como W32.Mytob.FX@mm, onde W32

    significa que ele se executa em plataforma Windows, FX a sua variao e @mm

    significa que ele um Mass-Mailer15. Enquanto o Sophos AV pode nomear o

    mesmo worm como W32/Mytob-HM, onde W32 tambm indica a plataforma, mas

    a verso definida como HM. Alm disso, existem as particularidades de cada

    antivrus que podem detectar o mesmo malware como malwares diferentes. Por

    exemplo, o Kaspesky pode detectar um bot como Backdoor.Win32.Rbot.gen

    enquanto o VirusScan pode detectar o mesmo bot como W32/Sdbot.worm.gen.g.

    Todos esses fatores podem causar certa confuso e atrapalhar na busca da correta

    nomeao de um malware.

    A tabela 4 mostra como um antivrus pode se diferenciar dos outros quanto

    deteco de um bot. Foram obtidos seis bots diferentes: Agobot; DSNX-bot; GT-

    15

    Mass-Mailer: worm que envia mltiplos e-mails com cpias de si mesmos para outras mquinas.

  • 49

    Lance; RBot; SDBot05b; Mytob. Todos esses bots foram copiados para uma

    mquina onde foram instalados os seguintes softwares antivrus: AVG Antivrus;

    Kaspersky; Panda; Norton AV; VirusScan Enterprise; Sophos AV; Avast 4

    Professional. Este teste foi realizado no mesmo dia com todos os antivrus e com

    suas ltimas atualizaes. Cada bot foi compactado (Agobot, DSNX-Bot, GT-Lance,

    RBot e SDBot em formato rar, enquanto o Mytob ficou em formato zip) de modo

    que os scanners automticos dos antivrus no os detectassem na pasta onde foram

    guardados. Foi ento instalado cada antivrus, feitas as devidas atualizaes, e

    descompactados sequencialmente os bots para a respectiva deteco.

  • 50

    Tabela 4: Deteco de vrios bots por antivrus AVG Anti-Virus kaspersky 6.0.2 Panda 2.01.00

    Agobot no detectado Backdoor.Win32.agobot.Io W32/Gaobot.gen.worm

    dsnx0.5 BackDoor.Dsnx Backdoor.Win32.DSNX.05.A W32/DSNX.05

    GT-Lance HideWindow, Generic.GFF, BackDoor.Flood

    Trojan.Win32.Glitch, Backdoor.IRC.Cloner, Backdoor.IRC.Flood.a, Backdoor.IRC.Zapchast

    HideWindow, Trj.Glitch.B, Bck/IRC.Flood.a.warning, Worm.Generic.LC, mIRC/Winhelp

    rBot no detectado Backdoor.Win32.Rbot.gen W32/Gaobot.gen.worm

    sdbot05b no detectado Backdoor.Win32.SdBot.gen W32/Gaobot.gen.worm

    Mytob I-Worm/Mytob.YD Net-Worm.Win32.Mytob.t W32/Mytob.GO.worm

    Comentrios

    Verso 7.5 477, 26/02/2007, Trial, Professional Edition, Atualizado em 11/03/2007

    Verso 6.0.2.614, Complete, Enable Self Defense Instalation, Trial, Atualizado em 11/03/2007

    possui antispyware, Verso 2.01.00, Atualizado em 11/03

    Norton AV 071400br Virusscan Enterprise 8.5i Sophos AV 6.5.3

    Agobot W32.HLLW.Gaobot.gen W32/Gaobot.worm.gen.d W32/Agobot-Gen

    dsnx0.5 Backdoor.DSNX BackDoor-UK Troj/Bdoor-UK

    GT-Lance IRC Trojan, Hacktool.HideWindow

    Mltiplos IRC/Flood.X Troj/Flood-CK, Troj/Glitch-A, Troj/Flood-A

    rBot W32.Spybot.Worm W32/Sdbot.worm.gen.g W32/Rbot-Gen

    sdbot05b Backdoor.Sdbot W32/Sdbot.worm.gen W32/Sdbot-Fam

    Mytob W32.Mytob.FX@mm W32/Mytob.gen@MM W32/Mytob-HM

    Comentrios Atualizado em 11/03/2007

    Atualizado em 11/03/2007

    Atualizado em 11/03/2007, O nico que detectou do zip (Mytob) sem descompactar.

    Avast 4 professional

    Agobot Win32:HBPE-Crypt [Wrm]

    dsnx0.5 Win32:DSNX-B [Trj]

    GT-Lance

    W32:Trojano-756 [Trj], W32:Trojan-gen. {UPX!}, VBS:Malware [Gen], IRC:Generic

    rBot Win32:Rbot-CSN [Trj]

    sdbot05b Win32:SdBot-3223 [Trj]

    Mytob Win32:Mytob-NS [Wrm]

    Comentrios Atualizado em 11/03/2007

  • 51

    Como GT-Lance um GT-bot, ele na verdade possui vrios arquivos

    contendo dlls e scripts. Assim, os antivrus detectaram vrias ameaas para ele,

    diferentemente dos demais bots.

    O nico antivrus que no detectou alguns dos bots foi o AVG. Por isso, foi

    realizado um novo teste com ele no dia seguinte, mas os resultados foram idnticos.

    6.2.3 Firewall Pessoal e HIDS (Host Based Intrusion Detection System)

    Existem hoje em dia vrios firewalls comerciais que podem ser instalados nas

    mquinas dos usurios, tais como Sygate, Norton ou ZoneAlarme. Mesmo o

    Windows XP SP2 possui um firewall pessoal integrado. A principal funo dos

    firewalls pessoais o bloqueio do acesso rede por aplicaes no autorizadas,

    mas eles tambm podem bloquear portas e servios, como compartilhamento de

    arquivos e mensagens ICMP.

    Assim, se um bot for instalado na mquina, necessria a autorizao prvia

    do firewall pessoal para que ele possa acessar a rede. Como essa autorizao

    normalmente no concedida, o bot no ficar acessvel para receber comandos do

    bot herder.

    Quanto aos HIDS, a maioria executa tarefas como checagem de integridade

    pastas e de arquivos, monitorao de atividades atravs de logs, deteco de buffer

    overflow e kernel wrapping16. sabido que alguns bots, por exemplo, alteram o

    arquivo hosts para no resolver endereos de sites de antivrus. Este tipo de

    atividade seria facilmente detectado caso a mquina possusse um HIDS que

    detectasse alteraes nesse arquivo. Um exemplo de HIDS o OSSEC. Ele um

    sistema Open Source que possui verses tanto para Linux como para Windows e

    contem funes de checagem de integridade, anlise de logs, deteco de rootkits e

    alerta de atividades.

    16

    Kernel Wrapping: Tcnica que consiste em verificar todos os parmetros em chamadas entre o kernel e os

    device drivers (SWIFT, 2002)

  • 52

    6.3 Medidas de Preveno em Nvel de Rede

    Medidas de preveno em nvel de rede so aquelas tomadas para a proteo

    de permetro das redes. As mais importantes so utilizao de firewalls, proxies,

    NIDS, IPS, configurao correta de servidores DNS e SMTP e utilizao de sistemas

    anti-DDoS.

    6.3.1 Firewall, NAT e Proxy

    A utilizao correta de firewalIs muito importante para evitar que ataques

    comuns de bots, como o exploit da vulnerabilidade do lsass em sistemas Windows

    desatualizados, alcancem as mquinas da rede interna. Isso feito utilizando uma

    poltica deny-all, negando a passagem todo o trfego pelo firewall para depois

    autorizar apenas aqueles que so realmente necessrios. O bloqueio expresso de

    portas conhecidas de IRC, tais como 6667, 6600 e 7000, tambm importante para

    se evitar que bots instalados nas mquinas consigam acessar os seus servidores de

    C&C (OVERTON, 2005).

    Outra soluo a utilizao de servio NAT (Network Address Translation) no

    firewall. A tcnica que o NAT utiliza consiste em traduzir endereos IP falsos ou

    internos (10.X.X.X, 192.168.X.X, 172.16.X.X) em endereos IP reais. Isso feito

    utilizando tabelas dinmicas para mascarar o IP/porta da mquina na rede interna

    em um IP/porta para a rede externa (CISCO, 2006). Utilizando esse conceito, o

    servio NAT possui duas caractersticas interessantes aumentam a segurana da

    rede interna. A primeira o fato de que no preciso utilizar endereos IP reais,

    impossibilitando que mquinas da rede externa enxerguem as da rede interna. A

    segunda que conexes somente so aceitas quando o seu incio (mensagem TCP

    syn) parte da rede interna para a externa, tornando assim impossvel que pedidos de

  • 53

    conexo vindos da rede externa sejam aceitos na rede interna, a menos que se faa

    algum tipo de port forwarding17.

    O firewall de aplicao, normalmente chamado de proxy, tambm oferece

    segurana contra ataques externos, uma vez que ele impede o acesso direto aos

    servios externos como HTTP, FTP, etc. Dessa forma, o proxy pode, por exemplo,

    verificar se o contedo de um site malicioso ou no, antes de repass-lo mquina

    da rede interna que fez a requisio.

    preciso esclarecer, porm, que caso um bot j tenha infectado uma mquina

    na rede interna e esse tiver um C&C do tipo Web, ele ainda poder facilmente se

    conectar botnet. Uma vez que firewalls normalmente no bloqueiam a porta 80,

    NAT no restringe conexes de dentro para fora das redes e muito difcil para

    proxies detectar que o site acessado pelo bot um servidor C&C.

    6.3.2 NIDS e IPS

    Network Based Intrusion Detection System, ou simplesmente NIDS, um

    monitor de rede que analisa todo o seu trfego e registra eventos suspeitos. A

    deteco de um trfego suspeito de rede realizada comparando-o a assinaturas de

    diversos tipos de ataque contidas em um banco de dados do NIDS.

    Vrios NIDS esto disponveis no mercado, sendo os mais conhecidos Snort e

    RealSecure.

    Existem, por exemplo, assinaturas que so prprias de trfego de botnets. As

    assinaturas abaixo so exemplos de trfego gerado por botnets compostas por

    Agobot, SDBot ou Mytob. Essas assinaturas esto no banco de dados do Snort.

    alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"COMMUNITY BOT

    Agobot/PhatBot bot.execute command"; flow: established;

    flowbits:isset,community_is_proto_irc; content:"bot.execute"; classtype:

    trojan-activity; sid:100000245; rev:2;)

    17

    Port forwarding: tcnica utilizada pelo firewall para disponibilizar o acesso de mquinas da rede externa a

    mquinas da rede interna. Consiste em enviar todo o trfego vindo da externa em uma determinada porta para

    uma determinada mquina na rede interna.

  • 54

    alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"COMMUNITY BOT SDBot

    getcdkey command"; flow: established;

    flowbits:isset,community_is_proto_irc; content:"getcdkey"; classtype:

    trojan-activity; sid:100000263; rev:2;)

    alert tcp $HOME_NET any -> $EXTERNAL_NET 8585 (msg:"COMMUNITY BOT Mytob IRC

    channel join"; flow:established,to_server; content:"JOIN "; nocase;

    pcre:"/^\s*JOIN/smi"; classtype:policy-violation;

    reference:url,www.symantec.com/security_response/writeup.jsp?docid=2006-

    052411-0911-99; sid:100000902; rev:1;)

    A primeira assinatura detecta o comando bot.execute, que obriga uma

    mquina infectada pelo Agobot a executar um programa qualquer. A segunda

    detecta o comando getcdkey, que rouba a CD key de eventuais jogos instalados

    na mquina infectada pelo SDBot. E a terceira assinatura detecta um JOIN ao canal

    do servidor de C&C do Mytob.

    Ataques realizados a redes que possuem NIDS no sofrem nenhum tipo de

    restrio, pois os NIDSs apenas se limitam a registrar eventos ocorridos. Para

    ampliar essa capacidade meramente passiva do NIDS, surgiu o Intrusion Prevension

    System (IPS), que, alm de registrar os eventos ocorridos na rede, tambm capaz

    de bloquear o trfego das ameaas. IPS pode ser considerado como uma evoluo

    do NIDS, porm, enquanto existirem altas taxas de falsos positivos para os eventos,

    ainda existir espao para o NIDS (RADCLIFF, 2004).

    6.3.3 Configurao de DNS e SMTP

    Deve ser assegurado que apenas o servidor SMTP da rede seja habilitado

    para rotear trfico de e-mail para a internet, todo o restante do trfico SMTP deve ser

    bloqueado ou registrado em log, pois geralmente provem de atividades de envio de

    spam, phishing scam, ou disseminao de mass mailer worms. Filtros de anexos em

    e-mail tambm devem ser utilizados para no permitir que malwares sejam enviados

    ou recebidos em forma de anexos.

    Servidores de DNS podem ser configurados para apontar domnios

    conhecidos de C&C para endereos IP inacessveis. Esta tcnica chamada de null

    routing e faz com que um bot no consiga acessar o seu servidor de C&C. Abaixo

  • 55

    est um exemplo de configurao de null routing para um dos domnios utilizados

    pelo Mytob (OVERTON, 2005).

    Tabela 5: Configurao de servidor DNS

    Entrada da zona

    Zone blackarder.net { Type master; File blackarder.zone; };

    Configurao da zona, no arquivo blackarder.zone

    $TTL 2592000 @ IN SOA blackarder.net. root ( 46 3H 15M 1W 1D ) IN NS your.dns.server.name IN A 10.109.37.123

    6.3.4 Sistemas Anti-DDoS

    Existem produtos que possibilitam certa proteo contra ataques de DDoS.

    Eles so bastante efetivos para rejeitar trafego de DDoS baseado em endereos de

    IP e protocolos. Porm, ainda no se pode fazer muita coisa com relao a ataques

    de grandes botnets (com tamanho de milhares de zumbis) ou das que utilizam

    ataques mais elaborados, com IP spoofing18 e que simplesmente no retransmitem

    vrias vezes o mesmo pacote.

    18

    IP spoofing: tcnica que consiste em enviar um pacote contendo um endereo de IP falso no campo SOURCE IP ADDRESS do cabealho do protocolo IP. Muito utilizada em ataques de DoS para evitar que se descubra a fonte do ataque.

  • 56

    7 ASPECTOS LEGAIS

    Com o aumento do uso da informtica, ao longo dos anos, foram surgindo

    vrias iniciativas no mundo inteiro para conter os abusos e fraudes no meio digital.

    Alguns pases criaram leis especficas para a tipificao de crimes de informtica. Os

    Estados Unidos, por exemplo, criaram a Computer Fraud and Abuse Act, que trata

    como crime, entre outras coisas, o envio intencional de cdigo, informao,

    programa ou comando que cause danos ou sirva para ter acesso a um computador

    sem autorizao (FRAUD, 2003). J a Inglaterra criou a Computer Misuse Act,

    tratando de fatos como o acesso ou modificao no autorizada de informaes em

    computador (COMPUTER misuse act, 2000). Medidas como essas contriburam para

    a deteno de vrios bot herders e criadores de bots e seus respectivos julgamentos,

    como a priso do suspeito de ter criado o Agobot, ocorrida em maio de 2004 sob

    acusao de criao de cdigo malicioso, pela lei de sabotagem de computadores

    da Alemanha (SUSPECTED, 2004).

    No Brasil, h o projeto de lei (PL) n 89/2003 (originrio da Cmara como PL

    84/1999, do deputado Luiz Piauhylino), que est na Comisso de Constituio,

    Justia e Cidadania do Senado e dispe sobre crimes cometidos na rea de

    informtica e suas penalidades (TRAMITAO, 2007).

    Existe tambm o polmico projeto de lei n 7461/2002, que dispe sobre a

    obrigatoriedade dos provedores de acesso a internet manterem o cadastro de

    usurios e registro de transaes. Esse projeto se encontra arquivado na mesa

    diretora da Cmara.

    Apesar de ainda no haver legislao especfica sobre crimes de informtica

    no Brasil, os mesmos so tipificados pelo Cdigo Penal Brasileiro (CP). A seguir,

    est uma lista de como algumas condutas podem ser consideras crimes no Brasil.

    Destruio de arquivos ou alterao de dados de um programa so

    consideradas como crime de dano, previsto no artigo 164 do CP, com

    pena de at seis meses.

    Prtica de phishing scam pode ser considerada como estelionato,

    previsto no artigo 171 do CP, que obter vantagem ilcita induzindo

    algum em erro, mediante a qualquer meio fraudulento. A pena prevista

  • 57

    de 1 a 5 anos. Se o phishing scam for utilizado para obteno de

    senha bancria ainda pode-se enquadrar como crime contra o sigilo

    bancrio.

    Envio de spam viola o direito a privacidade, que tambm inclui o direito

    de ficar s, previsto no artigo 5 inciso X da Constituio Federal. Ainda

    pode ser considerado como propaganda enganosa e abusiva

    caracterizada no artigo 6 do Cdigo de Defesa do Consumidor. Por

    fim, pode tambm ser tipificado no artigo 265 CP como atentado contra

    a segurana de servio de utilidade pblica (GOTARDO, 2006), com

    pena de recluso de 1 a 5 anos e multa.

    Utilizao de capacidade de processamento sem a autorizao do

    proprietrio pode ser considerada como furto, artigo 155 do CP, com

    pena de recluso de 1 a 4 anos.

    Ameaar empresas, sites ou organizaes de ataques de DDoS pode

    se configurar como crime de ameaa, incluso no artigo 147 do CP com

    pena de deteno de 1 a 6 meses, ou multa.

    Caso haja ainda a associao de 3 ou mais pessoas envolvidas na

    prtica desses crimes, acarretar em crime de formao de quadrilha,

    tendo pena de 1 a 3 anos.

    Deve-se notar que os casos acima so alguns exemplos de utilizao de

    botnets. Logo, ao contrrio do que se possa pensar, o Brasil possui todos os

    recursos legais para a correta punio dos vrios crimes de informtica que possam

    vir a ser cometidos por bot herders, e leis especficas, como o PL n 89/2003, viriam

    somente para evitar os casos de ambigidade que possam existir.

  • 58

    8 PERSPECTIVAS QUANTO AO FUTURO DAS BOTNETS

    Algumas tendncias que podem ser percebidas nos dias atuais ajudam a

    visualizar como sero as botnets no futuro. Crimes de informtica vm se tornando

    mais elaborados e profissionais. Os lucros obtidos com tais crimes e a pirataria que

    os acompanha chegam a ultrapassar os nmeros do narcotrfico. Botnets podem ser

    alugadas para controladores temporrios que desejam realizar algum crime.

    Quadrilhas se formam no mundo inteiro, criando verdadeiras mfias e grupos

    terroristas.

    Com esse cenrio atual, organizaes, governos e empresas do mundo inteiro

    tambm se armam. Leis especficas so criadas para punir com mais rigor os crimes

    de informtica. Novos produtos de segurana so lanados. Sistemas operacionais

    trazem a segurana para primeiro plano em seu desenvolvimento. Criadores de

    malwares e bot herders so presos e condenados.

    So em cenrios de guerra como esses que as tecnologias costumam dar

    saltos. Podemos estar testemunhando o nascimento de um super-bot (OVERTON,

    2005). Tecnologias para isso comeam a aparecer em alguns bots. O Phatbot, por

    exemplo, j possui mecanismos polimrficos19 limitados, podendo dar incio a criao

    de bots com caractersticas metamorficas20 avanadas que certamente aumentaro

    muito o trabalho das empresas de antivrus.

    Bots como o Nugache comeam a utilizar criptografia em sua comunicao

    para evitar que sejam descobertos por sistemas de NIDS ou IPS e tambm evitar

    que as senhas do canal e do controlador sejam visualizadas nos pacotes da rede.

    Futuramente, a criptografia ser um grande desafio para as organizaes

    especializadas em desarticular botnets, pois, alm de proteger mensagens e senhas

    da atuao de sniffers, ela tambm ser utilizada para proteger as configuraes

    inseridas no cdigo executvel do prprio bot, tais como o nome do canal, senha do

    canal e do servidor e senha do bot herder. Criptografia aliada a cdigos

    19

    Tcnica polimrfica: tcnica de mutao de vrus. Sempre que ele se copia para uma nova mquina ou

    arquivo, seu corpo, ou parte dele criptografada com uma funo de criptografia diferente da original.

    Dependendo da tcnica, esta funo pode ter milhes de variaes. Assim, antivrus que utilizavam a assinatura

    desta funo para detectar vrus criptografados no mais conseguiro detect-los. 20

    Tcnica metamrfica: Por causa dos vrus polimrficos, os antivrus passaram a utilizar mquinas virtuais para

    execut-los e conseguir detect-los j descriptografados. Tcnicas metamrficas evitam isso gerando cpias do

    prprio corpo dos vrus diferentes das originais, no mais somente da funo de criptografia (SZOR, 2005).

  • 59

    metamrficos e sistemas anti-debugging como o do prprio Agobot, que detectam a

    utilizao de mquinas virtuais como VMWare, tornaro os novos bots muito mais

    difceis de serem estudados.

    Botnets com C&C baseado em IRC tendem a perder espao para as

    baseadas em Web e P2P. Porm, as baseadas em Web ainda possuem uma

    fragilidade que o uso de um servidor centralizado, pois, caso se encontre esse

    servidor, pode-se isol-lo da rede ou entrar em contato com o seu administrador,

    avisando-o que sua mquina est comprometida. Desligando o servidor da rede,

    toda a botnet ser desligada, alm de ser possvel rastrear as conexes do bot

    herder atravs de eventuais logs no servidor.

    J as baseadas em P2P sero as maiores ameaas que existiro na internet,

    pois, sem possurem um servidor centralizado, ser praticamente impossvel deslig-

    las. Aliando a criptografia das mensagens e o seu envio por inundao, tambm ser

    impraticvel o rastreamento dos bot herders de maneira convencional. O Nugache

    tambm mostra essa tendncia, com seu C&C baseado em P2P (WASTE) e

    utilizao de criptografia ele pode dar uma idia do que est por vir. Existe, no

    entanto, uma limitao importante nas redes utilizadas pelo Nugache. Redes

    WASTE no suportam grandes quantidades de ns conectados, mas com as

    enormes cifras que envolvem o mundo dos crimes de informtica, apenas uma

    questo de tempo para que se desenvolva algum bot que utilize redes P2P com alta

    capacidade de ns conectados.

    Tcnicas de disseminao furtiva tambm podero integrar as armas dos

    bots. Tais tcnicas podem ser encontradas nos chamados slow worms. Por

    exemplo, um bot poder tentar comprometer um web server somente quando o

    usurio da mquina infectada acessar seu site (SZOR, 2005). Isso evita o rudo dos

    escaneamentos aleatrios e torna o trfego da disseminao indistinguvel do

    trfego normal dos web browsers.

    Outra tcnica interessante de disseminao que pode vir a ocorrer em bots

    a chamada war searching, onde so as mquinas de busca como Google, Yahoo e

    Altavista que fazem o trabalho pesado (IMPERVA, 2004). Ela consiste em criar

    entradas especficas para os sites de busca de modo que eles listem os endereos

    de mquinas potencialmente vulnerveis. Pode-se, por exemplo, listar vrios

    servidores IIS 4.0 apenas alimentando a mquina de busca do Google com a

    entrada intitle: Welcome to IIS 4.0 (LONG, 2005).

  • 60

    O tempo entre a divulgao de uma vulnerabilidade e a criao do seu exploit

    tambm tende a diminuir. Assim, poder chegar o dia em que 0 day exploits sero

    comumente utilizados em botnets. Esses exploits recebem essa definio por serem

    lanados no dia da divulgao da vulnerabilidade ou mesmo antes, e cuja

    vulnerabilidade na grande maioria das vezes ainda no possui nem patch. Esse tipo

    de exploit altamente eficiente, uma vez que a falta de patches mantm mesmo os

    sistemas mais atualizados vulnerveis.

  • 61

    9 CONCLUSO

    Ao longo dos anos, as atividades criminosas passaram da criao de simples

    vrus amadores, criados apenas para divertimento e que demoravam meses para se

    disseminar, para malwares altamente modulares e de rpida disseminao. Entre

    estes esto os bots, que controlados atravs de redes como IRC, P2P ou mesmo via

    Web formam as botnets, consideradas por muitos as maiores ameaas internet.

    Botnets financiam organizaes criminosas no mundo inteiro atravs de extorses

    envio de spam, venda de informaes roubadas das mquinas comp