You are on page 1of 12

Anlise de Malwares com Software Livre

Por Luiz Vieira


luizwt@gmail.com

Objetivos
Entender como funcionam malwares Conhecer as ferramentas utilizadas em anlise de malware Entender como realizar a anlise de um malware

Introduo
Malwares, palavra proveniente do termo malicious software, so softwares que destinam-se a se infiltrar ilicitamente no sistema de um computador e danificar ou roubar informaes confidenciais ou no. Como o objetivo de uma investigao forense , muitas vezes, descobrir como e com qual motivao 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 informaes. Esse captulo, tem como objetivo explicar um pouco mais sobre esses artefatos e os conceitos de anlise dos mesmo, para que saibamos identificlos e entender como funcionam.

Tipos de Malware
Quando utilizamos o termo malware, no estamos definindo exatamente a espcie de artefato malicioso ao qual estamos nos referenciando, muito menos as suas funes. Por isso, quando utilizamos esse termo, estamos apenas citando uma categoria de programas de computadores, que podem ser de vrios tipos diferentes. Malware, portanto, apenas uma categoria de programa, e justamente por isso, dentro dessa categoria de programas, temos vrios tipos ou espcies diferentes desse tipo de artefato. Sendo as mais conhecidas: Vrus Trojans Rootkits

Worms

Vrus
Um vrus de computador um programa malicioso desenvolvido por programadores que, tal como um vrus biolgico, infecta o sistema, faz cpias de si mesmo e tenta se espalhar para outros computadores, utilizando-se de diversos meios. A maioria das contaminaes ocorre pela ao do usurio, executando o arquivo infectado recebido como um anexo de um e-mail. A contaminao tambm pode ocorrer por meio de arquivos infectados em pendrives ou CDs. A segunda causa de contaminao por Sistema Operacional desatualizado, sem correes de segurana, que poderiam corrigir vulnerabilidades conhecidas dos sistemas operacionais ou aplicativos, que poderiam causar o recebimento e execuo do vrus inadvertidamente. Ainda existem alguns tipos de vrus que permanecem ocultos em determinadas horas, entrando em execuo em horas especificas.

Trojan
Certos vrus trazem em seu bojo um cdigo 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 usurio. Estes cdigos so denominados de Trojans ou cavalos de Tria. Inicialmente, os cavalos de Tria permitiam que o micro infectado pudesse receber comandos externos, sem o conhecimento do usurio. Desta forma o invasor poderia ler, copiar, apagar e alterar dados do sistema. Atualmente os cavalos de Tria agora procuram roubar dados confidenciais do usurio, como senhas bancrias. Os vrus eram no passado, os maiores responsveis pela instalao dos cavalos de Tria, como parte de sua ao, pois eles no tm a capacidade de

se replicar. Atualmente, os cavalos de Tria no mais chegam exclusivamente transportados por vrus, agora so instalados quando o usurio baixa um arquivo da internet e o executa. Prtica eficaz devido a enorme quantidade de e-mails fraudulentos que chegam nas caixas postais dos usurios. Tais e-mails contm um endereo na Web para a vtima baixar o cavalo de Tria, ao invs do arquivo que a mensagem diz ser. Esta prtica se denomina phishing, expresso derivada do verbo to fish, "pescar" em ingls. Atualmente, a maioria dos cavalos de Tria visam a sites bancrios, "pescando" a senha digitada pelos usurios dos micros infectados. H tambm cavalos de Tria 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 "seqestrados" e s sero "libertados" mediante pagamento em dinheiro para uma determinada conta bancria, quando ser fornecido o cdigo restaurador. Tambm os cavalos de tria podem ser usados para levar o usurio para sites falsos, onde sem seu conhecimento, sero baixados trojans para fins criminosos, como aconteceu com os links do google, pois uma falha de segurana poderia levar um usurio para uma pgina falsa. Por este motivo o servio esteve fora do ar por algumas horas para corrigir esse bug, pois caso contrrio as pessoas que no distinguissem o site original do falsificado seriam afetadas. Outra conseqncia o computador tornar-se um zumbi e, sem que o usurio perceba, executar aes como enviar Spam, se auto-enviar para infectar outros computadores e fazer ataques a servidores (normalmente um DDoS, um acrnimo em ingls para Distributed Denial of Service em portugus, ataque distribudo de negao de servio). Ainda que apenas um micro de uma rede esteja infectado, este pode consumir quase toda a banda de conexo com a internet realizando essas aes mesmo que o computador esteja sem utilizao, 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 vrus deseja "derrubar" ou causar grande lentido.

Rootkits
Rootkits so um tipo de Malware surgido nos ltimos anos. A principal inteno dele se camuflar, impedindo que seu cdigo seja encontrado por qualquer antivrus. Isto possvel por que estas aplicaes tm a capacidade de interceptar as solicitaes 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 antivrus ou pelo prprio usurio), o rootkit intercepta os dados que so requisitados (intercepo via API) e faz uma filtragem dessa informao, deixando passar apenas o cdigo no infectado. Desta forma, o antivrus ou qualquer outra ferramenta ficam impossibilitados de encontrar o arquivo malicioso. Um rootkit um programa com cdigo mal intencionado que busca se esconder de softwares de segurana e do usurio utilizando diversas tcnicas avanadas de programao. Rootkits escondem a sua presena no sistema, escondendo suas chaves no registro (para que o usurio no possa v-las) e escondendo os seus processos no Gerenciador de Tarefas, alm de retornar sempre erros de arquivo inexistente ao tentar acessar os arquivos relacionados. Rootkits tambm utilizam-se, muitas das vezes, de drivers, isto , arquivos de sistema para o funcionamento de hardware, para se esconderem de antivrus, que ao lidarem com essas situaes, iro "pensar" que o rootkit um servio legtimo do sistema operacional. Diversos tipos de cdigo mal intencionado utilizam essas tecnologias com o objetivo de dificultar sua remoo e o fazem com sucesso: os rootkits mais avanados so bem difceis de serem removidos. Poucos antivrus 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, no veja a presena dos arquivos do trojan. No Windows, eles infectam os processos na memria, de modo que

toda vez que um processo requisite alguma informao sobre os arquivos desse cdigo mal-intencionado, esta informao seja anulada antes de ser retornada ao programa, o que far com que os softwares acreditem que estes arquivos no estejam l.

Worms
Como o interesse de fazer um vrus ele se espalhar da forma mais abrangente possvel, os seus criadores por vezes, deixaram de lado o desejo de danificar o sistema dos usurios infectados e passaram a programar seus vrus de forma que apenas se repliquem, sem o objetivo de causar graves danos ao sistema. Desta forma, os seus autores visam a tornar suas criaes mais conhecidas na Internet. Este tipo de vrus passou a ser chamada de verme ou worm. Eles esto mais aperfeioados, j h uma verso que ao atacar a mquina hospedeira, no s se replica, mas tambm se propaga pela internet, pelos e-mail que esto registrados no cliente de e-mail, infectando as mquinas que abrirem aquele e-mail, reiniciando o ciclo.

Descoberta e coleta de malware


Quando descoberto o malware em um sistema, h muitas decises e aes que devem ser tomadas, muitas vezes sob presso. Para melhor estruturarmos um processo de investigao, incluindo a anlise de malwares, podemos dividi-lo em cinco fases: Fase 1: Preservao e anlise de dados volteis Fase 2: Anlise de memria Fase 3: Anlise de discos Fase 4: Anlise esttica de malware

Fase 5: Anlise dinmica de malware

Dentro de cada uma dessas fases, as metodologias formalizadas e as metas so para ajudar os investigadores a reconstruir uma imagem vvida dos acontecimentos em torno de uma infeco por malware e obter uma compreenso detalhada do prprio malware. Os investigadores devem sempre usar o pensamento crtico em suas observaes e entrevistar os proprietrios dos sistemas comprometidos, pois isso muitas vezes ajuda a desenvolver um quadro mais completo do que ocorreu. Alm disso, medidas adicionais podem ser exigidos em alguns casos, dependendo do contexto e das fontes de dados disponveis. Quando o backup do sistema comprometido estiver disponvel, pode ser proveitoso compar-lo com o estado atual do sistema, alm de poder ajudar na recuperao do sistema. Algumas organizaes recolhem informaes que podem ser teis investigao, rede. incluindo logs centralizados de antivrus, relatrios de verificao de integridade do sistema de ferramentas como OSSEC, e logs da

Coleta de malware sem alteraes no sistema


O ato de coletar dados em um sistema vivo causa mudanas que um investigador digital ter de explicar no que diz respeito ao seu impacto sobre as provas digitais. Por exemplo, executar ferramentas como o Helix a partir de uma mdia removvel ir alterar dados volteis, quando for carregado na memria principal, e normalmente ir criar ou modificar arquivos e entradas no registro do sistema probatrio. Da mesma forma, usar ferramentas forenses remotas necessariamente estabelece uma conexo de rede, executa instrues na memria, e causa outras alteraes no sistema probatrio. Os puristas argumentam que aquisies forense no devem alterar a fonte de evidncias de maneira alguma.

Definindo um padro absoluto que dita "preservar tudo, mas nada alterar" no apenas incoerente com outras disciplinas forenses, mas perigoso em um contexto legal. Na verdade, os tribunais esto comeando a forar a preservao de dados volteis de computadores em alguns casos, exigindo que os investigadores preservem os dados de sistemas vivos. Na Crte americana, no caso Indus Columbia Pictures. vs. Bunnell, por exemplo, o tribunal considerou que a memria RAM em um servidor Web pode conter dados de log relevantes e, portanto, dentro do mbito da informao detectvel no caso. Uma das chaves para a solidez de uma anlise forense a

documentao. Um caso slido construdo sobre a documentao de apoio que reporta onde se encontram os elementos de prova e como foram tratados. Do ponto de vista legal, o processo de aquisio deve alterar as provas originais o mnimo possvel, e quaisquer mudanas devem ser documentadas e avaliadas no contexto dos resultados finais de anlise.

Montagem de lab. para anlise


Em muitos casos, uma amostra pode ditar os parmetros do ambiente do laboratrio de malware, particularmente se o cdigo exige diversos servidores para funcionar plenamente, ou pior, emprega cdigo antivirtualizao para bloquear os esforos do investigador em observar o cdigo em uma mquina virtual. Usar virtualizao particularmente til, principalmente durante a anlise comportamental de uma amostra de cdigos maliciosos, posto que a anlise muitas vezes exige freqentes paradas e recomeos do programa malicioso em um esforo de observar as nuances do comportamento do mesmo. Ao analisar um exemplar suspeito, podemos utilizar hosts no Virtual Box para criar a emulao de um sistema "infectado", um "servidor" e um "cliente" para fornecer todos os servios de servidores e cliente necessrios pelo

malware, um sistema de "monitoramento" e de deteco de intruso, para monitorar o trfego da rede e do sistema vtima. Idealmente, seremos capazes de controlar o sistema infectado

localmente para reduzir a nossa necessidade de controlar mltiplos sistemas durante uma sesso de anlise, mas amostras de malware na maioria das vezes so "consciente de segurana" e usam tcnicas anti-forense, tais como a varredura dos nomes dos processos para identificar e finalizar as ferramentas de segurana conhecidas, como sniffers de rede, firewalls, software anti-vrus e outros aplicativos. Antes de iniciarmos nossa anlise da amostra de cdigo malicioso, precisamos ter um "snapshot" do sistema que ser usado como "vtima" na qual a amostra de cdigo malicioso ser executada. Da mesma forma, precisamos implementar uma ferramenta que nos permite comparar o estado do sistema aps o cdigo ser executado com o snapshot original do sistema.

Anlise de arquivos suspeitos


Ao analisar um programa suspeito, h uma srie 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 vtima? Como o programa interage com a rede? O que o programa sugere sobre o nvel de sofisticao do atacante? H um vetor de ataque identificvel que o programa usa para

infectar um hospedeiro? Qual a extenso da infeco ou comprometimento do sistema ou rede?

Em muitos casos, difcil responder a todas estas perguntas, posto que peas-chave para o enigma, como arquivos ou recursos adicionais de rede utiliados pelo programa no esto mais disponveis para o investigador. Entretanto, a metodologia, muitas vezes prepara o caminho para uma melhor compreenso global sobre o programa suspeito. Ao trabalhar com este material, lembre-se que a "engenharia reversa" caem dentro das prescries de determinadas leis internacionais, federais, estaduais ou locais. Da mesma forma, lembre-se tambm, que alguns dos instrumentos mencionados podem ser considerados "ferramentas hacker" em algumas jurisdies e esto sujeitas a regulamentaes jurdicas semelhantes ou restrio de uso.

Diretrizes de exame de um programa malicioso


A metodologia utilizada neste captulo uma diretriz geral para fornecer um sentido mais claro das ferramentas e tcnicas que podem ser usadas para examinar um binrio malicioso no ambiente Linux. No entanto, com o nmero aparentemente interminvel de amostras de cdigos maliciosos sendo gerados por atacantes - muitas vezes com diferentes funes e finalidades - flexibilidade e adaptao da metodologia para atender as necessidades de cada caso, certamente ser necessrio. Alguns dos preceitos bsicos que vamos explorar incluem: Estabelecer a linha de base do ambiente Preparao pr-execuo: monitoramento do sistema e da rede Execuo do binrio suspeito

Observao do processo: monitoramento de bibliotecas e system calls Avaliao do processo: anlise dos processos em execuo Anlise das portas abertas e conexes de rede Anlise de arquivos abertos e sockets Explorao do diretrio / proc Quebra de ofuscao: remoo da proteo do malware Ajustes de ambiente Ganhando controle do malware Interagindo e manipulando o malware Explorando e verificando as funcionalidades do malware Reconstruo de eventos: capturar trfego de rede, integridade de arquivos e logs de IDS Varredura de portas/vulnerabilidades do host comprometido Verificao de rootkits

Estudo de caso que ser apresentado na prtica: anlise forense de malwares, do tipo banking
A empresa X entrou em contato com voc para realizar um trabalho de percia forense em um incidente que ocorreu recentemente. Um dos empregados recebeu um e-mail de um companheiro de trabalho que possua um link para um arquivo .pdf. Ao abrir o arquivo, o funcionrio no percebeu nada de estranho. Entretanto, recentemente ele percebeu atividades no-usuais em sua conta bancria.

A empresa X conseguiu obter uma imagem da memria da mquina virtual do funcionrio que est com suspeita de comprometimento. E a empresa deseja que voc analize a memria e reporte qualquer atividade suspeita encontrada. As questes abaixo devem seguir como base para nortear o processo de investigao: 1. Liste os processos que estavam em execuo na mquina da vtima. Qual o processo mais provvel de ser responsvel pela explorao inicial? 2. Liste os sockets que estavam abertos na mquina da vtima durante a infeco. Existem processos suspeitos com sockets abertos? 3. Liste todas as URLs suspeitas que possam estar na memria do processo. 4. H quaisquer outros processos que contm URLs que podem apontar para problemas bancrios? Em caso afirmativo, quais so esses processos e quais so as URLs? 5. Estavam l todos os arquivos que puderam ser extradas do processo inicial? Como esses arquivos foram extrados? 6. Se houver algum arquivo extrado do processo inicial, quais as tcnicas que usou para realizar a explorao? 7. Liste os arquivos suspeitos que foram carregados por todos os processos na mquina da vtima.

You might also like