You are on page 1of 109

UNIVERSIDADE DE TRSOSMONTES E ALTO DOURO

Captura, anlise e identificao de


malware: caso de estudo

DISSERTAO DE MESTRADO
EM TECNOLOGIAS DE INFORMAO E COMUNICAO

Ricardo Srgio Freitas Ferreira


Antnio Manuel Trigueiros da Silva Cunha

Vila Real, 2013

Universidade de TrsosMontes e Alto Douro

Captura, anlise e identificao de


malware: caso de estudo

Dissertao de Mestrado em
Tecnologias de Informao e Comunicao
Ricardo Srgio Freitas Ferreira
Antnio Manuel Trigueiros da Silva Cunha

Composio do Jri:
_______________________________________________________
_______________________________________________________
_______________________________________________________
Vila Real, 2013

Somewhere, something incredible is waiting to be known.


Carl Sagan

Agradecimentos
Pela disponibilidade e contributo que prestaram durante a realizao deste trabalho,
gostaria de expressar o meu agradecimento a algumas instituies e pessoas:
Universidade de Trs os Montes e Alto Douro, agradeo o acolhimento que me foi
dispensado como aluno integrado nesta instituio.
Este projeto no teria sido possvel sem o apoio e colaborao do orientador Professor
Doutor Antnio Cunha, por isso, em primeiro lugar, agradeo-lhe toda a ajuda que
disponibilizou para a realizao das diversas fases desta dissertao.
Aos amigos do mirque pelo lulz colectivo e a toda a minha famlia e amigos que sempre
se disponibilizaram para me ajudar.

Captulo 1 Introduo

Resumo
Atualmente a proliferao de software malicioso (malware) enorme, tornando o
malware num dos maiores problemas da Internet. Os sistemas tradicionais de segurana
em redes de computadores, compostos por firewall e IDS, tm perdido eficcia devido
ao atraso entre o surgimento das ameaas e o seu registo. Este atraso deve-se ao elevado
nmero de novas ameaas e das suas variantes e tambm s tcnicas de evaso cada vez
mais sofisticadas, que dificultam a sua deteo. Neste contexto, foi efetuado um estudo
sobre ferramentas baseadas em virtualizao todas elas open source, que permitem a
captura, anlise e identificao de software malicioso. Foi tambm proposto e
implementada uma soluo composta pelas ferramentas dionaea, YARA, ssdeep e
Cuckoo. Esta implementao foi testada durante 4 meses, registando os ataques numa
base de dados. Os dados obtidos foram objeto de anlise e concluses foram retiradas.

Palavras-chave: Malware, Honeypots, Virtualization, Dynamic Analysis, Incident


Response, SIEM.

ii

Captulo 1 Introduo

Abstract
Nowadays one of the big problems of the Internet is malware. Even more malware is
incorporating advanced evasion techniques that make the analysis even harder. In that
context a study is proposed that shows the design and implementation of a solution that
is able to capture, analyze and observe malware. The solution studied was based on
opensource software and therefore demonstrates that opensource is a good choice in
network security even though there a small steep learning curve in the beginning the
benefits from it far outweigh the initial configuration. Its also advocated that the
systems should be unified. In this dissertation technology pertaining to the capture and
analysis of the malware is based on virtualization so that topic its also discussed
techniques that identify virtualized environments and their counter attacks are also
discussed. After the initial study we configured and build architecture that was shown to
help organizations or individuals to improve their security from the information
obtained from a proactive architecture, so that we can better and more efficiently
respond to threats and incidents. The data provided by this architecture is easily
integrable with other systems for instance monitoring solutions or IDS, improving the
process of responding to incident and monitoring the infrastructure therefore improving
the general security.

Keywords: Malware, Honeypot, Virtualization, Dynamic Analysis, Incident Response,


SIEM.

iii

Captulo 1 Introduo

ndice
Agradecimentos ............................................................................................................. i
Resumo ......................................................................................................................... ii
Abstract ....................................................................................................................... iii
ndice ........................................................................................................................... iv
ndice de Figuras .......................................................................................................... vi
ndice de Tabelas ....................................................................................................... viii
Siglas e Acrnimos ...................................................................................................... ix
1.

Introduo ............................................................................................................. 1
1.1. Contexto.......................................................................................................... 1
1.2. Objetivos ......................................................................................................... 2
1.3. Estrutura.......................................................................................................... 2

2.

Contextualizao ................................................................................................... 4
2.1. Malware .......................................................................................................... 4
2.2. Botnets ............................................................................................................ 7
2.3. Estratgias de infeo ...................................................................................... 9
2.4. Deteo de malware ...................................................................................... 10
2.5. Solues com honeypots ................................................................................ 20
2.6. Risco de deteo ............................................................................................ 22
2.7. Emulao e Virtualizao .............................................................................. 24
2.8. Deteo de Virtualizao ............................................................................... 25
2.9. Tcnicas de deteo e dissimulao de ambientes virtualizados ..................... 28
2.10. Mquinas virtuais em HVM......................................................................... 30

3.

Anlise de malware ............................................................................................. 32


3.1. Anlise esttica ............................................................................................. 34
3.2. Anlise dinmica ........................................................................................... 35
3.3. Tcnicas para anlise dinmica de malware ................................................... 37
3.4. Frameworks de anlise dinmica ................................................................... 38

4.

Trabalho desenvolvido ........................................................................................ 44


4.1. Anlise do problema ...................................................................................... 44
iv

Captulo 1 Introduo
4.2. Proposta de arquitetura para deteo de malware ........................................... 48
4.3. Caso de estudo .............................................................................................. 54
5.

Resultados do trabalho ........................................................................................ 55


5.1. Perodo analisado .......................................................................................... 55
5.2. Servios atacados .......................................................................................... 56
5.3. Anlise das amostras ..................................................................................... 64
5.4. Discusso de resultados ................................................................................. 69

6.

Concluses e trabalhos futuros ............................................................................ 71

Bibliografia ................................................................................................................. 74
Anexos........................................................................................................................ 82
Anexo 1 Querys SQL ........................................................................................ 82
Anexo 2 Anlise de similaridade ....................................................................... 84
Anexo 3 Anlise de Cuckoo .............................................................................. 88
Anexo 4 Relatrios Cuckoo ................................................................................ 89
Anexo 5 Regras de classificao de malware ..................................................... 92
Anexo 6 Identificao de malware ..................................................................... 95

Captulo 1 Introduo

ndice de Figuras
Figura 1 Posicionamento de um NIDS distribudo na rede. ....................................... 13
Figura 2 Classificao de honeypots adaptado de enisa[40]. ..................................... 16
Figura 3 Arquitetura do sistema hbrido surdIDS[119] ............................................. 18
Figura 4 Posicionamento tradicional de um honeypot. .............................................. 21
Figura 5 Posicionamento interno de um honeypot..................................................... 22
Figura 6 Arquitectura genrica de mquinas virtuais. ............................................... 25
Figura 7 Tcnica de deteo baseada na instruo SIDT. .......................................... 28
Figura 8 Tcnica de deteo baseada na instruo STR. ........................................... 29
Figura 9 Alteraes para impedir a deteccao de VMware retirado de Liston[65]. ...... 30
Figura 10 Mtodo de funcionamento do rootkit Bluepill retirado de Rutkowska[100].31
Figura 11 Modo de funcionamento do user mode e kernel mode no sistema windows,
retirado de MSDN[76]. ............................................................................................... 33
Figura 12 Funcionamento genrico da biblioteca detours adaptado de Galen [34]. ... 36
Figura 13 Arquitectura CWSandbox adapdata de Provos[90]. .................................. 39
Figura 14 Arquitetura Cuckoo adaptada de Rodriguez[95]. ...................................... 41
Figura 15 Utilizacao JMP para hooking. .................................................................. 42
Figura 16 Hooking efetuado pelo cHook utilizando a instruo MOV EAX,JMP EAX.42
Figura 17 Rede tradicional. ...................................................................................... 45
Figura 18 Arquitetura proposta. ............................................................................... 49
Figura 19 Algoritmo de alto nvel da arquitetura. ..................................................... 49
Figura 20 Estrutura da BD dionaea. ......................................................................... 50
Figura 21 Arquitetura desenvolvida. ........................................................................ 54
Figura 22 Total de ligaes e downloads de amostras capturados durante o perodo
estudado. ..................................................................................................................... 55
Figura 23 Viso global da atividade dos ataques. ...................................................... 56
vi

Captulo 1 Introduo
Figura 24 Nmero de ligaes por porto. .................................................................. 57
Figura 25 Nmero de ataques no servio MSSQL. ................................................... 58
Figura 26 - Nmero de hosts que estabeleceu ligaes ao servio MSSQL. ................. 59
Figura 27 Listagem dos drivers mais utilizados nos ataques ao servio MSSQL. ...... 60
Figura 28 - Nmero de ataques ao servio SMB .......................................................... 62
Figura 29 - Downloads e nmero de hosts no servio SMB. ........................................ 63
Figura 30 Anlise dinmica Cuckoo para a amostra 1. .............................................. 66
Figura 31 grfico comparativo sobre a distribuio de packers nas amostras. ........... 68

vii

Captulo 1 Introduo

ndice de Tabelas
Tabela 1 Requerimentos para monitorizao de trfego por largura de banda. .......... 47
Tabela 2 Tabela comparativa de funcionalidades de IDS opensource. ...................... 47
Tabela 3 Tabela comparativa de honeypots de propsito geral adaptada de
Grudziecki[40]. ........................................................................................................... 48
Tabela 4 Listagem dos usernames mais utilizados nos ataques ao servio MSSQL. .. 59
Tabela 5 Listagem das passwords mais utilizadas nos ataques ao servio MSSQL. .. 60
Tabela 6 Vulnerabilidades utilizadas contra o protocolo SMB .................................. 63
Tabela 7 Lista das 4 amostras capturadas mais frequentes. ....................................... 64
Tabela 8 Nmero de amostras para as 4 amostras capturadas mais frequentes. ......... 65
Tabela 9 Capacidades detetadas nas amostras. .......................................................... 69

viii

Captulo 1 Introduo

Siglas e Acrnimos
API

Application Programming Interface

ACL

Access Control List

CIFS

Common Internet File System

CSIRT

Computer SecurityIncident Response Team

DGA

Domain Generation Algorithm

DHCP

Dynamic Host Configuration Protocol

DLL

Dynamic Link Library

DMZ

Demilitarized zone

DNS

Domain Name System

IP

Internet Protocol

I/O

Input/Output

IRC

Internet Relay Chat

PE

Portable Executable

SIEM

Security Information ad Event Managemnt

SQL

Structured Query Language

IDS

Intruson Detection System

IPC

Inter Process Comunication

IPS

Intrusion Prevention System

LAN

Local Area Network

ix

Captulo 1 Introduo

MD5

Message Digest 5

NFS

Network File System

OS

Operating System

P2P

PeertoPeer

PCAP

Packet Capture

SMB

Server Message Block

SSH

Secure Shell

VM

Virtual Machine

VMM

Virtual Machine Monitor

TLS

Transport Layer Security

TCP

Transport Control Protocol

SSL

Secure Sockets Layer

VoIP

Voice over IP

VPN

Virtual Private Network

CAP 1
1. Introduo
Esta dissertao de Mestrado tem como tema a utilizao de plataformas de
virtualizao no contexto da segurana informtica, de forma a detetar e prevenir
ataques de software maligno (malware). O tema proposto engloba conceitos de redes de
computadores, sistemas operativos, anlise de binrios.
Segue-se a contextualizao da problemtica que motivou este projeto e a definio dos
objetivos propostos.

1.1. Contexto
Atualmente, a rpida expanso da Internet e dos seus utilizadores, criaram
oportunidades para pessoas mal-intencionadas conseguirem ter proveito financeiro,
escudando-se na anonimidade permitida pela Internet.
Em resultado disso, a proliferao de malware tem tido aumentos significativos[47,
111, 121], tendo evoludo a partir de um simples hobby para uma indstria que se
dedica infeo computadores a troco de compensaes financeiras[49].
O malware tornou-se assim o veculo privilegiado de ataque nas redes de computadores
e tornou-se num dos maiores problemas atuais da Internet[121].
O malware Stuxnet e o Flame, extremamente sofisticados, foram desenhados para
impedir o programa nuclear Iraniano[126] causando elevados atrasos e prejuzos.
Em consequncia, surgiu uma presso crescente de obter proteo contra este tipo de
ameaas. Tradicionalmente, esta era assegurada por solues compostas por firewall e
IDS. No entanto, com a evoluo e massificao das ameaas, estas solues perderam
alguma eficcia devido ao atraso entre o surgimento das ameaas e os seus registos.
Este atraso deve-se ao elevado nmero de novas ameaas e das suas variantes, e
tambm s tcnicas de evaso mais sofisticadas que dificultam a sua deteo.
Para colmatar este problema surgiram novos mtodos automticos, baseados em
virtualizao, que permitem fazer frente a estas novas ameaas.
1

Captulo 1 Introduo
Esta dissertao pretende estudar e propor solues de segurana, utilizando mtodos
automticos baseados em virtualizao, opensource, que permitam a um administrador
de rede identificar e compreender as ameaas sua rede.
O mtodo de deteo permite criar informao sobre o mtodo de infeo e o seu
comportamento, tornando assim mais eficaz a resposta a incidentes.
As estratgias de segurana so compostas por um processo iterativo ente a anlise das
ameaas e implementao de solues sucessivamente.

1.2. Objetivos
Com este trabalho pretendido uma proposta de um sistema baseado em ferramentas
opensource capaz de capturar amostras de software potencialmente maligno, fazer a sua
anlise e nos casos em que for considerando maligno, anlise do seu vetor de infeo.
Nesse sentido para atingir os objetivos propostos, destacam-se os seguintes objetivos:

Anlise e seleo de ferramentas opensource, baseadas em virtualizao,


capazes de capturar, classificar e identificar software malicioso (malware);

Projeto e implementao de um sistema, composto por ferramentas opensource


capazes de capturar, classificar e identificar malware;

Realizao de um caso de estudo, que permita validar o sistema proposto,


nomeadamente, capturar, classificar e identificar malware;

Publicao das principais caractersticas das amostras consideradas malignas, em


motores de vrus, e.g., virustotal.com e comunidades cooperativas, e.g.
honeynet.org.

1.3. Estrutura
No presente Captulo, foi introduzido o tema e descritos os objetivos, contribuies e
enquadramento da dissertao. No Captulo 2, efetuada a contextualizao ao leitor
onde so dados a conhecer as tecnologias de anlise e tambm apresentados os
principais conceitos abordados. No Captulo 3 explicado os tipos de anlise de
malware (esttica e dinmica), tcnicas utilizadas e as framework de anlise. No
Captulo 4 apresentada uma arquitetura para um sistema baseado em ferramentas
opensource, e definido um cenrio para efetuar o caso de estudo. No Captulo 5 so

Captulo 1 Introduo
apresentados os resultados obtidos e a sua anlise. Finalmente, no Captulo 6, so
apresentadas as concluses finais e propostos desenvolvimentos para trabalho futuro.

CAP 2
2. Contextualizao
Neste captulo faz-se uma contextualizao dos conceitos de segurana, nomeadamente
dos softwares malignos, os seus vetores de infeo, as implicaes das infees,
depois dada uma descrio dos sistemas de segurana existentes, o seu mtodo de
funcionamento e das ameaas dos dias de hoje

2.1. Malware
O malware pode ser definido como um software com propsitos malignos, seja a
comprometer a privacidade dos utilizadores ou destruir informao. O malware um
termo muito abrangente que engloba um conjunto de caractersticas presentes em
software malicioso tais como: recolha de informao privada, acesso a recursos restritos
ou apenas para causar danos.
Atendendo s suas caractersticas e particularidades estes so passveis de se organizar
por classes tais como: crimeware, vrus, worms, backdoors, spyware entre outros. Para
esta dissertao os grupos escolhidos foram cinco, estes grupos foram escolhidos devido
importncia que representam para a anlise de botnets e assim verificar como os
criminosos operam. Tambm abordada no captulo a seguir (botnet) a implicao que
a infeo por malware acarreta.
Apesar da origem do primeiro programa malicioso ser questionvel, existem referncias
que apontam o primeiro espcime para volta de 1987[135].
As primeiras instncias de malware foram os vrus, sendo os seus criadores motivados
pela necessidade de expor vulnerabilidades ou a demonstrao das suas habilidades
tcnicas[113, 135]. medida que o tempo avanou, estas motivaes mudaram,
atualmente a maior parte do malware existente tem propsitos criminosos, alimentando
um pequeno ecossistema que prospera devido a proliferao de malware[49, 71].
Podem ser identificados vrios grupos de programas maliciosos, que no sendo
mutualmente exclusivos, permitem que alguns deles exibam caractersticas comuns a

Captulo 2 Contextualizao
dois ou mais grupos [122]. Segue-se uma apresentao dos que consideramos
principais.

2.1.1. Worms
Prevalente em ambientes interligados, a definio descreveo como um programa que
corre de forma independente e capaz de se propagar para outras mquinas[122].
O primeiro worm conhecido foi o Morris[84] que devido ao impacto na perceo de
insegurana da Internet, veio dar origem aos atuais centros de coordenao de resposta a
incidentes de segurana CSIRT (Computer Security Incident Response Team)[21]. Nos
ltimos anos o malware tem aparecido cada vez mais sofisticado como o caso do
Conficker[63] [24] que utiliza DGA (Domain Generation Algorithms) para que possa
contactar o servidor remoto[20], o Zeus utiliza comunicao P2P[66] e o Flame que
utilizou novos mtodos em ataques criptogrficos ao MD5[117].
Os criminosos recorrem utilizao de worms, porque esta classe de malware est
associada a criao botnets, que uma rede de dispositivos infetados (bots) que
comunicam com um servidor para efetuar as aes que lhes so instrudas[63].
As botnets normalmente so construdas atravs da propagao de worms para
propsitos maliciosos tal como o envio de spam[52], este normalmente contendo links
para pginas maliciosas[124], que perpetuam o ciclo de infeo.

2.1.2. Vrus
Um vrus informtico programa malicioso que anexa o seu cdigo a ficheiros
executveis, documentos ou at o sistema operativo (OS). A sua capacidade de
replicao uma caracterstica importante[110], e normalmente no se executam de
forma autnoma[113].
Nos ltimos anos temos assistido a um elevado nmero de vrus sofisticados como o
caso do Kenzero que utiliza como propagao o servio P2P[30].Outras variantes
utilizam como vetor de infeo as partilhas de rede conseguindo assim um efeito similar
ao dos worms[122], como o caso do vrus Shamoon que tem como alvo o sector da
energia[94].

Captulo 2 Contextualizao

2.1.3. Trojan
Baseado na epopeia de Homero, onde Ulisses utiliza um cavalo gigante de madeira para
se infiltrar dentro das muralhas de Troia, os cavalos de Troia normalmente apresentamse como software legtimo mas que efetuam atividades maliciosas em background.
Normalmente o trojan disfara-se de plugin, jogos, screensavers ou programas de forma
a infetar o sistema. Depois de executado ou instalado pode efetuar o download de
programas maliciosos, modificar chaves do registo ou infetar outros ficheiros[122].
Est categoria das que tem mais prevalncia na Internet, representando 30% do
malware existente[45].

2.1.4. Spyware
Esta classe de software, bastante utilizado nos ltimos anos, costuma estar disfarada de
software legtimo para recolher preferncias e dados do utilizador. A maior parte deste
malware utilizado devido a falta de instruo dos utilizadores[86], pois normalmente
so distribudos de forma legal em programas freeware e shareware.
O spyware envia para o atacante informao do utilizador, informao bancria,
histrico das pginas, documentos e emails[49].
A tecnologia utilizada nos spywares, tal como os trojans, tm mecanismos que
permitem aes como keylogging, screenshots do ecr, recolha de estatsticas e websites
visitados[86].

2.1.5. Rootkits
Um rootkit um conjunto de tcnicas e programas maliciosos que utiliza tecnologia
stealth para manter uma presena no detetvel na mquina[49]. A sua caracterstica
diferenciadora o facto que este malware preocupa-se com a persistncia e
dissimulao acima de tudo.
Pode dizer-se que um rootkit um software maligno que procura manter o acesso
remoto a mquinas, efetuar a monitorizao do host infetado e dissimular a sua
presena, utilizando tcnicas que envolvem a simulao de utilizao de CPU, de
memria e de dispositivos de I/O, conseguindo assim evadir suspeitas sobre a sua
presena.

Captulo 2 Contextualizao
Os rootkits conseguem esconder-se de mecanismos de segurana do sistema tais como
os antivrus e software de deteo de intruso em alguns casos chegam ao ponto de
alterar o firmware das placas de rede[22], persistindo mesmo aps a reinstalao do OS.
Estes rootkits1 para alm de permitirem a comunicao remota atravs da rede,
permitem manter-se online mesmo com o host desligado[22].
No passado esta tecnologia foi utilizada para impedir que os utilizadores fizessem
cpias ilegais de msica, sendo distribudo em CD de msica Sony que continham
rootkits[10].
Atualmente com o aumento de tecnologia de virtualizao que permite a uma mquina
fsica alojar vrios sistemas operativos virtuais, os rootkits para estes ambientes tem
vindo a crescer nos ltimos anos tanto para aes malignas como benignas[23, 28, 56,
98, 99].

2.2. Botnets
Um bot um dispositivo de rede (host) infetado que permite o seu controlo remoto via
um servidor, este com o nome de Command and Control (C&C) envia comandos para o
bot, sem precisar de interveno fsica nem do consentimento do legtimo utilizador.
Assim o host infetado passa a fazer parte de uma botnet tornando-se num zombie.
Assim, atravs das Botnets os criminosos conseguem anonimidade [27] uma vez que os
sistemas que efetuam o ataque no so do atacante tornam os ataques difceis de
localizar devido s mudanas de IP, e ao facto de no haver fronteiras geogrficas.
A sua flexibilidade designa as botnets como o canivete suo do malware[49] pois
permitem a atualizao e introduo de novas funcionalidades nos sistemas infetados,
tornando os sistemas infetados no que for mais lucrativo.
A maneira como o malware se propaga e se instala denominado de vetor de infeo,
os vetores de infeo podem incluir a engenharia social, ou ento vulnerabilidades de
segurana[6] que esto presentes nos protocolos de comunicao mais populares:
SMTP, HTTP P2P, IRC, IM, etc.

Tambm denominados bootkits.

Captulo 2 Contextualizao
De acordo com Jakobsson[49]as atividades criminosas mais frequentes, levadas a cabo
pelos donos das botnet (bot herders) so:

Ataques DDoS Ataques DDoS efetuados de forma distribuda para atingir as


propores de trafego necessrio para tornar os recursos de um sistema
indisponveis aos seus utilizadores, o alvo so os servidores web.
Normalmente o ataque tem dois propsitos, o de consumir todos os recursos da
vtima, tais como memria ou CPU de forma que no consiga executar a tarefa
de forma correta, ou ento a obstruo da comunicao entre a vtima e os
utilizadores. Os Servios de DDoS normalmente so vendidos em fruns
clandestinos com preos que vo das dezenas as centenas de euros, o preo vai
depender da durao do ataque[83].

Spam Designado por correspondncia eletrnica no desejada,


economicamente vivel pois as barreiras a entrada so baixas, para os
operadores das botnets uma atividade lucrativa. Atualmente as botnets so o
corao da indstria de spam[13], de acordo com as estatsticas[67] a
percentagem de mail identificado como abusivo em 2011 anda na ordem dos
88%.
Em 2011 as maiores botnets eram capazes de mandar 100 mil milhes de
mensagens spam por dia, em 2011 a capacidade de enviar spam foi afetada em
cerca de 30%, este decrscimo explicado pelo fecho de uma botnet a
Rustock[80]. Apesar do decrscimo de spam as atividades de phishing, que tem
como propsito enganar os utilizadores fazendo-se passar por uma entidade
confivel tem vindo a subir[53].A categoria do spam nos ltimos tempos tem
sofrido mudanas, o spam farmacutico desceu de ranking e todas as outras
categorias tais como: produtos de dietas, servios de dating, apostas e jogos
online e artigos de relojoaria tiveram um aumento[121].

Roubo de identidade Consiste na utilizao de informao alheia para obter


vantagem ou para prejudicar terceiros. Nestes casos os bots tm um papel
limitado pois as informaes obtidas da vtima pelo malware so posteriormente
vendidas[49]. Os mtodos utilizados para o roubo de identidade envolvem a
captura de teclas e outros dispositivos ou atravs do download adicional de
malware.
8

Captulo 2 Contextualizao

Extorso A maior parte das vtimas que so alvo de DDoS so atacadas ou por
rivalidade ou por motivos financeiros, os criminosos preferencialmente atacam
servios online que devido a natureza comercial das organizaes, tem perdas
financeiras quando o website sofre de indisponibilidade. Muitas vezes os ataques
causam prejuzos que podem ascender a milhares de euros, para alm que a
organizao fica com m reputao[141]. Em certos casos as empresas cedem
chantagem e pagam o que os criminosos pretendem, no existem grandes
referncias pois as organizaes no falam sobre isso.

Apesar do grande foco das botnets ser o DDoS e o spam, a distribuio de spyware e
adware rapidamente se tornou numa das atividades mais lucrativas[13]. Este facto leva
a uma guerra constante com investigadores que tentam desligar as botnets, resultando
numa rivalidade muito agressiva[25].

2.3. Estratgias de infeo


Os atacantes utilizam vrias estratgias para a infeo dos hosts, destacando-se aqui as
que exploram vulnerabilidades dos servios, as de (Driveby) e as de engenharia social.

Vulnerabilidades de servios Aps a instalao, os Sistemas Operativos (OS)


atuais tm imensos servios ativos por defeito, e necessitam de ser
acompanhados por uma gesto e atualizao metdica. frequente a descobertas
novas vulnerabilidades em OS ou polticas relaxadas que criam oportunidades
para os atacantes infetarem hosts. Um host para comunicar em rede tem um
conjunto de servios conhecidos que executa, como por exemplo o servio de
DNS, ou partilha de rede (CIFS, NFS),expondo assim superfcie de ataque. Para
alm disso existem servios que providenciam mecanismos de autenticao que
podem ser abusados por ataques de dicionrio[17]. A atual utilizao massiva de
redes sociais tornou mais fcil a obteno de informao que usada para
refinar os dicionrios[87] e aumentar as probabilidades de sucesso do
ataque[112].

Drive by Neste tipo de ataque, a infeo obtida pela visualizao de pginas


web, onde o alvo o browser. A anatomia de um ataque deste gnero passa pelo
atacante montar uma pgina web que contm javascript malicioso assim quando
o utilizador visitar essa pgina ser infetado, normalmente estes ataques passam
9

Captulo 2 Contextualizao
despercebidos pois no necessrio interao nem permisso do utilizador[18].
Estes ataques podem recorrer a email ou outra forma de divulgao, onde
redirecionam o utilizador para uma pgina web que contm vulnerabilidades
para os browsers. Ao contrrio dos ataques a servios vulnerveis, este tipo de
ataque segue um esquema pullbased[91] assim as conexes que normalmente
so protegidas por firewall neste tipo de ataque tornam-se mais difceis de
mitigar[134].

Engenharia Social Os ataques por engenharia social consistem em enganar os


utilizadores de forma a faz-lo executar cdigo malicioso[48] e a revelar
segredos. Todas as tcnicas que consistem em enganar os utilizadores a executar
cdigo malicioso enquadram-se nesta categoria[48]. No h limites a
criatividade nesta categoria os criminosos podem usar modas, como por
exemplo embeber malware em vdeos supostamente virais ou de acontecimentos
importantes aumentando assim a probabilidade de infeo passando pela
recomendao de instalao de codecs, para ver vdeos no browser, ou inclusive
ataques de engenharia social fsicos deixando pen drives infetadas[116] perto da
organizao so apenas alguns dos exemplos.

2.4. Deteo de malware


Atualmente, a principal estratgia para parar o malware a utilizao de ferramentas
com base em assinaturas que assim conseguem identificar a presena de programas
malignos.
Os analistas recolhem (ou recebem) amostras de programas potencialmente malignos
(malware) que analisam de forma manual procura de indcios de comportamentos
nocivos, cabendo-lhe a palavra final. Se a amostra for maliciosa o analista tenta
encontrar um padro que a permita identificar, este padro deve ser genrico o
suficiente para identificar a famlia da variante, mas ao mesmo tempo no ser genrico o
suficiente para criar alertas em contedo legtimo (falsos positivos).
Com a proliferao de software maliciosos e das suas variaes, o nmero de amostras
de malware enorme e por isso necessrio proceder a uma abordagem que sirva para
diferenciar entre as amostras que necessitem de ateno por parte de um analista e as
que so apenas uma variante do que j existe, no sobrecarregando o analista.
10

Captulo 2 Contextualizao
Durante o processo de anlise de malware, o analista pode optar por uma estratgia de
anlise dinmica e ou esttica, para a criao das assinaturas[41]. Na anlise dinmica, a
amostra (programa malware) executada num ambiente contido e as suas aes
gravadas. Estas aes podem passam pela: criao de ficheiros, comunicaes de
rede, alterao de processos. Assim possvel inferir o comportamento do malware
amostrado. Na anlise esttica o cdigo da amostra analisado por padres, trechos de
texto entre outras tcnicas mas no executada.
Normalmente para a deteo de malware as ferramentas comerciais utilizam algoritmos
baseados em assinaturas, este mtodo razoavelmente rpido para a identificao de
ameaas conhecidas, o problema que as bases de dados das assinaturas envolvem uma
transao comercial e no so disponibilizadas publicamente. Para alm disso envolve
trabalho por um operador humano para a construo da assinatura. Existem mtodos a
serem desenvolvidos por investigadores [33, 39, 92, 138], que envolvem a utilizao de
inferncia estatstica, a utilizao de heursticas e a criao automtica de assinaturas
mas o mais utilizado atualmente so algoritmos de identificao de assinaturas.
O processo de construo de assinaturas pelas empresas de antivrus passa por trabalho
manual por parte de um analista. Se a amostra for maliciosa o analista tenta encontrar
um padro que a permita identificar, este padro deve ser genrico o suficiente para
identificar a famlia da variante, mas ao mesmo tempo no ser genrico o suficiente para
criar alertas em contedo legtimo (falsos positivos). A anlise de malware e a
construo de assinaturas por um analista humano ainda morosa e possvel de se
introduzirem erros, da a necessidade de criao de mtodos que permitam a construo
de assinaturas de uma forma automtica[39].

2.4.1. Sistemas de deteo de intruso


Os sistemas de deteo de intruso, IDS (Intrusion Detection Systems) tm como
objetivo alertar para a presena de possveis intruses. Perante a deteo de intruses
possvel utilizar ferramentas de preveno de intruso, IPS (Intrusion Prevention
Systems), estas ferramentas tomam aes reativas prevenindo a progresso da
intruso.[97]
Hoje em dia o termo IDS usado de forma igual pois a maior parte dos IDS atuais
possuem extenses de IPS, como o caso por exemplo do SNORT[139], embora
11

Captulo 2 Contextualizao
inicialmente os IDS no tenham sido desenvolvidos para prevenir ou proteger dos
ataques, mas apenas para alertar, hoje em dia j tm essa capacidade e conseguem
prevenir ataques, combinando as capacidades de filtragem de uma firewall com o poder
de deteo que um IDS conseguia oferecer[46].
Para efeitos de categorizao existem dois tipos de IPS, os que funcionam
monitorizando o trfego de rede (NIDS) e os que monitorizam o estado de um host
(HIDS).
As capacidades dos IPS permitem uma maior flexibilidade e uma reao ativa em vez
de passiva[97], melhorando assim o processo de monitorizao.
Os problemas surgem quando trfego que no deveria ser bloqueado acaba por ser, este
problema comum e surge com as capacidades de um dispositivo ser capaz de filtrar
trfego, por essa razo os falsos positivos so altamente indesejveis em
implementaes de segurana que analisem trfego, cabendo ao administrador avaliar a
sua eficcia, e o treinar. Devido a este problema dos falsos positivos que o trafego
legtimo marcado como malicioso levando a que o operador perca a confiana no
sistema, dando falsos alertas. Nos dias de hoje normalmente obtm-se taxas aceitveis
utilizando vrios sistemas em simultneo para a correlao[93, 107] e tambm j
existem algumas implementaes que tentam limitar a taxa de falsos positivos de
assinaturas a valores muito baixos[39] mesmo assim as solues normais off the shelf
normalmente no fazem.
Os host IDS, ou HIDS (Host Intrusion Detection Systems) procuram identificar
comportamentos maliciosos atravs da monitorizao em tempo real dos processos, da
memria RAM, dos ficheiros de sistema e logs do sistema[75]. Exemplos de HIDS
incluem solues constitudas por vrios componentes como o caso do OSSEC, que
providencia uma plataforma centralizada de monitorizao de logs e verificao da
integridade dos ficheiros do sistema e os programas comummente designados por
antivrus[42], e.g: MSE2, ClamAV, Avira.
Ao contrrio dos NIDS que inspecionam todo o trfego na rede, os HIDS esto mais
preocupados em verificar comportamentos anmalos dentro de um host[75].

Microsoft Security Essentials.

12

Captulo 2 Contextualizao
Uma das caractersticas dos HIDS a monitorizao dos componentes de um sistema
operativo: processos, programas, acessos ao registo, muitas vezes os HIDS tambm
efetuam o checksum de programas instalados, sabendo se houve alterao dos binrios
do sistema[54].
Os Network IDS (NIDS Network Intrusion detection Systems) so IDS colocados em
pontos estratgicos da rede procuram detetar atividades maliciosas atravs da anlise do
trfego, por exemplo, pedidos anormais de ligaes, trfego malicioso. Os NIDS podem
ser utilizados em arquiteturas com apenas um sensor ou ento recorrer a uma arquitetura
distribuda[119]. Os sensores monitorizam e filtram todo o trfego da rede, enviando as
informaes para um servidor central, como se pode ver na imagem seguinte.

Figura 1 Posicionamento de um NIDS distribudo na rede.

Os dois mtodos de deteo mais populares nos NIDS so a correspondncia de


assinaturas (signature matching) e a deteo de anomalias (anomaly detection).
O mtodo mais usado nos IDS comerciais baseado em assinaturas, onde feita uma
correspondncia entre o que o filtro verifica e as assinaturas, caso o IDS encontre
similaridades gera um alerta e pode efetuar aes. Em termos de implementao o
13

Captulo 2 Contextualizao
problema obter as assinaturas de programas maliciosos desconhecidos, se o criador de
malware modifica a assinatura ou o malware polimrfico o NIDS no o ir detetar.
Outro problema que existe o da sobrecarga de processamento causados pelos IDS
felizmente j existem solues que utilizam balanceamento de carga para distribuir a
carga por vrios sistemas[55] ou ento processamento em paralelo, utilizando as
capacidades de processamento dos CPU modernos[131] e a utilizao de GPU[50, 130],
assim conseguindo a performance necessria para a anlise em redes com um elevado
nvel de trfego.
Os NIDS baseados em anlise de anomalias, necessitam de um perodo de
aprendizagem (calibrao) para determinar o comportamento normal do trfego.
Aps o perodo de aprendizagem verifica-se o comportamento do trfego desviante do
que foi previamente configurado, alertando o administrador caso o trafego se desvie do
que foi calibrado. Atualmente o estado da arte destes sistemas empregam tcnicas de
aprendizagem de mquina, com performance e taxas de deteo bastante apelativas[11,
104].
O problema que os IDS no capturam o ataque apenas alertam para o ataque, assim
sendo caso haja ataques desconhecidos o IDS no o ir conseguir detetar.

2.4.2. Honeypots
Um honeypot um sistema monitorizado que se pretende que seja atacado, sendo
definido por alguns autores como um recurso, em que o seu valor est no seu uso
ilcito no autorizado[90]. O seu valor pode ser calculado com base na informao que
dele se obtm[74].
A informao retirada de um ataque cada vez menor pois os ataques esto cada vez
mais sofisticados[101, 132] e utilizam cada vez mais protocolos obscuros[79] com
recurso a criptografia para proteger o trfego de rede[140], impedindo a sua correta
anlise, torna-se necessrio recolher informao sobre os mtodos utilizados e nesse
contexto que aparecem os honeypots , que so um sistema monitorizado que se pretende
que seja atacado.

14

Captulo 2 Contextualizao
Alguns autores propem a definio: um recurso, em que o seu valor est no seu uso
ilcito no autorizado[90]. O valor de um honeypot pode ser calculado com base na
informao que dele se obtm[74].
A sua estratgia passa por ligar numa rede de computadores, um recurso (honeypot) que
parea interessante a um eventual atacante, no tendo qualquer valor de produo, todas
as comunicaes so suspeitas tornando todos os dados colecionados mais relevantes
para a anlise forense, para a resposta a incidente, e para a anlise de malware, do que
um simples NIDS[14]. Uma vez que os honeypots podem simular o nmero desejado de
servios, das mais variadas plataformas, proporcionam a deteo vetores de ataque
propositados, os quais depois de atacados fornecem informao sobre os mtodos e
vulnerabilidade utilizados. Para alm da informao recolhida, outra contribuio
importante do honeypot a capacidade de criar uma sesso interativa que permite
capturar a sequncia dos comandos efetuados pelo atacante, mesmo quando utilizados
protocolos de comunicao encriptados.
Como j foi exposto, os ataques conhecidos so detetados pelos NIDS off the shelf
atravs de algoritmos que procuram assinaturas dos malware. No caso de novos
ataques, designados por 0-day, uma vez que ainda no existem registos das suas
assinaturas, estes no so possveis de ser detetados. Nesse aspeto uma soluo de
honeypots faz toda a diferena, uma vez que ao registar atividade na mquina honeypot
(comunicaes de entrada e/ou sada anormais) possvel detetar a presena de
malware sem assinaturas e o uso de vulnerabilidades ainda desconhecidas[14].

2.4.3. Classificao de honeypots


A classificao (taxinomia) dos honeypot tem vindo a sofrer alteraes de acordo com
vrios autores[90], no entanto para este trabalho optou-se por utilizar a definio feita
pelo CERT polaco (representado na Figura 2), que seguiu uma abordagem prtica[40].

15

Captulo 2 Contextualizao

Figura 2 Classificao de honeypots adaptado de enisa[40].

Como se pode ver na Figura 2, os honeypots podem ser classificados de acordo com o
tipo de recursos atacados e com o nvel de interao. Dentro dos classificados por
nvel de interao, os honeypots so designados de alta interao, baixa interao ou
hbridos.
Um honeypot de alta interao um sistema convencional, pode ser um dispositivo
qualquer, um computador, um router, um smartphone. Este tipo de sistema no tem um
papel ativo na rede, sendo que durante a sua operao normal no tm processos
anormais nem trfego na interface de rede. Assim quando existe uma intruso todas
interaes com o honeypot so guardadas. A utilizao de vrios honeypots de alta
interao com vrios OS permite a recolha de informao com diferentes aspetos
criando assim uma honeynet[14].
Uma honeynet no constituda por apenas um sistema mas por uma rede interligada de
vrios tipos de honeypots. Um dos elementos chave neste tipo de arquitetura a
16

Captulo 2 Contextualizao
segmentao por norma recomendado um dispositivo de filtragem a nvel da camada
dois[105] assim possvel separar o trfego e aumenta-se a segurana e reduz-se a
sobrecarga de administrao.
No caso dos honeypots de baixa interao so emulados servios ou outros aspetos de
uma mquina verdadeira, como por exemplo a stack de rede, esta estratgia permite
economizar recursos computacionais, no entanto pode tambm introduzir problemas ao
malware que pode necessitar de funcionalidades no implementadas na simulao
levando ao impedimento do ataque. Este tipo de honeypots tem uma interao limitada e
servem maioritariamente para obter uma viso global permitindo efetuar estatsticas e
recolher amostras dos ataques da rede. J a sua facilidade de configurao e instalao
torna este tipo de honeypot bastante popular.[40]
Os honeypot hbridos procuram utilizar o melhor dos dois mundos de forma a conseguir
o mximo de informao sobre o ataque[62]. Dos vrios honeypots hbridos existentes,
o mais conhecido talvez o SurfCERT IDS(Figura 3) cuja configurao utiliza vrios
honeypots de baixa interao em conjuno com o honeypot de alta interao Argus [40,
119]. Este sistema tem 3 componentes, o servidor de logging que regista a informao
dos vrios sensores centralizando o processo, o servidor de tneis que cria as ligaes
utilizando tecnologia VPN para assim se conseguir instalar sensores distribudos, e
finalmente os sensores que so configurados para enviarem o trfego para os honeypots
[119].

17

Captulo 2 Contextualizao

Figura 3 Arquitetura do sistema hbrido surdIDS[119]

No caso da classificao tipo de recursos atacados, podem ser divididos em


honeytokens, honeypots de lado do cliente (client side) e honeypots de lado do servidor
(server side).
Os honeypots que tm a designao de server side honeypots, funcionam como um
servidor, expem as portas a aplicaes e ficam a espera de comunicaes de ingresso.
So utilizados para a descoberta de malware, este tipo de honeypot considerado o
tradicional.
Em contraste os honeypot client side, que so usados para detetar ataques em aplicaes
cliente. Para isso, monitoriza as ligaes efetuadas por um conjunto de aplicaes
cliente que possui, com vista deteo de atividades maliciosas. Os que simulam o
browser, de entre os vrios honey clients, so os mais populares [81], pois a arquitetura
do browser bastante complexa apresentando uma grande superfcie de ataque[123].
Os honeytokens ao contrrio dos outros honeypots no so sistemas mas sim
informao, neste caso informao falsa colocada de forma propositada para que seja
acedida, sendo assim possvel saber se foi acedida por algum, sendo que a utilizao
dessa informao no normal deteta-se assim comportamentos maliciosos, por
exemplo a criao de um nmero de carto de crdito numa base de dados ou num
ficheiro, devido ao nmero ser nico, facilmente detetvel com a utilizao de uma
18

Captulo 2 Contextualizao
assinatura em IDS, permitindo assim verificar quando e por quem que o recurso foi
acedido[115]. Este conceito facilmente expansvel a outros tipos de dados,
monitorizando com um IDS pelas assinaturas nicas do contedo dos honeytokens,
possvel identificar vrios problemas tal como ameaas internas, outro exemplo passa
pela criao de emails com credenciais falsas e verificar a sua utilizao na infra
estrutura[115].
Os autores da taxonomia escolhida utilizaram as classes que j existiam, o nvel de
interao, o tipo de recursos atacados e introduziram outra caracterstica nova a
subclasse "especializao" permitindo

agrupar honeypots com base na sua

especializao, por exemplo honeypot para SSH, honeypot para VoIP, honeypot para
USB. Tornando assim mais fcil a sua categorizao por especialidade.

2.4.4. Problemas inerentes aos honeypots


Com j foi exposto, os honeypots de baixa interao emulam servios e por melhor que
seja a sua aproximao ao comportamento dos servios reais existem sempre
discrepncias que permitem ao atacante determinar que se trata ou no de um servio
emulado[37].
Para a captura de ameaas 0-day3, estes honeypots no so adequados pois
desconhecendo a ameaa no possvel realizar uma emulao precisa. Existem no
entanto honeypots como o dionaea que providencia a implementao do protocolo
SMB (Server Message Block 4) em python, sendo possvel desenvolver as operaes no
suportadas[2].
J os honeypots de alta interao podem ser comprometidos de tal forma que o atacante
pode escapar do sistema real[7] e atacar outros hosts[74]. Por outro lado, um honeypot
de alta interao precisa de mais recursos devido sua complexidade, o que limita a
escalabilidade e performance da soluo, outro inconveniente destes honeypots que a
sua configurao e instalao requerem um maior esforo de administrao[90].

3
4

Vulnerabilidades desconhecidas.
Protocolo de partilha normalmente utilizado para acesso a ficheiros impressoras e portas srie.

19

Captulo 2 Contextualizao

2.4.5. Honeypots vs Sanboxes


No contexto da anlise dinmica de malware, as sandboxes so as ferramentas que
permitem a automatizao da anlise de malware dentro de ambientes contidos. Regra
geral uma sandbox executa o software malicioso e monitoriza as alteraes ao sistema.
Assim possvel verificar mudanas no sistema de ficheiros, registro, processos,
bibliotecas e trfego de rede[38]. Tipicamente as sandboxes analisam programas
(binrios) mas com o aparecimento de novos vetores de ataque em documentos (e.g.
word, excel, pdf, html), as sandboxes modernas passaram a analisar tambm esses
documento.
A distino entre sanboxes e honeypots est nos objetivos para que se usam. Enquanto
as sandboxes esto tipicamente focadas na anlise aprofunda do processo de infeo e
das aes levadas a cabo pelo malware, os honeypots procuram determinar se ou no
malicioso e opcionalmente identificar os mecanismos de infeo. Regra geral os
honeypots no monitorizam depois da infeo inicial[38, 44].
Dadas as diferenas apresentadas entre os honeypots e as sandboxes estas devem ser
tratadas como duas tcnicas complementares que capazes de cooperar entre elas[44].

2.4.6. Honeypots vs IDS


Um sistema IDS normalmente um componente de software que monitoriza e analisa o
trfego de rede procura de atividades maliciosas, existindo atualmente IDS que
trabalham em modo reativo e so capazes de bloquear comportamentos maliciosos
conhecidos. Os honeypots podem ser usados para a deteo de intruso mas no so um
substituto pois um recurso que vai ser acedido por um atacante e no um sistema de
monitorizao de trfego, assim aconselhvel a utilizao complementar destes dois
sistemas[40].
Uma das utilizaes mais avanadas de monitorizao a configurao de um IDS/IPS
como parte de um sistema segurana que baseado no trfego desconhecido malicioso
faz o redireccionamento do trfego para ser analisado em honeypots [9, 119, 139].

2.5. Solues com honeypots


A implementao de honeypots pode ser efetuada utilizando vrias estratgias, passando
pela utilizao de um honeypot ou ento uma rede de honeypots [89, 90, 114].
20

Captulo 2 Contextualizao
Relativamente ao seu posicionamento, o honeypot tipicamente posicionado
externamente rede, de forma a ficar exposto Internet. Este posicionamento permite a
observao da atividade maliciosa da Internet e a recolha de amostras, esta configurao
a utilizada pela maioria dos utilizadores e equipas de investigao para obter
informao sobre as infees existentes e botnets.
Normalmente o honeypot colocado numa LAN ou numa zona desmilitarizada (DMZ)
sendo diretamente acessvel pelo exterior[40], como se pode ver na Figura 4.

Figura 4 Posicionamento tradicional de um honeypot.

A recomendao a utilizao de filtragem ao segundo nvel para aumentar a segurana


e reduzir a carga de administrao.
No entanto, a utilizao de honeypots posicionados internamente rede, apresentam a
vantagens de detetar infees internas, Figura 5.

21

Captulo 2 Contextualizao

Figura 5 Posicionamento interno de um honeypot

Os investigadores da ENISA propem que os sistemas comprometidos sejam tornados


em honeypots para o estudo dos utilizadores maliciosos e assim perceber qual a
extenso do ataque. Apesar de este mtodo necessitar de maior ateno da
administrao, importante pois permite perceber o movimento que os atacantes
efetuam na infraestrutura com as credenciais obtidas.

2.6. Risco de deteo


Todo o software complexo tem bugs, esses bugs podem ou no ser vulnerveis e
permitirem ao atacante infetar a mquina que corre o software, assim fcil perceber
que os honeypots tambm tero as suas vulnerabilidades e que possvel ao atacante
encontra-las, comprometer o sistema e introduzir-se na infraestrutura.
Para minimizar este risco, vrios autores defendem que necessrio o planeamento da
uma instalao de honeypots (honeynet) e que se deve reger por diretrizes tendo por
base os seguintes quatro pontos[88]: Controlo dos dados, Captura de dados, Coleta de
dados e Anlise de dados.

22

Captulo 2 Contextualizao

Controlo dos dados: atendendo ao risco de ser possvel ao atacante


comprometer o honeypot durante a instalao e tenha acesso ao sistema,
necessrio que a localizao dos honeypots seja planeada e o trfego de entrada
(ingress) e sada (egress) dos honeypots seja controlada.
O ideal passa pela utilizao de polticas preventivas, como por exemplo, o
bloqueio de portas. Uma poltica como esta que fizesse o bloqueio da porta
SMTP impediria que o honeypot possa ser usado para o envio de spam.
Polticas mais avanadas so possveis atravs da utilizao de proxies e outros
servios falsos[69] permitindo assim equipa de segurana ter um maior de
controlo sobre o ambiente[19, 78].
Para os honeypots no interferirem com o trfego legtimo na rede de produo,
dever haver segmentao do trfego[105] e utilizao de endereamento IP
misto. A utilizao de endereos de IP de produo nos honeypots, apesar causar
alguma sobrecarga de administrao, resulta numa melhor soluo final,
apresentando o benefcio de mascarar os honeypots com os servidores reais de
produo[19, 40, 88, 90, 114].
possvel utilizar outros mecanismos de controlo de dados como por exemplo a
utilizao de IDS/IPS [119], traffic shapping e firewall, a soluo honeywall
disponibiliza alguns destes controlos [12, 90].

Captura de dados: de forma a perceber quais as tcnicas utilizadas necessrio


a captura de todas as atividades associadas com a honeynet, apesar de os
honeypots utilizarem os seus prprios logs, raramente esto completos, para se
estabelecer uma linha temporal forense, necessrio a utilizao das ferramentas
de sistema para a gerao de logs de forma independente[44, 51]. Para alm
disso dever tambm haver replicao e redundncia para os dados[40].

Coleta de dados: a regra de boas prticas colocar os dados obtidos noutro


local da rede que no seja possvel ao atacante interagir, isto pode ser efetuado
de uma forma distribuda ou para uma localizao central. O foco garantir a
integridade dos dados, pois na anlise forense a assinatura temporal
(timestamps) dos acontecimentos so de extrema importncia por isso a
sincronizao dos relgios dos sistemas atravs da rede com o protocolo NTP
23

Captulo 2 Contextualizao
(Network Time Protocol) ou PTP (Precision Time Protocol) ou outras solues
de sincronizao algo que se deve ter presente quando a implementao de um
sistema de segurana, neste caso os honeypots[51].

Anlise dos dados: essencial ter meios e ferramentas para analisar os dados
colecionados. Um dos problemas apresentados pelos honeypots que
normalmente no tem forma de anlise posterior dos dados, embora existem
outras ferramentas externas disponveis que suportam o necessrio processo de
anlise [1, 15, 70].

2.7. Emulao e Virtualizao


A emulao de um sistema computacional, convidado, assim com a sua virtualizao
permitem a outro sistema computacional, hospedeiro replicar as funes do primeiro
sistema (convidado). No entanto o nvel de abstrao usado diferente.
A emulao possvel para qualquer arquitetura de hardware uma vez que implementa
uma simulao da arquitetura emulada.
No caso da virtualizao, uma vez no h simulao da arquitetura do sistema
hospedeiro, s possvel, se as arquiteturas de ambos os sistemas forem a mesma.
Nesse caso, a virtualizao escolhe e usa instrues equivalente nativas da arquitetura
do sistema hospedeiro. Esta estratgia permite obter melhores desempenho do que os
sistemas emulados.
Note-se que os sistemas virtualizados tm perdas estimadas de aproximadamente 2% a
7% relativo ao seu desempenho numa mquina real5. J para os sistemas emulados, as
perdas so estimadas entre~ 30% a ~70% relativo ao desempenho numa mquina
real.[137]
Desta forma, a virtualizao escolha preferida para a implementao solues de
anlise de malware, tais como sandboxes e honeypots, sendo que, h situaes
particulares podem justificam a utilizao de emuladores[142].

Depende das capacidades de hardware e se a arquitetura tem extenses como VT-x.

24

Captulo 2 Contextualizao

2.8. Deteo de Virtualizao


Nas solues de virtualizao destacam-se duas componentes fundamentais da sua
arquitetura:

O ambiente simulado, designado comumente por mquina virtual VM (Virtual


Machine), que envolve o sistema convidado e a suas aplicaes;

O controlador do ambiente simulado VMM (Virtual Machine Monitor), que


funciona como interface entre o sistema hospede e o sistema convidado,
providencia as aplicaes virtuais acesso ao hardware. como se pode ver na
Figura 66

Figura 6 Arquitectura genrica de mquinas virtuais.

Assim de uma forma geral, uma aplicao virtualizada, quando necessita de executa
uma operao f-lo (normalmente) atravs do seu sistema operativo. Este, acede ao
hardware de forma transparente, atravs do VMM.
Uma vez que os autores de malware tm conhecimento dos mtodos de virtualizao,
eles tambm procuram detetar a presena de ambientes virtualizados de forma a
melhorar a persistncia do seu software. Porque a arquitetura destes sistemas
inerentemente detetvel. Investigadores com especializao em virtualizao afirmam
que a construo de uma VMM indetetvel invivel como impraticvel de um
ponto de vista de performance e engenharia. [35-37]
Assim os investigadores argumentam que as estratgias utilizadas se encontram
organizadas nas seguintes trs categorias[37]:

Apesar de estar representado virtualizao do tipo 1 bare metal a virtualizao descrita ao longo do documento foi tipo 2 hosted.

25

Captulo 2 Contextualizao

Discrepncias lgicas Diferenas nas interfaces de hardware real e


virtualizado, por exemplo existem diferenas na execuo de instrues no
virtualizveis tais como SIDT, SGDT e SLDT, que permitem a inspeo de
estados privilegiados a partir do nvel de utilizador (userlevel);

Discrepncia de recursos Devido ao facto que as VMM necessitam de


partilhar recursos fsicos a todos os sistemas operativos hspedes, a
disponibilidade de recursos no sempre garantida ou distribuda de forma
igual;

Discrepncia de tempo A evaso a este mtodo quase impossvel quando as


fontes de timing esto ao dispor do atacante. A diferena de tempo de leitura nas
medies entre hardware real e virtual diferente sendo possvel verificar se
estamos a correr em ambientes virtuais.

Um conjunto alargado de tcnicas de deteo de plataformas de virtualizao e


emulao pode ser consultado no artigo do Peter Ferrie 2006[32].

2.8.1. Deteo de honeypots


As tecnologias de deteo e anlise de malware usam normalmente sistemas
virtualizados, pelo que muitos autores de malware passaram a introduzir no seu
software mecanismos de proteo no malware, assim procuram detetar se esto ou no a
executar em plataformas virtuais. Por exemplo, o Citadel, que em contexto
virtualizado se comporta de maneira diferente evitando que seja estudado[102].
Deteo de honeypots de baixa interao
Os honeypots de baixa interao so virtualizados e podem ser detetados atravs de
mtodos de Discrepncias de tempo tais como, Medio do tempo de resposta,
medio do enviesamento dos relgios dos hosts e de Discrepncias lgicas como o
de anlise de particularidades nos protocolos.

O mtodo observao dos tempos de resposta do sistema hospedeiro,


passa pela estratgia de enviar uma grande quantidade de trfego (flood) para o
sistema e medir o tempo de resposta. Por comparao com atrasos conhecidos de
outros hosts simulados, possvel estimar se se trata ou no de um sistema
virtualizado [90];
26

Captulo 2 Contextualizao

O mtodo de "medio do enviesamento tira partido das caractersticas dos


relgios, que possuem pequenos enviesamentos. A tcnica funciona atravs dos
cabealhos do TCP (RFC l323) timestamp, que determina o enviesamento do
sistema que devidas as particularidades do relgio nico para cada dispositivo
e assim serve como identificao[58] esta tcnica no s funciona em honeypots
como tambm em sistemas reais e sistemas virtualizados, no artigo efetuada a
tcnica em 200 hosts simulados pelo honeypot honeyd com resultados fiveis;

O mtodo de anlise de particularidades de protocolos tem como


estratgia procurar identificar erros conhecidos de protocolos de comunicao.
Por exemplo, a ferramenta winnie permite a deteo de honeypots honeyd
atravs da deteo de um erro de assemblagem dos datagramas que este
possui[82]. Este mtodo tambm consegue detetar o honeypot nepenthes
atravs de um scan de servios. A presena de vrios portos abertos denuncia
servios de sistemas Windows e Unix a correr simultaneamente, que
caracterstico do sistema nepenthes [90].

Deteo de honeypots de alta interao


A maior parte dos honeypots de alta interao utilizam de tecnologia rootkit que lhes
permite dissimular a sua presena, por exemplo o mdulo sebek (tecnologia rootkit)
pode ser detetado, atravs de vrias tcnicas neste caso utilizando discrepncias de
recursos, para efetuar a deteo:

Pesquisa de artefactos Pesquisar artefactos na memria, uma vez que o


mdulo revelava na memria traos de estar a ser utilizado[16]. Por defeito, o
sebek utiliza a opo de no utilizar smbolos (EXPORT_NO_SYMBOLS) de
forma a no revelar a sua presena. No entanto, mesmo assim, permanecem
alguns smbolos que que so necessrios para o processo de linking dos mdulos
ao kernel. Assim, possvel atravs da consulta do ficheiro /proc/ksyms (OS
Linux) identificar se o sistema ou no um honeypot [16].

Tabela de syscalls do sistema Verificar a tabela de calls do sistema, uma vez


que o rootkit modifica a tabela de calls do sistema e substitui a funo NR_read
para a sua funo [16]. Assim um sistema sem o sebek, a posio dos ponteiros
das calls de sistema estariam prximas, j num sistema com o sebek instalado,
27

Captulo 2 Contextualizao
se os endereos de funes contguas sys_read e sys_write tiverem uma
discrepncia superior a 4096 bytes pode-se concluir que a tabela de calls do
sistema foi alterada com a presena do sebek.

2.9. Tcnicas de deteo e dissimulao de ambientes virtualizados


Como j foi referido, investigadores desta rea afiram perentoriamente que
tecnicamente impossvel evitar a deteo da virtualizao, sendo apenas possvel
recorrer a outras tcnicas para procurar evitar a sua deteo.
Segue-se a apresentao de algumas s tcnicas deteo de mquina virtuais de um
ponto de vista prtico e de tcnicas usadas para esconder a presena de virtualizao.

2.9.1. Tcnicas de deteo de mquina virtuais


Utilizando discrepncias logicas possvel utilizar instrues privilegiadas por exemplo
o SIDT (Store Interrupt Descriptor Table Register)[57], para a identificao do
contexto de execuo, verificando se virtual ou real. A instruo SIDT, armazena os
descritores de interrupo (IDTR), assim possvel detetar se est a ser executado numa
mquina virtual pois o primeiro byte retornado superior a 0xd0 esta a ser executado
numa mquina virtual, caso seja inferior ou igual est a ser executado numa mquina
real[99], como se pode ver na Figura 7.

Figura 7 Tcnica de deteo baseada na instruo SIDT.

A tcnica Store Task Register (STR) tambm baseada em discrepncias lgicas foi
desenvolvida por Alfredo Omella. Nesta tcnica o investigador utilizou a instruo STR
(Store Task Register) que guarda o segmento do registo TR no operando
especificado[129]. Assim o valor retirado atravs da instruo STR diferente em
28

Captulo 2 Contextualizao
sistemas virtualizados e sistemas nativos, o cdigo que permite a verificao est
Figura 8.

Figura 8 Tcnica de deteo baseada na instruo STR.

Como podemos verificar as tcnicas so fceis de implementar, sendo que expectvel


que os autores de malware as utilizem no seu software.

2.9.2. Tcnicas de dissimulao da presena de virtualizao


Apesar de haver inmeras tcnicas de deteo de virtualizao, existem funes no
documentadas que permitem mitigar algumas tcnicas de deteo de virtualizao.
Investigadores da SANS, empresa privada especializada treino de segurana na Internet,
publicaram num dos seus cursos online, uma lista que mitiga a deteo mquinas
virtuais VMware[65]. A Figura 9 ilustra as alteraes necessrias a efetuar ao ficheiro
de configurao .vmx da maquina virtual VMware.

29

Captulo 2 Contextualizao

Figura 9 Alteraes para impedir a deteccao de VMware retirado de Liston[65].

Com as alteraes propostas possvel impedir que certas classes de malware detetem
se esto a correr em ambientes virtualizados. Neste caso, a funcionalidade canal de
comunicao entre o hspede e hospedeiro perdem-se, pode haver tambm outros
efeitos secundrios[65].

2.10. Mquinas virtuais em HVM


Mquinas virtuais HVM (Hardware Virtual Machine) designam plataformas eficientes
de virtualizao, que utilizam as capacidades primrias de hardware, os seus CPUs tm
implementado um conjunto de instrues otimizadas que permitem executar as
mquinas virtuais com melhores performances[61].
Inicialmente os rootkits estavam focados na deteo de virtualizao. Com o
aparecimento das HVM surgiram os rootkits Vitriol para MacOSX e os rootkits
Bluepill[98] para sistemas Windows Vista. No primeiro caso, os rootkits Vitriol,
utilizando a tecnologia de virtualizao da Intel (VT-x) nas plataformas Intel Core
Duo/Solo e no segundo caso, rootkit Bluepill, para sistemas Windows Vista X64
utilizando a tecnologia de virtualizao da AMD (AMDV)[23]. Estes foram os
trabalhos pblicos percursores para uma nova era de rootkits HVM [56].
Na Figura 10 possvel visualizar, de forma simplificada, o funcionamento do Blue
Pill.
30

Captulo 2 Contextualizao

Figura 10 Mtodo de funcionamento do rootkit Bluepill retirado de Rutkowska[100].

As extenses SVM (Secure Virtual Machine) so um set de instrues que servem para
implementar mquina virtuais seguras na plataforma AMD64. O Bluepill explora esse
conjunto de instrues de forma a poder mover o OS para uma mquina virtual on the
fly, providenciando um VMM, que responsvel pelo controle de eventos dentro do
OS hspede, e assim conseguimos mover o OS para uma plataforma sendo o controlo
efetuado pelo VMM que controlado por ns.
Apesar de ser possvel a deteo de virtualizao e do nmero cada vez maior de
tcnicas capazes de o fazer[33, 85], a deteo de malware com honeypots e sandboxes,
baseados em virtualizao, continua a ser a melhor soluo atualmente disponvel. A
virtualizao providencia uma gesto eficiente de vrios sistemas operativos,
necessrios para o estudo de malware[38].

31

CAP 3
3. Anlise de malware
A maioria do malware atual, existe para plataformas Windows[103], pelo que neste
trabalho se optou por focar neste tipo de malware, por outro lado, as assinaturas usadas
pelos sistemas de antivrus so normalmente criadas manualmente, sendo que o
software depois quando considerado suspeito analisado pelo analista de forma a
determinar se este ou no uma ameaa.
Este captulo apresenta a forma como se efetua a anlise esttica e dinmicas de
amostras de malware e as principais tcnicas utilizadas.
O software que corre nas mquina normalmente esta dividido em duas partes. o
software normal como o processador de texto, visualizador de imagens, que so as
aplicaes e so executadas em user mode. e o OS que como necessita de executar
tarefas privilegiadas tais como aceder ao hardware e a drivers executado em kernel
mode. Apenas o cdigo executado em kernel mode tem acesso ao estado do sistema,
esta separao de privilgios previne que processos em user mode interajam com o
sistema diretamente, um processo em user mode no consegue diretamente abrir ou
criar um ficheiro, por isso o OS providencia uma API system call para a aplicao
pedir ao OS para efetuar aes privilegiadas.
Na Figura 11 possvel de se observar como efetuada a separao de privilgios

32

Captulo 3 Anlise de malware

Figura 11 Modo de funcionamento do user mode e kernel mode no sistema windows, retirado de
MSDN[76].

O malware que seja executado em user mode necessita de invocar system calls, assim
torna-se trivial analisar system calls que o malware efetua, podem existir casos que o
malware tenha privilgios de execuo em kernel mode e nesse caso evade mtodos de
anlise que utilizem hooks as system calls.
Para percebermos melhor que tipo de funcionalidades o OS expe iremos ver que
funes que o Windows utiliza, normalmente os sistemas operativos providenciam
uma API para que os programas se possam abstrair, em sistemas Windows
providenciada a WinAPI 7 que to extensa que normalmente os desenvolvedores de
Windows no necessitam de bibliotecas externas[77].
As funcionalidades da WinAPI que normalmente so utilizadas por malware podem ser
classificadas em 7 categorias[108]:

A WinAPI engloba varias APIs como o caso da Win32 API.

33

Captulo 3 Anlise de malware

Kernel32.dll providencia acesso a recursos fundamentais de um sistema


Windows tais como o sistema de ficheiros, dispositivos, processos, threads e o
tratamento de excees;

Advapi32.dll providencia acesso a funcionalidades adicionais tal como criao


de servios, administrao de contas de utilizador e acesso ao registo do
Windows;

Gdi32.dll providencia funcionalidade para o output de contedo grfico, para o


suporte de kernel existe o win32k.sys que comunica diretamente com os drivers
grficos;

User32.dll contm todos os componentes do user interface, tais como botes,


scroll e outros componentes para controlar e responder a aes dos utilizadores;

Ntdll.dll este DLL a interface para o kernel do Windows. Os executveis


normalmente no importam esta DLL diretamente mas quase sempre
importado indiretamente pelo kernel32.dll. Se um executvel importa este
ficheiro significa que o autor precisa de funes no disponveis em programas
normais tais como manipular processos;

Wsock32.dll/Ws2_32.dll estas so DLL responsveis pela comunicao de rede.


Um programa que aceda a estas DLL ir, muito provavelmente, efetuar tarefas
relacionadas com networking;

Wininet.dll este DLL serve para implementar protocolos tais como FTP, HTTP,
NTP.

Com o conhecimento de quais destas API o malware importa, possvel deduzir as suas
funcionalidades.

3.1. Anlise esttica


A anlise esttica de malware um processo de anlise em que a amostra de software
no executada. Assim as ferramentas de anlise esttica permitem a um analista recriar
a representao de um programa compilado e extrair informao til de um binrio,
providenciando grficos das chamadas de funes (calls), uma viso global das
estruturas de dados e das funes utilizadas.

34

Captulo 3 Anlise de malware


Assim o analista consegue perceber o funcionamento do software, mesmo em casos que
o cdigo fonte no esteja disponvel[103], pois o cdigo fonte das amostras maliciosas
normalmente no est disponvel, trazendo mais desafios aos analistas, outros dos
problemas os binrios encontrarem-se comprimidos (packed) ou mudarem o cdigo
mantendo o algoritmo (polimrficos), que faz com que a anlise esttica apresente
resultados ambguos, por exemplo quando o malware necessita de aceder a valores que
no podem ser obtidos estaticamente, tais como saltos indiretos e quando esto
comprimidos.
Sabendo que a maior parte do malware empregam tcnicas contra a anlise
esttica[122] tornando o processo de investigao mais demoroso e propenso a erros,
assim o conhecimento das tcnicas usadas e a forma como se conseguem evadir os
mtodos utilizados pelo malware so importantes de se perceber.

3.2. Anlise dinmica


A anlise dinmica no contexto da anlise de malware um processo de anlise
efetuado enquanto a amostra de software executada. Existem vrias tcnicas para
implementar esta anlise, sendo uma das mais utilizadas a intercetao das chamadas
das funes, o processo de intercetar chamadas de funes denominado de
hooking[34]. O hooking efetuado no programa para que alm da funo original
invocada outra funo, sendo esta ltima a responsvel pela funcionalidade de
monitorizao ver Figura 12.

3.2.1. Implementao de hooking


Em ambientes Windows existe uma biblioteca providenciada pela Microsoft Research
que nos permite monitorizar funes do Win32[34]. A biblioteca intercepta funes
rescrevendo o cdigo em memria para as funes que queremos e providencia
ferramentas para carregar DLL em qualquer binrio Win32.
O mtodo de funcionamento passa pela introduo de outras funes que providenciam
a utilidade desejada, a funo responsvel pelo desvio tambm tem a responsabilidade
de voltar a redirecionar para a funo original como se pode ver na Figura 12.

35

Captulo 3 Anlise de malware

Figura 12 Funcionamento genrico da biblioteca detours adaptado de Galen [34].

A diverso do flow da funo efetuado atravs do redireccionamento da funo para o


trampolim que depois chama a funo original. Assim possvel implementar hooking
nas funes desejadas e determinar no contexto do malware que chamada foi efetuada.

3.2.2. Desafios da anlise de malware capturado


Na anlise de malware visto que no existe acesso ao cdigo fonte existem alguns
desafios a ter em conta, normalmente considera-se que a anlise efetuada em binrios
sofra dos seguintes problemas:

Complexidade O primeiro desafio a complexidade da tarefa, quando se


efetua engenharia reversa numa amostra de malware dependendo da arquitetura
o assembly mostrado completamente diferente, cada instruo pode ter
semnticas complexas, instrues que se comportam de maneira diferente
dependente dos operadores ou efeitos colaterais da utilizao de opes no
compilador[26];

Falta de representao de alto nvel Trabalhar com assembly introduz outros


desafios, no existem funes, so utilizados jumps que tornam o cdigo mais
complexo e difcil de perceber. Tambm no existem construtores, os nicos
tipos existentes so os registos e a memria, para alm disso o cdigo binrio
no tem buffers[26];

36

Captulo 3 Anlise de malware

Vista global Para o tipo de trabalho efetuado necessrio a perceo do


sistema como um todo, monitorizar um sistema claramente um grande desafio
comparativamente a anlise tradicional onde apenas uma subseco do programa
analisada[26].

Existe uma grande diferena na anlise de malware amador e profissional e a que


est a grande diferena em termos de anlise, se o autor de malware possuir grande
conhecimento tcnico vai utilizar tcnicas de ofuscao, criptografia e outras
tcnicas para que a anlise do malware seja difcil e demore anos [113].

3.3. Tcnicas para anlise dinmica de malware


3.3.1. API/function hooking
Esta tcnica de anlise consiste em se efetuar o hooking s instrues, assim, efetuamos
um salto (JMP) para uma funo a nossa escolha, existem algumas precaues a ter em
conta para o processo ser transparente e no alertar o malware.
Existem vrios mtodos para o hooking, a CWSandbox utiliza o mtodo in-line code
overwriting[109], que faz o overwrite do processo na memria, assim no interessa se
a API foi chamada de forma implcita (loading do DLL antes da execuo) ou explcita
pois vai ser redirecionada para o novo cdigo.
Os passos para se efetuar so os seguintes:

Criao Criar a aplicao no modo suspenso, assim o Windows ir fazer o


load inicializando a aplicao e todos os DLL que foram linkados
implicitamente;

Anlise Quando a aplicao suspensa o Windows no consegue executar a


main thread por isso no ser executado nenhum cdigo, efetuada a
inicializao, efetuada uma anlise de quais as funes que iro ser chamas e
que tero de ser redirecionadas (hooks). Guarda-se o cdigo original, para mais
tarde se reconstruir as instrues;

Patch As primeiras instrues da API tm de ser rescritas com um JMP ou


uma call para localizao do nosso cdigo. Para o hooking API ser funcional
necessrio um hooking as funes LoadLibrary e LoadLibraryEx assim

37

Captulo 3 Anlise de malware


possvel o carregar DLL

de forma explcita, tambm existe malware que

consegue carregar malware sem a utilizao da LoadLibrary[43].


Uma maneira de se escapar ao hooking utilizar funes do kernel diretamente e evitar
a utilizao da API, mas isto incomum pois o programador teria de saber exatamente
qual a verso do OS e quais as patchs instaladas. A grande maioria do malware
pretende infetar o maior nmero de utilizadores e no apenas um em especfico por isso
desenvolver malware com capacidade de chamar funes do kernel, tornar-se-ia
demasiado especfico.

3.3.2. Injeo de DLL


Uma maneira reusvel e modular de se implementar hooking a a utilizao de injeo
de DLL , pode ser efetuado de vrias maneiras, em ambientes Windows o prprio OS
proporciona vrias maneiras de se efetuar a injeo:

Utilizao de chaves de registo Utilizando a chave de registo


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersi
on\Windows\AppInit_DLLs possvel definir o carregamento de um DLL para
cada processo que utilize o User32.dll[60, 118]

CreateRemoteThread Funes de processo tais como CreateRemoteThread


podem ser usadas para injetar uma DLL num programa depois de j ter sido
executado.[106]

NtCreateThreadEx Utilizando a funcionalidades que o prprio Windows


providencia:

tais

como:

SetWindowsHookEx,

ZwCreateThread

ou

NtCreateThreadEx. Esta ltima funo uma verso no documentada que


funciona em todas as verses do Windows[106].

3.4. Frameworks de anlise dinmica


A anlise dinmica de malware um tpico com bastante relevo[29, 33, 133], pois
permite a um analista perceber o comportamento de uma amostra de uma forma rpida,
segura e eficaz.
Nas frameworks de anlise dinmica a amostra executada e todo o seu comportamento
analisado, assim possvel determinar os propsitos da amostra e se maliciosa. Esta
seco ir abordar as tcnicas de anlise dinmica normalmente utilizadas dando a
38

Captulo 3 Anlise de malware


conhecer as suas capacidades, sero apresentadas duas plataformas de anlise de
malware, devido importncia histrica foi abordada a CWSandbox agora apelidada de
GFISandbox que passou a ser um produto comercial, a outra plataforma denominada de
Cuckoo tem sido alvo de ateno nos ltimos tempos. Os criadores que esto por detrs
do seu desenvolvimento so conhecidos no projeto honeynet e tm bastante reputao
no campo de anlise de malware, assim foi escolhida para o estudo nesta dissertao.

3.4.1. CWSandbox
A plataforma de anlise CWSandbox permite a execuo de malware num ambiente
simulado e assim deduzir se o comportamento de uma amostra ou no malicioso. Para
isso injeta um DLL no binrio para efetuar a monitorizao das system calls invocadas,
depois do processo de malware terminar gera um relatrio que permitir ao analista uma
melhor compreenso sobre a amostra. A CWSandbox utiliza vrias tcnicas desde o
hooking a captura do trfego de rede para ter uma melhor perceo do comportamento
do malware.
A sandbox constituda por duas aplicaes, o cswsandbox.exe e cwmonitor.dll, como
se pode ver na Figura 13.

Figura 13 Arquitectura CWSandbox adapdata de Provos[90].

O mtodo de hooking que a sandbox utiliza passa por suspender o processo e injetar o
dll. Depois da fase de inicializao o processo resumido e executado durante o tempo
que o malware corre. ODLL injetado (cwmonitor.dll) notifica o executvel
39

Captulo 3 Anlise de malware


(cwssanbox.exe) dos parmetros utilizados nas calls, assim o DLL consegue comunicar
quando o processo de malware cria novos processos, permitindo a instalao e injeo
nesses processo do mesmo DLL que vai permitir a comunicao ao cwsandbox.exe[90].
O diagrama da Figura 13 representa a relao entre os DLL e a sandbox, para o
mtodo de comunicao entre processos utilizado IPC, onde cada funo com um
hook envia uma notificao para informar a sandbox sobre a call e os parmetros
passados. Em alguns casos enviada uma resposta por parte da sandbox para o DLL.
Devido grande comunicao entre os processos e ao nmero desconhecido de
processos que o malware ir criar necessrio ter um mtodo de comunicao fivel e
que no pudesse ser modificado por isso foi implementado um mecanismo de
comunicao entre processos IPC na CWSandbox[90].
O DLL esconde a sua presena do malware atravs de tcnicas de rootkit, fazendo com
que todos os objetos que pertencem a sandbox sejam escondidos do malware, tal como
os processos, mdulos, ficheiros, entradas de registo etc.
O mtodo de funcionamento da CWSandbox pode ser categorizado em 3 fases:

Inicializao A fase de inicializao, onde injetado o DLL e existe troca de


informao inicial;

Execuo A fase de execuo, esta fase dura tanto quanto o processo de


malware, tambm nesta fase que efetuada a maior parte da comunicao
entre os componentes;

Relatrio Os dados colecionados so analisados e gerado um relatrio XML


que contm os protocolos acedidos, passwords utilizadas e vetores de infeo
utilizados. O relatrio deve ajudar o analista a classificar a amostra de uma
forma rpida e eficaz, anlises posteriores podem ser efetuadas pelo analista
caso se verifique necessrio.

3.4.2. Cuckoo
A Cuckoo sandbox permite a execuo de malware num ambiente virtualizado, tem
como diferenciador o facto de ser opensource ser recente e os responsveis pelo projeto
estarem envolvidos em projetos de captura e anlise de malware.

40

Captulo 3 Anlise de malware


Relativamente as capacidade permite a monitorizao dos processos e calls, suporta
dumps de memria do processo de malware, captura do trfego de rede num formato
standard (PCAP), e outras funcionalidades que demonstram a extensibilidade, como por
exemplo a captura de ecrs durante a execuo do malware.
A arquitetura da framework Cuckoo baseada num software central de gesto que lida
com a execuo, anlise das amostras, e os hspedes de anlise. A maneira como a
Cuckoo sandbox efetua o hooking foi baseada na biblioteca detours da Microsoft mas
eventualmente foi rescrita e agora apelidada de cHook. A maneira como a amostra
analisada feita com recurso virtualizao onde a amostra lancada numa mquina
virtual que reposta ao estado inicial em poucos segundos depois da anlise, o
hospedeiro corre os componentes essenciais anlise e faz a gesto dos hspedes onde a
amostra executada como se pode ver na Figura 14

Figura 14 Arquitetura Cuckoo adaptada de Rodriguez[95].

Como se observa na Figura 14, a aplicao Cuckoo.py comunica com o agent.py que ir
comunicar com a DLL injetada (cuckoomon.dll) que o responsvel pelo hook das
vrias funes do malware e tambm da sua responsabilidade providenciar
comunicao atravs de um named pipe8, assim a DLL consegue comunicar com o
agente e enviar informao sobre os processos criados.
O Motor do Cuckoo responsvel pelo hooking foi reescrito, antigamente utilizava a
biblioteca detours da Microsoft o que se revelou limitante e facilmente detetvel, visto

Processo de comunicao entre processos.

41

Captulo 3 Anlise de malware


que o hook apenas utilizava uma instruo para a funo de trampolim. Assim a deteo
passava por procurar um opcode[31] como se pode ver na Figura 16 .

Figura 16 Deteo do hook da biblioteca detours.

Devido a isso o motor foi escrito de raiz, com o nome de cHook este novo motor
permite inline hooking para alm que permite ao utilizador utilizar e desenvolver o
cdigo de trampolim desejado, sendo que atualmente o motor escolhe aleatoriamente a
funo de trampolim[31]. possvel ver na Figura 15 uma implementao de hooking
utilizando a instruo JMP, esquerda o cdigo original e na direita a utilizao de
um hook atravs da instruo JMP.

Figura 15 Utilizacao JMP para hooking.

O novo motor de hooking da Cuckoo fornece mais flexibilidade, permitindo ao analista


especificar o seu prprio cdigo de trampolim e assim utilizar varias tcnicas como se
pode ver na Figura 16.

Figura 16 Hooking efetuado pelo cHook utilizando a instruo MOV EAX,JMP EAX.

42

Captulo 3 Anlise de malware


Na parte dos relatrios a framework providncia bastante informao sendo bastante
extensivos e modulares sendo possvel escolher o formato de relatrio e baseado na
anlise pretendida dado um relatrio especfico, suporta output em JOSN, HTML,
MAEC, MongoDB, HPFeeds.
O tipo de relatrio pode ser um das seguintes 6 categorias que se ajusta ao nvel de
informao que se pretende[68]:

EXE a anlise por defeito a ser executada e serve para analisar executveis
do Windows;

DLL Para a anlise de DLL existe a possibilidade de poder instruir a


framework qual a funo a ser analisada tambm existe a opo para no injetar
o processo rundll32;

PDF Utilizada para anlise de pdf ;

DOC/EXCEL Anlise de ficheiros de documento;

IE Para analisar o comportamento do Internet Explorer quando abre o ficheiro


fornecido, este modo til para a investigao de exploits para o browser;

BIN Utilizado para analisar dados binrios tais como shellcode.

Como podemos constatar as frameworks de anlise dinmica providenciam ao analista


uma viso sobre o processo de infeo e seu comportamento podendo determinar
atravs as suas aes se a amostra maliciosa e assim tornar mais fcil a construo de
assinaturas e outros mtodos que permitam a desinfeo e preveno de malware de
uma forma eficaz e eficiente.

43

CAP 4
4. Trabalho desenvolvido
Uma soluo de deteo de malware deve ser baseada no conhecimento aprofundado
das vrias ferramentas existentes, das tecnologias envolvidas e da configurao da
infraestrutura.
Nesse sentido, este captulo inicia com o ponto 4.1., Anlise do problema, em que
feita a definio um cenrio hipottico representativo de redes reais, sujeito a ataques de
malware oriundo da Internet. Segue-se o ponto 4.2, Proposta de arquitetura para deteo
de malware, onde proposta uma arquitetura adequada deteo de malware baseada
em software opensource e so apresentadas as opes feitas e as funcionalidades
implementadas. Finalmente, no ponto 4.3, Caso de estudo, apresenta-se o cenrio
utilizado como caso de estudo para teste da soluo proposta.

4.1. Anlise do problema


Atualmente devido a rpida expanso da Internet e dos seus utilizadores, surgiram
novas oportunidades para pessoas mal intencionadas conseguirem ter proveito
financeiro indevido. A ubiquidade das tecnologia de comunicao e dispositivos veio
provocar um enorme uso maligno destes sistemas por parte de pessoas criminosas, que
utilizam a Internet como um escudo de anonimidade, nos crimes que cometem.
O carater lucrativo do malware contribuiu decisivamente para a sua rpida proliferao,
evoluindo de um simples hobby para uma indstria [47, 49, 111, 121]. O impacto deste
tipo de software pode tomar grandes propores, podendo ter implicaes polticos e
financeiras, como foi o caso do Stuxnet e o Flame, que so muito sofisticados e foram
desenvolvidos para impedir o programa nuclear iraniano[126]. A segurana em redes de
computadores tradicionalmente providenciada pelas firewall e IDS, que partem do
princpio que as ameaas so conhecidas. No entanto o malware quando surge pela
primeira vez (0-day9) ou como uma variante nova, esta estratgia no eficaz, sendo

Vulnerabilidades desconhecidas

44

Captulo 4 Trabalho Desenvolvido


necessrio recorrer a outro tipo de ferramentas que nos permitam reconhecer uma
ameaa. Programas tais como como o honeypot Dionaea, e de anlise de software, como
por exemplo, Yara e ssdeep. Na Figura 17 apresenta-se um diagrama de uma rede
tradicional de computadores.

Figura 17 Rede tradicional.

Como se pode ver na figura, a ligao da Internet efetuada por um router que
encaminha trfego de dados entre as diferentes redes. Este dispositivo dispe de
capacidade de firewall que permite filtrar os trfegos com base em sesses
estabelecidas, nos endereos IPs de origem e destino, e nos protocolos utilizados.
Dentro da organizao esto disponveis recursos segmentados em redes diferentes. Um
dos segmentos, normalmente designado por DMZ10, que serve como camada adicional
de segurana, normalmente os servidores dentro da DMZ conseguem interagir com a
intranet e extranet servindo assim de stepping stone para servios pblicos que
necessitem de interagir com contedos dentro da intranet contm recursos acessveis de
para o exterior da rede. Com esta arquitetura possvel proteger de ataques externos
mas no tem qualquer peso para a segurana interna.[8]
Normalmente na DMZ so colocados os servios que os utilizadores podem aceder da
extranet sendo os mais normais servidores HTTP, que devido a necessidade de

10

Zona Desmilitarizada

45

Captulo 4 Trabalho Desenvolvido


comunicarem com uma base de dados (BD) necessitam de aceder a uma que se
encontram na rede interna, servindo assim o DMZ de uma zona intermediria de
comunicao. No caso do SMTP11 as mensagens e a base de dados dos utilizadores
esto guardadas na rede interna sem acesso ao exterior sendo utilizado uma DMZ para
os servidores alojados conseguirem aceder rede interna outra das utilizaes para
controlo do trfego a utilizao de uma reverse proxy, sendo assim possvel a
monitorizao dos utilizadores. Os IDS tambm tem um papel importante por isso a sua
escolha um tpico interessante para complementar a arquitetura aqui proposta. As
solues opensource Snort, Suricata e Bro so as trs grandes plataformas de IDS. A
organizao tem de ter presente que no existem solues completas e que um IDS no
a soluo para os problemas de segurana mas apenas mais uma camada. Tendo isso
em conta deve ser capaz de responder a perguntas como:
Nmero de interfaces a monitorizar? Localizao dos links? Quantidade de trfego a
monitorizar? Mtodo de captura? Conhecimento de OS por parte da equipa? Arquitetura
de CPU utilizada? Framework de captura de trfego baseada em software/hardware?
Gesto do trfego? Design e planeamento do hardware?
Assim a empresa dever dimensionar de acordo com o que pretende. Podemos estimar
baseado no existente e que na maior parte dos casos pode ser utilizado a seguinte
configurao como se pode ver na Tabela 1.

11

Protocolo utilizado para o envio de correio eletrnico.

46

Captulo 4 Trabalho Desenvolvido


Volume de
trfego12

CPU

RAM

<200Mbits/seg
200400Mbits/seg

1Core
>2 Cores

8Gbytes
>8Gbytes

Hardware
Load
Balancing
No
No

5001000Mbits/seg
1-10Gbit/seg

>4 Cores

10-20Gb

No

1 Core por
250Mbits/seg.

4Gbytes por
250Mbits/seg.

Sim

Sim

>10Gbit/sec

Requerimentos extra

No
No necessrio, mas
recomendvel a utilizao de
uma framework de captura eg:
PF_RING
PF_RING
NAPI
Requer conhecimento
especializado.
TNAPI
DNA+Libzero
Requer Conhecimento
especializado.
Gigamon box
Base de Dados Optimizada

Tabela 1 Requerimentos para monitorizao de trfego por largura de banda.

Como podemos ver da tabela possvel verificar o hardware necessrio baseado na


largura de banda do trfego a ser analisado. A escolha pode recair sobre a utilizao de
vrias distribuies, os principais so o Snort, Suricata e Bro as suas funcionalidades
podem ser descritas na seguinte tabela:
Funcionalidades
Processamento Multi Threading(SMP)
Suporte IPv6
White/Black Listings
Identificao automtica do protocolo
GPU
Flowbits
Inline Windows Support
Pesquisa GeoIP
Gratuito

Software de monitorizao
Bro
Snort
Suricata
No
No
Sim
Sim Algum
Sim
Sim
Sim
Sim
Sim
Sim
Sim
No
Sim
Sim
Sim
Sim
Sim
No
No
Sim
Sim
Sim
Sim
Sim
Partes
Sim

Tabela 2 Tabela comparativa de funcionalidades de IDS opensource.

Como podemos ver hoje em dia as capacidades dos trs grandes IDS opensource so
similares recaindo a escolha sobre o administrador[4]. Fica a nota que que o Snort o
mais antigo e tem a melhor performance em instalaes que tenham hardware com
apenas um core, a grande diferena do Suricata a sua escalabilidade em vrios
Processadores[4].
Caso a organizao pretenda mais informao e melhorar a segurana pode implementar
outro tipo de ferramentas[38, 44] que para alm da monitorizao de trafego capturam e

12

No mximo 2 links.

47

Captulo 4 Trabalho Desenvolvido


analisam ataques, este tipo de ferramentas como o Dionaea, Yara e ssdeep permitem a
recolha de informao no obtida por um IDS mas pela utilizao de um honeypot
Como se pode verificar uma organizao mdia que pretenda melhorar a sua segurana
pode introduzir solues de monitorizao opensource.

Nome

Escopo deteo.

Preciso emulao.

Qualidade dados.

Escalabilidade
performance.

Fiabilidade.

Extensibilidade.

Facilidade utilizao.

Suporte.

Custo.

Para ajudar na escolha pode ser consultada a seguinte tabela 13:

Amun
Dionaea
KFSensor
Honeyd
Honeytrap
Nepenthes
Tiny Honeypot

Multi
Multi
Multi
Multi
Multi
Multi
Multi

2
3
2
2
2
2
3

3
4
3
1
2
2
2

3
3
4
4
4
3
3

4
4
4
4
3
4
4

4
4
3
4
3
4
4

3
3
4
3
2
3
2

3
4
3
2
1
2
2

$
$
$$
$
$$
$$
$$

Tabela 3 Tabela comparativa de honeypots de propsito geral adaptada de Grudziecki[40].

Com esta base comparativa proposta uma arquitetura para deteo de malware no
captulo a seguir.

4.2. Proposta de arquitetura para deteo de malware


Com base na tecnologia de anlise de malware, apresenta-se uma proposta para fazer a
anlise das ameaas na Internet e retirar estatsticas sobre quais as vulnerabilidades mais
utilizadas para diferentes protocolos e assim permitir uma resposta proactiva.
As ferramentas utilizadas nesta dissertao foram escolhidas atendendo as suas
funcionalidades e serem opensource.
Na Figura 18 apresenta-se a arquitetura proposta para a deteo de malware utilizando
captura baseado em honeypots, anlise baseado em sanboxes dinmicas e classificao
baseado em fuzzy hashes e HIPS:

13

Escala de 1-5 sendo 5 o valor mximo.

48

Captulo 4 Trabalho Desenvolvido

Figura 18 Arquitetura proposta.

Numa rede tradicional de computadores como a apresentada na Figura 17, prope-se a


instalao de um honeypot na DMZ de baixa interao, de forma a capturar as amostras
de malware. Para a instalar das ferramentas de anlise e classificao, recomenda-se a
escolha de uma zona de rede segura. As amostras capturadas pelo honeypot sero
transferidas atravs de uma ligao de rede, que funciona de acordo com o fluxograma
da Figura 19.

Figura 19 Algoritmo de alto nvel da arquitetura.

49

Captulo 4 Trabalho Desenvolvido


Inicialmente o sistema faz a captura de amostra de malware no honeypot, caso a
classificao determine que existe pouca informao sobre a amostra ir ser analisada.
A classificao feita com recurso a trs programas, primeiro comparada com um
website que passa a amostra por 40 antivrus diferentes e d o seu resultado assim
determinando a taxa de deteo, depois utilizado o programa ssdeep para verificar se
existe similaridade com alguma amostra no repositrio. Caso seja uma amostra com
potencial ento analisada dinamicamente com a framework Cuckoo.
Escolha justificao Ferramentas
Assim a soluo constituda por 4 tecnologias, a utilizao de honeypots para a
captura, framework Cuckoo para a anlise, ssdeep para a classificao e Yara para a
classificao e procura.
Assim esta configurao vem adicionar mais informao, no caso do honeypot ele para
alm dos binrios tambm captura o trfego associado e armazena-lo num repositrio
que permite o seu replay. Para alm disso complementado com uma BD que contm
inmeros campos valiosos como o IP do ofensor, tipo de malware. O resto das
informaes guardado numa base de dados[5] com se pode ver na Figura 20

Figura 20 Estrutura da BD dionaea.

50

Captulo 4 Trabalho Desenvolvido


Com as ferramentas de identificao e classificao podemos agrupar e saber se a
amostra apenas uma variante ou uma nova ameaa. Existem vrios mtodos para a
identificao para este caso recorreu-se a funes de hash, que so um algoritmo que
permite transformar uma grande quantidade de informao num identificador nico,
assim podemos formar um catlogo de malware capturado.
Para a anlise existem vrias sandboxes que so ambientes que tem por base a
virtualizao que correm a amostra num ambiente contido e assim permitem a um
analista verificar que tipo de aes a amostra efetuou, sabendo o vetor de infeo e
domnios de internet utilizados pela amostra[38].
Assim a arquitetura permite melhorar a segurana proactivamente, recolhendo
informao sobre ataques tornando possvel a criao de assinaturas para melhorar os
mtodos de segurana existentes, NIDS, HIDS conhecendo as suas aes, o malware ou
ofensores efetuam num sistema de informao valiosa na estratgia de defesa[40,
125].Prope-se a utilizao do OS Linux (Debian) uma vez no traz servios
desnecessrios stripped no introduz vetores de ataques desnecessrios sendo assim a
sua administrao efetuada de forma fcil melhorando a estabilidade do sistema, no
tao suscetvel a vrus, o facto de o Debian ser opensource poupando dinheiro em
licenas. Como a maior parte do malware e spyware para sistemas Windows, o Linux
no tem esse problemas e no necessita a instalao de drivers, devido prpria
arquitetura do OS, tambm no precisa do mesmo nvel de manuteno[73].
Para ferramentas de classificao foi escolhido o mtodo Context Triggered piecewise
Hashes (CTPH) ou fuzzy hashes, atravs deste algoritmo possvel comparar o grau de
similaridade de dois inputs. No contexto de anlise de malware til pois permite
verificar se as amostras so variantes de malware, permite detetar infees na rede
comparando extratos de memria de hosts infetados e hosts normais a deteo de
malware com cdigo mutante e comparar a amostras no disco com a amostra na
memria. O conceito de hashing um conceito bem conhecido no mundo da
informtica e uma funo de hash pode ser definida por: uma funo matemtica que
leva como parmetro um campo varivel chamado de pr-imagem e converte-a para
uma string de tamanho fixo (normalmente menor) chamada de hash, este tipo de
hashing o tradicional ou hashing criptogrfico, pode ser definido como uma funo de
hash com as seguintes propriedades[59]:
51

Captulo 4 Trabalho Desenvolvido

Preimage computacionalmente impraticvel comear com o output h e


encontrar o x de tal forma que H(x)=h.

Second PreImage computacionalmente invivel dado um input x encontrar


o input y sendo x != y e H(x) =H(y).

Resistente a colises ou seja computacionalmente invivel encontrar o par


(x,y) de tal forma que H (x)=H (y).

As hashes so utilizadas para vrios propsitos por exemplo, o de verificar a integridade


de um ficheiro ou em algoritmos de assinaturas digitais. O hashing tradicional a base
do mtodo fuzzy hashing que serve para identificar ficheiros similares dos mtodos
utilizados nesta dissertao.Com fuzzy hashing possvel de identificar ficheiros
similares sendo o processo o seguinte[59, 96]:

Hashing tradicional em blocos variveis do input.

O valor dessa hash adicionado ao valor total da fuzzy hash

A string da hash tradicional mais metadados so utilizadas como o valor da fuzzy


hash

Os ficheiros similares so passveis de ser identificados pela comparao, pois a


mudana no ficheiro vai apenas afetar parte da fuzzy hash. O tamanho do pedao em
que as hashes tradicionais so utilizadas depende da implementao. Os pedaos no
precisam de somar o ficheiro de input todo mas apenas seces do ficheiro ou partes o
nico critrio a ter em conta que no se podem sobrepor[96]. A implementao
utilizada nesta dissertao foi a do programa ssdeep.
Para a gerao de assinaturas foi utilizado o software Yara que um motor de
classificao e identificao que permite criar regras que detetem strings, sequncias de
instrues, expresses regulares, padres de bytes. possvel integrar este motor em
cdigo C ou ento em python atravs da API da Yara que basicamente um HIPS que
permite a criao e teste de regras on the fly.
No caso da framework de anlise foi escolhida a Cuckoo pois permite a execuo de
malware num ambiente virtualizado, tem como diferenciador o facto de ser opensource
e permitir a customizao as nossas medidas, as suas funcionalidades envolvem a
monitorizao dos processos e calls, suporta dumps de memria do processo de
52

Captulo 4 Trabalho Desenvolvido


malware, captura do trfego de rede num formato amigvel (PCAP 14), escrita em
python assim tornando fcil a sua extensibilidade, e tem mtodos como por exemplo a
captura de ecrs durante a execuo do malware, que foi um mtodo inovador nas
sandboxes.
No caso do honeypot foi escolhido a Dionaea pelo facto de ser um dos melhores
server-side honeypot[40] sendo facilmente extensvel atravs de mdulos utilizando
python como linguagem de scripting, suporta IPv6 e TLS15 consegue correr sem
privilgios especiais. Os Protocolos na Dionaea so implementados como mdulos por
isso possvel emular qualquer protocolo, a qualidade da emulao muito boa e neste
honeypot dada nfase a qualidade do protocolo SMB que normalmente e utilizado por
worms e botnets para infetar hosts outro modulo tambm presente neste honeypot o
VoIP.
Para a identificao de shellcode utilizada a biblioteca libemu que consegue detetar
shellcode desconhecido sem interao sendo o seu objetivo principal a obteno do
malware utilizado pelo ofensor, para alm disso tambm criado um log da sesso, que
inclui parmetros tais como: conexo, origem do incidente e as suas propriedades ver
Figura 20, para alm disso suporta ferramentas tipo o p0f que detetam o sistema
operativo do atacante e a sua geo-localizao, suportando tambm a anlise externa
utilizando frameworks de anlise dinmica e outros servios como VirusTotal.
A sua fiabilidade excelente permitindo ao software correr durante longos perodos
sem grandes problemas, outra vantagem a partilha de amostras via XMPP, assim
possvel melhorar o estado de segurana da Internet atravs da partilha mtua, sabendo
que tipo de ataques esto a ser orquestrados e assim recolher informao que possa
ajudar um analista a perceber as motivaes e funcionalidades das amostras.
de referir que possvel criar um mecanismo de partilha de amostras por XMPP
interno. E com as ferramentas utilitrias que acompanham o dionaea, por exemplo a
ferramenta retry.py permite o replay de trfego capturado pelo honeypot para o host que
se designar, isto atrativo para testar um novo ataque num honeypot de alta interao e
verificar se existe uma vulnerabilidade desconhecida.

14

Formato de captura de trfego de rede.


Transport Layer Security um protocolo criptogrfico que providencia seguranas nas comunicaes na Internet vem substituir o
SSL.
15

53

Captulo 4 Trabalho Desenvolvido

4.3. Caso de estudo


Como caso de estudo que considerou-se um cenrio hipottico de uma empresa j com
um sistema devidamente montado como a captura de malware e feita com honeypots, os
honeypots no geram trfego sendo a sua integrao em redes j estabelecidas um
processo trivial de adicionar recursos, a gesto de administrao mnima a arquitetura
aqui aplicvel passvel de se utilizar em redes de qualquer tamanho at sendo possvel
configurar vrios honeypots por segmento e centralizar os dados obtidos num
repositrio central onde pode ser efetuado a sua anlise posterior.
Na Figura 21 apresenta-se o sistema implementado.
Implementao

Figura 21 Arquitetura desenvolvida.

Foi utilizado um router com firewall baseado em tecnologia opensource de uma forma a
segmentao o trfego para as vrias subnets. No segmento DMZ foi colocada a
honeypot e assim foi efetuado uma implementao tradicional em que a honeypot fica
exposta a Internet para assim obtermos informao sobre que tipos de ameaas esto
presentes na ligao que estamos a utilizar. Depois do processo de captura as ameaas
estas so acedidas por um analista que se encontra na LAN onde comea o processo de
classificao e anlise.

54

CAP 5
5. Resultados do trabalho
Neste captulo, apresentam-se os resultados obtidos com o setup apresentado no ponto
4.3, caso de estudo. No ponto 5.1, Perodo Analisado, apresentado e descrito o
perodo de captura de amostras, sendo no ponto 5.2, Servios Atacados, identificados
e discutidos os servios atacados. No ponto 5.3, Anlise das Amostras, faz-se uma
anlise de similaridade das amostras capturadas, identificam-se o processo de infeo e
identifica-se as amostras malignas, malware. Finalmente, no ponto 5.4, Discusso de
Resultados, apresenta-se a discusso dos resultados obtidos.

5.1. Perodo analisado


Foram registados em SQLite, os dados do sistema proposto numa linha ADSL (ponto
4.3) durante 4 meses de Junho a Novembro de 2010, durante o qual foram capturadas
2975 amostras nicas. Na Figura 22 apresenta-se um grfico que representa o nmero
total de amostras capturadas (ataques total eixo da esquerda) e o nmero de
amostras por tempo que da resultaram (downloads eixo da direita) registados.

Figura 22 Total de ligaes e downloads de amostras capturados durante o perodo estudado.

Da figura pode observar-se que o nmero total de amostras residual durante a primeira
quinzena de Junho, apresentando um crescimento aproximadamente constante at ao
incio do ms de Agosto. Durante Agosto, o nmero de amostras voltou a ser pequeno,
registando-se um forte crescimento na primeira quinzena de Setembro. A partir do
incio de Outubro o crescimento das amostras voltou a reduzir at Novembro, final do
registo.
55

Captulo 5 Resultados do Trabalho


Por outro lado, o nmero de downloads apresenta 5 picos, sendo os mais acentuados na
primeira quinzena de setembro com aproximadamente 200 downloads no seu pico e no
incio da segunda quinzena de junho, com 70 downloads no seu pico.
O pico maior de downloads, durante a ltima semana de Agosto at ao incio de
Outubro, coincide com o elevado aumento do nmero de total de ligaes. O segundo
maior pico de downloads que ocorreu durante a ltima quinzena de Junho, marcou o
incio do crescimento do nmero de downloads.
O grfico leva-nos a crer que durante o perodo de Agosto ter ocorrido menor atividade
de ataques, no entanto, o grfico da viso global das ligaes aceites mostra que isso
no verdade, Figura 23.

Figura 23 Viso global da atividade dos ataques.

Repare-se que a atividade regular em todo o perodo de anlise, sendo mais escassa
entre Setembro e Agosto. Os picos so associados a tentativas de infeo.

5.2. Servios atacados


Efetuada uma consulta base de dados relativamente aos servios mais atacados,
obteve-se o grfico da Figura 24.

56

Captulo 5 Resultados do Trabalho


12000

10939

10000

N de ligaes

8000
6623
6000
3798

4000

2475
2000
65

24

FTP: 21

NS: 42

174

162

0
HTTP: 80 SMB: 135 SMB: 445

1130

MSSQL:
1433

1957

Portos
Figura 24 Nmero de ligaes por porto.

Uma vez que se tratam de ligaes ao honeypot, e se sabe de antemo que o honeypot
no inicia qualquer tipo de ligaes, todas as ligaes estabelecidas indiciam ataques.
Podemos observar que a maioria das ligaes efetuada atravs dos portos relativas aos
servios MSSQL, SMB e HTTP, nomeadamente, aos servios de bases de dados
Microsoft, partilha de ficheiros sistema Windows e servidores web.
As outras ligaes a servios so em nmero pouco significativos, sendo relativas aos
servios de FTP, WINS16, nomeadamente, transferncia de ficheiros, e resoluo de
nomes, e a outras duas portas (1130 e 1957) cujos servios no foram identificados.
Os ataques registados com menos de 10 ligaes, optou-se por no analisar.
No caso do honeypot dionaea, o protocolo do servio HTTP no est totalmente
implementado, pelo que embora sejam registadas as tentativas de ataque, a sua anlise
no muito eficaz[40], sendo o caso, mais apropriados o uso de honeypot web client,
tal como o Glastopf.

16

Windows Internet Name Service

57

Captulo 5 Resultados do Trabalho


Assim, nos pontos seguintes, analisa-se os dois servios mais atacados, nomeadamente,
o SMB e o MSSQL.

5.2.1. MSSQL
Na Figura 25, apresenta-se o grfico do nmero de ligao ao servio MSSQL durante o
perodo analisado.

Figura 25 Nmero de ataques no servio MSSQL.

Como se pode observar, a maioria das tentativas de acesso foram localizadas na


primeira quinzena de setembro, sendo que no restante perodo o seu nmero no foi
significativo. Para alm disso, observa-se que no foram registadas ocorrncias
significativas de ofertas de download nem da utilizao de shellcode.
Na Figura 26 apresenta-se o grfico que representa o nmero de hosts que
estabeleceram ligaes com o honeypot no perodo analisado.

58

Captulo 5 Resultados do Trabalho

Figura 26 - Nmero de hosts que estabeleceu ligaes ao servio MSSQL.

Como se pode ver, o nmero de hosts que atacou o servio MSSQL foi muito reduzido,
entre 1 e 3 hosts, o que indicia um ataque de baixa escala.
Sendo o nmero de ligaes muito grande e o nmero de hosts muito baixo, indicia
que se trata de ataques dicionrio.
De forma a aprofundar esta hiptese, decidiu-se analisar os utilizadores e as palavras
passe, usados para aceder aos servios MSSQL (Anexo I). A Tabela 4 apresenta os
logins utilizados.
Nmero de tentativas
6170
2726
1785

Username utilizado
sa
root
admin

Tabela 4 Listagem dos usernames mais utilizados nos ataques ao servio MSSQL.

Da observao da tabela, verificamos que os ataques utilizam maioritariamente o


username por defeito da base de dados da Microsoft, sa. Os restantes 2 utilizadores,
root e admin, logins frequentemente utilizados.
tambm de notar, em segundo lugar com 2726, a utilizao do username root que
por defeito o utilizador privilegiado em sistemas UNIX, e ser por isso um login
frequente. Para alm disso, poder tratar-se de um ataque a um sistema UNIX, supondo
que o atacante esteja a explorar a possibilidade do administrador utilizar o porto de
MSSQL para um servio de UNIX.
A anlise das passwords utilizadas nas ligaes podem ser consultadas na Tabela 5.
59

Captulo 5 Resultados do Trabalho


Nmero de tentativas
34
14
14
13
9
9
9
9
9
9

Password utilizada
1
123
123456
000000
111111
123123
1234
12345
654321

Tabela 5 Listagem das passwords mais utilizadas nos ataques ao servio MSSQL.

Como se pode observar, as passwords mais utilizada so as combinaes mais usuais,


destacando a password em branco, com 34 tentativas.
Pode-se ento concluir-se que se tratou de um ataque de dicionrio, uma vez apena
foram registados tentativas de ligao base de dados e no h registo de downloads de
binrios e shellcode (Figura 25).
O tipo de driver utilizado para aceder base de dados, tambm relevante uma vez que
permite identificar as vrias API utilizadas pelo atacante. A Figura 27 mostra a lista dos
drivers mais utilizados para as ligaes ao protocolo MSSQL, durante o perodo
analisado.
Nmero de tentativas
10609
45
27

Driver utilizado
ODBC
.Net SqlClient Data Provider
OLEDB

Figura 27 Listagem dos drivers mais utilizados nos ataques ao servio MSSQL.

Podemos observar que a maior parte dos ataques utilizam o driver ODBC (Open
Database Connectivity17) que o standard nas API para acesso a base de dados.
Segue-se, em segundo e terceiro lugar, as implementaes Microsoft .Net SqlClient e
OLEDB (Object Linking and Embedding, Database18), respetivamente, mas o seu
nmero de tentativas no to significativo como o ODBC.
Apesar do honeypot no providenciar uma emulao integral do protocolo MSSQL, no
podendo o atacante interagir livremente, a sua implementao permite a deteo de
tentativas de intruso.

17
18

Middleware para aceder a sistemas de gesto de base de dados (DBMS).


API desenhada pela Microsoft para acesso a dados de diversas fontes de uma forma uniforme.

60

Captulo 5 Resultados do Trabalho


Note-se, que os registos obtidos mostram que o uso de logins e passwords conhecidos
uma vulnerabilidade explorada normalmente pelos atacantes.

61

Captulo 5 Resultados do Trabalho

5.2.2. SMB
O protocolo SMB normalmente utilizado para fornecer servios de partilha de
ficheiros, de impressoras e de outro tipo de recursos entre hosts numa rede.
maioritariamente utilizado em Windows. Devido sua grande popularidade, torna-se
num alvo preferencial para malware atacar, como se verifica pelas recomendaes do
CSIRT (Computer Security Incident Response Team) [2, 72, 120].
A Figura 28 apresenta o nmero de ataques registados ao servio SMB.

Figura 28 - Nmero de ataques ao servio SMB

Da figura pode observar-se que este protocolo atacado (iniciadas ligaes) durante
todo perodo, destacando-se picos em que ocorreram ataques mais intensos.
Para alm disso, observa-se que foram registadas, tambm durante todo o perodo em
anlise, ocorrncias significativas de ofertas de download e da utilizao de shellcode.
A Figura 29 representa o nmero de hosts que estabeleceu ligao com o honeypot.

62

Captulo 5 Resultados do Trabalho

Figura 29 - Downloads e nmero de hosts no servio SMB.

Como se pode ver, o nmero de ligaes da ordem dos 200 o que contrasta com os
valores obtido no caso do MSSQL (da ordem das 5 mil ligaes). Isto deve-se ao facto
deste ataque utilizar vulnerabilidades que o atacante conhece, no precisando de repetir
indefinidamente, como no caso do ataque de dicionrio, em que estabelecida uma
ligao por cada tentativa.
No sentido de identificar as vulnerabilidades utilizadas nos ataques, foi consultada a
base de dados e obtida a Tabela 6.
Nmero de
tentativas
1726
1310
895
895
895
895
683
683
250
235
235
29
4

Designao da
vulnerabilidade
MS0867
MS0867
MS0326

MS0412
MS0411

MS0411

Servio

Operao do servio

SRVSVC
SRVSVC
DCOM
MGMT
SVCCTL
spoolss
ISystemActivator
MGMT
DSSETUP
SRVSVC
samr
SRVSVC
WKSSVC

NetPathCanonicalize
NetPathCompare
RemoteActivation
inq_if_ids
CloseServiceHandle
EnumPrinters
RemoteCreateInstance
inq_princ_name
DsRolerUpgradeDownlevelServer
NetShareEnum
EnumerateAliasesInDomain
NetServerGetInfo
NetAddAlternateComputerName

Tabela 6 Vulnerabilidades utilizadas contra o protocolo SMB

63

Captulo 5 Resultados do Trabalho


Na tabela pode observar-se o nmero de ligaes estabelecidas por vulnerabilidade, as
vulnerabilidades utilizadas, o servio e operao utilizado pelo RPC (Remote Procedure
Call19).
Da coluna designao da vulnerabilidade pode ver-se que algumas vulnerabilidades j
foram detetadas h alguns anos, como por exemplo o MS03-26 que data de 2003 e a
terceira vulnerabilidade utilizada durante o perodo em anlise. Apesar de conhecidas
(registadas), estas vulnerabilidades continuam a ser aproveitadas pelos atacantes.

5.3. Anlise das amostras


Depois de analisados os servios atacados interessa conhecer que amostras de malware
foram capturadas.
Nesse sentido, elaborou-se a Tabela 7 em que se apresentam as 4 amostras mais
frequentes.
Amostra
1
2
3
4

MD5
78c9042bbcefd65beaa0d40386da9f89
2fa0e36b36382b74e6e6a437ad664a80
94e689d7d6bc7c769d09a59066727497
87136c488903474630369e232704fa4d

N capturas da amostra
64
48
63
122

Tabela 7 Lista das 4 amostras capturadas mais frequentes.

Como se pode observar, o total de downloads para a amostra 4 bastante superior s


restantes.
Para a sua anlise submeteram-se as amostras capturadas ao motor de classificao
VirusTotal20 e verificamos que as trs primeiras amostras da tabela se tratavam do
worm Conficker[128]. No caso da amostra 2 esta foi classificada como um
win32/backdoor[127].
Curiosamente, tendo esta amostra sido capturada em 2010, o motor de anlise
VirusTotal, apenas apresenta a sua anlise em 2012, o que denota uma persistncia
temporal elevada.
Desta forma foi possvel detetar um worm em 2010 sem recorrer sua assinatura,
assinatura esta que apareceu posteriormente.

19
20

Remote Procedure Call Mecanismo de comunicao entre processos.


Portal online que faz scan dos ficheiros submetidos por vrios motores de antivrus diferentes.

64

Captulo 5 Resultados do Trabalho


Como se viu no caso do worm Conficker possvel o mesmo worm possuir vrias
assinaturas diferentes. No prximo ponto procede-se anlise de similaridades entre
amostras capturadas.

5.3.1. Anlise de similaridades


Com a ferramenta ssdeep possvel obter o grau de similaridade das amostras
(Anexo 2), obtendo as vrias assinaturas do malware existentes no repositrio.
Na Tabela 8 apresenta-se o nmero de variantes similares s 4 amostras referidas na
Tabela 7.
Amostra

MD5

1
2
3
4

78c9042bbcefd65beaa0d40386da9f89
2fa0e36b36382b74e6e6a437ad664a80
94e689d7d6bc7c769d09a59066727497
87136c488903474630369e232704fa4d

Nmero de amostras
similares
34
52
34
45

Mdia
similaridade
81%
94%
88%
89%

Tabela 8 Nmero de amostras para as 4 amostras capturadas mais frequentes.

No Anexo 2, est disponvel uma tabela com as similaridades entre amostras com
indicao do grau (%) de similaridade a similaridade obtida pela comparao do
cdigo entre amostras. Observando a mdia da similaridade entre as amostras, acima
dos 80%, conclui-se as amostras partilham grande parte do seu cdigo.

5.3.2. Anlise dinmica / processo de infeo


Com a framework Cuckoo possvel a anlise dinmica e assim perceber melhor os
detalhes sobre o processo de infeo das amostras, assim podemos verificar o tipo de
informao que nos providenciado pela framework.

A Figura 30 apresenta-se o resultado da anlise da framework Cuckoo da amostra 1.

65

Captulo 5 Resultados do Trabalho

File name:
File size:
File type:
MD5:
SHA1:
SHA256:
SHA512:
CRC32:
Ssdeep:

78c9042bbcefd65beaa0d40386da9f89.dll
168509 bytes
PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32bit
78c9042bbcefd65beaa0d40386da9f89
197e347479b9b6b7cde6c46c5dbbf2487247175e
9cbd3aecac93b92a769f3f8e2dac4f13feefe3d5e3ab604ec8854f905328fbdf
a77687f49dff9baf425048e97931de39fc799efdad759d514bcf359e29106cbd
6a6bf5aac5d9130d03f9d5dba352110f623c166c31f6ef7a21557acf6a4aa52b
BEF063A2
3072:QtyYB97GQg+9MPBd0tGTyUK5myjLlJl26bYtSGQKmwT24kdgB:QtyYv7gn0
sT8d52mYAk7/T

Process Tree
rundll32.exe (1468)
explorer.exe (348)
Behavior Analysis
Process rundll32.exe, PID 1468
Process explorer.exe, PID 348 , Parent PID 1468
Static Summary
The binary is packed, a known packer has been identified
PEiD Signatures
Armadillo v1.xx v2.xx
Imported Symbols
Library kernel32.dll
Library user32.dll
Library advapi32.dll
Library msvcrt.dll
Library gdi32.dll
Library ole32.dll
Library shell32.dll
Figura 30 Anlise dinmica Cuckoo para a amostra 1.

Logo no incio da figura apresentado as vrias assinaturas da amostra, assim como o


nome e tipo de ficheiro neste caso uma DLL.
Depois, process tree, a ferramenta identifica os processos criados, neste caso foram
criados dois processos, rundll32.exe e explorer.exe, que utilizam nomes de
processos normais do sistema operativo Windows.
Na anlise de comportamento, Behavior Analysis, pode-se verificar-se que a amostra
manipulou o PID (Process Identifier), no sentido de obter um valor mais baixo e assim
passar por um processo legtimo. Neste caso, como se pode ver na figura, processo
explorer.exe, tem um PID 348 que inferior ao processo pai, que tem um PID de
1468.
Relativamente assinatura, foi identificado o packer Armadillo.
66

Captulo 5 Resultados do Trabalho


Finalmente, a framework apresenta a lista de bibliotecas carregadas ao processo o que
permite identificar os mdulos usados e ter uma ideia das funcionalidades
implementadas na amostra.
Uma vez que o grau de similaridade entre as amostras 3 e 4 muito elevado, o resultado
da anlise semelhante pelo que se optou por no apresentar.
O resultado da anlise da framework Cuckoo da amostra 2 apresentada no Anexo 4,
devido sua grande extenso foi colocada nos anexos onde e possvel verificar a
comunicao com um host e a criao de ficheiros e entradas no registo.

67

Captulo 5 Resultados do Trabalho

5.3.3. Identificao de malware


Aps a anlise dinmica das amostras das amostras necessrio construir assinatura que
permita aos analistas identificar as amostras e as suas caractersticas.
A ferramenta YARA permite a construo com base em condies lgicas e padres,
classificar e identificar amostras de malware.
Assim com a aplicando as regras apresentadas no Anexo 5 na ferramenta YARA,
identificaram-se os packers das amostras capturadas. A partir desses dados construiu-se
a grfico da Figura 31, em que se apresenta para cada packer o nmero de amostras que
o utilizou.
1200

N de amostras

1000
800

998
778

600
400
200
44

28

27

13

Tipo de packers
Figura 31 grfico comparativo sobre a distribuio de packers nas amostras.

Verificamos que a grande maioria das amostras utilizam packers conhecidos, sendo o
mais frequente o UPX e seguido pelo Armadillo. O estudo efetuado por Alzab[3], em
que fez a anlise do tipo de packer em amostras maliciosas, tambm verificou que o
UPX era o packer dominante.

68

Captulo 5 Resultados do Trabalho


Para uma anlise mais aprofundada, a ferramenta YARA pode ser configurada de forma
a importar a Base de Dados do PEiD 21.
Podemos construir regras que permitam utilizar a informao da base de dados do PEiD
e assim caracterizar
Para caracterizar as funcionalidades das amostras com a ferramenta da YARA[64],
construi-se um conjunto de regra, disponveis no Anexo 6. Estas regras permitem
verificar se as amostras tm a capacidade de enviar spam, se o seu trfego encriptado,
ou utilizam IRC como meio para receber comandos.
O resultado apresentado na Tabela 9.
Capacidades da amostra
Executveis incorporados
Spam
Encoding
Irc

Nmero de amostras
55
33
7
4

Tabela 9 Capacidades detetadas nas amostras.

Como podemos ver, os valores mais frequentes so de executveis incorporados que


foram obtidas atravs da string de um PE depois dos primeiros 1024 bytes (Anexo 6),
ou capacidades de IRC22 atravs de identificadores.

5.4. Discusso de resultados


Das anlises efetuadas aos dados do perodo analisado, verificou-se que ocorreram
ataques praticamente todos os dias, mesmo em hosts que no estabelecem ligaes com
o exterior. Este facto o refora a ideia que qualquer computador que se liga internet
fica sujeito imediatamente sujeito a tentativas de intruso, pelo que deve estar integrado
numa estratgia de segurana, pelo menos uma firewall.
Dentro dos ataques registados, verificou que dominaram os ataques plataforma
Windows, nomeadamente aos servios de partilha de ficheiros (SMB) e bases de dados
(MSSQL). Para alm disso, em nmero reduzido, registaram-se ataques aos servidores
web (HTTP), servidor de nomes Windows (WINS) e servidor de transferncia de
ficheiros (FTP). Ataques pontuais no foram analisados.

21
22

Ferramenta para identificao de packers, compiladores e criptografia.


Protocolo que a amostra utiliza para comunicar com o servidor C&C .

69

Captulo 5 Resultados do Trabalho


Foi possvel detetar um ataque de fora bruta (abuso de mecanismos de autenticao) a
partir da observao do trfego registado, o que evidencia a utilidade de um honeypot
como ferramenta de monitorizao.
Para alm disso permitiu uma melhor caracterizao, compreenso das amostras e
vulnerabilidades utilizadas. Com este conhecimento possvel responder melhor a
incidentes e utilizar a informao para alimentar outros sistemas como por exemplo
sistemas de visualizao protegendo a infraestrutura de uma forma mais eficaz.

70

CAP 6
6. Concluses e trabalhos futuros
O malware uma das grandes causas das atividades ilcitas que ameaam os
utilizadores da Internet. As ferramentas de segurana tradicionais, como os IDS e
firewall, baseiam-se no uso de assinaturas (hashes) para reconhecer as ameaas que nos
dias de hoje necessrio complementar estes sistemas com outras ferramentas.
Normalmente a deteo e registo de malware feito por analistas, que dado o crescente
nmero de ataques de novo malware, de variaes e do uso de tcnicas evasivas, tornam
a anlise cada vez mais difcil, tornando a sua deteo e registo num processo moroso.
Para colmatar este problema surgiram novas ferramentas que permitem detetar, capturar
e analisar amostras de malware, facilitando o seu registo. Sendo este um tema muito
vasto e complexo, optou-se por fazer uma caraterizao alargada em dois captulos,
nomeadamente, contextualizao das malware e tcnicas para a sua deteo no Captulo
2 e dedicar o Captulo 3 a uma caracterizao da anlise de malware. Assim, serviu para
contextualizar tcnicas para a sua deteo. Tambm foram caracterizadas as ameaas
(malware e botnets) e as suas estratgias de infeo. Foram apresentados os IDS
tradicionais e as estratgias com solues honeypots. Foi efetuada a sua classificao e
abordou-se os principais problemas inerentes ao uso dos mesmos. Foi apresentada
ferramentas de sandbox e a sua comparao, com IDS e honeypots. Tambm foi
apresentado conceitos da virtualizao versus emulao e as tcnicas utilizadas pelo
malware para detetar a presena de virtualizao/emulao e dissimularem a sua prpria
presena. Por fim, apresentadas as mquinas virtuais HVM.
Assim foi proposta uma arquitetura para a captura, anlise e deteo de malware, com
ferramentas de software opensource, nomeadamente a dionaea, YARA, ssdeep e
Cuckoo.
Depois das ferramentas estarem configuradas e testadas foi definido um caso de estudo
para o seu teste (Captulo 4).
A arquitetura proposta foi testada durante 4 meses, registando os ataques numa base de
dados e os dados processados e analisados (Captulo 5).
71

Captulo 6 Concluses e trabalhos futuros


Destaca-se o facto de todas as ferramentas usadas serem todas opensource e de
apresentarem uma gil expanso e adaptao entre si, favorecendo a integrar das vrias
ferramentas para o processo de monitorizao de atividades maliciosas e assim uma
melhor forma de detetar as ameaas.
Durante o perodo experimental, o sistema mostrou-se eficaz, capturando amostras e
registando as ligaes efetuadas. A soluo proposta no interfere com a rede de
produo, podendo ser aplicada nos segmentos de rede que j estejam em operao.
Dentro dos ataques registados, verificou que dominaram os ataques plataforma
Windows, nomeadamente aos servios de partilha de ficheiros (SMB) e bases de dados
(MSSQL). Para alm disso, em nmero reduzido, registaram-se ataques aos servidores
web (HTTP), servidor de nomes Windows (WINS) e servidor de transferncia de
ficheiros (FTP). Ataques pontuais no foram analisados. Foi tambm possvel detetar
um ataque de fora bruta (abuso de mecanismos de autenticao) a partir da observao
do trfego registado, o que evidencia a utilidade de um honeypot como ferramenta de
monitorizao.
Este campo vai continuar a evoluir pois os autores de malware prosperam em ambientes
interligados e como possvel observar as ameaas adaptam-se ao que a tecnologia trs
como o caso dos sistemas SCADA[143], que nos ltimos tempos foi alvo de ataques
orquestrados por governos, os dispositivos mveis que devido a sua ubiquidade e
correrem Linux tornam-se num alvo preferido, da comearem a aparecer plataformas
de anlise para plataformas mveis. As tecnologias da web moderna tambm so um
vetor que est a ser bastante explorado[91].
Apesar disso a indstria e a academia nos ltimos anos terem pesquisado solues
inovadoras, razes tcnicas impedem a sua grande adoo, assim toda a gente utiliza
antivrus que esto um passo atrs das ameaas correntes, a maior parte utiliza
tecnologia baseada em assinaturas, porque so fiveis e mais escalveis que tecnologia
baseada em comportamento mas preciso que haja mais pesquisa e desenvolvimento na
proteo proactiva. As solues proactivas oferecem uma melhor proteo contra as
ameaas, apesar de ainda ser necessrio resolver vrios problemas a tecnologia j existe,
como demonstra o estudo de Grudziecki[40], a tecnologia honeypot ainda no est
totalmente expandida e existe a possibilidade de se melhorar o campo com a introduo

72

Captulo 6 Concluses e trabalhos futuros


destas tecnologias. Para alm disso ainda difcil descobrir os vetores de ataques apenas
com as tecnologias HIDS.
Assim, bastante difcil providenciar um mtodo de limpeza 100% eficaz. Pois sem
saber qual extenso da infeo difcil assegurar que a limpeza foi efetuada
corretamente, apesar disso as solues e tecnologias descritas nesta dissertao
providenciam plataformas que nos ajudam a perceber melhor as ameaas assim
fornecendo mais uma camada de segurana, pois a segurana no obtida com uma
soluo mas sim atravs de um processo.
Para trabalho futuro seria proposto o estudo de solues de anlise dinmica e a sua
instrumentao para plataformas mveis, criao de um mdulo que permitisse ao
software a dissimulao e evaso de mtodos baseados em assinaturas, utilizando um
algoritmo fludo polimrfico baseado num paradigma de assemblagem vetorial,
providenciando assim cdigo executvel diferente por iterao, no havendo a
possibilidade de se efetuar uma assinatura. A criao de uma framework integrada com
as vrias funcionalidades, a mais importante seria talvez a de agrupamento de variantes
como a ferramenta peHash[136] efetua e servios de visualizao aplicados a binrios
como os do BinVis.

73

Bibliografia
[1] honeyviz An Interactive Honeynet Visualization Tool, 2011.
[2] Simple steps to improve Dionaea SMB stack, 2010.
[3] Alazab, M., Venkataraman, S. and Watters, P. Towards Understanding Malware
Behaviour by the Extraction of API Calls. In Proceedings of the Proceedings of the
2010 Second Cybercrime and Trustworthy Computing Workshop (2010). IEEE
Computer Society.
[4] Albin, E. and Rowe, N. C. A Realistic Experimental Comparison of the Suricata and
Snort Intrusion-Detection Systems. In Proceedings of the Proceedings of the 2012 26th
International Conference on Advanced Information Networking and Applications
Workshops (2012). IEEE Computer Society.
[5] Baecher, P. and Koetter, M. Dionaea dionaea catches bugs,2010.
[6] Bailey, M., Cooke, E., Jahanian, F., Xu, Y. and Karir, M. A Survey of Botnet
Technology and Defenses. In Proceedings of the Proceedings of the 2009 Cybersecurity
Applications \& Technology Conference for Homeland Security (2009). IEEE Computer
Society.
[7] Bania, P. Old vmware cloudburst exploit2012).
[8] Bauer, M. Paranoid Penguin: Designing and Using DMZ Networks to Protect
Internet Servers. Linux J., 2001, 83es 2001), 16.
[9] Berthier, R. G. Advanced honeypot architecture for network threats quantification.
University of Maryland at College Park, 2009.
[10] Bishop, M. and Frincke, D. A. Who Owns Your Computer? IEEE Security and
Privacy, 4, 2 2006), 61-63.
[11] Boro, D., Nongpoh, B. and Bhattacharyya, D. K. Anomaly based intrusion
detection using meta ensemble classifier. In Proceedings of the Proceedings of the Fifth
International Conference on Security of Information and Networks (Jaipur, India, 2012).
ACM.
[12] Chamales, G. The Honeywall CD-ROM. IEEE Security and Privacy, 2, 2 2004),
77-79.
[13] Cheng, J. Symantec: Flashback botnet could generate up to $10k per day in ad
clicks, 2012.
[14] Chuvakin, A. Honeypot Intelligence: "Honeynets: High Value Security Data".
Netw. Secur., 2003, 8 2003), 11-15.
[15] Conti, G. Security Data Visualization. No Starch Press, 2007.
[16] Corey, J. Advanced Honey Pot Identification And Exploitation.
[17] Corin, R., Doumen, J. and Etalle, S. Analysing Password Protocol Security Against
Off-line Dictionary Attacks. Electron. Notes Theor. Comput. Sci., 1212005), 47-63.
74

Bibliografia
[18] Cova, M., Kruegel, C. and Vigna, G. Detection and analysis of drive-by-download
attacks and malicious JavaScript code. In Proceedings of the Proceedings of the 19th
international conference on World wide web (Raleigh, North Carolina, USA, 2010).
ACM.
[19] Curran, K., Morrissey, C., Fagan, C., Murphy, C., O'Donnell, B., Fitzpatrick, G.
and Condit, S. Monitoring hacker activity with a Honeynet. Int. J. Netw. Manag., 15, 2
2005), 123-134.
[20] DAMBALLA. DGAs in the Hands of Cyber-Criminals Examining the state of the
art in malware evasion techniques. 2012.
[21] Dekker, M. Security of the Internet. Kent Encyclopedia of Telecommunications
vol.15 1997.
[22] Delugr, G. How to develop a rootkit for Broadcom NetExtreme network cards.
Sogeti / ESEC R&D, 2011.
[23] Desnos, A., Filiol, E. and Lefou, I. Detecting (and creating !) a HVM rootkit (aka
BluePill-like). J. Comput. Virol., 7, 1 2011), 23-49.
[24] Dittmann, J., Karpuschewski, B., Fruth, J., Petzel, M. and Munder, R. An
exemplary attack scenario: threats to production engineering inspired by the Conficker
worm. In Proceedings of the Proceedings of the First International Workshop on
Digital Engineering (Magdeburg, Germany, 2010). ACM.
[25] Dittrich, D. So you want to take over a botnet. In Proceedings of the Proceedings
of the 5th USENIX conference on Large-Scale Exploits and Emergent Threats (San
Jose, CA, 2012). USENIX Association.
[26] Eilam, E. Reversing: Secrets of Reverse Engineering. Wiley, 2008.
[27] Elliott, C. Botnets: To what extent are they a threat to information security? Inf.
Secur. Tech. Rep., 15, 3 2010), 79-103.
[28] Embleton, S., Sparks, S. and Zou, C. SMM rootkits: a new breed of OS
independent malware. In Proceedings of the Proceedings of the 4th international
conference on Security and privacy in communication netowrks (Istanbul, Turkey,
2008). ACM.
[29] Faruki, P., Laxmi, V., Gaur, M. S. and Vinod, P. Mining control flow graph as API
call-grams to detect portable executable malware. In Proceedings of the Proceedings of
the Fifth International Conference on Security of Information and Networks (Jaipur,
India, 2012). ACM.
[30] Ferguson, R. Japanese Porn Extortion, 2010.
[31] Fernandes, D. cHook - The new CuckooBox Hooking Engine, 2011.
[32] Ferrie, P. Attacks on Virtual Machine Emulators, 2006.
[33] Filiol, E. and Josse, S. New Trends in Security Evaluation of Bayesian NetworkBased Malware Detection Models. In Proceedings of the Proceedings of the 2012 45th
Hawaii International Conference on System Sciences (2012). IEEE Computer Society.
[34] Galen Hunt , D. B. Detours: Binary Interception of Win32 Functions, 1999.
[35] Garfinkel, T., Adams, K., Warfield, A. and Franklin, J. Compatibility is not
transparency: VMM detection myths and realities. In Proceedings of the Proceedings of
75

Bibliografia
the 11th USENIX workshop on Hot topics in operating systems (San Diego, CA, 2007).
USENIX Association.
[36] Garfinkel, T. and Rosenblum, M. A Virtual Machine Introspection Based
Architecture for Intrusion Detection, 2003.
[37] Garfinkel, T. and Rosenblum, M. When virtual is harder than real: security
challenges in virtual machine based computing environments. In Proceedings of the
Proceedings of the 10th conference on Hot Topics in Operating Systems - Volume 10
(Santa Fe, NM, 2005). USENIX Association.
[38] Greamo, C. and Ghosh, A. Sandboxing and Virtualization: Modern Tools for
Combating Malware. IEEE Security and Privacy, 9, 2 2011), 79-82.
[39] Griffin, K., Schneider, S., Hu, X. and Chiueh, T.-C. Automatic Generation of
String Signatures for Malware Detection. In Proceedings of the Proceedings of the 12th
International Symposium on Recent Advances in Intrusion Detection (Saint-Malo,
France, 2009). Springer-Verlag.
[40] Grudziecki, T., Jacewicz, P., Juszczyk, ., Kijewsk, P. and Pawliski, P. Proactive
detection of security incidents II - Honeypots European Network and Information
Security Agency, 2012.
[41] Hanel, A. An Intro to Creating Anti-Virus Signatures:, 2011.
[42] Hay, A., Cid, D. and Bray, R. OSSEC Host-Based Intrusion Detection Guide.
Syngress Publishing, 2008.
[43] HBgary Loading a DLL without calling LoadLibrary.
[44] Hoopes, J. Virtualization for Security: Including Sandboxing, Disaster Recovery,
High Availability, Forensic Analysis, and Honeypotting. Syngress Publishing, 2009.
[45] Howard, F. Exploring the Blackhole exploit kit. 2012.
[46] Ierace, N., Urrutia, C. and Bassett, R. Intrusion prevention systems. Ubiquity,
2005, June 2005), 2-2.
[47] intelligence, S. c. 2011 Annual Report: Symantec Internet Security Threat Report,
2011.
[48] Irani, D., Balduzzi, M., Balzarotti, D., Kirda, E. and Pu, C. Reverse social
engineering attacks in online social networks. In Proceedings of the Proceedings of the
8th international conference on Detection of intrusions and malware, and vulnerability
assessment (Amsterdam, The Netherlands, 2011). Springer-Verlag.
[49] Jakobsson, M. and Ramzan, Z. Crimeware: Understanding New Attacks and
Defenses (Symantec Press). Addison-Wesley Professional, 2008.
[50] Jamshed, M. A., Lee, J., Moon, S., Yun, I., Kim, D., Lee, S., Yi, Y. and Park, K.
Kargus: a highly-scalable software-based intrusion detection system. In Proceedings of
the Proceedings of the 2012 ACM conference on Computer and communications
security (Raleigh, North Carolina, USA, 2012). ACM.
[51] Jones, K. J., Bejtlich, R. and Rose, C. W. Real Digital Forensics: Computer
Security and Incident Response. Addison-Wesley Professional, 2005.
[52] Kanich, C., Kreibich, C., Levchenko, K., Enright, B., Voelker, G. M., Paxson, V.
and Savage, S. Spamalytics: an empirical analysis of spam marketing conversion. In
76

Bibliografia
Proceedings of the Proceedings of the 15th ACM conference on Computer and
communications security (Alexandria, Virginia, USA, 2008). ACM.
[53] Kessem, L. Phishing in Season: A Look at Online Fraud in 2012, 2012.
[54] Kim, G. H. and Spafford, E. H. Tripwire: a case study in integrity monitoring.
ACM Press/Addison-Wesley Publishing Co., 1998.
[55] Kim, N.-U., Jung, S.-M. and Chung, T.-M. An efficient hash-based load balancing
scheme to support parallel NIDS. In Proceedings of the Proceedings of the 2011
international conference on Computational science and its applications - Volume Part I
(Santander, Spain, 2011). Springer-Verlag.
[56] King, S. T., Chen, P. M., Wang, Y.-M., Verbowski, C., Wang, H. J. and Lorch, J.
R. SubVirt: Implementing malware with virtual machines. In Proceedings of the
Proceedings of the 2006 IEEE Symposium on Security and Privacy (2006). IEEE
Computer Society.
[57] Klein, T. ScoopyNG - The VMware detection tool, 2012.
[58] Kohno, T., Broido, A. and Claffy, K. C. Remote Physical Device Fingerprinting.
IEEE Trans. Dependable Secur. Comput., 2, 2 2005), 93-108.
[59] Kornblum, J. Identifying almost identical files using context triggered piecewise
hashing. Digit. Investig., 32006), 91-97.
[60] Kramer, N. USER & GDI Compat, part 5 -- Miscellaneous, 2006.
[61] Lacombe, E., Nicomette, V. and Deswarte, Y. Enforcing kernel constraints by
hardware-assisted virtualization. J. Comput. Virol., 7, 1 2011), 1-21.
[62] Lengyel, T. K., Neumann, J., Maresca, S., Payne, B. D. and Kiayias, A. Virtual
machine introspection in a hybrid honeypot architecture. In Proceedings of the
Proceedings of the 5th USENIX conference on Cyber Security Experimentation and Test
(Bellevue, WA, 2012). USENIX Association.
[63] Li, R., Gan, L. and Jia, Y. Propagation Model for Botnet Based on Conficker
Monitoring. In Proceedings of the Proceedings of the 2009 Second International
Symposium on Information Science and Engineering (2009). IEEE Computer Society.
[64] Ligh, M., Adair, S., Hartstein, B. and Richard, M. Malware Analyst's Cookbook
and DVD: Tools and Techniques for Fighting Malicious Code. Wiley, 2010.
[65] Liston, T. and Skoudis, E. On the Cutting Edge:Thwarting Virtual Machine
Detection, 2006.
[66] Lu, C. and Brooks, R. R. P2P hierarchical botnet traffic detection using hidden
Markov models. In Proceedings of the Proceedings of the 2012 Workshop on Learning
from Authoritative Security Experiment Results (Arlington, Virginia, 2012). ACM.
[67] MAAWG, M. A.-A. W. G. Email Metrics Program: The Network Operators
Perspective. 2011.
[68] malwr.com Cuckoo, 2012.
[69] Mandiant Research: Mandiant ApateDNS.
[70] Marty, R. Applied Security Visualization. Addison-Wesley Professional, 2008.

77

Bibliografia
[71] Menn, J. Malware economy: Fraudsters thrive in a parallel web universe. FT,,
2011.
[72] Microsoft Vulnerabilities in SMB Could Allow Remote Code Execution, 2009.
[73] Miller, F. P., Vandome, A. F. and McBrewster, J. Comparison of Windows and
Linux: Linux, Microsoft Windows, Operating system, Proprietary software, Free
software, Binary blob, Embedded system, Supercomputer, ... Desktop computer, Free
software community. Alpha Press, 2009.
[74] Mokube, I. and Adams, M. Honeypots: concepts, approaches, and challenges. In
Proceedings of the Proceedings of the 45th annual southeast regional conference
(Winston-Salem, North Carolina, 2007). ACM.
[75] Molina, J. Evaluating host intrusion detection systems. University of Maryland at
College Park, 2007.
[76] Msdn User mode and kernel mode (Windows Drivers), 2012.
[77] msdn WinAPI Documentation.
[78] Mustapha, Y. B., Debar, H. and Jacob, G. Limitation of honeypot/honeynet
databases to enhance alert correlation. In Proceedings of the Proceedings of the 6th
international conference on Mathematical Methods, Models and Architectures for
Computer Network Security: computer network security (St. Petersburg, Russia, 2012).
Springer-Verlag.
[79] Nagaraja, S., Houmansadr, A., Piyawongwisal, P., Singh, V., Agarwal, P. and
Borisov, N. Stegobot: a covert social network botnet. In Proceedings of the Proceedings
of the 13th international conference on Information hiding (Prague, Czech Republic,
2011). Springer-Verlag.
[80] NakedSecurity One week later: Rustock and Pharmacy Express still flatlined,
2011.
[81] Nazario, J. PhoneyC: a virtual client honeypot. In Proceedings of the Proceedings
of the 2nd USENIX conference on Large-scale exploits and emergent threats: botnets,
spyware, worms, and more (Boston, MA, 2009). USENIX Association.
[82] Oberheide, J. winnie, 2006.
[83] Ollmann, G. Want to rent an 80-120k DDoS Botnet?2009).
[84] Orman, H. The Morris Worm: A Fifteen-Year Perspective. IEEE Security and
Privacy, 1, 5 2003), 35-43.
[85] Ortega, A. Pafish (Paranoid Fish, 2012.
[86] Payton, A. M. A review of spyware campaigns and strategies to combat them. In
Proceedings of the Proceedings of the 3rd annual conference on Information security
curriculum development (Kennesaw, Georgia, 2006). ACM.
[87] Polakis, I., Kontaxis, G., Antonatos, S., Gessiou, E., Petsas, T. and Markatos, E. P.
Using social networks to harvest email addresses. In Proceedings of the Proceedings of
the 9th annual ACM workshop on Privacy in the electronic society (Chicago, Illinois,
USA, 2010). ACM.
[88] Project, T. H. Know Your Enemy:Honeynets
What a honeynet is, its value, overview of how it works, and risk/issues involved., 2006.
78

Bibliografia
[89] Provos, N. A virtual honeypot framework. In Proceedings of the Proceedings of
the 13th conference on USENIX Security Symposium - Volume 13 (San Diego, CA,
2004). USENIX Association.
[90] Provos, N. and Holz, T. Virtual honeypots: from botnet tracking to intrusion
detection. Addison-Wesley Professional, 2007.
[91] Provos, N., Mavrommatis, P., Rajab, M. A. and Monrose, F. All your iFRAMEs
point to Us. In Proceedings of the Proceedings of the 17th conference on Security
symposium (San Jose, CA, 2008). USENIX Association.
[92] Pungila, C. and Negru, V. A highly-efficient memory-compression approach for
GPU-Accelerated virus signature matching. In Proceedings of the Proceedings of the
15th international conference on Information Security (Passau, Germany, 2012).
Springer-Verlag.
[93] Qiao, Y. and Weixin, X. A Network IDS with low false positive rate. In
Proceedings of the Proceedings of the Evolutionary Computation on 2002. CEC '02.
Proceedings of the 2002 Congress - Volume 02 (2002). IEEE Computer Society.
[94] Response, S. S. The Shamoon Attacks, 2012.
[95] Rodriguez, I. Cazando Cuckoos, 2012.
[96] Roussev, V. An evaluation of forensic similarity hashes. Digit. Investig., 82011),
S34-S41.
[97] Rowan, T. IPS: Intrusion prevention systems: superior security. Netw. Secur.,
2007, 9 2007), 11-15.
[98] rutkowska, J. Introducing Blue Pill, 2006.
[99] Rutkowska, J. Red Pill... or how to detect VMM using (almost) one CPU
instruction, 2004.
[100] Rutkowska, J. Subverting Vista Kernel for Fun and Profit. In Proceedings of the
Black Hat (Las Vegas, 2006).
[101] Rutkowski, J. Execution Path Analysis: Finding kernel-based rootkits., 2002.
[102] S21sec Citadel Updates: Anti-VM and Encryption change, 2012.
[103] Saidi, H. Logical foundation for static analysis: application to binary static
analysis for security. Ada Lett., XXVIII, 1 2008), 96-102.
[104] Sangkatsanee, P., Wattanapongsakorn, N. and Charnsripinyo, C. Practical realtime intrusion detection using machine learning approaches. Comput. Commun., 34, 18
2011), 2227-2235.
[105] Schuymer, B. D. ebtables, 2011.
[106] SecurityXploded Remote Thread Execution in System Process using
NtCreateThreadEx for Vista & Windows7.
[107] Shimamura, M. and Kono, K. Using Attack Information to Reduce False Positives
in Network IDS. In Proceedings of the Proceedings of the 11th IEEE Symposium on
Computers and Communications (2006). IEEE Computer Society.
[108] Sikorski, M. and Honig, A. Practical Malware Analysis: The Hands-On Guide to
Dissecting Malicious Software. No Starch Press, 2012.
79

Bibliografia
[109] Snow, K. and Monroe, F. Automatic Hooking for Forensic Analysis of
Document-based Code Injection Attacks.Techniques and Empirical Analyses. In
Proceedings of (2012).
[110] Solomon, A. All About Viruses, 2003.
[111] sophos. Security Threat Report 2012. 2012.
[112] Soroka, E. V. and Iracleous, D. P. Social networks as a platform for distributed
dictionary attack. In Proceedings of the Proceedings of the 5th WSEAS international
conference on Communications and information technology (Corfu Island, Greece,
2011). World Scientific and Engineering Academy and Society (WSEAS).
[113] Spafford, E. H. Computer viruses as artificial life. Artif. Life, 1, 3 1994), 249-265.
[114] Spitzner, L. Honeypots: Tracking Hackers. Addison-Wesley Longman Publishing
Co., Inc., 2002.
[115] Spitzner,
honeypot, 2010.

L.

http://www.symantec.com/connect/articles/honeytokens-other-

[116] Stasiukonis, S. Social Engineering, the USB Way, 2006.


[117] Stevens, M. CWI cryptanalyst discovers new cryptographic attack variant in
Flame spy malware, 2012.
[118] support, M. Working with the AppInit_DLLs registry value, 2006.
[119] Surfnet SURFcert IDS, 2011.
[120] swiat Notes on exploitability of the recent Windows BROWSER protocol issue,
2011.
[121] Symantec 2012 Norton Cybercrime Report, 2012.
[122] Szor, P. The Art of Computer Virus Research and Defense. Addison-Wesley
Professional, 2005.
[123] Team, C. S. Core Principles, 2012.
[124] Thonnard, O. and Dacier, M. A strategic analysis of spam botnets operations. In
Proceedings of the Proceedings of the 8th Annual Collaboration, Electronic messaging,
Anti-Abuse and Spam Conference (Perth, Australia, 2011). ACM.
[125] Tian, J. and Li, N. A New Proactive Defense Model Based on Intrusion Deception
and Traceback. Springer-Verlag, 2008.
[126] times, N. Cyberattacks on Iran Stuxnet and Flame, 2012.
[127] total, v. virus total 2fa0e36b36382b74e6e6a437ad664a80.
[128] Total, V. Virus total 87136c488903474630369e232704fa4d.
[129] Turley, J. Managing Tasks on x86 Processors, 2004.
[130] Vasiliadis, G., Polychronakis, M., Antonatos, S., Markatos, E. P. and Ioannidis, S.
Regular Expression Matching on Graphics Hardware for Intrusion Detection. In
Proceedings of the Proceedings of the 12th International Symposium on Recent
Advances in Intrusion Detection (Saint-Malo, France, 2009). Springer-Verlag.
[131] Vasiliadis, G., Polychronakis, M. and Ioannidis, S. MIDeA: a multi-parallel
intrusion detection architecture. In Proceedings of the Proceedings of the 18th ACM
80

Bibliografia
conference on Computer and communications security (Chicago, Illinois, USA, 2011).
ACM.
[132] Wagner, D. and Soto, P. Mimicry attacks on host-based intrusion detection
systems. In Proceedings of the Proceedings of the 9th ACM conference on Computer
and communications security (Washington, DC, USA, 2002). ACM.
[133] Wang, X. and Jiang, X. Artificial malware immunization based on dynamically
assigned sense of self. In Proceedings of the Proceedings of the 13th international
conference on Information security (Boca Raton, FL, USA, 2011). Springer-Verlag.
[134] Watson, D. Web App Attacks: The evolution of web application attacks. Netw.
Secur., 2007, 11 2007), 7-12.
[135] White, S., Kephart, J. and Chess, D. M. Computer Viruses: A Global Perspective,
1995.
[136] Wicherski, G. peHash: a novel approach to fast malware clustering. In
Proceedings of the Proceedings of the 2nd USENIX conference on Large-scale exploits
and emergent threats: botnets, spyware, worms, and more (Boston, MA, 2009).
USENIX Association.
[137] Wood, T., Cherkasova, L., Ozonat, K. and Shenoy, P. Profiling and modeling
resource usage of virtualized applications. In Proceedings of the Proceedings of the 9th
ACM/IFIP/USENIX International Conference on Middleware (Leuven, Belgium, 2008).
Springer-Verlag New York, Inc.
[138] Wu, L. and Zhang, Y. Automatic Detection Model of Malware Signature for Antivirus Cloud Computing. In Proceedings of the Proceedings of the 2011 10th IEEE/ACIS
International Conference on Computer and Information Science (2011). IEEE
Computer Society.
[139] Xi, J. A Design and Implement of IPS Based on Snort. In Proceedings of the
Proceedings of the 2011 Seventh International Conference on Computational
Intelligence and Security (2011). IEEE Computer Society.
[140] Xiang, C., Binxing, F., Peng, L. and Chaoge, L. Advanced triple-channel botnets:
model and implementation. In Proceedings of the Proceedings of the 2012 ACM
conference on Computer and communications security (Raleigh, North Carolina, USA,
2012). ACM.
[141] xkcd Devotion to Duty.
[142] Yan, L.-K., Jayachandra, M., Zhang, M. and Yin, H. V2E: combining hardware
virtualization and softwareemulation for transparent and extensible malware analysis. In
Proceedings of the Proceedings of the 8th ACM SIGPLAN/SIGOPS conference on
Virtual Execution Environments (London, England, UK, 2012). ACM.
[143] Zhu, B., Joseph, A. and Sastry, S. A Taxonomy of Cyber Attacks on SCADA
Systems. In Proceedings of the Proceedings of the 2011 International Conference on
Internet of Things and 4th International Conference on Cyber, Physical and Social
Computing (2011). IEEE Computer Society.

81

Anexos
Anexo 1 Querys SQL
Seguem-se as querys SQL utilizadas para obteno dos grficos e tabelas apresentados
no captulo 5, resultados do trabalho.
Contagem da utilizao dos drivers nos ataques SQL
SELECT
COUNT(*),
mssql_fingerprint_cltintname
FROM
mssql_fingerprints
NATURAL JOIN connections
WHERE
local_port = 1433
GROUP BY
mssql_fingerprint_cltintname

Contagem das vulnerabilidades utilizadas no SMB (Tabela 6)


SELECT
COUNT(DISTINCT connections.connection),
dcerpcserviceop_vuln,
dcerpcservice_name,
dcerpcserviceop_name
FROM
connections
JOIN dcerpcbinds
NATURAL JOIN dcerpcrequests
JOIN dcerpcservices ON(dcerpcservice_uuid = dcerpcbind_uuid)
JOIN dcerpcserviceops ON(dcerpcserviceops.dcerpcservice =
dcerpcservices.dcerpcservice AND dcerpcserviceop_opnum =
dcerpcrequest_opnum)
WHERE connections.connection >= 1532
GROUP BY
dcerpcservice_name,
dcerpcserviceop_name
ORDER BY
dcerpcserviceop_vuln DESC,
COUNT(DISTINCT connections.connection) DESC

82

Anexos
Contagem do nmero de amostras
SELECT
COUNT(DISTINCT download_md5_hash) FROM downloads;

Total de ligaes e downloads de amostras capturados (Figura 22)


SELECT
strftime ('%Y%m%d', connection_timestamp,'unixepoch','localtime')AS
date,
COUNT (DISTINCT connections.connection)
FROM
connections
LEFT OUTER JOIN
downloads ON (downloads.connection == connections.connection)
GROUP BY
strftime ('%Y%m%d', connection_timestamp,'unixepoch','localtime')
ORDER BY
date ASC;

83

Anexos

Anexo 2 Anlise de similaridade


Nas tabelas seguintes, apresenta-se o resultado da anlise de similaridade, produzida
pela ferramenta ssdeep, relativamente s restantes amostras capturadas.
Amostra 1
hash: 78c9042bbcefd65beaa0d40386da9f89
Amostra Original
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89
78c9042bbcefd65beaa0d40386da9f89

Amostra correspondente
1d1781cb827329c028c626d0e9ea5786
9c5f4f8d93211e9e93da3dab0a38dd12
4de1c47636932f5be26d7fd6c37832c9
eca480f762869e900117c3eb88c86fdf
75567eaebfb17bd8b6000fb59892ad76
79b72bf0e8c72e0bb6c1bcf26cac43e3
c2f7a55d11ca3cd3c1c87902fcf57d81
78c9042bbcefd65beaa0d40386da9f89
145ab4b24b2325db93a13b678a02fe6c
5dbb8419ca7f842d6d5cc5275bd109b3
6d2a0d384af5480dcb4e2a8a85d1717f
b0e5a69ce62ea0f3c638259614d4f0da
ac4dcaf057972b4e0c5f94244781be3a
814b7f50dc8cd3950f79cb6384c470d4
99617e3b00341a954c1e07afbde820f9
c24506b761985be0d36d2a84a86b4f53
fee8346d2af333780eafabaf5a627f05
5744e3941b0acc157f3c2c1960133506
a2706007f62fbaacbc0e9023a867ae78
3227c08cf6ab07abf73d40beb8a91138
b180e8377599dd7a6eb14055aef90b3b
96773969f129e243c375d3bb498468b7
f22b8e43bc2bd4cb94442cb0b14fb19e
daba439a67feae5cb683a79940315e86
4f46e93f04664cc6442f029085f9a045
a2ad35e181d64e56fcdbfa25f03b14d0
59b28c44304cacca269715c5ba74a641
a1637f82e85c48d5550cac9cc21797ba
141ac484d0c4522cb2ebdd1e89592cb5
3d15441f53210f3a1e2b55221213e3b3
53bef0f704aa3b3114b212f6bc1fb254
7a7428538256b90b3c3dcd00f17ca103
7a2dd2280a5755fbf1cea189e7328468
4f7756c570ec6833ade7c2cbdb08a423

% similaridade
90
97
99
50
72
54
99
100
68
77
99
97
58
52
66
99
77
99
99
65
99
66
29
85
72
99
36
99
100
100
100
66
99
99

84

Anexos
Amostra 2
hash: 2fa0e36b36382b74e6e6a437ad664a80
Amostra Original
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80
2fa0e36b36382b74e6e6a437ad664a80

Amostra correspondente
cf263991bb889c28e6185ac4dd24668f
df51e3310ef609e908a6b487a28ac068
98bab9234417017bb45b23a1a3b990da
e1665b18dab830e3591c07fa8ed12bc9
e269d0462eb2b0b70d5e64dcd7c676cd
833cda5b5bef5989deb6bf57c557ce30
4ed7d8ee602f8259819f860002d31952
7f9c83ea461654415a7600a5914c1c6d
f4a200f7818dfb166b9a3d238ac55a2d
79a29a6d8fd617fe6d4bbdd2ae9ad707
dcf252742308e2fe835951b3b70e7f8b
11398f7c101a9a9e2905b055f7b74c65
3228f8bc721572422c268f244476dbb8
a2bf71ed94580d2e957b550c9aae1490
93094c5ea5a47e5c5f3e020f2c434c35
bb39f29fad85db12d9cf7195da0e1bfe
1f8a826b2ae94daa78f6542ad4ef173b
3f3c1d5fa4f8ba488627342f3bceb730
7b213ea370cc70aa4a72e6f16060aa17
19b830df85c5352de752ac293d69bc8a
925dabe1aa7a95811d363bf3441c74b4
0cc3c16497214997a9aca72e387c9d9b
98eb0fdadf8a403c013a8b1882ec986d
f8815cdca238ad5ab566f05f5a6335a4
14a09a48ad23fe0ea5a180bee8cb750a
ebac58febea169377207feeddde3d5e0
bbbd1b16cd1abbcc52f0144545a7c3d7
1d419d615dbe5a238bbaa569b3829a23
6583308c5719d5f4c1822cab1e4bde41
99c66a9849f7c40d57d1a5a09e057499
de296e71ff3f92b8ae4cd7d31b78cf35
9b1bec8e5fbc9696c60422a031147d07
aa42746ab390104ecff25980b6c0c49d
8b04c949f2c22bc6a073aa9f684f57bc
49275d6b7d86614740fd52fe05fbb2fc
1108cffab14ea6b3de35dac1c7acb3bc
e0093d6226892ab17f569342ea564241
697f001bc330ab483d77a707cd40c8d9
b21c6d4a3f0b92ceef0c1b6ce7b8ed73
97dabcdf3f601e2c084d1ec9b10335cd
cf0905aa3d6cba782fe1e44348650657
d058c2992e13692277f49f7011fbbb2a
87f9466fc96c85597002cd2e8ce4a949
b733c213b19a2debbb06c38b7f22f7ac
23de3267395f3e0c13445cc0bf314872
fec38d8953e4b0307f189f7aa909e0ba
fd28c5e1c38caa35bf5e1987e6167f4c
70287607b61a74e7c72b41cd3b54cd10
1f8d2db101703c8982160209ed5b21d1
e75a28030742ff19678035d98e138bb2
7d48c04671f008d80f0b48e7f7a4377e
2fa0e36b36382b74e6e6a437ad664a80

% similaridade
100
100
99
66
100
100
85
99
100
99
100
100
100
100
100
100
100
99
100
99
100
99
100
100
100
55
99
100
99
100
99
100
100
65
100
75
100
100
88
99
85
97
100
99
100
69
100
75
99
90
80
100

85

Anexos
Amostra 3
hash : 94e689d7d6bc7c769d09a59066727497
Amostra Original
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497
94e689d7d6bc7c769d09a59066727497

Amostra correspondente
c0742660d7cf2acda5a1becec8d5088e
ad035e21ddcfd2b817a15e48b59e9332
225adb41ceb89564f7f16994c34559de
fda403253dc882cf3498383fd85f8f5e
2cf049497bfe5c2384592c58b3ac0136
efb2265c54a33d5ce6233f6f6cd10e13
231af5fa27d09830764d0b2ccc46ba30
6cadaea378cbed5b43fa26f380fe7816
dec779ea377b0e092933cec33f6471eb
96c94c18f869027ca5e0897225d0ea59
94e689d7d6bc7c769d09a59066727497
cc6371b4a0077dde6ec9b00ffbc0d726
8a89666f646055bdd53c401f8e2643ee
317c93ee4369196991f4c11433545c94
768605cd38c3d2a890272a52b65e351a
bf801baf1cfbc5876480e6f6a489fb48
deb17535bc71a13f0354b0ca24a0b149
b71751ae77a2061cef8653997ab15570
d4950d3830f8fbc9fd0e184b1a1e553b
82b85e9b58664f51837cf5f7e066452a
a1f93c2a288efc1dbc3b074bb6a19328
9678d6af4676aee4f2aebc4287b10d7f
0c7ea27e64496b873f153a1c1f57db06
74c66374e4334ced50c9a34af0766400
929793e1152fe1d031c08f64e0e40879
884949d9bbe16a913f70db1abd60a4bb
f26939bc4ae43f9601cd97f59eccf4a1
bd32e02bf513e9fd8921009383de210d
7c6a56ff3eb3a09dbcf169c04a79b677
d9ec1b67439bf0b50f24fed7e816a0e4
c4ceebb4dafb10c110e7928fa1f21eed
13580c1d20ffa1c21c4f458d7e12120e
040b991f9fc9d3b3a212ee405349c817
125df07dea13a86d62c33aaefbdf15d2

% similaridade
97
96
99
99
88
94
71
97
80
71
100
99
99
97
88
99
97
83
99
71
88
61
93
66
77
99
99
71
100
99
80
94
63
100

86

Anexos
Amostra 4
hash: 87136c488903474630369e232704fa4d
Amostra Original
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d
87136c488903474630369e232704fa4d

Amostra correspondente
820a6f32222b8b024e9a6ba9f05518ad
5d0f7495b38f8b78f8c147e6bef66884
cf9237328e5d51587a29075387e0e760
cbc83322c13a04511f29072b97d38500
d2919f065e9dad40a35ba92e67e8d670
c9448bdd5e022ff24946f3403e70d911
7224c6632f72ec11ef4f1826022b5fda
a9c217d89dd88827f2c0705442574e1d
2504008f2cf4ab2ba1fd6d23b8a882e3
899b11fcf123fcf363d1b5c3638fa72e
a21461e34684459e797d70d264b77dcf
7b484ab2f10bba2d3987b5d282193f06
8c05fb1e9d0d51cf39a79ae7b5cbbb6c
6086326715f2388cdc7f87a72ebdaeb7
56285f00b34150dbcbcc4596dbc96eaf
635d7d63bbda1c8cde0d421972b9e8a0
56cab71f021c0d30ca69d463d1aed2e3
aeb77e1e6829dd95f9b55ce4da5d2d37
3c022c1a0d95926d1323bf87eec800bf
511e902499df01dc5d4b2cde966cf57a
f51b9575224df37b15d62ce3a0681f90
0acf35921bcc0ea534943d1de892085d
660bfa757f10393e090588b47f8b61af
e5a0f66fe8a471242db519d101f57d92
d4988f75117a29bfe062534895eff115
08f23e7b42c74c172aa9444d8db73f16
9678d6af4676aee4f2aebc4287b10d7f
114879aaf05470c73e0d66867a6eedec
dbf8dd9e6b0c1b7161f03a1c8c417d8f
96da541263f13cd72a52c082b609c6de
4c1d46d3ed91f0fc7287d3e2864b0892
d9552fb519946dba373d5cec8f604326
a62f3f9fbffe99d7926e7f11bcb21f5c
a9141372bad822b36d8183bbfc0b8c8a
6252f38e555f030d5ba0b1065292a74c
c2d6f37e89488bee5c74293eb598eb70
91e3ce2fd75e62c1fc325305a6dd79c5
87136c488903474630369e232704fa4d
8bfca26c67ed42bf18cb4f092a68c38f
a5e530f692c9a046595fde4c8ad8555c
d8b1472e21edd6032ca1b3018858f5d8
b5b4c5830da055235d17fa85bab640c7
040b991f9fc9d3b3a212ee405349c817
e47f2e89dd1ab78fb5cd0617ce4583a2
401b878562db50007b339ddcb589c8cc

% similaridade
77
99
96
97
99
79
97
97
82
97
90
99
38
90
99
99
94
94
88
91
99
82
85
88
94
94
44
99
99
99
99
99
77
99
91
99
99
100
85
63
100
96
49
99
99

87

Anexos

Anexo 3 Anlise de Cuckoo


Segue-se o algoritmo seguido pela ferramenta Cuckoo para anlise do malware.

88

Anexos

Anexo 4 Relatrios Cuckoo


Seguem-se os relatrios produzidos pela ferramenta Cuckoo para a amostra 2, que por
ser muito extensa optou-se apresentar neste Anexo .
Amostra 2
2fa0e36b36382b74e6e6a437ad664a80.exe
156672 bytes
PE32 executable for MS Windows (GUI) Intel 80386 32bit
2fa0e36b36382b74e6e6a437ad664a80
08f7be08af95995e5a3bb7787e23e3954e7ebe5b
721c1700d7dbd9bbb8a4e5561bf598b21bd8a5a69f6cee8ad9865335856158b3
3efb86874972bd502672e77468991d45b9094f9dc7f42cd0a6a0ab8a504138c7820f8df0da92
SHA512:
c9404e71a1ab1000a7ef1246ccc0be7b623bb2bd966e135488ed
35E44C74
CRC32:
3072:Wy277Ci2HMm3nQuTz5U0Ofr2AUx4bzWKeH3tMCmzsaz:Wy27mi2Hj3Qg112rh
Ssdeep:
Uxl/3thEse
Behavior Summary
Creates a batch script
Installs a program to run automatically at logon
File name:
File size:
File type:
MD5:
SHA1:
SHA256:

Process Tree

2fa0e36b36382b74e6e6a437ad664a80.exe (1468)
o cmd.exe (1060)
o ssms.exe (628)
cmd.exe (1452)

Behavior Analysis
Process 2fa0e36b36382b74e6e6a437ad664a80.exe, PID 1468
Process cmd.exe, PID 1060 , Parent PID 1468
Process ssms.exe, PID 628 , Parent PID 1468
Process cmd.exe, PID 1452 , Parent PID 628
Timestamp

Function

16:48:17:345

CreateFileW

16:48:17:345

ReadFile

16:48:17:355

CreateFileW

16:48:17:355

ReadFile

16:48:17:355

WriteFile

16:48:17:355

CreateFileW

16:48:17:355

ReadFile

16:48:17:355

CreateFileW

16:48:17:355

ReadFile

16:48:17:355

WriteFile

16:48:17:355

CreateFileW

Arguments
lpFileName => c:\a.bat
dwDesiredAccess => GENERIC_READ
hFile => 0x000007b0
nNumberOfBytesToRead => 8192
lpFileName => C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
dwDesiredAccess => GENERIC_READ | GENERIC_WRITE
hFile => 0x000007b0
nNumberOfBytesToRead => 1
hFile => 0x000007b0
nNumberOfBytesToWrite => 2
lpFileName => c:\a.bat
dwDesiredAccess => GENERIC_READ
hFile => 0x000007b0
nNumberOfBytesToRead => 8192
lpFileName => C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
dwDesiredAccess => GENERIC_READ | GENERIC_WRITE
hFile => 0x000007b0
nNumberOfBytesToRead => 1
hFile => 0x000007b0
nNumberOfBytesToWrite => 81
lpFileName => c:\a.bat

Status

Return

SUCCESS 0x000007b0
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS
SUCCESS 0x000007b0

89

Anexos

16:48:17:355

ReadFile

16:48:17:355

CreateFileW

16:48:17:355

ReadFile

16:48:17:355

WriteFile

16:48:17:355

CreateFileW

16:48:17:355

ReadFile

16:48:17:355

CreateFileW

16:48:17:355

ReadFile

16:48:17:355

WriteFile

16:48:17:395

ReadFile

16:48:17:405

CreateFileW

16:48:17:405

ReadFile

16:48:17:405

CreateFileW

16:48:17:405

ReadFile

16:48:17:405

WriteFile

16:48:17:405

CreateFileW

16:48:17:405

ReadFile

16:48:17:405

OpenMutexW

16:48:17:405

LoadLibraryA

16:48:17:405

CreateFileW

16:48:17:405

RegOpenKeyW

16:48:17:405

RegOpenKeyW

16:48:17:415

LoadLibraryA

16:48:17:415

CreateProcessW

16:48:17:415

CreateFileW

16:48:17:415

ReadFile

16:48:17:415

CreateFileW

16:48:17:415

WriteFile

16:48:17:415

DeleteFileW

16:48:17:415

CreateFileW

16:48:17:415

ReadFile

16:48:17:415

CreateFileW

16:48:17:415

WriteFile

16:48:17:415

DeleteFileW

16:48:17:415

CreateFileW

16:48:17:415

VirtualAllocEx

dwDesiredAccess => GENERIC_READ


hFile => 0x000007b0
nNumberOfBytesToRead => 8192
lpFileName => C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
dwDesiredAccess => GENERIC_READ | GENERIC_WRITE
hFile => 0x000007b0
nNumberOfBytesToRead => 1
hFile => 0x000007b0
nNumberOfBytesToWrite => 31
lpFileName => c:\a.bat
dwDesiredAccess => GENERIC_READ
hFile => 0x000007b0
nNumberOfBytesToRead => 8192
lpFileName => C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
dwDesiredAccess => GENERIC_READ | GENERIC_WRITE
hFile => 0x000007b0
nNumberOfBytesToRead => 1
hFile => 0x000007b0
nNumberOfBytesToWrite => 34
hFile => 0x000007b0
nNumberOfBytesToRead => 8192
lpFileName => C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
dwDesiredAccess => GENERIC_READ | GENERIC_WRITE
hFile => 0x000007b0
nNumberOfBytesToRead => 8192
lpFileName => C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
dwDesiredAccess => GENERIC_READ | GENERIC_WRITE
hFile => 0x000007b0
nNumberOfBytesToRead => 1
hFile => 0x000007b0
nNumberOfBytesToWrite => 2
lpFileName => c:\a.bat
dwDesiredAccess => GENERIC_READ
hFile => 0x000007b0
nNumberOfBytesToRead => 8192
dwDesiredAccess => 0x00120001
lpName => ShimCacheMutex
lpFileName => VERSION.dll
lpFileName => C:\WINDOWS\regedit.exe
dwDesiredAccess => GENERIC_READ
hKey => HKEY_LOCAL_MACHINE
lpSubKey =>
Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers
hKey => 0x00000770
lpSubKey =>
Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers
lpFileName => advapi32.dll
lpApplicationName => C:\WINDOWS\regedit.exe
lpCommandLine => REGEDIT /S
C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
lpFileName => c:\a.bat
dwDesiredAccess => GENERIC_READ
hFile => 0x00000784
nNumberOfBytesToRead => 8192
lpFileName => C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
dwDesiredAccess => GENERIC_READ
hFile => 0x00000774
nNumberOfBytesToWrite => 3807
lpFileName => C:\DOCUME~1\Me\LOCALS~1\Temp\1.reg
lpFileName => c:\a.bat
dwDesiredAccess => GENERIC_READ
hFile => 0x00000784
nNumberOfBytesToRead => 8192
lpFileName => c:\a.bat
dwDesiredAccess => GENERIC_READ
hFile => 0x000007b0
nNumberOfBytesToWrite => 5894
lpFileName => c:\a.bat
lpFileName => c:\a.bat
dwDesiredAccess => GENERIC_READ
th32ProcessID => 1012
szExeFile => regedit.exe
lpAddress => 0x00000000
dwSize => 65536
flAllocationType => 0x00002000

SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS 0x00000780
SUCCESS 0x77c00000
SUCCESS 0x0000076c
SUCCESS 0x0010e61c

FAILURE
SUCCESS 0x77dd0000
SUCCESS 1012
SUCCESS 0x00000784
SUCCESS
SUCCESS 0x000007b0
SUCCESS
SUCCESS
SUCCESS 0x00000784
SUCCESS
SUCCESS 0x00000774
SUCCESS
SUCCESS
FAILURE

SUCCESS 0x00890000

90

Anexos

16:48:17:415

16:48:17:425

16:48:17:425

16:48:17:425
16:48:17:425

flProtect => 0x00000004


th32ProcessID => 1012
szExeFile => regedit.exe
lpAddress => 0x00890000
VirtualAllocEx
dwSize => 8193
flAllocationType => 0x00001000
flProtect => 0x00000004
th32ProcessID => 1012
szExeFile => regedit.exe
lpAddress => 0x00000000
VirtualAllocEx
dwSize => 65536
flAllocationType => 0x00002000
flProtect => 0x00000004
th32ProcessID => 1012
szExeFile => regedit.exe
lpAddress => 0x00890000
VirtualAllocEx
dwSize => 8193
flAllocationType => 0x00001000
flProtect => 0x00000004
hFile => 0xffffffff
WriteFile
nNumberOfBytesToWrite => 33
ExitProcess
uExitCode => 0x00000001

Network Analysis
DNS Requests
Hostname
botz.noretards.com

SUCCESS 0x00890000

SUCCESS 0x00890000

SUCCESS 0x00890000

FAILURE

IP Address
91.227.221.217

Static Analysis
The

binary is likely encrypted/packed, there are sections with high entropy

Imported Symbols
Library kernel32.dll
0x519028 LoadLibraryA
0x51902c VirtualAlloc

91

Anexos

Anexo 5 Regras de classificao de malware


Neste Anexo , apresentam-se os ficheiros de configurao da ferramenta Yara,
utilizados para a identificao de packer nas amostras recolhidas.
Os packer so muitos, pelo que se optou por escolher 4 dos mais populares, a ttulo de
exemplo, nomeadamente, o ASPack, o Armadillo, o FSG e o UPX.
rule ASPack
{
strings:
$ = { 60 E8 ?? ?? ?? ?? 5D
$ = { 60 EB ?? 5D EB ?? FF
$ = { 60 EB 03 5D FF E5 E8
$ = { 60 E8 00 00 00 00 5D
$ = { 60 E8 41 06 00 00 EB
$ = { 60 E8 7? 05 00 00 EB
$ = { 60 E8 02 00 00 00 EB
$ = { 60 E8 03 00 00 00 E9
$ = { A8 03 ?? ?? 61 75 08
8D 8D 3B 04 ?? ?? 51 50 FF 95 }

81 ED
?? ??
F8 FF
?? ??
41 }
(33 |
09 5D
EB 04
B8 01

??
??
FF
??

??
??
FF
??

(43 |
?? E9
81 ED
?? ??

44) ?? B8 ?? ?? (43 | 44) ?? 03 C5 }


}ssssssssssssssssssssssssss
1B 6A 44 00 BB 10 6A 44 00 03 DD 2B 9D 2A }
BB ?? ?? ?? ?? 03 DD }

4C) }
55 }
5D 45 55 C3 E8 01 }
?? ?? ?? C2 0C ?? 68 ?? ?? ?? ?? C3 8B 85 26 04 ?? ??

condition:
for any of them : ($ at entrypoint)
}

rule Armadillo
{
strings:
$ =
FF FF 59
$ =
3B CF 76
$ =
75 08 3B
$ =
$ =
$ =
F8 40 33
$ =
EB }
$ =
20 61 70
$ =
EB D8 6F

{ 83 7C 24 08 01 75 05 E8 DE 4B 00 00 FF 74 24 04 8B 4C 24 10 8B 54
C2 0C 00 6A 0C 68 ?? ?? ?? ?? E8 }
{ E8 ?? ?? 00 00 E9 16 FE FF FF 6A 0C 68 ?? ?? ?? ?? E8 ?? ?? 00 00
2E 6A E0 58 33 D2 F7 F1 3B 45 0C }
{ E8 ?? ?? 00 00 E9 16 FE FF FF 6A 0C 68 ?? ?? ?? ?? E8 ?? ?? 00 00
35 ?? ?? ?? ?? 77 22 6A 04 E8 ?? ?? 00 00 }
{ 55 8B EC 53 8B 5D 08 56 8B 75 0C 57 8B 7D 10 85 F6 }
{ 55 8B EC 6A FF 68 ?? ?? ?? ?? (68 | E0 | B0 | 40) ?? ?? ?? ?? (64
{ 6A ?? 8B B5 ?? ?? ?? ?? C1 E6 04 8B 85 ?? ?? ?? ?? 25 07 ?? ?? 80
C9 8A 88 ?? ?? ?? ?? 8B 95 }
{ 60 E8 ?? ?? ?? ?? 5D 50 51 ?? ?? ?? ?? ?? ?? ?? ?? ?? EB 0F ?? EB

24 0C E8 ED FE
8B 4D 08 33 FF
83 65 E4 00 8B

A1 | 68) }
79 05 48 83 C8
?? ?? EB ?? ??

{ 44 64 65 44 61 74 61 20 69 6E 69 74 69 61 6C 69 7A 65 64 20 28 41 4E 53 49 29 2C
70 20 73 74 72 69 6E 67 73 20 61 72 65 20 27 25 73 }
{ 31 2E 31 2E 34 00 00 00 C2 E0 94 BE 93 FC DE C6 B6 24 83 F7 D2 A4 92 77 40 27 CF
50 B4 B5 29 24 FA 45 08 04 52 D5 1B D2 8C 8A 1E 6E }

condition:
any of them
}

rule FSG
92

Anexos
{
strings:
$noep1 = { 0B D0 8B DA E8 02 00 00 00 40 A0 5A EB 01 9D B8 80 ?? ?? ?? EB 02 CD 20 03 D3
8D 35 F4 00 }
$noep2 = { 33 D2 0F BE D2 EB 01 C7 EB 01 D8 8D 05 80 ?? ?? ?? EB 02 CD 20 EB 01 F8 BE F4
00 00 00 EB }
$noep3 = { 33 C2 2C FB 8D 3D 7E 45 B4 80 E8 02 00 00 00 8A 45 58 68 02 ?? 8C 7F EB 02 CD
20 5E 80 C9 }
$noep4 = { 80 E9 A1 C1 C1 13 68 E4 16 75 46 C1 C1 05 5E EB 01 9D 68 64 86 37 46 EB 02 8C
E0 5F F7 D0 }
$noep5 = { BE A4 01 40 00 AD 93 AD 97 AD 56 96 B2 80 A4 B6 80 FF 13 73 }
$noep6 = { E8 01 00 00 00 0E 59 E8 01 00 00 00 58 58 BE 80 ?? ?? 00 EB 02 61 E9 68 F4 00
00 00 C1 C8 }
$noep7 = { E8 01 00 00 00 5A 5E E8 02 00 00 00 BA DD 5E 03 F2 EB 01 64 BB 80 ?? ?? 00 8B
FA EB 01 A8 }
$noep8 = { EB 01 DB E8 02 00 00 00 86 43 5E 8D 1D D0 75 CF 83 C1 EE 1D 68 50 ?? 8F 83 EB
02 3D 0F 5A }
$noep9 = { EB 01 56 E8 02 00 00 00 B2 D9 59 68 80 ?? 41 00 E8 02 00 00 00 65 32 59 5E EB
02 CD 20 BB }
$noep10 = { EB 01 4D 83 F6 4C 68 80 ?? ?? 00 EB 02 CD 20 5B EB 01 23 68 48 1C 2B 3A E8
02 00 00 00 38 }
$noep11 = { EB 02 AB 35 EB 02 B5 C6 8D 05 80 ?? ?? 00 C1 C2 11 BE F4 00 00 00 F7 DB F7
DB 0F BE 38 E8 }
$noep12 = { EB 02 CD 20 2B C8 68 80 ?? ?? 00 EB 02 1E BB 5E EB 02 CD 20 68 B1 2B 6E 37
40 5B 0F B6 C9 }
$noep13 = { EB 02 CD 20 EB 02 CD 20 EB 02 CD 20 C1 E6 18 BB 80 ?? ?? 00 EB 02 82 B8 EB
01 10 8D 05 F4 }
$noep14 = { EB 02 09 94 0F B7 FF 68 80 ?? ?? 00 81 F6 8E 00 00 00 5B EB 02 11 C2 8D 05
F4 00 00 00 47 }
$noep15 = { 23 CA EB 02 5A 0D E8 02 00 00 00 6A 35 58 C1 C9 10 BE 80 ?? ?? 00 0F B6 C9
EB 02 CD 20 BB }
$noep16 = { 2B C2 E8 02 00 00 00 95 4A 59 8D 3D 52 F1 2A E8 C1 C8 1C BE 2E ?? ?? 18 EB
02 AB A0 03 F7 }
$noep17 = { 1B DB E8 02 00 00 00 1A 0D 5B 68 80 ?? ?? 00 E8 01 00 00 00 EA 5A 58 EB 02
CD 20 68 F4 00 }
$noep18 = { 03 DE EB 01 F8 B8 80 ?? 42 00 EB 02 CD 20 68 17 A0 B3 AB EB 01 E8 59 0F B6
DB 68 0B A1 B3 }
$noep19 = { 03 F7 23 FE 33 FB EB 02 CD 20 BB 80 ?? 40 00 EB 01 86 EB 01 90 B8 F4 00 00
00 83 EE 05 2B }
$noep21 = { C1 CB 10 EB 01 0F B9 03 74 F6 EE 0F B6 D3 8D 05 83 ?? ?? EF 80 F3 F6 2B C1
EB 01 DE 68 77 }
$noep22 = { C1 C8 10 EB 01 0F BF 03 74 66 77 C1 E9 1D 68 83 ?? ?? 77 EB 02 CD 20 5E EB
02 CD 20 2B F7 }
$noep23 = { 2C 71 1B CA EB 01 2A EB 01 65 8D 35 80 ?? ?? 00 80 C9 84 80 C9 68 BB F4 00
00 00 EB 01 EB }
$noep24 = { F7 D8 40 49 EB 02 E0 0A 8D 35 80 ?? ?? ?? 0F B6 C2 EB 01 9C 8D 1D F4 00 00
00 EB 01 3C 80 }
$noep25 = { F7 D0 EB 02 CD 20 BE BB 74 1C FB EB 02 CD 20 BF 3B ?? ?? FB C1 C1 03 33 F7
EB 02 CD 20 68 }
$noep26 = { F7 DB 80 EA BF B9 2F 40 67 BA EB 01 01 68 AF ?? ?? BA 80 EA 9D 58 C1 C2 09
2B C1 8B D7 68 }
$noep27 = { F7 D8 0F BE C2 BE 80 ?? ?? 00 0F BE C9 BF 08 3B 65 07 EB 02 D8 29 BB EC C5
9A F8 EB 01 94 }
$noep28 = { 91 EB 02 CD 20 BF 50 BC 04 6F 91 BE D0 ?? ?? 6F EB 02 CD 20 2B F7 EB 02 F0
46 8D 1D F4 00 }
$noep29 = { C1 CE 10 C1 F6 0F 68 00 ?? ?? 00 2B FA 5B 23 F9 8D 15 80 ?? ?? 00 E8 01 00
00 00 B6 5E 0B }
$noep30 = { C1 F0 07 EB 02 CD 20 BE 80 ?? ?? 00 1B C6 8D 1D F4 00 00 00 0F B6 06 EB 02
CD 20 8A 16 0F }
$noep31 = { C1 E0 06 EB 02 CD 20 EB 01 27 EB 01 24 BE 80 ?? 42 00 49 EB 01 99 8D 1D F4
00 00 00 EB 01 }
$noep32 = { D1 E9 03 C0 68 80 ?? ?? 00 EB 02 CD 20 5E 40 BB F4 00 00 00 33 CA 2B C7 0F
B6 16 EB 01 3E }

93

Anexos
$noep33 =
68 77 93 7E 7D
$noep34 =
41 00 00 47 65
$noep35 =
F1 15 33 F7 80
$noep36 =
F7 D2 EB 02 0E
$noep37 =
01 00 00 00 E3
$ep1
$ep2
$ep3
$ep4
$ep5
$ep6
$ep7
$ep8

=
=
=
=
=
=
=
=

{
{
{
{
{
{
{
{

{
}
{
}
{
}
{
}
{
}

BB
EB
BB
EB
BE
EB
EB
87

EB 02 CD 20 EB 01 91 8D 35 80 ?? ?? 00 33 C2 68 83 93 7E 7D 0C A4 5B 23 C3
4B 45 52 4E 45 4C 33 32 2E 64 6C 6C 00 00 4C 6F 61 64 4C 69 62 72 61 72 79
0F BE C1 EB 01 0E 8D 35 C3 BE B6 22 F7 D1 68 43 ?? ?? 22 EB 02 B5 15 5F C1
0F B6 D0 E8 01 00 00 00 0C 5A B8 80 ?? ?? 00 EB 02 00 DE 8D 35 F4 00 00 00
87 FE E8 02 00 00 00 98 CC 5F BB 80 ?? ?? 00 EB 02 CD 20 68 F4 00 00 00 E8

D0
01
D0
01
??
02
02
25

01
??
01
??
??
CD
CD
??

40
EB
40
EB
??
20
20
??

??
02
??
02
00
03
??
??

BF
??
BF
??
BF
??
CF
??

??
??
??
??
??
8D
??
61

10
??
10
??
??
??
??
94

40
80
40
80
??
80
80
55

??
??
??
??
00
??
??
A4

BE
??
BE
??
BB
??
??
B6

}
00
}
00
??
00
00
80

}
}
??
??
??
FF

??
??
??
13

00 53 BB ?? ?? ?? 00 B2 80 }
?? ?? ?? ?? ?? ?? ?? EB 02 }
?? ?? ?? ?? ?? ?? 00 }
}

condition:
any of ($noep*) or for any of ($ep*) : ($ at entrypoint)
}

rule UPX
{
strings:
$noep1
0F EB 01 0F
$noep2
04 66 C1 E8
$noep3
$noep4
8B 06 83 F8
$noep5
$noep6
C4 75 FA 83
$noep7
?? ?? ?? ??
$noep8
44 24 ?? 6A

= { B8 ?? ?? ?? ?? B9 ?? ?? ?? ?? 33 D2 EB 01 0F 56 EB
5E EB 01 }
= { 5E 89 F7 B9 ?? ?? ?? ?? 8A 07 47 2C E8 3C 01 77 F7
08 C1 C0 10 86 C4 29 F8 80 EB E8 01 F0 89 07 83 C7 }
= { 01 DB [01] 07 8B 1E 83 EE FC 11 DB [14] B8 01 00
= { 9C 60 E8 00 00 00 00 5D B8 B3 85 40 00 2D AC 85 40
00 74 11 8D B5 E1 FE FF FF 8B 06 83 F8 01 0F 84 F1 }
= { 8A 06 46 88 07 47 01 DB 75 07 8B 1E 83 EE FC 11 DB
= { FF D5 80 A7 ?? ?? ?? ?? ?? 58 50 54 50 53 57 FF D5
EC 80 E9 }
= { 55 FF 96 ?? ?? ?? ?? 09 C0 74 07 89 03 83 C3 04 EB
8D BE 00 F0 FF FF BB 00 10 00 00 50 54 6A 04 53 57 }
= { FF D5 8D 87 ?? ?? ?? ?? 80 20 ?? 80 60 ?? ?? 58 50
00 39 C4 75 FA 83 EC 80 E9 }

01 0F E8 03 00 00 00 EB 01
80 3F ?? 75 F2 8B 07 8A 5F
00 00 01 DB }
00 2B E8 8D B5 D5 FE FF FF
}
58 61 8D 44 24 ?? 6A 00 39
?? FF 96 ?? ?? ?? ?? 8B AE
54 50 53 57 FF D5 58 61 8D

$ep1 = { 60 E8 00 00 00 00 58 83 E8 3D }
$ep2 = { 60 E8 00 00 00 00 83 CD FF 31 DB 5E }
$ep3 = { 50 BE ?? ?? ?? ?? 8D BE ?? ?? ?? ?? 57 83 CD }
condition:
any of ($noep*) or for any of ($ep*) : ($ at entrypoint)
}

94

Anexos

Anexo 6 Identificao de malware


Seguem-se as rotina desenvolvidas para a ferramenta YARA de forma a efetuar a
identificao das capacidades malignas das amostras capturadas.
rule embedded
{
strings:
$a = "This program cannot be run in DOS mode"
condition:
$a in (1024..filesize)
}

rule cript
{
strings:
$zlib0 = "deflate" fullword
$zlib2 = "inflate" fullword
$ssl0 = "OpenSSL" fullword
$ssl1 = "SSLeay" fullword
condition:
(all of ($zlib*)) or (all of ($ssl*))
}

rule irc
{
strings:
$irc0
$irc1
$irc2
$irc3
$irc4
$irc5
$irc6
$irc7
$irc8

=
=
=
=
=
=
=
=
=

"join" nocase fullword


"msg" nocase fullword
"nick" nocase fullword
"notice" nocase fullword
"part" nocase fullword
"ping" nocase fullword
"quit" nocase fullword
"chat" nocase fullword
"privmsg" nocase fullword

condition:
3 of ($irc*)
}

rule spam
{
strings:
$spam01 = "rcpt to:" nocase
$spam02 = "mail from:" nocase

95

Anexos
$spam03
$spam04
$spam05
$spam06
$spam07
$spam08
$spam09
$spam10

=
=
=
=
=
=
=
=

"smtp server" nocase


"mx record" nocase
"cialis" nocase fullword
"pharma" nocase fullword
"ehlo " nocase fullword
"from: " nocase fullword
"subject: " nocase fullword
"Content-Disposition: attachment;" nocase

condition:
2 of ($spam*)
}

96

You might also like