Captura, análise e identificação de malware: caso de estudo

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 Capítulo 1 – Introdução v 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 Capítulo 1 – Introdução vi Í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 Capítulo 1 – Introdução vii 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 Capítulo 1 – Introdução viii Índice de Tabelas Tabela 1 − Requerimentos para monitorização de tráfego por largura de banda. 47 Tabela 2 − Tabela comparativa de funcionalidades de IDS opensource. 47 Tabela 3 − Tabela comparativa de honeypots de propósito geral adaptada de Grudziecki[40]. 48 Tabela 4 – Listagem dos usernames mais utilizados nos ataques ao serviço MSSQL. 59 Tabela 5 – Listagem das passwords mais utilizadas nos ataques ao serviço MSSQL. 60 Tabela 6 – Vulnerabilidades utilizadas contra o protocolo SMB . 63 Tabela 7 – Lista das 4 amostras capturadas mais frequentes. 64 Tabela 8 – Número de amostras para as 4 amostras capturadas mais frequentes. 65 Tabela 9 – Capacidades detetadas nas amostras. 69 Capítulo 1 – Introdução ix Siglas e Acrónimos API Application Programming Interface ACL Access Control List CIFS Common Internet File System CSIRT Computer SecurityIncident Response Team DGA Domain Generation Algorithm DHCP Dynamic Host Configuration Protocol DLL Dynamic Link Library DMZ Demilitarized zone DNS Domain Name System IP Internet Protocol