Professional Documents
Culture Documents
DISSERTAO DE MESTRADO
EM TECNOLOGIAS DE INFORMAO E COMUNICAO
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
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.
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.
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.
4.
Captulo 1 Introduo
4.2. Proposta de arquitetura para deteo de malware ........................................... 48
4.3. Caso de estudo .............................................................................................. 54
5.
6.
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
ACL
CIFS
CSIRT
DGA
DHCP
DLL
DMZ
Demilitarized zone
DNS
IP
Internet Protocol
I/O
Input/Output
IRC
PE
Portable Executable
SIEM
SQL
IDS
IPC
IPS
LAN
ix
Captulo 1 Introduo
MD5
Message Digest 5
NFS
OS
Operating System
P2P
PeertoPeer
PCAP
Packet Capture
SMB
SSH
Secure Shell
VM
Virtual Machine
VMM
TLS
TCP
SSL
VoIP
Voice over IP
VPN
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:
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.
Captulo 2 Contextualizao
De acordo com Jakobsson[49]as atividades criminosas mais frequentes, levadas a cabo
pelos donos das botnet (bot herders) so:
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].
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].
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].
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].
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.
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].
15
Captulo 2 Contextualizao
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
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
especializao, por exemplo honeypot para SSH, honeypot para VoIP, honeypot para
USB. Tornando assim mais fcil a sua categorizao por especialidade.
3
4
Vulnerabilidades desconhecidas.
Protocolo de partilha normalmente utilizado para acesso a ficheiros impressoras e portas srie.
19
Captulo 2 Contextualizao
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.
21
Captulo 2 Contextualizao
22
Captulo 2 Contextualizao
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].
24
Captulo 2 Contextualizao
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
Captulo 2 Contextualizao
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.
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.
29
Captulo 2 Contextualizao
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].
Captulo 2 Contextualizao
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
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]:
33
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.
34
35
36
37
tais
como:
SetWindowsHookEx,
ZwCreateThread
ou
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.
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
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
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
41
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 16 Hooking efetuado pelo cHook utilizando a instruo MOV EAX,JMP EAX.
42
EXE a anlise por defeito a ser executada e serve para analisar executveis
do Windows;
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.
Vulnerabilidades desconhecidas
44
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
11
46
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
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
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
Nome
Escopo deteo.
Preciso emulao.
Qualidade dados.
Escalabilidade
performance.
Fiabilidade.
Extensibilidade.
Facilidade utilizao.
Suporte.
Custo.
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
$
$
$$
$
$$
$$
$$
Com esta base comparativa proposta uma arquitetura para deteo de malware no
captulo a seguir.
13
48
49
50
14
53
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.
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
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.
56
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
57
5.2.1. MSSQL
Na Figura 25, apresenta-se o grfico do nmero de ligao ao servio MSSQL durante o
perodo analisado.
58
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.
Password utilizada
1
123
123456
000000
111111
123123
1234
12345
654321
Tabela 5 Listagem das passwords mais utilizadas nos ataques ao servio MSSQL.
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
60
61
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.
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
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
63
MD5
78c9042bbcefd65beaa0d40386da9f89
2fa0e36b36382b74e6e6a437ad664a80
94e689d7d6bc7c769d09a59066727497
87136c488903474630369e232704fa4d
N capturas da amostra
64
48
63
122
19
20
64
MD5
1
2
3
4
78c9042bbcefd65beaa0d40386da9f89
2fa0e36b36382b74e6e6a437ad664a80
94e689d7d6bc7c769d09a59066727497
87136c488903474630369e232704fa4d
Nmero de amostras
similares
34
52
34
45
Mdia
similaridade
81%
94%
88%
89%
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.
65
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.
67
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
Nmero de amostras
55
33
7
4
21
22
69
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
72
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-
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
82
Anexos
Contagem do nmero de amostras
SELECT
COUNT(DISTINCT download_md5_hash) FROM downloads;
83
Anexos
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
88
Anexos
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
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
Network Analysis
DNS Requests
Hostname
botz.noretards.com
SUCCESS 0x00890000
SUCCESS 0x00890000
SUCCESS 0x00890000
FAILURE
IP Address
91.227.221.217
Static Analysis
The
Imported Symbols
Library kernel32.dll
0x519028 LoadLibraryA
0x51902c VirtualAlloc
91
Anexos
81 ED
?? ??
F8 FF
?? ??
41 }
(33 |
09 5D
EB 04
B8 01
??
??
FF
??
??
??
FF
??
(43 |
?? E9
81 ED
?? ??
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
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
=
=
=
=
=
=
=
=
=
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
=
=
=
=
=
=
=
=
condition:
2 of ($spam*)
}
96