O documento fornece uma visão geral da análise de malware, discutindo os tipos de malware, vetores de infecção, técnicas de análise estática e dinâmica e pesquisas recentes na área, incluindo geração automática de vacinas, detecção de comportamento aleatório e uso de aprendizado de máquina.
3. Introdução
• Uso crescente da Internet
▫ Redes sociais, Internet Banking, eCommerce, etc
• Usuários mal intencionados
▫ Dinheiro
▫ Reputação
4. Introdução
• Uso crescente da Internet
▫ Redes sociais, Internet Banking, eCommerce, etc
• Usuários mal intencionados
▫ Dinheiro
▫ Reputação
• Malware
▫ “Os malwares são a próxima bomba nuclear”
[Kaspersky]
5. Introdução
• Malware no Linux
▫ Winter, Winux/Lindose, Diesel, Coin, Mighty,
Adore, Slapper, Kork, Millen, etc
6. Introdução
• Malware no Linux
▫ Winter, Winux/Lindose, Diesel, Coin, Mighty,
Adore, Slapper, Kork, Millen, etc
• Malware em Android
▫ Crescimento de 472% em 2011
7. Introdução
• Malware no Linux
▫ Winter, Winux/Lindose, Diesel, Coin, Mighty,
Adore, Slapper, Kork, Millen, etc
• Malware em Android
▫ Crescimento de 472% em 2011
• 2008: 1.6M de amostras
▫ É necessário um meio eficiente de identificação
8. Introdução
• Ferramentas de proteção
▫ Baseadas em assinaturas e heurísticas
Base de dados de assinaturas
Padrão de comportamento
9. Introdução
• Ferramentas de proteção
▫ Baseadas em assinaturas e heurísticas
Base de dados de assinaturas
Padrão de comportamento
▫ Assinaturas genéricas
Identificar variações
Não gerar falso-positivos
10. O que é “Malware”?
• “Software that deliberately fulfills the harmful
intent of an attacker” [Moser]
11. O que é “Malware”?
• “Software that deliberately fulfills the harmful
intent of an attacker” [Moser]
• Vírus, os pioneiros
▫ Vulnerabilidades de segurança
▫ Habilidade técnica
12. O que é “Malware”?
• “Software that deliberately fulfills the harmful
intent of an attacker” [Moser]
• Vírus, os pioneiros
▫ Vulnerabilidades de segurança
▫ Habilidade técnica
• Enorme cadeia econômica
13. Tipos de malware
• Worm
▫ “a program that can run independently and can
propagate a fully working version of itself to other
machines” [Spafford]
14. Tipos de malware
• Vírus
▫ “A virus is a piece of code that adds itself to other
programs, including operating systems. It cannot
run independently” [Spafford]
15. Tipos de malware
• Spyware
▫ Software que coleta informações sensíveis da
vítima e envia para o atacante
16. Tipos de malware
• Trojan horse
▫ Tenta se passar por um software útil – ou não
malicioso – mas executa atividades maliciosas em
segundo plano
17. Tipos de malware
• Bot
▫ Um bot é um malware que permite que seu
controlador (bot master) opere remotamente o
sistema comprometido.
18. Tipos de malware
• Rootkit
▫ A principal característica é a habilidade de
esconder certas informações do usuário, como sua
presença
19. Vetores de infecção
• Explorando vulnerabilidade em serviços de rede
▫ Infectam através de vulnerabilidades em serviços
de rede, como compartilhamento de arquivos
20. Vetores de infecção
• Explorando vulnerabilidade em serviços de rede
▫ Infectam através de vulnerabilidades em serviços
de rede, como compartilhamento de arquivos
• Orientados a download
▫ Ataca vulnerabilidades no browser da vítima,
baixando código malicioso sem seu conhecimento
21. Vetores de infecção
• Explorando vulnerabilidade em serviços de rede
▫ Infectam através de vulnerabilidades em serviços
de rede, como compartilhamento de arquivos
• Orientados a download
▫ Ataca vulnerabilidades no browser da vítima,
baixando código malicioso sem seu conhecimento
• Engenharia social
▫ Convence o usuário a executar o código malicioso
23. Análise de malware
• Obter informações para identificar e tratar uma
infecção
• Responder a um incidente de segurança
envolvendo malware
24. Análise de malware
• Obter informações para identificar e tratar uma
infecção
• Responder a um incidente de segurança
envolvendo malware
• Determinar o que um programa suspeito faz de
fato
25. Análise de malware
• Obter informações para identificar e tratar uma
infecção
• Responder a um incidente de segurança
envolvendo malware
• Determinar o que um programa suspeito faz de
fato
• Gerar informações para ferramentas
automatizadas
27. Técnicas de análise de malware
• Análise estática básica
▫ Determinar se o software é malicioso
▫ Informações sobre seu funcionamento
▫ Informações para gerar assinaturas simples
28. Técnicas de análise de malware
• Análise estática básica
▫ Determinar se o software é malicioso
▫ Informações sobre seu funcionamento
▫ Informações para gerar assinaturas simples
▫ Simples e rápida
▫ Ineficiente contra malwares avançados
29. Técnicas de análise de malware
• Análise estática básica
▫ Execução contra antivírus
▫ Hashing
▫ Strings
▫ Packers
▫ Formato do Arquivo (PE, ELF, COFF, etc)
▫ Bibliotecas e Funções
30. Técnicas de análise de malware
• Análise estática avançada
▫ Analisar software mais a fundo
▫ Entender melhor o que o software faz
▫ Entender interação com SO
31. Técnicas de análise de malware
• Análise estática avançada
▫ Analisar software mais a fundo
▫ Entender melhor o que o software faz
▫ Entender interação com SO
▫ Curva de aprendizado mais longa
▫ Requer conhecimento especializado
Assembly
SO
32. Técnicas de análise de malware
• Análise estática avançada
▫ Análise do código-fonte
▫ Fluxo de execução
▫ Inferência de parâmetros
▫ Strings
▫ Engenharia reversa
▫ Análise de código assembly
33. Técnicas de análise de malware
• Problemas da análise estática
▫ Código-fonte indisponível
▫ Análise estática do binário é difícil
▫ Uso de packers/obfuscação
▫ Código auto-gerado
▫ Dependência de valores e estados em tempo de
execução
35. Técnicas de análise de malware
• Análise dinâmica básica
▫ Executar o software
▫ Observar seu comportamento
▫ Remoção do sistema
▫ Assinaturas simples
36. Técnicas de análise de malware
• Análise dinâmica básica
▫ Acesso a registros e configurações
▫ Uso de rede
▫ Uso de disco
▫ Processos e threads
▫ Coleta de pacotes de rede
37. Técnicas de análise de malware
• Análise dinâmica avançada
▫ Análise avançada das ações do software
▫ Estudo aprofundado do comportamento
▫ Identificação de técnicas de evasão
38. Técnicas de análise de malware
• Análise dinâmica avançada
▫ Análise avançada das ações do software
▫ Estudo aprofundado do comportamento
▫ Identificação de técnicas de evasão
▫ Conhecimento avançado no SO alvo
▫ Expertise em linguagem assembly e debbuging na
arquitetura alvo
39. Técnicas de análise de malware
• Análise dinâmica avançada
▫ Debbuging
▫ Interação com o kernel
40. Técnicas de evasão
• Código auto-modificável e packers
• Detecção de ambientes de análise
• Bombas lógicas
41. Pesquisas recentes
• Geração automática de vacinas
• Análise de comportamento aleatório
• Similaridade de funções
• Usando aprendizado de máquina
42. Geração automática de vacinas
• Motivação: estudo sobre o Conficker
• Desenvolvimento de protótipo “AGAMI” para
gerar as vacinas automaticamente
• Gerou vacinas para malwares das famílias
Conficker e Zeus
• Simula a existência de recursos computacionais
• Previne a criação de tais recursos pelo malware
43. Comportamento aleatório
• Malware altera seu comportamento entre
execuções
▫ Evadir técnicas de detecção
• Software não-malicioso não precisa desse
comportamento
• Detecção baseada nas mudanças de
comportamento
• Lista de sequências de chamadas de sistema
44. Similaridade de funções
• Famílias de malware compartilham funções
similares
• Base de comparação criada a partir de malwares
conhecidos e já analisados
• Similaridade usando algoritmos de filtros
• Classificação das funções de acordo com as
características
45. WinAPI e Machine Learning
• Modelar sequência de chamadas a API usando
Cadeias de Markov
• Classificação baseada em mineração de
associações
• Número reduzido de regras, removendo
redundantes
• Processo de aprendizado interativo
46. Referências
Egele, M., Scholte, T., Kirda, E., Kruegel, C. 2012. A survey on Automated
Dynamic Malware-Analysis Techniques and Tools, ACM Computing
Surveys, Vol 44.
Hunt, R., Zeadally, S. 2012. Network Forensic - An Analysis of Techniques,
Tools, and Trends, IEEE.
Manoharan, R., Chandrasekar, R. 2012. Malware Detection using Windows
API Sequence and Machine Learning, International Journal of COmputer
Applications.
Zabidi, M., Maarof, M., Zainal, A. 2012. Malware Analysis With Multiple
Features. 14th International Conference on Modeling and Simulation.
Xu, Z., Gu, G., Zhang, J., Lin, Z. 2012. Automatic Generation of Vaccines for
Malware Immunization. ACM.
Kasama, T., Yoshioka, K., Inoue, D., Matsumoto, T. 2012. Malware Detection
Method by Catching Their Random Behavior in Multiple Executions, IEEE
12th International Symposium on Applications and the Internet.
Zhong, Y., Yamaki, H., Takakura, H. 2012. A malware Classification Method
based on Similarity of Functions Structure. IEEE 12th International
Symposium on Applications and the Internet.