Table Of ContentUNIVERSIDADE DE TRÁS–OS–MONTES E ALTO DOURO
Captura, análise e identificação de
malware: caso de estudo
DISSERTAÇÃO DE MESTRADO
EM TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO
Ricardo Sérgio Freitas Ferreira
António Manuel Trigueiros da Silva Cunha
Vila Real, 2013
Universidade de Trás–os–Montes e Alto Douro
Captura, análise e identificação de
malware: caso de estudo
Dissertação de Mestrado em
Tecnologias de Informação e Comunicação
Ricardo Sérgio Freitas Ferreira
António Manuel Trigueiros da Silva Cunha
Composição do Júri:
_______________________________________________________
_______________________________________________________
_______________________________________________________
Vila Real, 2013
“Somewhere, something incredible is waiting to be known.”
Carl Sagan
Agradecimentos
Pela disponibilidade e contributo que prestaram durante a realização deste trabalho,
gostaria de expressar o meu agradecimento a algumas instituições e pessoas:
À Universidade de Trás os Montes e Alto Douro, agradeço o acolhimento que me foi
dispensado como aluno integrado nesta instituição.
Este projeto não teria sido possível sem o apoio e colaboração do orientador Professor
Doutor António Cunha, por isso, em primeiro lugar, agradeço-lhe toda a ajuda que
disponibilizou para a realização das diversas fases desta dissertação.
Aos amigos do mirque pelo lulz colectivo e a toda a minha família e amigos que sempre
se disponibilizaram para me ajudar.
i
Capítulo 1 – Introdução
Resumo
Atualmente a proliferação de software malicioso (malware) é enorme, tornando o
malware num dos maiores problemas da Internet. Os sistemas tradicionais de segurança
em redes de computadores, compostos por firewall e IDS, têm perdido eficácia devido
ao atraso entre o surgimento das ameaças e o seu registo. Este atraso deve-se ao elevado
número de novas ameaças e das suas variantes e também às técnicas de evasão cada vez
mais sofisticadas, que dificultam a sua deteção. Neste contexto, foi efetuado um estudo
sobre ferramentas baseadas em virtualização todas elas open source, que permitem a
captura, análise e identificação de software malicioso. Foi também proposto e
implementada uma solução composta pelas ferramentas dionaea, YARA, ssdeep e
Cuckoo. Esta implementação foi testada durante 4 meses, registando os ataques numa
base de dados. Os dados obtidos foram objeto de análise e conclusões foram retiradas.
Palavras-chave: Malware, Honeypots, Virtualization, Dynamic Analysis, Incident
Response, SIEM.
ii
Capítulo 1 – Introdução
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. It’s 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 it’s also discussed
techniques that identify virtualized environments and their counter attacks are also
discussed. After the initial study we configured and build architecture that was shown to
help organizations or individuals to improve their security from the information
obtained from a proactive architecture, so that we can better and more efficiently
respond to threats and incidents. The data provided by this architecture is easily
integrable with other systems for instance monitoring solutions or IDS, improving the
process of responding to incident and monitoring the infrastructure therefore improving
the general security.
Keywords: Malware, Honeypot, Virtualization, Dynamic Analysis, Incident Response,
SIEM.
iii
Capítulo 1 – Introdução
Índice
Agradecimentos ............................................................................................................. i
Resumo ......................................................................................................................... ii
Abstract ....................................................................................................................... iii
Índice ........................................................................................................................... iv
Índice de Figuras .......................................................................................................... vi
Índice de Tabelas ....................................................................................................... viii
Siglas e Acrónimos ...................................................................................................... ix
1. Introdução ............................................................................................................. 1
1.1. Contexto .......................................................................................................... 1
1.2. Objetivos ......................................................................................................... 2
1.3. Estrutura .......................................................................................................... 2
2. Contextualização ................................................................................................... 4
2.1. Malware .......................................................................................................... 4
2.2. Botnets ............................................................................................................ 7
2.3. Estratégias de infeção ...................................................................................... 9
2.4. Deteção de malware ...................................................................................... 10
2.5. Soluções com honeypots ................................................................................ 20
2.6. Risco de deteção ............................................................................................ 22
2.7. Emulação e Virtualização .............................................................................. 24
2.8. Deteção de Virtualização ............................................................................... 25
2.9. Técnicas de deteção e dissimulação de ambientes virtualizados ..................... 28
2.10. Máquinas virtuais em HVM......................................................................... 30
3. Análise de malware ............................................................................................. 32
3.1. Análise estática ............................................................................................. 34
3.2. Análise dinâmica ........................................................................................... 35
3.3. Técnicas para análise dinâmica de malware ................................................... 37
3.4. Frameworks de análise dinâmica ................................................................... 38
4. Trabalho desenvolvido ........................................................................................ 44
4.1. Análise do problema ...................................................................................... 44
iv
Capítulo 1 – Introdução
4.2. Proposta de arquitetura para deteção de malware ........................................... 48
4.3. Caso de estudo .............................................................................................. 54
5. Resultados do trabalho ........................................................................................ 55
5.1. Período analisado .......................................................................................... 55
5.2. Serviços atacados .......................................................................................... 56
5.3. Análise das amostras ..................................................................................... 64
5.4. Discussão de resultados ................................................................................. 69
6. Conclusões e trabalhos futuros ............................................................................ 71
Bibliografia ................................................................................................................. 74
Anexos........................................................................................................................ 82
Anexo 1 – Querys SQL ........................................................................................ 82
Anexo 2 – Análise de similaridade ....................................................................... 84
Anexo 3 – Análise de Cuckoo .............................................................................. 88
Anexo 4− Relatórios Cuckoo ................................................................................ 89
Anexo 5 – Regras de classificação de malware ..................................................... 92
Anexo 6 – Identificação de malware ..................................................................... 95
v
Capítulo 1 – Introdução
Índice de Figuras
Figura 1 – Posicionamento de um NIDS distribuído na rede. ....................................... 13
Figura 2 – Classificação de honeypots adaptado de enisa[40]. ..................................... 16
Figura 3 – Arquitetura do sistema híbrido surdIDS[119] ............................................. 18
Figura 4 – Posicionamento tradicional de um honeypot. .............................................. 21
Figura 5 – Posicionamento interno de um honeypot ..................................................... 22
Figura 6 – Arquitectura genérica de máquinas virtuais. ............................................... 25
Figura 7 – Técnica de deteção baseada na instrução SIDT. .......................................... 28
Figura 8 – Técnica de deteção baseada na instrução STR. ........................................... 29
Figura 9 – Alterações para impedir a deteccao de VMware retirado de Liston[65]. ...... 30
Figura 10 − Método 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 genérico 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 instrução MOV EAX,JMP EAX.42
Figura 17 − Rede tradicional. ...................................................................................... 45
Figura 18 − Arquitetura proposta. ............................................................................... 49
Figura 19 – Algoritmo de alto nível da arquitetura. ..................................................... 49
Figura 20 − Estrutura da BD dionaea. ......................................................................... 50
Figura 21 − Arquitetura desenvolvida. ........................................................................ 54
Figura 22 – Total de ligações e downloads de amostras capturados durante o período
estudado. ..................................................................................................................... 55
Figura 23 – Visão global da atividade dos ataques. ...................................................... 56
vi
Capítulo 1 – Introdução
Figura 24 – Número de ligações por porto. .................................................................. 57
Figura 25 − Número de ataques no serviço MSSQL. ................................................... 58
Figura 26 - Número de hosts que estabeleceu ligações ao serviço MSSQL. ................. 59
Figura 27 – Listagem dos drivers mais utilizados nos ataques ao serviço MSSQL. ...... 60
Figura 28 - Número de ataques ao serviço SMB .......................................................... 62
Figura 29 - Downloads e número de hosts no serviço SMB. ........................................ 63
Figura 30 – Análise dinâmica Cuckoo para a amostra 1. .............................................. 66
Figura 31 – gráfico comparativo sobre a distribuição de packers nas amostras. ........... 68
vii
Description:em python, sendo possível desenvolver as operações não MAEC, MongoDB, HPFeeds. O tipo de relatório $spam05 = "cialis" nocase fullword.