Analise de Malware e Pesquisas Recentes

695 visualizações

Publicada em

Trabalho sobre análise de malware e algumas pesquisas recentes na área. Apresentado na disciplina Criptografia / turma 2011 do DCC/UFMG.

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
695
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
24
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Analise de Malware e Pesquisas Recentes

  1. 1. Análise de Malware Uma visão geral
  2. 2. Introdução • Uso crescente da Internet ▫ Redes sociais, Internet Banking, eCommerce, etc
  3. 3. Introdução • Uso crescente da Internet ▫ Redes sociais, Internet Banking, eCommerce, etc • Usuários mal intencionados ▫ Dinheiro ▫ Reputação
  4. 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. 5. Introdução • Malware no Linux ▫ Winter, Winux/Lindose, Diesel, Coin, Mighty, Adore, Slapper, Kork, Millen, etc
  6. 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. 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. 8. Introdução • Ferramentas de proteção ▫ Baseadas em assinaturas e heurísticas  Base de dados de assinaturas  Padrão de comportamento
  9. 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. 10. O que é “Malware”? • “Software that deliberately fulfills the harmful intent of an attacker” [Moser]
  11. 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. 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. 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. 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. 15. Tipos de malware • Spyware ▫ Software que coleta informações sensíveis da vítima e envia para o atacante
  16. 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. 17. Tipos de malware • Bot ▫ Um bot é um malware que permite que seu controlador (bot master) opere remotamente o sistema comprometido.
  18. 18. Tipos de malware • Rootkit ▫ A principal característica é a habilidade de esconder certas informações do usuário, como sua presença
  19. 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. 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. 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
  22. 22. Análise de malware • Obter informações para identificar e tratar uma infecção
  23. 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. 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. 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
  26. 26. Análise de malware • Análise estática ▫ Sem execução do código • ▫
  27. 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. 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. 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. 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. 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. 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. 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
  34. 34. Análise de malware • ▫ • Análise dinâmica ▫ Com execução do código
  35. 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. 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. 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. 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. 39. Técnicas de análise de malware • Análise dinâmica avançada ▫ Debbuging ▫ Interação com o kernel
  40. 40. Técnicas de evasão • Código auto-modificável e packers • Detecção de ambientes de análise • Bombas lógicas
  41. 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. 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. 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. 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. 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. 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.

×