monografia botnets
DESCRIPTION
Monografia de fim de curso de especialização em segurança da informaçãoTRANSCRIPT
-
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