• Nenhum resultado encontrado

5. Resultados do trabalho

5.3. Análise das amostras

Depois de analisados os serviços atacados interessa conhecer que amostras de malware foram capturadas.

Nesse sentido, elaborou-se a Tabela 7 em que se apresentam as 4 amostras mais frequentes.

Amostra MD5 Nº capturas da amostra

1 78c9042bbcefd65beaa0d40386da9f89 64

2 2fa0e36b36382b74e6e6a437ad664a80 48

3 94e689d7d6bc7c769d09a59066727497 63

4 87136c488903474630369e232704fa4d 122

Tabela 7 – Lista das 4 amostras capturadas mais frequentes.

Como se pode observar, o total de downloads para a amostra 4 é bastante superior às restantes.

Para a sua análise submeteram-se as amostras capturadas ao motor de classificação “VirusTotal”20

e verificamos que as três primeiras amostras da tabela se tratavam do

worm Conficker[128]. No caso da amostra 2 esta foi classificada como um

win32/backdoor[127].

Curiosamente, tendo esta amostra sido capturada em 2010, o motor de análise VirusTotal, apenas apresenta a sua análise em 2012, o que denota uma persistência temporal elevada.

Desta forma foi possível detetar um worm em 2010 sem recorrer à sua assinatura, assinatura esta que apareceu posteriormente.

19

Remote Procedure Call – Mecanismo de comunicação entre processos.

20

65 Como se viu no caso do worm Conficker é possível o mesmo worm possuir várias assinaturas diferentes. No próximo ponto procede-se à análise de similaridades entre amostras capturadas.

5.3.1. Análise de similaridades

Com a ferramenta ssdeep é possível obter o grau de similaridade das amostras (Anexo 2), obtendo as várias assinaturas do malware existentes no repositório.

Na Tabela 8 apresenta-se o número de variantes similares às 4 amostras referidas na Tabela 7.

Amostra MD5 Número de amostras

similares Média similaridade 1 78c9042bbcefd65beaa0d40386da9f89 34 81% 2 2fa0e36b36382b74e6e6a437ad664a80 52 94% 3 94e689d7d6bc7c769d09a59066727497 34 88% 4 87136c488903474630369e232704fa4d 45 89%

Tabela 8 – Número de amostras para as 4 amostras capturadas mais frequentes.

No Anexo 2, está disponível uma tabela com as similaridades entre amostras com indicação do grau (%) de similaridade – a similaridade é obtida pela comparação do código entre amostras. Observando a média da similaridade entre as amostras, acima dos 80%, conclui-se as amostras partilham grande parte do seu código.

5.3.2. Análise dinâmica / processo de infeção

Com a framework Cuckoo é possível a análise dinâmica e assim perceber melhor os detalhes sobre o processo de infeção das amostras, assim podemos verificar o tipo de informação que nos é providenciado pela framework.

66

File name: 78c9042bbcefd65beaa0d40386da9f89.dll File size: 168509 bytes

File type: PE32 executable for MS Windows (DLL) (GUI) Intel 80386 32–bit MD5: 78c9042bbcefd65beaa0d40386da9f89 SHA1: 197e347479b9b6b7cde6c46c5dbbf2487247175e SHA256: 9cbd3aecac93b92a769f3f8e2dac4f13feefe3d5e3ab604ec8854f905328fbdf SHA512: a77687f49dff9baf425048e97931de39fc799efdad759d514bcf359e29106cbd 6a6bf5aac5d9130d03f9d5dba352110f623c166c31f6ef7a21557acf6a4aa52b CRC32: BEF063A2 Ssdeep: 3072:QtyYB97GQg+9MPBd0tGTyUK5myjLlJl26bYtSGQKmwT24kdgB:QtyYv7gn0 sT8d52mYAk7/T Process Tree rundll32.exe (1468) explorer.exe (348) Behavior Analysis

Process rundll32.exe, PID 1468

Process explorer.exe, PID 348 , Parent PID 1468

Static Summary

• The binary is packed, a known packer has been identified

PEiD Signatures • Armadillo v1.xx – v2.xx Imported Symbols Library kernel32.dll Library user32.dll Library advapi32.dll Library msvcrt.dll Library gdi32.dll Library ole32.dll Library shell32.dll

Figura 30 – Análise dinâmica Cuckoo para a amostra 1.

Logo no início da figura é apresentado as várias assinaturas da amostra, assim como o nome e tipo de ficheiro – neste caso é uma DLL.

Depois, “process tree”, a ferramenta identifica os processos criados, neste caso foram criados dois processos, “rundll32.exe” e “explorer.exe”, que utilizam nomes de processos normais do sistema operativo Windows.

Na análise de comportamento, “Behavior Analysis”, pode-se verificar-se que a amostra manipulou o PID (Process Identifier), no sentido de obter um valor mais baixo e assim passar por um processo legítimo. Neste caso, como se pode ver na figura, processo “explorer.exe”, tem um PID 348 que é inferior ao processo pai, que tem um PID de 1468.

67 Finalmente, a framework apresenta a lista de bibliotecas carregadas ao processo o que permite identificar os módulos usados e ter uma ideia das funcionalidades implementadas na amostra.

Uma vez que o grau de similaridade entre as amostras 3 e 4 é muito elevado, o resultado da análise é semelhante pelo que se optou por não apresentar.

O resultado da análise da framework Cuckoo da amostra 2 é apresentada no Anexo 4, devido à sua grande extensão foi colocada nos anexos onde e possível verificar a comunicação com um host e a criação de ficheiros e entradas no registo.

68

5.3.3. Identificação de malware

Após a análise dinâmica das amostras das amostras é necessário construir assinatura que permita aos analistas identificar as amostras e as suas características.

A ferramenta YARA permite a construção com base em condições lógicas e padrões, classificar e identificar amostras de malware.

Assim com a aplicando as regras apresentadas no Anexo 5 na ferramenta YARA, identificaram-se os packers das amostras capturadas. A partir desses dados construiu-se a gráfico da Figura 31, em que se apresenta para cada packer o número de amostras que o utilizou.

Figura 31 – gráfico comparativo sobre a distribuição de packers nas amostras.

Verificamos que a grande maioria das amostras utilizam packers conhecidos, sendo o mais frequente o UPX e seguido pelo Armadillo. O estudo efetuado por Alzab[3], em que fez a análise do tipo de packer em amostras maliciosas, também verificou que o UPX era o packer dominante.

998 778 44 28 27 13 2 2 0 200 400 600 800 1000 1200 N º d e a m o st ra s Tipo de packers

69 Para uma análise mais aprofundada, a ferramenta YARA pode ser configurada de forma a importar a Base de Dados do PEiD21.

Podemos construir regras que permitam utilizar a informação da base de dados do PEiD e assim caracterizar

Para caracterizar as funcionalidades das amostras com a ferramenta da YARA[64], construi-se um conjunto de regra, disponíveis no Anexo 6. Estas regras permitem verificar se as amostras têm a capacidade de enviar spam, se o seu tráfego é encriptado, ou utilizam IRC como meio para receber comandos.

O resultado é apresentado na Tabela 9.

Capacidades da amostra Número de amostras

Executáveis incorporados 55

Spam 33

Encoding 7

Irc 4

Tabela 9 – Capacidades detetadas nas amostras.

Como podemos ver, os valores mais frequentes são de executáveis incorporados que foram obtidas através da string de um PE depois dos primeiros 1024 bytes (Anexo 6), ou capacidades de IRC22 através de identificadores.

Documentos relacionados