Análise de Malware em Forense Computacional

O objetivo desse artigo é explicar como funciona uma análise de malware em forense computacional. Esse artigo é o primeiro, que aborda a parte teórica, e em breve será publicada a segunda parte, com uma análise prática.

[ Hits: 33.142 ]

Por: Luiz Vieira em 04/05/2011 | Blog: http://hackproofing.blogspot.com/


Montagem de laboratório para análise



Em muitos casos, uma amostra pode ditar os parâmetros do ambiente do laboratório de malware, particularmente se o código exige diversos servidores para funcionar plenamente, ou pior, emprega código anti-virtualização para bloquear os esforços do investigador em observar o código em uma máquina virtual.

Usar virtualização é particularmente útil, principalmente durante a análise comportamental de uma amostra de códigos maliciosos, posto que a análise muitas vezes exige frequentes paradas e recomeços do programa malicioso em um esforço de observar as nuances do comportamento do mesmo.

Ao analisar um exemplar suspeito, podemos utilizar hosts no Virtual Box para criar a emulação de um sistema "infectado", um "servidor" e um "cliente" para fornecer todos os serviços de servidores e cliente necessários pelo malware, um sistema de "monitoramento" e de detecção de intrusão, para monitorar o tráfego da rede e do sistema vítima.

Idealmente, seremos capazes de controlar o sistema infectado localmente para reduzir a nossa necessidade de controlar múltiplos sistemas durante uma sessão de análise, mas amostras de malware na maioria das vezes são "consciente de segurança" e usam técnicas anti-forense, tais como a varredura dos nomes dos processos para identificar e finalizar as ferramentas de segurança conhecidas, como sniffers de rede, firewalls, software anti-vírus e outros aplicativos.

Antes de iniciarmos nossa análise da amostra de código malicioso, precisamos ter um "snapshot" do sistema que será usado como "vítima" na qual a amostra de código malicioso será executada. Da mesma forma, precisamos implementar uma ferramenta que nos permite comparar o estado do sistema após o código ser executado com o snapshot original do sistema.

Análise de arquivos suspeitos

Ao analisar um programa suspeito, há uma série de perguntas que o pesquisador deve considerar:
  • Qual é a natureza e a finalidade do programa?
  • Como funciona o programa para cumprir a sua finalidade?
  • Como funciona o programa ao interagir com o sistema vítima?
  • Como o programa interage com a rede?
  • O que o programa sugere sobre o nível de sofisticação do atacante?
  • Há um vetor de ataque identificável que o programa usa para infectar um hospedeiro?
  • Qual é a extensão da infecção ou comprometimento do sistema ou rede?

Em muitos casos, é difícil responder a todas estas perguntas, posto que peças-chave para o enigma, como arquivos ou recursos adicionais de rede utilizados pelo programa não estão mais disponíveis para o investigador. Entretanto, a metodologia, muitas vezes prepara o caminho para uma melhor compreensão global sobre o programa suspeito.

Ao trabalhar com este material, lembre-se que a "engenharia reversa" caem dentro das prescrições de determinadas leis internacionais, federais, estaduais ou locais. Da mesma forma, lembre-se também, que alguns dos instrumentos mencionados podem ser considerados "ferramentas hacker" em algumas jurisdições e estão sujeitas a regulamentações jurídicas semelhantes ou restrição de uso.

Diretrizes de exame de um programa malicioso

A metodologia utilizada neste capítulo é uma diretriz geral para fornecer um sentido mais claro das ferramentas e técnicas que podem ser usadas para examinar um binário malicioso no ambiente Linux. No entanto, com o número aparentemente interminável de amostras de códigos maliciosos sendo gerados por atacantes - muitas vezes com diferentes funções e finalidades - flexibilidade e adaptação da metodologia para atender as necessidades de cada caso, certamente será necessário.

Alguns dos preceitos básicos que vamos explorar incluem:
  • Estabelecer a linha de base do ambiente
  • Preparação pré-execução: monitoramento do sistema e da rede
  • Execução do binário suspeito
  • Observação do processo: monitoramento de bibliotecas e system calls
  • Avaliação do processo: análise dos processos em execução
  • Análise das portas abertas e conexões de rede
  • Análise de arquivos abertos e sockets
  • Exploração do diretório /proc
  • Quebra de ofuscação: remoção da proteção do malware
  • Ajustes de ambiente
  • Ganhando controle do malware
  • Interagindo e manipulando o malware
  • Explorando e verificando as funcionalidades do malware
  • Reconstrução de eventos: capturar tráfego de rede, integridade de arquivos e logs de IDS
  • Varredura de portas/vulnerabilidades do host comprometido
  • Verificação de rootkits

Página anterior    

Páginas do artigo
   1. Introdução
   2. Descoberta e coleta de malware
   3. Montagem de laboratório para análise
Outros artigos deste autor

Boot Linux - o que acontece quando ligamos o computador

Virtualização: VMware ou VirtualBox no Ubuntu 9.04 com kernel 2.6.29-11?

Shellter Project - Ferramenta para bypass de AV

Cheops: uma ótima ferramenta de rede

PNL para Hacking

Leitura recomendada

Hotspot rápido com Coovachilli

Esteganografia utilizando steghide

Auditando senhas com John The Ripper

Protegendo seu Linux de ataques de brute force via ssh

Identificando dispositivos IoT usando Wireshark e criando uma estratégia interessante de visibilidade em Linux e Unix

  
Comentários
[1] Comentário enviado por cpaynes em 05/05/2011 - 08:12h

grande luiz, sempre aparece com bons artigos!!! Abraços

[2] Comentário enviado por julio_hoffimann em 06/05/2011 - 17:09h

Oi Luiz, parabéns!

Muito bom entender os tipos de malware, cada qual com sua peculiaridade. Tenho uma curiosidade: Em geral que linguagem de programação os crackers utilizam?

Abraço!

[3] Comentário enviado por mpclinux em 28/01/2012 - 22:32h

Já foi publicado a parte prática de análise de malware?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts