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: 28.884 ]

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


Introdução



Malwares, palavra proveniente do termo "malicious software", são softwares que destinam-se a se infiltrar ilicitamente no sistema de um computador e danificar ou roubar informações confidenciais ou não.

Como o objetivo de uma investigação forense é, muitas vezes, descobrir como e com qual motivação um sistema foi comprometido, é mais do que normal que o sistema que estamos investigando, tenha sido comprometido por um artefato malicioso que tenha permitido o acesso de um invasor, ou objetivamente possibilitado o vazamento de informações.

Esse artigo, tem como objetivo explicar um pouco mais sobre esses artefatos e os conceitos de análise dos mesmo, para que saibamos identificá-los e entender como funcionam.

Tipos de Malwares

Quando utilizamos o termo malware, não estamos definindo exatamente a espécie de artefato malicioso ao qual estamos nos referenciando, muito menos as suas funções. Por isso, quando utilizamos esse termo, estamos apenas citando uma categoria de programas de computadores, que podem ser de vários tipos diferentes.

Malware, portanto, é apenas uma categoria de programa, e justamente por isso, dentro dessa categoria de programas, temos vários tipos ou espécies diferentes desse tipo de artefato. Sendo as mais conhecidas:
  • Vírus
  • Trojans
  • Rootkits
  • Worms

Vírus

Um vírus de computador é um programa malicioso desenvolvido por programadores que, tal como um vírus biológico, infecta o sistema, faz cópias de si mesmo e tenta se espalhar para outros computadores, utilizando-se de diversos meios.

A maioria das contaminações ocorre pela ação do usuário, executando o arquivo infectado recebido como um anexo de um e-mail. A contaminação também pode ocorrer por meio de arquivos infectados em pendrives ou CDs. A segunda causa de contaminação é por Sistema Operacional desatualizado, sem correções de segurança, que poderiam corrigir vulnerabilidades conhecidas dos sistemas operacionais ou aplicativos, que poderiam causar o recebimento e execução do vírus inadvertidamente. Ainda existem alguns tipos de vírus que permanecem ocultos em determinadas horas, entrando em execução em horas especificas.

Trojan

Certos vírus trazem em seu bojo um código a parte, que permite a um estranho acessar o micro infectado ou coletar dados e enviá-los pela Internet para um desconhecido, sem notificar o usuário. Estes códigos são denominados de Trojans ou cavalos de Tróia.

Inicialmente, os cavalos de Tróia permitiam que o micro infectado pudesse receber comandos externos, sem o conhecimento do usuário. Desta forma o invasor poderia ler, copiar, apagar e alterar dados do sistema. Atualmente os cavalos de Tróia agora procuram roubar dados confidenciais do usuário, como senhas bancárias.

Os vírus eram no passado, os maiores responsáveis pela instalação dos cavalos de Tróia, como parte de sua ação, pois eles não têm a capacidade de se replicar. Atualmente, os cavalos de Tróia não mais chegam exclusivamente transportados por vírus, agora são instalados quando o usuário baixa um arquivo da internet e o executa.

Prática eficaz devido a enorme quantidade de e-mails fraudulentos que chegam nas caixas postais dos usuários. Tais e-mails contém um endereço na Web para a vítima baixar o cavalo de Tróia, ao invés do arquivo que a mensagem diz ser. Esta prática se denomina phishing, expressão derivada do verbo to fish, "pescar" em inglês. Atualmente, a maioria dos cavalos de Tróia visam a sites bancários, "pescando" a senha digitada pelos usuários dos micros infectados.

Há também cavalos de Tróia que ao serem baixados da internet "guardados" em falsos programas ou em anexos de e-mail, criptografam os dados e os comprimem no formato ZIP. Um arquivo .txt dá as "regras do jogo": os dados foram "seqüestrados" e só serão "libertados" mediante pagamento em dinheiro para uma determinada conta bancária, quando será fornecido o código restaurador.

Também os cavalos de tróia podem ser usados para levar o usuário para sites falsos, onde sem seu conhecimento, serão baixados trojans para fins criminosos, como aconteceu com os links do google, pois uma falha de segurança poderia levar um usuário para uma página falsa. Por este motivo o serviço esteve fora do ar por algumas horas para corrigir esse bug, pois caso contrário as pessoas que não distinguissem o site original do falsificado seriam afetadas.

Outra consequência é o computador tornar-se um zumbi e, sem que o usuário perceba, executar ações como enviar Spam, se auto-enviar para infectar outros computadores e fazer ataques a servidores (normalmente um DDoS, um acrônimo em inglês para Distributed Denial of Service - em português, ataque distribuído de negação de serviço).

Ainda que apenas um micro de uma rede esteja infectado, este pode consumir quase toda a banda de conexão com a internet realizando essas ações mesmo que o computador esteja sem utilização, apenas ligado. O objetivo, muitas vezes é criar uma grande rede de computadores zumbis que, juntos, possam realizar um grande ataque a algum servidor que o autor do vírus deseja "derrubar" ou causar grande lentidão.

Rootkits

Rootkits são um tipo de Malware surgido nos últimos anos. A principal intenção dele é se camuflar, impedindo que seu código seja encontrado por qualquer antivírus. Isto é possível por que estas aplicações têm a capacidade de interceptar as solicitações feitas ao sistema operacional, podendo alterar o seu resultado.

Por exemplo, quando o Windows faz um pedido para a leitura ou abertura de um arquivo (seja a mando do antivírus ou pelo próprio usuário), o rootkit intercepta os dados que são requisitados (intercepção via API) e faz uma filtragem dessa informação, deixando passar apenas o código não infectado. Desta forma, o antivírus ou qualquer outra ferramenta ficam impossibilitados de encontrar o arquivo malicioso.

Um rootkit é um programa com código mal intencionado que busca se esconder de softwares de segurança e do usuário utilizando diversas técnicas avançadas de programação.

Rootkits escondem a sua presença no sistema, escondendo suas chaves no registro (para que o usuário não possa vê-las) e escondendo os seus processos no Gerenciador de Tarefas, além de retornar sempre erros de "arquivo inexistente" ao tentar acessar os arquivos relacionados.

Rootkits também utilizam-se, muitas das vezes, de drivers, isto é, arquivos de sistema para o funcionamento de hardware, para se esconderem de antivírus, que ao lidarem com essas situações, irão "pensar" que o rootkit é um serviço legítimo do sistema operacional.

Diversos tipos de código mal intencionado utilizam essas tecnologias com o objetivo de dificultar sua remoção e o fazem com sucesso: os rootkits mais avançados são bem difíceis de serem removidos.

Poucos antivírus hoje conseguem identificar e eliminar essas pragas. Os rootkits para Linux/Unix geralmente substituem os programas mais comuns, como os programas que listam arquivos, de modo que o administrador do sistema, ao listar os arquivos, não veja a presença dos arquivos do trojan.

No Windows, eles "infectam" os processos na memória, de modo que toda vez que um processo requisite alguma informação sobre os arquivos desse código mal-intencionado, esta informação seja anulada antes de ser retornada ao programa, o que fará com que os softwares acreditem que estes arquivos não estejam lá.

Worms

Como o interesse de fazer um vírus é ele se espalhar da forma mais abrangente possível, os seus criadores por vezes, deixaram de lado o desejo de danificar o sistema dos usuários infectados e passaram a programar seus vírus de forma que apenas se repliquem, sem o objetivo de causar graves danos ao sistema.

Desta forma, os seus autores visam a tornar suas criações mais conhecidas na Internet. Este tipo de vírus passou a ser chamada de verme ou worm. Eles estão mais aperfeiçoados, já há uma versão que ao atacar a máquina hospedeira, não só se replica, mas também se propaga pela internet, pelos e-mail que estão registrados no cliente de e-mail, infectando as máquinas que abrirem aquele e-mail, reiniciando o ciclo.

    Próxima página

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

ARP Poisoning: compreenda os princípios e defenda-se

Armitage: a nova interface gráfica do Metasploit

Instalação do Wonderland Server

Cheops: uma ótima ferramenta de rede

Explorando celulares Android via Web com airbase-ng

Leitura recomendada

Quad9 - O que é e como usar

Cliente Linux no servidor LDAP

Tripwire - Checando a integridade do sistema

Auditando senhas com John The Ripper

Consegue guardar um segredo?

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts