Analise de Malware e Pesquisas Recentes

46
Análise de Malware Uma visão geral

description

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

Transcript of Analise de Malware e Pesquisas Recentes

Análise de Malware Uma visão geral

Introdução

• Uso crescente da Internet

▫ Redes sociais, Internet Banking, eCommerce, etc

Introdução

• Uso crescente da Internet

▫ Redes sociais, Internet Banking, eCommerce, etc

• Usuários mal intencionados

▫ Dinheiro

▫ Reputação

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]

Introdução

• Malware no Linux

▫ Winter, Winux/Lindose, Diesel, Coin, Mighty, Adore, Slapper, Kork, Millen, etc

Introdução

• Malware no Linux

▫ Winter, Winux/Lindose, Diesel, Coin, Mighty, Adore, Slapper, Kork, Millen, etc

• Malware em Android

▫ Crescimento de 472% em 2011

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

Introdução

• Ferramentas de proteção

▫ Baseadas em assinaturas e heurísticas

Base de dados de assinaturas

Padrão de comportamento

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

O que é “Malware”?

• “Software that deliberately fulfills the harmful intent of an attacker” [Moser]

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

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

Tipos de malware

• Worm

▫ “a program that can run independently and can propagate a fully working version of itself to other machines” [Spafford]

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]

Tipos de malware

• Spyware

▫ Software que coleta informações sensíveis da vítima e envia para o atacante

Tipos de malware

• Trojan horse

▫ Tenta se passar por um software útil – ou não malicioso – mas executa atividades maliciosas em segundo plano

Tipos de malware

• Bot

▫ Um bot é um malware que permite que seu controlador (bot master) opere remotamente o sistema comprometido.

Tipos de malware

• Rootkit

▫ A principal característica é a habilidade de esconder certas informações do usuário, como sua presença

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

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

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

Análise de malware

• Obter informações para identificar e tratar uma infecção

Análise de malware

• Obter informações para identificar e tratar uma infecção

• Responder a um incidente de segurança envolvendo malware

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

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

Análise de malware

• Análise estática

▫ Sem execução do código

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

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

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

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

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

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

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

Análise de malware

• Análise dinâmica

▫ Com execução do código

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

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

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

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

Técnicas de análise de malware

• Análise dinâmica avançada

▫ Debbuging

▫ Interação com o kernel

Técnicas de evasão

• Código auto-modificável e packers

• Detecção de ambientes de análise

• Bombas lógicas

Pesquisas recentes

• Geração automática de vacinas

• Análise de comportamento aleatório

• Similaridade de funções

• Usando aprendizado de máquina

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

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

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

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

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.