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