quarta-feira, 23 de janeiro de 2008

Trojan Defense

Trojan Defense é o termo utilizado para uma argumentação de defesa bastante usada nos EUA. O advogado de defesa levanta a tese que o réu não realizou o crime, mas sim um conteúdo malicioso instalado em sua máquina.

No livro Windows Forensic Analysis, Harlan Carvey fala do histórico dessa argumentação. No ano de 2002, um americano chamado Julian Green foi a julgamento por manter imagens ilícitas em sua máquina. Uma investigação forense computacional comprovou que ele possuía vários Trojans (cavalos-de-Tróia) que acessavam as páginas ilícitas toda vez que ele acionava o browser. No ano seguinte, um jovem inglês chamado Aaron Caffrey alegou que seu computador, infectado por Trojans, atacou outras máquina para se defender da acusação de ataque/cracker. Ele foi inocentado, mesmo depois de a análise forense de sua máquina não achar nenhum conteúdo malicioso. A defesa usou argumentos de que, mesmo não se achando nada, um rootkit pode estar ativo e criando problemas.

No Brasil, essa alegação está famosa nos casos de auto-fraude. Pessoas mal intencionadas alegam que suas contas foram roubadas porque um código malicioso capturou suas senhas bancárias.

Existem várias formas de lidar com esse tipo de argumentação. Vou citar as duas que acho mais eficientes:

1) Após a tradicional busca por códigos maliciosos, usando diversas ferramentas de anti-vírus e checagem de rootkits, uma verificação detalhada dos artefatos envolvidos na situação pode quebrar a teoria de que um Trojan realizou a ação. Assim, em um caso de fotos de pedofilia, a alegação de que as imagens foram baixadas por códigos maliciosos pode ser derrubada se for encontrada alguma lógica na organização nas fotos (separadas em diretórios por temas, por exemplo). Ou então, se for encontrado no registry, na parte do UserAssistant, indicações de comandos de cópia das imagens de um local para outro. Ou ainda, se for encontrado referência às fotos em atalhos no Recent. Isso sem falar em confrontar arquivos que foram apagados e recuperados com tabelas do Recycle Bin. Em todos esses casos, um código malicioso não deixaria esses artefatos.

2) Realizando a aquisição da RAM e, em seguida, a análise forense dela, dos arquivos de hibernação e da memória virtual. Um rootkit pode se esconder usando determinadas técnicas, mas é muito mais complicado obter sucesso em se esconder de uma análise forense da RAM. Essa análise também consegue determinar os processos ativos e suas imagens (executáveis na memória), o que permitiria uma busca atenta por códigos maliciosos.

O que você faria se tivesse que confrontar e mostrar que as ações investigadas não teriam sido executadas por um código malicioso, automaticamente ? Compartilhe conosco nos comentários.

Até o próximo post !

Nenhum comentário: