Você está na página 1de 44

Captulo

1
Anlise de Malware: Investigao de Cdigos Maliciosos Atravs de uma Abordagem Prtica
Laerte Peotta de Melo1 , Dino Macedo Amaral1 , Flavio Sakakibara2 , Andr Resende de Almeida2 , Rafael Timteo de Sousa Jr.1 , Anderson Nascimento1 .
1 Departamento

de Engenharia Eltrica Universidade de Braslia (UnB).

2 Departamento de Cincia da Computao Universidade de Braslia (UnB).

Campus Universitrio Darcy Ribeiro Asa Norte 70910-900 Braslia, DF Brasil.

Resumo Este curso destina-se a divulgar o conhecimento necessrio para que prossionais interessados em anlise de malware desenvolvam habilidades esperadas em um grupo de resposta a incidentes e forense computacional. A abordagem utilizada terico-prtica, de modo que o aluno ter acesso aos principais conceitos e discusses sobre as novas tendncias de desenvolvimento de cdigos maliciosos bem como suas contramedidas. Modelos de conduo de incidentes e anlise de malware sero apresentados, juntamente com ferramentas utilizadas no processo, apontando quais informaes so primordiais e as preocupaes necessrias para se conter um incidente. Aps a introduo o aluno ser desaado a executar uma anlise real, discutida e apresentada em dois cenrios distintos.

1.1. Introduo
Nos ltimos anos o nmero de cdigos maliciosos vem crescendo, acompanhando o aumento do nmero de usurios que acessa a Internet [Finjan Research Center 2009]. As defesas frente a essa ameaa tm se mostrado inecientes. Empresas de segurana que desenvolvem ferramentas de deteco utilizam a forma clssica para encontrar e neutralizar os cdigos maliciosos, ou seja, a forma baseada em assinaturas [Dube et al. 2010]. Assim, torna-se notrio para o entendimento dos processos de segurana e inovao da tecnologia que necessrio conhecer um artefato para que este seja considerado malicioso. Da mesma forma, preciso que um vetor de infeco seja encontrado e analisado para que uma assinatura seja produzida.

Devido grande quantidade desses artefatos, algumas organizaes e empresas de segurana utilizam mtodos de anlise automatizada ou semi-automatizada. Conhecer o funcionamento de um cdigo malicioso a base para se produzir ferramentas de deteco e proteo ecientes, pois permite que se conhea o contexto que o malware pretende atingir, entendendo o pblico alvo da ameaa, as informaes coletadas, o uso e o destino dos dados. Entretanto, o tempo para encontrar as defesas no tem se mostrado condizente com o cenrio atual dos ataques, que extremamente desfavorvel para o usurio nal. Com essa motivao, os pesquisadores tm se mostrado dispostos a enfrentar o problema e conantes em propor solues que tornem os processos, tanto de anlise quanto de deteco, ecientes e conveis. Vale notar que, em casos que envolvem fraudes nanceiras e roubo de identidades, conhecer a atuao do malware preponderante para erradicar o incidente. A simples descoberta de cdigos maliciosos pode sugerir uma ao preventiva em relao, por exemplo, a impedir que um usurio tenha acesso a um sistema, pois no possvel garantir que esse usurio seja corretamente reconhecido, pois o compromentimento de suas informaes de identicao fazem o risco de fraude tornar-se alto. Um grande problema enfrentado nessas situaes determinar qual o tipo de comprometimento, ou seja, encontrar qual a capacidade que o cdigo malicioso tem em capturar informaes. Esse fator determinante do tempo de resposta que a organizao e as empresas de segurana tm para produzir uma assinatura de reconhecimento do malware. 1.1.1. Justicativas Equipes de resposta a incidentes de segurana (CSIRT)[Brownlee and Guttman 1998] tm enfrentado grandes desaos para manter seus sistemas seguros e controlar possveis comprometimentos de sistemas que esto sob sua responsabilidade. Entre os desaos a serem enfrentados esto os malwares, que so cdigos capazes de comprometer totalmente uma infraestrutura de tratamento da informao e que esto tornando cada vez mais complexas as defesas. Alm da questo das inovaes nas formas de ataques, o nmero crescente desses cdigos maliciosos [Finjan Research Center 2009] representa uma preocupao, no somente para as empresas, mas tambm para entidades governamentais, que devem se preocupar com ameaas que podem causar danos sistemas crticos de um pas[Chen and Abu-Nimeh 2011] e afetar diretamente a segurana fsica do cidado desse pas. 1.1.2. Objetivos O curso tem como objetivo introduzir o assunto tanto comunidade acadmica quanto a prossionais interessados no tema, de modo a subsidiar o entendimento de atuao de malwares. O foco colocado em trojans bancrios, procurando fazer o aluno compreender todo o processo de deteco, anlise e tratamento desse tipo de artefato, bem como demonstrar a obteno de evidncias de que o artefato teve sucesso na coleta de informaes da mquina comprometida. A proposta que o aluno desenvolva habilidades de identicar uma ameaa, analisar e avaliar o grau de sosticao. Para isso o curso aplicado utilizando exposies tericas e prticas em laboratrio. O perl esperado para os alunos o de prossionais

que atuem na rea de segurana da informao, centro de resposta e tratamento de incidentes de segurana, forense computacional, assim como de discentes/docentes de cursos de engenharia e cincia da computao, com noes bsicas de sistemas operacionais Windows e Linux, e redes TCP/IP. 1.1.3. Organizao do minicurso Este minicurso est organizado da seguinte maneira: no captulo 1.1 se apresenta o tema sobre o ponto de vista de sua importncia e justicativas para uma formao com objetivo nal esperado. A questo do tratamento de incidentes, os termos mais importantes, juntamente com um estudo de caso de anlise forense para phishing, sos os temas apresentados no captulo 1.2. O captulo 1.3 detalha metodologias aplicadas em forense computacional, suas estratgias de atuao e preservao de evidncias. Tcnicas e metodologias para anlise e conduo de incidentes que envolvem malwares so detalhadas no captulo 1.4. A seguir, tratam-se os modelos de anlise de metadados no captulo 1.5, a identicao de cdigos ofuscados no captulo 1.6 e as funes de hash e fuzzy hash no captulo 1.7. Finalmente, no captulo 1.8 so apresentados estudos de casos para anlise de malwares e, no captulo 1.9, um modelo de relatrio de anlise que serve para documentar e gerir o processo de investigao de malwares.

1.2. Identicao e Tratamento de Incidentes de Segurana


Nesta seo apresentamos as denies de tipos de incidentes e ataques, incluindo os artefatos de vrus, worm, trojan horse e os principais ataques, como engenharia social, spam, honeynet, phishing [Steding-Jessen 2008], botnets, negao de servio [Binsalleeh et al. 2009] e explorao de vulnerabilidades [Abbas et al. 2006]. So tambm abordados os principais fatores da resposta a incidentes, os grupos de resposta a incidentes de segurana (CSIRT) [Brownlee and Guttman 1998], suas etapas de trabalho e as metodologias de anlise e conduo de incidentes, compostas por atividades de coleta, extrao, tratamento e resposta[Kent et al. 2006]. Um incidente de segurana um evento indesejado ou inesperado, que pode ser nico ou em srie e que possui caractersticas de comprometimento do bom funcionamento de uma organizao, resultante de uma ameaa segurana da informao[ABNT 2005]. Especicamente, um incidente pode ser relacionado a eventos como invases, acessos no autorizados, negao de servio, contaminao de sistemas atravs de malwares, furto de informaes ou qualquer atividade considerada ilegal ou ilegtima. Nesses casos, necessrio que os eventos sejam investigados por pessoas qualicadas a m de resolverem o problema causado. Programa malicioso, cdigo malicioso, softwares malicioso, ou simplesmente malware, so expresses que se referem a um programa que inserido em um sistema, normalmente de forma encoberta, com a inteno de comprometer a condencialidade, integridade ou disponibilidade dos dados da vtima, aplicativos ou o prprio sistema operacional. A produo de malwares se tornou a ameaa mais signicativa para a maioria dos sistemas, causando danos generalizados e perturbao, ocorrncias que necessitam de esforos de recuperao extensa dentro da maioria das organizaes. As tcnicas utilizadas pelos malwares so associados violao de privacidade de

um usurio, valendo observar que o denominado spyware tornou-se uma grande preocupao para as organizaes. Embora a violao da privacidade atravs desses programas no seja novidade, tornou-se muito mais difundida recentemente [Mell and karen Kent 2005]. A monitorao das atividades pessoais e a realizao de fraudes nanceiras so ocorrncias cada vez mais comuns, assim como a ocorrncia de sistemas invadidos. As organizaes tambm enfrentam outras ameaas que so frequentemente associadas aos malwares. Uma das formas que tem se tornado comum o phishing. Outras formas de artefatos, como vrus, backdoors, cavalos de tria, keyloggers, rootkits, tambm se denominam pelo termo malware e sero abordadas a seguir neste captulo. 1.2.1. Spam e Phishing O termo spam utilizado para referenciar o recebimento de uma mensagem no solicitada, que geralmente tem o carter de fazer propaganda de algum produto ou assunto no desejado. O termo em ingls utilizado para esse tipo de mensagem UCE (Unsolicited Commercial Email). A palavra spammer o termo utilizado para denir quem envia esse tipo de mensagem, em cuja elaborao geralmente so utilizados softwares especiais automatizados para coletar bases de emails atravs de listas de discusso, caixas postais de grupos, ou explorao, atravs de listas adquiridas, por empresas especializadas nesse tipo de marketing. Existem diversas solues no mercado que buscam conter o recebimento de spams, ferramentas estas que basicamente utilizam ltros contendo blacklists de proxys e relays abertos, que so utilizados para o envio das mensagens. Servidores de proxies so utilizados por organizaes de maneira a tornar suas estruturas de comunicao mais seguras, pois permitem prover acesso de redes internas a redes externas, como a Internet, sendo capazes de impor controles de acesso a contedos denidos em uma poltica de segurana e gerar informaes de auditoria. Os servidores relay so utilizados conjuntamente com o protocolo SMTP (Simple Mail Transfer Protocol) de transmisso e recebimento de mensagens, protocolo este que considerado inseguro, pois, caso um atacante tenha acesso ao meio de comunicao e capture o trfego gerado entre cliente e servidor, as credenciais de cada um no so protegidas por criptograa. Apesar de existir servios SMTP que utilizam de criptograa, a utilizao baixa. Por tais razes, servidores SMTP que estejam com o servio de relay ativado podem permitir que os servios sejam utilizados por spammers e que as mensagens sejam enviadas. Diante de tal situao, recomenda-se que os servidores sejam congurados utilizando tcnicas de hardening, de modo a permitir que somente pessoas autenticadas e autorizadas possam enviar mensagens, restringindo o uso por terceiros. A Figura 1.1 conrma que crescente o envio de mensagens no solicitadas. O termo phishing, phishing scam ou phishing/scam ("shing"signica pescaria), refere-se ao mtodo pelo qual iscas (e-mails) so usadas para pescar informaes de usurios da Internet, constituindo-se um ataque que tem como objetivo efetuar algum ilcito atravs do envio de mensagem no solicitada. Essa tcnica geralmente associada engenharia social, atividade em que o spammer explora algum tema de modo a induzir o usurio nal a executar alguma atividade ou ao que no faria normalmente. Essas mensagens so projetadas para roubar informaes como: dados pessoais, credenciais de clientes de instituies nanceiras de usurios. Para compreender a anlise da mensagem, deve-se entender o comportamento esperado de um servidor SMTP padro:

Figura 1.1. Valores acumulados: 2003 a agosto de 2011 - Fonte: CGI

1. Usurio escreve uma mensagem utilizando um software ou agente web (MUA Mail User Agent Outlook, Eudora, Webmail); 2. Usurio envia a mensagem atravs do software utilizado para escrever a mensagem (MUA); 3. O software (MUA) conecta-se ao servidor SMTP do usurio (MTA - Mail Transfer Agente Sendmail), para isso usa o protocolo SMTP-AUTH, que envia o username e password do usurio; 4. O servidor SMTP recebe e armazena a mensagem na la para envio; 5. O servidor SMTP localiza o domnio de destino da mensagem utilizando o protocolo DNS; 6. O servidor SMTP conecta-se conecta ao servidor SMTP do destino da mensagem; 7. Os servidores SMTP trocam identicao; 8. O servidor SMTP remoto verica os cabealhos da mensagem; 9. O servidor SMTP remoto autoriza ou rejeita a mensagem, de acordo com regras de vericao de reverso e polticas anti-spam; 10. O servidor SMTP remoto recebe e entrega ao servidor local (LMTA - Local Mail Transfer Agent Procmail); 11. O servidor local (LMTA) processa a mensagem e entrega na Caixa Postal do usurio destino; 12. O usurio, utilizando o software para acesso (MUA) e suas credenciais username e password se autentica ao seu servidor de email MRA (Mail Reader Agent POP3, IMAP4) POP (Post Ofce Protoco) ou Imap (Internet Message Access Protocol) e verica se existem novas mensagens;

13. O servidor de email (MRA) entrega a nova mensagem para o software de acesso do cliente (MUA); 14. O Usurio pode ler a mensagem. A Figura 1.2 apresenta um exemplo desse tipo de mensagem. Todo o processo de envio e recebimento passvel de auditoria, permitindo que se compreenda a taxonomia do evento que um spammer utiliza. Em certas ocasies, o spammer no se preocupa em ocultar sua origem, tornando o rastreamento rpido. Entretanto, na maioria dos casos a origem ocultada ou alterada de maneira a indicar outro local de envio da mensagem.

Figura 1.2. Exemplo de phishing

Analisando o exemplo da Figura 1.2 possvel coletar uma grande quantidade de informaes que podem ser utilizadas para se determinar pontos de comprometimento. A informao coletada apontando o mouse para o link de "Conrmar Recebimento"apresenta o link para download de artefato malicioso, que neste caso indica ser um cavalo de tria para roubo de credenciais de clientes bancrios. Portanto qualquer e-mail enviado possui informaes que no so apresentadas pelos programas ou interfaces de usurio. Essas informaes podem ser obtidas analisando diretamente o cdigo fonte da mensagem. O cdigo da mensagem, referente a Figura 1.2, apresentada pela Listagem 1.1.
Listagem 1.1. Listagem de cabealho e-mail phishing
1 2 3 4

5 6

D e l i v e r e d To : p e o t t a @ g m a i l . com R e c e i v e d : by 1 0 . 1 4 2 . 1 6 6 . 1 2 w i t h SMTP i d o 12 c s 148327 wfe ; Tue , 20 Sep 2011 0 0 : 1 3 : 2 2 0700 ( PDT ) R e c e i v e d : by 1 0 . 2 3 6 . 1 7 9 . 9 7 w i t h SMTP i d g 61mr 2104588yhm .119.1316502409640; Tue , 20 Sep 2011 0 0 : 0 6 : 4 9 0700 ( PDT ) R e c e i v e d SPF : n e u t r a l ( g o o g l e . com : 2 0 0 . 1 7 5 . 8 . 2 1 7 i s n e i t h e r p e r m i t t e d n o r d e n i e d by b e s t g u e s s r e c o r d f o r domain o f unknown ) c l i e n t i p =200.175.8.217;

7 8 9 10 11 12

13 14

15 16 17 18 19 20

21

22

23 24 25

26 27 28 29 30 31 32 33 34

R e c e i v e d : by 1 0 . 2 0 0 . 2 7 . 1 2 w i t h POP3 i d a 12mf 92257 gwa . 3 3 ; Tue , 20 Sep 2011 0 0 : 0 6 : 4 9 0700 ( PDT ) XGmail F e t c h I n f o : lpi@pop . com . b r 1 m a i l . pop . com . b r 110 l p i R e c e i v e d : ( q m a i l 8396 i n v o k e d from n e t w o r k ) ; 20 Sep 2011 0 6 : 5 2 : 3 8 0000 R e c e i v e d : from unknown ( [ 2 0 0 . 1 7 5 . 8 . 2 1 7 ] ) by pop 37. pop . com . b r ( q m a i l l d a p 1 . 0 3 ) w i t h QMQP; 20 Sep 2011 0 6 : 5 2 : 3 8 0000 D e l i v e r e d To : CLUSTERHOST pop 8. pop . com . b r lpi@pop . com . b r R e c e i v e d : ( q m a i l 25792 i n v o k e d from n e t w o r k ) ; 20 Sep 2011 0 6 : 5 2 : 3 7 0000 R e c e i v e d : from vvps 152833. d a i l y v p s . co . uk ( [ 9 1 . 2 2 3 . 1 6 . 2 3 9 ] ) ( e n v e l o p e s e n d e r < root@vvps 152833. d a i l y v p s . co . uk > ) by pop 8. pop . com . b r ( q m a i l l d a p 1 . 0 3 ) w i t h SMTP f o r < lpi@pop . com . br > ; 20 Sep 2011 0 6 : 5 2 : 3 7 0000 XC3 Mail ID : 1316501546274674 R e c e i v e d SPF : none ( pop 8. pop . com . b r : domain a t vvps 152833. d a i l y v p s . co . uk d o e s n o t d e s i g n a t e p e r m i t t e d s e n d e r h o s t s ) R e c e i v e d : from vvps 152833. d a i l y v p s . co . uk ( l o c a l h o s t . l o c a l d o m a i n [127.0.0.1]) by vvps 152833. d a i l y v p s . co . uk ( 8 . 1 3 . 8 / 8 . 1 3 . 8 ) w i t h ESMTP i d p 8K6 qPYf 023569 f o r < lpi@pop . com . br > ; Tue , 20 Sep 2011 0 7 : 5 2 : 2 5 +0100 R e c e i v e d : ( from r o o t @ l o c a l h o s t ) by vvps 152833. d a i l y v p s . co . uk ( 8 . 1 3 . 8 / 8 . 1 3 . 8 / S u b m i t ) i d p 8K6qPgZ 023568 f o r lpi@pop . com . b r ; Tue , 20 Sep 2011 0 7 : 5 2 : 2 5 +0100 D a t e : Tue , 20 Sep 2011 0 7 : 5 2 : 2 5 +0100 From : Grupo S a n t a n d e r S / A < s a n t a n d e r @ s a n t a n d e r . i n f o e m a i l . com> To : lpi@pop . com . b r Subject : R e g u l a r i z e sua A s s i n a t u r a E l e t r n i c a ! Message ID : <1316501545. @ s a n t a n d e r . i n f o e m a i l . com> C o n t e n t Type : t e x t / h t m l XRemote I P : 9 1 . 2 2 3 . 1 6 . 2 3 9 XSpam S t a t u s : No , t e s t s = f i l t e r , s p a m i c i t y = 0 . 5 0 0 0 0 1

A investigao desse tipo de ocorrncia feita analisando o cdigo fonte da mensagem sempre de baixo para cima, neste caso a linha 34 uma informao de que esta mensagem especicamente foi testada por um ltro de spam e no foi considerada uma mensagem no solicitada. A linha 33 importante para denir a origem do spam, o servidor SMTP insere essa informao para facilitar a identicao de quem envia, o campo pode variar de acordo com a verso, podendo ter nomenclatura como X-Originating-IP ou X-IP. Para identicar a origem do spammer utilizaremos o campo X-Remote-IP que aponta para o IP 91.223.16.239. Utilizando o protocolo whois, possvel encontrar informaes como: Contato Administrativo (Admin Contact), Contato Tcnico (Technical Contact) e Contato de Cobrana (Registrant Contact). A sada resumida est disponvel atravs da Listagem 1.2.
Listagem 1.2. Resultado para a consulta whois
1 2 3

IP I n f o r m a t i o n for 9 1 . 2 2 3 . 1 6 . 2 3 9 IP L o c a t i o n : U n i t e d Kingdom U n i t e d Kingdom D a i l y I n t e r n e t L t d ASN : AS31727

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

Resolve Host : IP Address : inetnum : netname : descr : country : org name : org t y p e : address : address : address : phone : f a x no : person : address : address : address : address : address : phone :

vvps 152833. d a i l y v p s . co . uk 91.223.16.239 91.223.16.0 91.223.16.255 DAILYUK VPS D a i l y I n t e r n e t LTD GB Daily I n t e r n e t Ltd OTHER 67 69 George S t r e e t LONDON W1U 8LT +44 115 9737260 +44 115 9725140 Andrew G i l b e r t Node4 L t d M i l l e n n i u m Way P r i d e Park Derby DE24 8HZ +44 845 123 2222

A listagem 1.1, os campos apresentados pela linha 28 e 29, respectivamente informam origem e destino da mensagem. A linha 27 apresenta informao sobre a data, importante recurso para se conduzir identicao de quebra de sigilo judicial, pois a data necessria para associar uma conexo a um usurio naquele exato momento. Como o servidor est localizado no Reino Unido (linha 2 da Listagem 1.2 importante considerar o horrio mundial, que neste caso determinado pelo Greenwich Mean Time (GMT). A linha 11 revela que a mensagem foi entregue para o cliente do servidor pop.com.br, entretanto este ainda no o destino nal da mensagem, continuando a anlise podemos perceber atravs da linha 9 que o servidor Gmail coletou a mensagem utilizando uma conexo atravs do protocolo Post Ofce Protocol (POP3) utilizando a porta 110. O destino nal ento determinado pelo campo Delivered-to, apresentado na linha 1. De acordo com a anlise da mensagem recebida e apresentada pela Figura 1.2, foi possvel analisar informaes de headers da mensagem, conforme Listagem 1.1, identicando sua origem, conforme Listagem 1.2. O mtodo de roubo pode ser associado a um formulrio web, onde as informaes so solicitadas vitima, outro mtodo conhecido como cavalo de tria, em que a vtima instala o artefato de maneira desavisada. Os cavalos de tria so tratados na seo 1.2.4. Alguns exemplos de situaes que envolvem esse tipo de ataque: Formulrios recebidos por e-emails que solicitam informaes condenciais; Links recebidos que direcionam para a instalao de cavalos de tria; Alterao atravs de malwares que direcionam o trfego DNS para um proxy controlado pelo atacante; Pginas falsicadas de empresas de comrcio eletrnico, sites de leiles, instituies nanceiras, rgos do governo.

Praticamente os ataques que, utilizam tcnicas de engenharia social, tem como vetor de comprometimento o phishing. Spammers precisam convencer o usurio a executar aes que tem como objetivo comprometer seu dispositivo, portanto esse tipo de ataque fortemente dependente da colaborao da vtima. Ganhar a conana do usurio tem sido um desao para os atacantes, que buscam camuar suas investidas tornando-se parecidos com sites de servios mais comumentes utilizados, como bancos, redes sociais, servidores de e-mail, comrcio eletrnico. Como exemplo podemos observar a Figura 1.3, onde o atacante tenta reproduzir, de maneira el, o site de uma instituio nanceira, entretanto, nesse tipo de ataque o ponto a ser explorado a distrao da vtima, que no percebe as modicaes, muitas vezes grosseiras e que solicita de maneira direta o que o atacante precisa para se passar por um cliente legtimo da instituio.

Figura 1.3. Exemplo de pgina falsa

Os programas maliciosos podem ser divididos primordialmente atravs de sua dependncia ou no do hospedeiro. Os tipos dependentes so por exemplo: vrus, bombas lgicas e backdoors, os no-dependentes worms e zumbis. A replicao outra maneira de se classicar, pois existem os programas que possuem a capacidade de se replicar, como vrus e worms, e os que no se replicam, como bombas lgicas, backdoors, zumbis, rootkits e keylogger. Entretanto bastante comum os malwares que possuem capacidades hbridas, sendo capazes de se replicar e ao mesmo tempo possurem outras caractersticas inerente s necessidades. Para que a classicao de cada tipo seja feita, necessrio que os termos utilizados sejam de conhecimento do analista que ir conduzir a investigao, portanto apresentaremos uma breve descrio de cada tipo mais comum de malware.

1.2.2. Honeynets e Honeypots Honeypots so recursos e servios computacionais em rede criados e monitorados com o objetivo de serem atacados e comprometidos, visando identicar novos ataques e ferramentas utilizadas. Honeynet so conjuntos de sensores monitorados de maneira a identicar trfego suspeito e malicioso. Um sistema de honeypots pode ser dividido em duas categorias[Steding-Jessen 2008]: Alta Interatividade: Todos os sistemas e servios disponibilizados so servios reais sem inseres de vulnerabilidades propositadas. Nesse ambiente todo o trfego monitorado e controlado, de maneira que um comprometimento no seja utilizado para causar danos a outras redes. Baixa Interatividade: Os sistemas so reais, entretanto os servios disponibilizados so emulados atravs de ferramentas criadas exclusivamente para reproduzir o comportamento esperado desses servios. Oferecem um grau menor de risco de serem utilizados como base a ataques a outras redes. O objetivo dos honeypots, independentemente de sua categoria, coletar informaes de ataques, identicando origens e destinos, bem como servios mais procurados. A monitorao feita geralmente utilizando-se sistemas de deteco de intrusos (IDS) e armazenamento e correlacionamento de logs. 1.2.3. Vrus Os vrus de computador foram introduzidos na dcada de 1980, com funes simples que ocasionalmente geravam inconvenientes ou apenas mostravam informaes ao usurio. Atualmente esse tipo de cdigo traz um risco signicativo com potencial destrutivo e que demandam grande esforo das organizaes para manterem seus sistemas a salvo. A designao de vrus tratada de acordo com sua funo. Para que um cdigo malicioso seja considerado um vrus ele deve ter a capacidade de auto replicao, ou seja, fazer uma cpia de si mesmo e distribuir essa cpia para outros arquivos e programas do sistema infectado. Cada vrus pode utilizar um mecanismo de infeco diferente, por exemplo: inserir seu cdigo em programas executveis sobrescrevendo parte do cdigo de maneira a permitir que toda vez que o programa infectado seja executado o cdigo viral tambm seja executado. Portanto o principal objetivo de um vrus replicar-se e contaminar o maior nmero possvel de programas, de maneira a comprometer outros sistemas. Podemos dividir os vrus em duas grandes categorias [Kent et al. 2006]: vrus compilados e vrus interpretados. A) Vrus compilados Esse tipo de cdigo malicioso composto de um programa fonte que compilado com alguma linguagem e direcionado para um determinado sistema operacional, tipicamente esse tipo de vrus pode dividido em trs categorias: Infector de programas: Infectam programas executveis, onde o programa infectado se

propaga para infectar outros programas no sistema, bem como outros sistemas que usam um programa infectado compartilhado. Setor de Boot: Infectam o setor Master Boot Record (MBR) do disco rgido ou mdia removvel inicializvel. Esse tipo de vrus foi muito utilizado nas dcadas 1980 e 1990, atualmente est em desuso. Multipartite: Utiliza mtodos de infeco mltipla, normalmente infectando arquivos e setores de boot. Assim, os vrus multipartite combinam as caractersticas dos vrus que infectam arquivos e setor de inicializao. B) Vrus interpretados Esse tipo de vrus composto de cdigo-fonte que pode ser executado apenas por uma determinada aplicao ou servio, ao contrrio dos vrus compilado, que pode ser executada por um sistema operacional. Tornaram-se mais comuns, pois considerados mais fceis de escrever e modicar do que outros tipos de vrus. No necessrio desenvolver capacidades tcnicas elevadas, pois um atacante pode adquirir um vrus interpretado e modicar seu cdigo fonte. Muitas vezes h dezenas de variantes de um nico vrus interpretado, apenas com alteraes triviais a partir do original. Os dois principais tipos de vrus interpretados so: vrus de macro e vrus de script. Vrus de macro: Utilizam tcnicas de propagao baseadas em anexo de documentos que executam macros, como planilhas eletrnicas e processadores de texto. Estes vrus tendem a se espalhar rapidamente, porque os usurios freqentemente compartilham documentos com recursos de macro habilitados. Alm disso, quando uma infeco ocorre, o vrus infecta o modelo que o programa usa para criar e abrir arquivos. Uma vez que um modelo infectado, cada documento que criado ou aberto com esse modelo tambm ser infectado. Vrus de script: Nesse tipo de vrus a principal diferena, em relao ao de macro, a linguagem utilizada. O cdigo escrito para um servio e sistema operacional especco, como por exemplo VBScript que executa em um servidor com sistema operacional Windows. Tcnicas de ofuscao podem ser utilizadas no cdigo de vrus, particularmente para dicultar sua deteco. As tcnicas mais comuns so: Criptograa: O cdigo possui funes para cifrar e decifrar o executvel do vrus, gerando pores de cdigos aleatrios para cada infeco. Polimorsmo: Um modelo mais robusto que usa criptograa, com o cdigo gerando um executvel com tamanho e aparncia diferentes para cada infeco, podem tambm habilitar funcionalidades diferentes na ao. Metamorsmo: Assim como os polimrcos mudam o comportamento, podendo gerar cdigos novos a cada iterao atravs de tcnicas de cdigos desnecessrios, sendo recompilado e criando um novo executvel.

1.2.4. Cavalos de Tria De acordo com a mitologia Grega, um cavalo de Tria um "presente"que esconde uma ao no esperada, so programas que no se replicam e que tem aparncia inofensiva, escondendo sua proposta maliciosa. Esse tipo de malware pode tomar o lugar de um programa com intenes legtimas, executar todas as funes esperadas e ento, conjuntamente, executar as aes para a qual foi programado, dentre essas aes pode-se citar: Coletar informaes da mquina contaminada, como credenciais, fotos, arquivos; Esconder sua presena e aes de maneira a impedir ou dicultar sua deteco; Desabilitar softwares de segurana como rewall, anti-virus, anti-malwares. Atualmente os cavalos de tria utilizam diversas tcnicas para que sua presena passe desapercebida ou que sua deteco seja difcil. Esse tipo de malware o mais comum quando se trata do cenrio da Internet brasileira, pois bastante utilizado por fraudadores que aproveitam sua ao para coletar todo o tipo de informao necessria para fraudes nanceiras em lojas de comrcio eletrnico, bancos, nanceiras, etc. No captulo 1.6 trataremos das tcnicas de ofuscao que so utilizadas pelos atacantes com o objetivo de dicultar sua identicao e anlise. 1.2.5. Worms Um programa que capaz de se propagar automaticamente atravs de redes, enviando cpias de si mesmo de computador para computador, de sistema para sistema, essa a denio de um worm. Diferentemente do vrus, o worm no tem a capacidade de infectar outros programas inserindo seu cdigo em outros programas ou arquivos, tambm no depende de execuo para se propagar em outros sistemas, pois atravs da explorao de vulnerabilidades que esse tipo de malware contamina outros sistemas, aproveitando de falhas de congurao ou softwares vulnerveis. A grande ameaa do worm reside em deteriorar a performance de um sistema, sobrecarregando servios e gerando trfego, que em alguns casos, pode provocar negao de servio (DoS - Deny of Service). Por ser capaz de comprometer sistemas sem a necessidade de um usurio instalar ou executar algum programa, esse tipo de ataque tem se popularizado entre os criminosos, pois permite que em um curto espao de tempo um grande nmero de sistemas seja comprometido, diferente dos vrus, que dependem do hospedeiro e usurio. Outra vantagem que vulnerabilidades e conguraes mal feitas so bastante comuns e diariamente surgem novas fraquezas em sistemas. Para efeito de classicao, existem dois tipos principais de worms, servios em rede (network service worms) e envio em massa (mass mailing worms). Os worms de servios (network service worms) utilizam o processo de explorao de uma vulnerabilidade em um servio de rede, geralmente associado a um determinado sistema operacional ou aplicativo. Depois que um sistema esteja infectado o cdigo malicioso inicia a vericao de outros sistemas vulnerveis pela rede. Sua ao aumenta a medida que outras mquinas so comprometidas, o que justica a queda de performance do sistema de comunicao. Como no h necessidade de interao humana, rapidamente uma rede vulnervel pode ser totalmente mapeada e comprometida.

1.2.6. Backdoors O termo backdoor geralmente associado a um programa malicioso que ca aguardando uma determinada ao para que permita uma conexo remota ou acesso no autorizado, e que no seja detectado pelos dispositivos de segurana. A instalao de um backdoor inerente invaso de um sistema, onde o atacante habilita um "servio"que o permita ter acesso quando necessrio ao sistema comprometido, geralmente possuem capacidades especiais: Zombies: O termo zumbi decorrente da utilizao de mquinas comprometidas atravs de bots, possuindo a capacidade de propagao como um worm. Essas mquinas so controladas por atacantes que compem um sistema maior. Botnets so redes compostas por milhares de computadores zumbis e que so utilizadas para ataques coordenados, como DDoS (Distribution Deny of Service), envio de spams e phishing. Remote Administration Tools - RAT: Permite a um atacante ter acesso a um sistema quando desejar e em alguns casos o sistema controlado coleta e envia informaes como imagens de tela, teclas digitadas, arquivos acessados sendo possvel ativar remotamente dispositivos como impressoras, webcams, microfones e autofalantes. Exemplos de RATs: Back Orice, Netbus e SubSeven. Um invasor, que tenha controle sobre uma botnet, poder utiliz-la com o objetivo de aumentar o poder em seus ataques, inclusive a outras botnets, de modo a incorporar as mquinas zumbis de outras redes. Vrios ataques tem sido reportados utilizando esse tipo de rede, como por exemplo: Envio de phishing ou spam, ataques de negao de servio, fraudes bancrias entre outros. 1.2.7. Keyloggers Keylogger ou keystroke logger, So programas utilizados para monitorar e armazenar atividades do teclado de uma determinada mquina. Qualquer tipo de informao inserida, como contedo de documentos, credenciais de bancos, nmero de carto de crdito, senhas so capturadas e armazenadas localmente ou enviadas para servidores remotos utilizando protocolos como FTP (File Transfer Protocol), HTTP/HTTPS (HyperText Transfer Protocol Secure) ou anexo de e-emails. Existem algumas variaes desse tipo de malware, que monitora cliques do mouse (mouseloggers) ou efetuam cpias de imagens de tela (screenloggers). Apesar de ser classicado como um malware, esse tipo de software pode ter sua utilizao legtima, quando uma organizao, atravs de uma poltica de segurana que preveja seu uso, habilite a funcionalidade e monitore as atividades de uso de sistemas que compem sua rede interna. 1.2.8. Rootkits O termo rootkit provm do uso em sistemas Unix/Like, onde um atacante, aps obter sucesso em comprometer um sistema, instala um conjunto de ferramentas, ou toolkit que tem como nalidade esconder a presena maliciosa dos artefatos. Sua utilizao tambm ocorre em sistemas baseado em outras plataformas como o Windows. Apesar do termo

root ser proveniente de sistemas Unix, que neste caso seria mais indicado ter a nomenclatura modicada para adminkits, entretanto no isso que acontece. Os rootkits permitem que um atacante possa controlar remotamente um sistema comprometido, apagar todas os rastros de comprometimento, e esconder sua presena do administrador, de modo que alguns programas so modicados ou simplesmente substitudos por programas modicados que compem o pacote de ferramentas de um rootkit. tarefa de um rootkit capturar outras informaes que possam ser utilizados pelo atacante, como senhas, credenciais, outros sistemas que possam ser comprometidos. 1.2.9. Kits de ferramentas Um atacante possui um conjunto de ferramentas que o auxiliam a identicar sistemas que possam ser comprometidos, de modo a ter o controle de uma rede, total ou parcialmente. Dentre essas ferramentas podemos listar: Sniffers: Utilizados para monitorar uma rede capturando todos os pacotes do trfego gerado, tanto wireless quanto redes cabeadas. Alguns tipos de sniffers tem a capacidade de interagir com uma rede enviando pacotes, so conhecidos como sniffers ativos. Outros so projetados exclusivamente para capturar dados sensveis como senhas e credenciais, utilizando protocolos mais comuns, como FTP, HTTP, POP3, IMAP (Internet Message Access Protocol), entre outros. Port Scanners: um programa utilizado para varrer uma rede buscando servios que esteja disponveis atravs de portas TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol), potencialmente localizam um alvo e coletam informaes como servios e verses, permitindo que o atacante identique servios vulnerveis. Scanners de vulnerabilidades: Esse tipo de programa pode ter sua utilizao licita, onde uma organizao o utiliza para varrer seus sistemas em busca de vulnerabilidades conhecidas, permitindo que seja identicada e corrigida, entretanto um atacante pode utilizar de maneira a encontrar e explorar as vulnerabilidades antes que sejam descobertas pela organizao. Password Crackers: Sistemas que utilizam-se de senhas para proteger sua aplicaes so suscetvel a ataques de fora bruta, onde so testadas um conjunto de senhas aleatrias, ou ataques por dicionrio, onde uma lista de palavras so testadas para encontrar qual utilizada para proteger um segredo. Um atacante sosticado pode desenvolver suas prprias ferramentas e ter seu kit exclusivo, j um atacante que possua menos conhecimento, como script kids, utilizam-se de ferramentas prontas, de modo a agir com a inteno de invadir ou comprometer um sistema de maneira indiscriminada.

1.3. Mtodo aplicado em forense computacional


A forense computacional uma parte do processo de resposta a incidentes, geralmente o prossional que atua na rea est associado a um centro de resposta a incidentes de segurana (CSIRT)[Mieres 2009]. O objetivo , atravs de tcnicas de investigao, conrmar

ou descartar uma ocorrncia de incidente, permitindo que a organizao estabelea controles ecientes para recuperao e tratamento de evidncias, protegendo a privacidade e as polticas da organizao. Toda a atividade documentada de modo a minimizar interrupes das operaes de um sistema, do mesmo modo a preocupao em se manter a integridade das evidncias deve ser seguida, evitando-se que as informaes sejam contaminadas em sua conduo. Como resultado de uma anlise, um relatrio produzido de maneira clara a explorar e responder as seguintes indagaes: onde, como, onde e porqu um incidente ocorreu, de modo a relacionar o incidente a uma entidade, ou seja, quem gerou o incidente. A conduo de uma anlise algo complexo, que envolve diversas variveis e que exigem uma abordagem clara e sem dvidas quanto aos quesitos solicitados, portanto importante ter claro os termos envolvidos[Prosise et al. 2003]: Preparao: necessrio que exista planos pr incidentes, pois quando o incidente ocorrer existir um processo a ser seguido. Deteco: necessrio ter maneiras de se detectar a ocorrncia de um incidente, seja ele atravs de monitorao ou anlise dos eventos nos dispositivos de segurana. Resposta: Ao se identicar um incidente necessrio obter respostas sobre os fatos, em uma resposta inicial necessrio que as evidncias sejam coletadas, no descartando entrevistas com as pessoas envolvidas. Estratgia: necessrio que exista estratgias de ao, que permita denir qual a melhor resposta utilizar mediante as evidncias coletadas. Duplicao: Alguns casos a duplicao (Cpia pericial) pode ser descartada, entretanto para as anlises quem envolvam acesso a imagens originais recomenda-se que a duplicao seja executada. Investigao: Deve-se o fato de esclarecer os acontecimentos, buscando responder os quesitos relacionados anlise, principalmente o autor do incidente e suas razes. Relatrio: Toda anlise deve ser concluda com a apresentao de um documento que descreva todos os fatos relevantes investigao. O mtodo utilizado por um atacante representa a taxonomia do prprio ataque, sendo possvel listar da seguinte maneira: 1. Identicao do alvo; 2. Coleta de informaes; 3. Identicao de vulnerabilidades; 4. Comprometimento do sistema;

5. Controle do sistema; 6. Instalao de ferramentas; 7. Remoo de rastros; 8. Manuteno do sistema comprometido. Quando um atacante identica seu alvo ele coleta o maior nmero possvel de informaes que possam auxili-lo na identicao de vulnerabilidades. O comprometimento de um sistema baseado nas vulnerabilidades encontradas, sendo que o controle feito atravs da explorao dessas vulnerabilidades, nesse ponto que o atacante controla e busca aumentar o nvel de privilgio, que tem como objetivo ser o administrador do sistema. A instalao de ferramentas o passo posterior ao comprometimento, nesta etapa o atacante instala o conjunto de ferramentas que geralmente composto de um rootkit que ir auxili-lo a manter o sistema funcional e com suas atividades protegidas do administrador legtimo, onde todos os rastros sero removidos e o ultimo passo a correo da vulnerabilidade explorada, o atacante deve proteger o sistema de modo que outro atacante no encontre e explore a mesma vulnerabilidade. As fases que compem a anlise forense so apresentadas pela Figura 1.4.

Figura 1.4. Metodologia Forense

A metodologia proposta no algo fechado, mas que deve ser seguida, sendo a preparao algo inerente ao prprio processo. Um analista forense deve considerar a deteco como primeira passo no tratamento de um incidente, mesmo que essa funo no esteja associada a atuao ela deve ser considerada no processo de anlise, pois cabe ao analista forense obter a informao de como o incidente foi detectado. A preservao do local deve fazer parte da poltica de segurana da organizao, pois o fato de haver interao com o sistema comprometido pode prejudicar a coleta da evidencias. O exame deve ser feito com objetivos diretos do caso, ou seja, o analista deve possuir os quesitos que devero ser respondidos atravs do exame das evidncias, e s ento emitir o relatrio nal da anlise, nessa fase que o analista expe o caso, baseado totalmente em evidncias coletadas durante o processo. O analista forense ir se deparar com dois tipos de cenrios: Anlise Post mortem e Mquinas vivas.

Post mortem: Este cenrio contempla a situao sem atividade no disco rgido onde evidncias volteis esto perdidas e no h atividade do invasor, sendo que no existe a necessidade de conteno do ataque e provvel que algumas evidncias foram modicadas ou perdidas. Mquinas vivas: Neste cenrio o equipamento encontra-se em funcionamento e h atividades tanto do sistema quanto de rede, h chances do invasor estar presente e ativo, sendo necessrio procedimentos de conteno do ataque e preocupao quanto a modicaes e contaminao das evidncias. Para os cenrios em que o equipamento encontra-se inativo a fase de coleta simplicada, entretanto a fase de exame e anlise pode ser dicultada, pois uma sria de informaes podem ter sido perdidas. Nos cenrios em que o equipamento encontra-se ativo a preocupao recai sobre quais processos coletar, portanto a volatilidade uma importante varivel a ser utilizada, na seo 1.3.1 ser discutido o tema. Aps a denio de ordem de coleta tem-se a deciso a tomar: Desligar o equipamento de maneira elegante (shutdown) ou simplesmente cortar a energia (power-off ). Para executar o shutdown deve-se considerar o ganho em se manter a integridade do sistema em funcionamento, isso bastante relevante quando se trata de um banco de dados em funcionamento, entretanto existe a contrapartida, que alteraes em arquivos e dependendo do controle efetuado o atacante pode executar aes na mquina que detectem o desligamento e iniciam outras aes como criptograa de disco ou destruio de informaes atravs de remoo segura de arquivos, conhecido como tcnicas de wipe1 , que alm de apagar um arquivo, sobrescreve a rea ocupado com dados aleatrios, dicultando assim a anlise. O corte de energia (power-off ) no modica os arquivos, entretanto impacta diretamente no sistema de arquivos do sistema operacional e seus servios, podendo danicar a estrutura da informao e tornar o sistema inoperante em uma eventual deciso de retornar os sistemas. Nos dois casos apresentados o analista forense ainda deve se preocupar com sistemas criptografados, atualmente bastante comuns, neste caso a falta de observncia deste fator pode inviabilizar totalmente a anlise, pois sistemas criptografados enquanto esto ativos cam disponveis, assim que desligados tornam-se verdadeiras caixas-pretas. Como exemplo pode ser citado o projeto Truecrypt2 de criptograa on-the-y de disco, ashcard (pendrive) e volumes, sendo totalmente transparente para o usurio, possuindo outras caractersticas como esteganograa associada a proteo de volumes criptogrcos, conhecido como Deniability, protege o usurio caso seja de alguma forma obrigado a informar sua senha de acesso, pois no h como o atacante saber se existe uma ou duas senhas de proteo. 1.3.1. Volatilidade de informaes: Coleta e Exame Apresentar mtodos de preservao de dados volteis, bem como a ordem de volatilidade para a extrao e anlise dessas informaes [Brezinski and Killalea 2002].
1 http://wipefreespace.sourceforge.net/ 2 http://www.truecrypt.org/

Incidentes de segurana geram algum tipo de violao a poltica da organizao, portanto devem ser tratados de maneira a minimizar as perdas e maximizar a resposta com o objetivo de fornecer aos administradores do sistema a melhor soluo. As provas decorrente do incidentes so eventos muitas vezes volteis e deve existir orientaes sobre a coleta e o arquivamento de provas relevantes. Uma boa prtica que os analistas conheam e saibam como coletar as evidncias consideradas volteis, portanto protegendo a informao quando a coleta e armazenamento relacionados ao incidente em questo. Quando um sistema identicado como comprometido, existem diversas maneiras para acelerar o re-instalao do Sistema Operacional e facilitar a reverso para um estado conhecido, deixando dessa maneira as coisas mais fceis para os administradores. Entretanto a obteno de provas so mais difceis se comparada s facilidades em se recuperar um sistema, pois ainda no existe um modelo que contemple todas as necessidades de uma investigao, e isso pode ser considerado um agravante quando os atacantes conseguem ser mais rpidos que o analista forense. De acordo com a RFC-3227 [Brezinski and Killalea 2002] que trata exclusivamente da ordem de volatilidade na coleta de evidncias, o importante capturar as informaes que no estejam disponveis caso o equipamento analisado fosse desligado, a Tabela 1.1 apresenta a ordem de acordo com a prioridade de coleta de cada evidncia.
Tabela 1.1. Ordem de prioridade para coleta de evidncias

Ordem 1 2 3 4 5 6 7 8

Tipo Registros Tabelas de roteamento Memria Arquivos temporrios do SO Disco rgido Logs de monitorao Conguraes fsicas Dispositivos de armazenamento

Descrio Registros do SO cache arp, tabela de processos, estatsticas do SO (kernel) Dump memria RAM (Random Access Memory) Arquivos criados e mantidos temporariamente pelo SO Cpia "bit-a-bit" Registros de dispositivos de rede como proxy, servidores de acesso Informaes sobre o local e topologia de acesso cartes de memria, disquetes, pendrives, cameras

1.4. Metodologia de Anlise de Malware


Apresentar metodologia de conduo de incidente [Mell and karen Kent 2005] que envolve artefatos maliciosos: Preparao: Equipe de resposta habilitada a lidar com esse tipo de incidente, com polticas internas que contemplem a atividade; Deteco e anlise: Detectar, analisar e validar rapidamente um incidente envolvendo malwares;

Conteno: Interromper e evitar a propagao do malware e prevenir maiores danos aos sistemas; Erradicao: Remover o malware dos sistemas infectados; Recuperao: Retornar a funcionalidade e os dados dos sistemas infectados, implantando medidas de conteno temporria; Ps incidente: Reduzir custos no tratamento dos incidentes utilizando a base de informaes adquiridas e sugerindo contramedidas. A Figura 1.5 apresenta o uxo de tratamento de um incidente que envolve cdigos maliciosos. A deteco prioritria na conduo da anlise do incidente, onde a organizao deve possuir um modelo que permita a identicao de um evento de segurana de maneira pr ativa. Os passos da metodologia abstrai processos tcnicos, mostrando as etapas de forma a permitir a adequao onde esta ser utilizada.

Figura 1.5. Metodologia Anlise de Malware

A fase de preparao envolve aes que devem ser seguidas quanto a identicao de um incidente que envolve malwares, nesta fase importante que a organizao possua

uma poltica de segurana que preveja esse tipo de incidente e as atividades de tratamento e mitigao, permitindo a reduo do risco de segurana e consequentemente uma menor atividade que envolva a explorao desse tipo de vulnerabilidade. A rapidez em se detectar as atividades de um malware tornam a resposta mais ecientes, pois possibilita a erradicao e recuperao com um escopo menor do que seria em um sistema totalmente comprometido, permitindo assim, diminuir o nmero de sistemas comprometidos. Organizaes que possuem um grupo de resposta a incidentes de segurana, convm que sejam adotados mtodos para se detectar infeco de malwares, nesses mtodos importante que os prossionais que sero responsveis por conduzir a anlise e tratamento do incidente possuam uma slida formao em identicao e classicao que envolve a segurana dos ativos da empresa. A forma clssica para se detectar um malware a utilizao de softwares como antivrus, sistemas de deteco de intruso baseados em anlise de redes ou anlise de hosts monitorados (Intrusion Detection System - IDS) e (Host Intrusion Detection System - HIDS), bem como softwares que detectam e removem spywares ou qualquer outro tipo de ferramenta que possa ser utilizada pela organizao. Convm que um prossional tenha competncias listadas no captulo 1.3 para em casos em que um malware possua caractersticas mais complexas e que requeiram uma anlise mais detalhada. A metodologia adotada deve prever treinamentos a usurios do sistema da organizao, de modo a que todos tenham conhecimento dos riscos, fazendo-se as recomendaes de segurana que devem constar na poltica de segurana da organizao.

1.5. Anlise de Metatados


Informaes disponveis no cdigo compilado: Bibliotecas utilizadas, mdulos estticos e dinmicos, compiladores, sistemas operacionais 32 ou 64 bits, verses e outras informaes importantes. O termo metadado refere-se a informaes sobre o prprio dado, possui diversos contextos como informaes de programas compilados que esto armazenadas internamente ao cdigo compilado e apenas revelado quando solicitado ou extrado pelo analista forense. Cada tipo de arquivo possui informaes relacionadas ao contedo, como tipo de compilador utilizado, bibliotecas compiladas junto ao cdigo, identicadores nicos, tipos de sistemas operacionais compatveis, verses 32 ou 64 bits de execuo e outras variveis. Extrair as informaes que esto ocultas apenas uma questo de saber o que est procurando. Existem diversas ferramentas que se propem em resolver essa tarefa, entretanto em alguns casos pode ser que o analista no tenha certeza de qual informao est buscando, esses casos geralmente so associados quando no existe ainda um incidente relatado, portanto o especialista est em busca de evidncias que podem sugerir um incidente. Diversos formatos de arquivos permitem que informaes sejam "escondidas"ou alteradas, particularmente um arquivo possui um formato de codicao em que este dever ser armazenado, cabendo ao analista saber diferenciar esses tipos de arquivos. Para cada sistema operacional existe um mtodo que utilizado para determinar o formato de um arquivo especco, alm dos metadados possvel utilizar informa-

es encontradas no cabealho (le header) desses arquivos. Nesta abordagem possvel identicar o tipo do arquivo analisado independente de sua extenso, permitindo que seja utilizada a melhor estratgia para se recuperar os metadados de acordo com o formato identicado. Na Listagem 1.3 apresenta-se a extrao da informao do cabealho do arquivo, neste caso temos dois arquivos hexdump.exe e winhex.exe de tamanhos diferentes e mesma extenso. Para este exemplo utilizou-se a ferramenta hexdump 3 .
Listagem 1.3. Dump de arquivos EXE
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

hexdump . e x e 0 1 2 3 4D B8 00 00 0E 5A 00 00 00 1F 90 00 00 00 BA 00 00 00 00 0E

71.168 bytes 4 5 6 7 03 00 00 00 00 00 00 00 00 B4 00 00 00 00 09 00 00 00 00 CD

13/06/2005 8 9 A B 04 40 00 00 21 00 00 00 00 B8 00 00 00 00 01 00 00 00 00 4C

12:35:32 C D E F FF 00 00 80 CD FF 00 00 00 21 00 00 00 00 54 00 00 00 00 68

winhex . e x e 0 1 2 3 4D B8 00 00 BA 5A 00 00 00 10 50 00 00 00 00 00 00 00 00 0E

2.034.688 bytes 4 5 6 7 02 00 00 00 1F 00 00 00 00 B4 00 00 00 00 09 00 00 00 00 CD

18/05/2011 8 9 A B 04 40 00 00 21 00 00 00 00 B8 0F 1A 00 00 01 00 00 00 00 4C

16:00:00 C D E F FF 00 00 00 CD FF 00 00 01 21 00 00 00 00 90 00 00 00 00 90

Comparando os dois arquivos possvel determinar sua semelhana completa da linha 5 e 15 onde cada byte, representado pela informao em hexadecimal, permanece a mesma para os tipos de arquivos EXE nos sistemas operacionais windows, pois no necessariamente o que deni um executvel desse tipo seja sua extenso. importante considerar que um atacante pode alterar a extenso de um arquivo para outra menos critica na tentativa de enganar sua vitima ou mesmo os sistemas de anti virus que analisam arquivos de acordo com sua extenso, muito utilizado em sistemas web mail de empresas. Os dois primeiros bytes (4D5A) representam um arquivo executvel Windows/DOS, so utilizados para identicar as seguintes extenses: COM, DLL, DRV, EXE, PIF, QTS, QTX e SYS. Esta tcnica de identicao conhecida como magic numbers, que uma maneira de incorporar metadados muitas vezes associada com o Unix e seus derivados, inserindo um "nmero mgico"dentro do prprio arquivo. Originalmente, esta tcnica foi usado para um conjunto especco de 2 bytes identicadores, inseridos sempre no comeo de um arquivo, entretanto qualquer sequncia pode ser considerada como um nmero vlido, possibilitando que um formato de arquivo seja identicado de maneira exclusiva. Portanto possibilitar a deteco dessas variveis uma maneira simples e ecaz de distinguir entre diversos tipos de formatos de arquivos, facilitando ao sistema operacional, a
3 http://www.richpasco.org/

obteno de informaes importantes. A Tabela 1.2 apresenta algumas assinaturas mais comuns, a lista completa e atualizada est disponvel4 .

Tabela 1.2. Lista parcial de assinaturas de arquivos (magic numbers)

Assinatura 50 4B 03 04 37 7A BC AF 27 1C 50 4B 03 04 14 00 06 00 50 4B 03 04 14 00 08 00 08 00 7B 5C 72 74 66 31 49 44 33 7F 45 4C 46 89 50 4E 47 0D 0A 1A 0A 00 00 00 18 66 74 79 70 33 67 70 35 25 50 44 46

Tipo ZIP 7Z DOCX, PPTX, XLSX JAR RTF MP3 ELF PNG MP4 PDF, FDF

Descrio Compactador PKZIP Compactador 7-Zip Microsoft Ofce

Arquivo Java Texto (Rich text format) Arquivo de audio (MPEG-1 Audio Layer 3) Arquivo executvel (Linux/Unix) Imagem (Portable Network Graphics) Arquivo video (MPEG-4 video) Adobe (Portable Document Format)

Existem diversas ferramentas que permitem identicar os tipos de arquivos baseado em assinaturas, conveniente que o analista conhea como feito a identicao e s ento utilize a aplicao que melhor atenda suas necessidades. Neste curso recomendamos a utilizao de ferramentas livres com cdigos abertos, como le, que um comando padro dos sistemas Linux. Existem diversos projetos de portar as ferramentas de linha de comando do Linux para Windows, como o caso do projeto gnu utilities for windows5 . Por ser um padro utilizado para denir os tipos de arquivos, a identicao simplesmente baseada em uma sequncia binrios pode ser aproveitadas pelos adversrios para explorar vulnerabilidades, inserindo caractersticas de outros tipos de arquivos em arquivos aparentemente inofensivo, como o caso de arquivos de formato de documentos como PDF, que podem ser alterados de maneira a explorar falhas em softwares. Nesse entendimento necessrio conhecer tcnicas que no sejam somente as clssicas.

1.6. Cdigos Ofuscados


Mtodos utilizados pelos desenvolvedores para dicultar a anlise e deteco pelos antivrus. Ser apresentado mtodos de ofuscao baseado em packers (compactadores de executvel), criptograa, blinders, joiners e wrappers.
4 http://www.garykessler.net/library/file_sigs.html 5 http://unxutils.sourceforge.net/

1.6.1. Packers Packers ou compressors so tcnicas utilizadas para ofuscao, packing, de cdigo. Basicamente atuam comprimindo ou cifrando executveis originais, buscando dicultar a identicao pelos antivirus e anlise esttica dos cdigos por parte do analista. Porm, enquanto compactados, os programas no desempenham as suas funcionalidades primrias. Assim, uma rotina de descompresso, normalmente localizada ao nal do arquivo, necessria para descompresso antes de serem carregados memria. A Figura 1.6 apresenta as etapas de codicao e decodicao de um arquivos executvel.

Figura 1.6. Criao e execuo de arquivos compactados ou encriptados

Essa descompresso ocorre, normalmente, por meio de rotinas especcas para determinados packers, Tabela 1.3, salvos raros casos em que os programas responsveis por comprimir tambm possuem funes nativas para descompresso. Nesse ponto, o analista deve tomar cuidado, uma vez que o programa por ele utilizado para tentar descomprimir determinado malware pode ser desde um programa falso, assim sendo ele nunca alcanar xito na descompresso, at malwares em si, cujo o objetivo comprometer as mquinas de possveis analistas.
Tabela 1.3. Packers e seus respectivos unpackers

Packers ASPack MEW FSG PECompact

Unpackers ASPackDie UnMew UnFSG UnPECompact

Em alguns casos, o cdigo de algum malware pode ser ofuscado utilizando packers diferentes, gerando polimorsmo [Martins et al. 2010], pois para cada cdigo uma assinatura diferente necessria para sua presena seja detectada. Existem algumas tcnicas para se detectar a presena de packers em cdigos executveis, as mais conhecidas so as que analisam a estrutura de arquivos que utilizam a estrutura portable executable, que foi projetado para suportar verses dos sistemas operacionais da Microsoft.

O projeto PEiD6 , que atualmente encontra-se suspenso, tem a capacidade de detectar mais de 600 tipos diferentes de ofuscadores packers, cryptors e compiladores em arquivos executveis portveis. Para deteces de arquivos modicados e desconhecidos utilizado tcnicas heursticas, que aumentam a possibilidade de falsos positivos. TrID7 um utilitrio desenvolvido para identicar os tipos de arquivo a partir de suas assinaturas binrias, atualmente identica cerca de 4410 arquivos diferentes. Embora haja utilitrios similares a ferramenta no tem regras xas, em vez disso, pode reconhecer novos formatos de arquivos de forma automtica. Para isso possui uma base de assinaturas e utiliza a probabilidade para calcular a proximidade de um determinado arquivo a um tipo especco. Para anlises estticas o analista deve ter a preocupao em identicar se existe ofuscador ou no, entretanto, nos casos em que a anlise seja executado utilizando o mtodo dinmico possvel realizar uma cpia dump do processo em memria, uma vez que quando carregado, todas as suas funcionalidades esto ativas. Os processos de anlise sero discutidos no captulo 1.8. A identicao do tipo de ofuscador utilizado auxiliar a anlise em busca de strings e padres entre os tipos de malwares, a Tabela 1.3 apresenta alguns tipos de ferramentas para esse tipo de atividade, entretanto, mesmo que no seja possvel executar o processo inverso do ofuscador, o analista pode seguir com o trabalho, neste caso em um ambiente controlado o cdigo malicioso ser executado e as atividades monitoradas armazenadas, a anlise dinmica ser detalhada no Cenrio 1.8.3. 1.6.2. Cryptors Criptografar um executvel o objetivo de um Cryptor, tambm conhecido como encryptors ou protectors. Esta tcnica possuiu caractersticas similares aos packers, discutido na sesso 1.6.1, porm alcanado de uma maneira diferente. Ao invs de compactar o arquivo executvel, um Cryptor simplesmente utiliza de algoritmos criptogrcos para ofuscar um arquivo, resultando em dicultar a anlise esttica e sua identicao por softwares antivrus ou IDSs (Intrusion Detection System). Esse tipo de tcnica torna difcil a anlise atravs de engenharia reversa. Assim como os packers, criptografar um executvel torna necessrio acoplar ao cdigo uma funo inversa de decifrao, que funciona em tempo de execuo ao programa original, onde todo o processo feito em memria. Uma lista com os packers, unpackers e cryptors mais comuns pode ser encontrada no Anexo 1.11 Tabela 1.7. 1.6.3. Binders, Joiners e Wrappers Binders so utilizados para ofuscar cdigos com propriedades similares aos packers e cryptors, com o objetivo de dicultar sua identicao e anlise. Joiners so utilizados para combinar dois arquivos em um, mantendo a propriedade de execuo simultnea, isso ideal quando um atacante envia um programa licito e junto insere um malware (ex. Keylogger) que pode ser instalado pela vitima sem qualquer tipo de interao, esse
6 http://www.peid.info/ 7 http://mark0.net/

mtodo conhecido como instalao silenciosa.

1.7. Funes de Hashing


Neste captulo ser apresentado os modelos de funes de hash utilizado na comparao de novos malwares, e sistema de indexao por similaridade de arquivos, que utiliza um processo conhecido como context triggered piecewise hashes (CTPH) ou fuzzy hashing [Kornblum 2006], auxiliando assim a anlise por similaridade. As funes de hash so algoritmos desenvolvidos para vericao de integridade de um arquivo, de modo que dois arquivos diferentes tenha sadas diferentes. O algoritmo conhecido como uma funo unidirecional, onde a entrada varivel gera uma sada xa de tamanho suportado pelo algoritmo, ou seja, com base no resultado de um clculo no possvel obter o texto de entrada. Para efeito da pericia forense e anlise de malware, as funes de hash so indispensveis, pois uma maneira rpida e barata para se comparar arquivos. No inteno deste minicurso apresentar o algoritmo em si, mas seu resultado como um todo, pois sem ele no seria possvel garantir que a informao est integra. As funes SHA (Secure Hash Algorithm)[Jones 2001] e MD5 (message-digest algorithm)[Rivest 1992] so funes de hash que atendem os requisitos de segurana provendo uma baixa probabilidade de colises, que so resultados de dois arquivos diferentes com a mesma sada. Para que exista uma maior conformidade de segurana recomendado que o analista utilize mais de uma funo simultaneamente. A ferramenta hashdeep8 possui a capacidade de computar, comparar, ou vericar vrios arquivos, como resultado tem-se o exemplo apresentado na Tabela 1.4.
Tabela 1.4. Funes hashing
Funo MD5 SHA1 SHA256 Sada 79970AF07E4FDD8AAA6AFC3EFFF1B5D5 3A7FE56DAE27BBF7EDCB4C7C839D5EDBA46A05A8 9949EB0D844B2AB6A1623C1EA69CBE1CEDC19BABBFAE6BC24865DE5B4E18A681 Tamanho 128 bits 160 bits 256 bits

As funes de hashing facilitam a busca por arquivos, pois se algum artefato encontrado e seu hash calculado, possvel efetuar uma busca por um mesmo resultado independente de nome ou extenso. Em casos em que um arquivo seja alterado o resultado ser diferente para cada alterao, entretanto uma tcnica conhecida pelos atacantes, que podem efetuar pequenas alteraes com o objetivo de que no sejam reconhecidos. Portanto necessrio ir alm dessa tcnica. Context Triggered Piecewise Hash(CTPH)[Kornblum 2006] ou simplesmente fuzzy hashing foi desenvolvido para identicar essas pequenas alteraes. O tcnica apresenta o conceito de comparar arquivos pela semelhana do contexto, independente do tipo de funo de hash utilizado. Para os casos de anlise de malware, possvel determinar o grau de semelhana
8 http://md5deep.sourceforge.net/

analisando dumps de memria dos processos gerados pelos artefatos maliciosos. Para efeitos prticos a ferramenta ssdeep 9 implementa as funes esperadas de fuzzy hashing.
Listagem 1.4. Utilizao ferramenta ssdeep
1 2 3

4 5

s s d e e p . e x e b t e s t e . c > s s d e e p . h a s h s s d e e p ,1.1 b l o c k s i z e : h a s h : hash , f i l e n a m e 4 8 : a / mssIVGFPE3Z / iPYmYDFjf7KkItzWWsxCAw7fwTwpCS0 sbhxdL : omsVVeMQAZDIAPw7 oTwp50 slD , "teste.c" s s d e e p . e x e bm s s d e e p . h a s h t e s t e 1 . c t e s t e 1 . c matches ssdeep . hash : t e s t e . c (9 3 )

A Listagem 1.4 apresenta a ferramenta ssdeep. Na linha 1 criado a base de informaes armazenando o resultado no arquivo ssdeep.hash, o contedo deste arquivo apresentado pelas linhas 2 e 3, uma alterao feita propositadamente no arquivo analisado teste.c e salvo em teste1.c. A linha 4 apresenta o comando para comparao e naliza na linha 5 mostrando que o arquivo teste1.c 93% similar ao arquivo teste.c.

1.8. Preparando uma imagem para anlise


Ao cursista ser entregue uma imagem composta por sistema operacional funcional, preparado em ambiente virtualizado10 , com todas as ferramentas necessrias para iniciar os trabalhos de anlise. Neste captulo sero apresentados dois estudos de casos reais. 1.8.1. Estudo de caso: Analisando cdigos maliciosos A etapa prtica busca aplicar os conhecimentos iniciais adquiridos no minicurso em anlises de casos reais. Neste intuito sero apresentados dois cenrios distintos e mais comuns. Cenrio 1. Anlise forense de mquina comprometida por malware. Neste cenrio, a mquina a ser analisada, encontra-se comprometida, onde o programa malicioso est totalmente funcional e em memria. Atravs de tcnicas forenses [Aquilina et al. 2008], o analista deve ser capaz de identicar quais procedimentos a seguir na captura e anlise, tendo como premissa inicial, encontrar o vetor de comprometimento e atividades que possam ser consideras suspeitas. Cenrio 2. Anlise de cdigo malicioso capturado. Neste cenrio o analista ter acesso a um cdigo malicioso disponibilizado para os trabalhos. Utilizando tcnicas de anlise de um phishing discutido no captulo 1.2.1 atravs da anlise da Listagem 1.1, preparando o analista para responder a um incidente de maneira eciente, analisando o cdigo e as interaes com a mquina alvo, no intuito de investigar quais informaes so coletadas pelo malware e qual o destino destas informaes.
9 http://ssdeep.sourceforge.net/ 10 http://www.virtualbox.org/

1.8.2. Cenrio 1: Anlise forense de mquina comprometida por malware O objetivo do analista nesse cenrio ser investigar se a mquina em questo est infectada por um malware ou no. Identicando e encontrando a ameaa Como o analista no sabe exatamente a que tipo de cdigo malicioso a mquina em questo foi exposta, cabe a ele buscar por indcios que corroborem a identicao tanto do tipo da ameaa em questo quanto do local onde o cdigo est armazenado. Alguns fatores que inuenciam a anlise, e que devem ser seguidas na localizao e identicao dos cdigos maliciosos so[Aquilina et al. 2008]: Processo de origem desconhecida; Processos que no so familiares ao analista; Processos familiares, porm localizados em locais no usuais do sistema; Processos que parecem ser familiares, porm com pequenos erros de graa; Processos que j foram identicados como suspeitos, por originar comportamentos anmalos, em outras etapas de anlise, como na captura do trfego de rede. bastante comum os atacantes tentarem esconder a presena do artefato de sua vitima, algumas tcnicas geralmente associam processos conhecidos do sistema operacional com outros nomes similares ou em locais diferente do normal. Existem tentativas de se identicar quais processos atravs do nome em execuo, como o caso do projeto Process Library11 . Uma caracterstica dos malwares para a plataforma de sistema operacional Windows, que a maioria necessita ser capaz de se manter em execuo quando o sistema desligado ou reiniciado, dessa maneira a mquina estar sempre sob o controle do atacante. Portanto muito comum, que ao infectar um equipamento, o malware deve inserir chaves no registro do sistema, permitindo que em qualquer situao este seja executado. O analista deve conhecer registros mais utilizados e ferramentas que o auxiliem a obter essa informao. A ttica utilizada por diversos malwares armazenar seu cdigo em diretrios, chaves de registro ou arquivos especcos no qual o Windows busca por aplicativos que so inicializados a cada sesso, os chamados autoruns. Essa uma maneira ecaz de um processo se manter em execuo sem que o usurio tenha conhecimento. Algumas ferramentas que auxiliam na deteco de programas autorun so [Aquilina et al. 2008]: Autoruns 12 : Ferramenta com interface grca (GUI) ou de linha de comando (CUI) que mostra quais programas esto congurados para serem executados durante a inicializao do sistema ou login;
11 http://www.processlibrary.com/ 12 http://www.sysinternals.com/

WhatInStartup 13 : Utilitrio exibe a lista de todos os aplicativos que so carregados automaticamente. O analista deve ser capaz de diferenciar quais programas representam, de fato uma ameaa, uma vez que autoruns so extremamente comuns. necessrio uma busca por indcios que apontem para uma atividade suspeita de qualquer processo em execuo no momento da anlise. Uma recomendao que a busca inicie pela anlise dos processos executados a partir de diretrios diferentes dos esperados para cada processo, como por exemplo, Internet Explorer sendo executado a partir da pasta pessoal do usurio, ou que o nome do processo seja diferente do esperado. Segundo a documentao da Microsoft, existem quatro chaves Run no registro que faz com que determinados programas sejam executados automaticamente, neste caso a anlise se baseia nos registros do sistema operacional Windows XP.
Tabela 1.5. Chaves de registro - autoruns

Registro HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\CurrentVersion\ Run HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\ Run HKEY_LOCAL_MACHINE\Software\ Microsoft\Windows\CurrentVersion\ RunOnce HKEY_CURRENT_USER\Software\ Microsoft\Windows\CurrentVersion\ RunOnce

Descrio Os comandos explicitados nessa chave so invocados a cada login do usurio. Os comandos explicitados nessa chave so invocados a cada login do usurio. Aps a execuo dos comandos presentes nessas chaves, elas so apagadas. Aps a execuo dos comandos presentes nessas chaves, elas so apagadas.

Cada chave da Tabela 1.5 contm um conjunto de valores e cada valor uma linha de comando. Dessa forma, caso o malware altere o valor original de uma chave e adicione sua localizao atravs da varivel path, ele ser executado sem que haja necessidade de interao com o usurio, que neste caso passa a ser sua vitima. Chaves RunOnce possuem algumas caractersticas que podem ser utilizadas por malwares: As chaves desse tipo so executadas de maneira sequencial, fazendo com que o Windows Explorer aguarde o trmino das mesmas, antes de seguir com o logon habitual, isso permite que o malware execute rotinas antes mesmo de o usurio realizar o processo de logon. Dessa maneira, aps a autenticao do usurio, o ambiente pode j estar comprometido. Chaves Run e RunOnce so ignoradas em modo de segurana, porm, caso um asterisco seja acrescentado ao incio do valor, chaves RunOnce podem ser executadas
13 http://www.nirsoft.net/

mesmo em tal modo: dessa maneira o malware tem mais uma garantia de que ser executado. A utilizao do Autoruns, Figura 1.7, permite ainda uma outra maneira de se identicar processos suspeitos. A Ferramenta disponibiliza a funo jump, que direciona o analista ao diretrio onde se encontra o arquivo executvel referente ao processo. Por meio desse diretrio, o arquivo suspeito pode ser capturado e enviado para testes em servios de antivirus online, como o virustotal14 , que possui uma base atualizada de mais de 40 tipos diferentes de antivirus, sendo possvel efetuar pesquisas da data que o artefato foi enviado e caso tenha sido considerado malicioso, apresenta a quantidade de antivirus que o detectam.

Figura 1.7. Execuo do programa Autoruns

possvel que o atacante tente enganar sua vitima fazendo pequenas alteraes no nome do processo, mas isso dicilmente enganar um expert que deve conhecer os
14 http://www.virustotal.com

processos mais comuns do sistema operacional em que trabalha. A ferramenta tambm permite que seja listada as bibliotecas (DLLs) que cada processo utiliza, localizando diferenas e identicando ataques conhecidos como dll injection que uma tcnica usada para executar cdigo no espao de endereo de memria de outro processo, forando a carregar uma biblioteca dinmica. Uma lista das bibliotecas do sistema pode ser obtida atravs da ferramenta ListDLLs15 , permitindo que se identique arquivos e suas respectivas bibliotecas associadas que estejam fora do padro esperado. Para que o analista tenha uma capacidade maior de identicao de processos, existe a ferramenta HijackThis, que permite ao analista rapidamente coletar as chaves de registros que aproveitam a execuo automtica de programas. Essa ferramenta analisa o sistema e gera como sada um arquivo de log de todas as chaves de registro que podem ser exploradas pelos malwares a m de se manterem em execuo, a Listagem 1.5 apresenta o resultado de uma coleta.
Listagem 1.5. Log gerado pelo programa HijackThis
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

21

22 23

24

25

26

27

L o g f i l e o f T r e n d Micro H i j a c k T h i s v 2 . 0 . 4 Scan s a v e d a t 1 6 : 1 7 : 4 2 , on 2 3 / 9 / 2 0 1 1 P l a t f o r m : Windows XP SP2 ( WinNT 5 . 0 1 . 2 6 0 0 ) MSIE : I n t e r n e t E x p l o r e r v 6 . 0 0 SP2 ( 6 . 0 0 . 2 9 0 0 . 2 1 8 0 ) Boot mode : Normal Running p r o c e s s e s : C : \ WINDOWS\ System 3 2 \ smss . e x e C : \ WINDOWS\ s y s t e m 3 2 \ w i n l o g o n . e x e C : \ WINDOWS\ s y s t e m 3 2 \ s e r v i c e s . e x e C : \ WINDOWS\ s y s t e m 3 2 \ l s a s s . e x e C : \ WINDOWS\ s y s t e m 3 2 \ V B o x S e r v i c e . e x e C : \ WINDOWS\ s y s t e m 3 2 \ s v c h o s t . e x e C : \ WINDOWS\ System 3 2 \ s v c h o s t . e x e C : \ WINDOWS\ s y s t e m 3 2 \ s p o o l s v . e x e C : \ WINDOWS\ E x p l o r e r . EXE C : \ WINDOWS\ s y s t e m 3 2 \ VBoxTray . e x e C : \ Documents and S e t t i n g s \ l a b \ D e s k t o p \ Nova p a s t a \ v o e g o l . com . e x e C : \ A r q u i v o s de p r o g r a m a s \ I n t e r n e t E x p l o r e r \ i e x p l o r e . e x e C : \ Documents and S e t t i n g s \ l a b \ D e s k t o p \ H i j a c k T h i s . e x e R1 HKCU\ S o f t w a r e \ M i c r o s o f t \ I n t e r n e t E x p l o r e r \ Main , S e a r c h Page = &h t t p : / / home . m i c r o s o f t . com / i n t l / b r / a c c e s s / a l l i n o n e . a s p O2 BHO: A c r o I E H e l p e r S t u b {18DF081CE8AD4283A596 FA578C2EBDC3} C : \ A r q u i v o s de p r o g r a m a s \ A r q u i v o s comuns \ Adobe \ A c r o b a t \ A c t i v e X \ AcroIEHelperShim . d l l O4 HKLM \ . . \ Run : [ ] C : \ WINDOWS\ s y s t e m \ s i s t e m . e x e O4 HKLM \ . . \ Run : [ Adobe R e a d e r Speed L a u n c h e r ] "C:\Arquivos de programas\Adobe\Reader 9.0\Reader\Reader_sl.exe" O4 HKCU \ . . \ Run : [ Google U p d a t e ] "C:\Documents and Settings\lab\ Configuraes locais\Dados de aplicativos\Google\Update\GoogleUpdate .exe" / c O4 HKUS\ S 1 5 19\..\ Run : [CTFMON. EXE] C : \ WINDOWS\ s y s t e m 3 2 \CTFMON. EXE ( U s e r LOCAL SERVICE ) O4 HKUS\ S 1 5 20\..\ Run : [CTFMON. EXE] C : \ WINDOWS\ s y s t e m 3 2 \CTFMON. EXE ( U s e r NETWORK SERVICE ) O4 HKUS\ S 1 5 18\..\ Run : [CTFMON. EXE] C : \ WINDOWS\ s y s t e m 3 2 \CTFMON. EXE
15 www.sysinternals.com

28

29

30

31

32

33

34

35

36

37 38

( U s e r SYSTEM ) O4 HKUS \ . DEFAULT \ . . \ Run : [CTFMON. EXE] C : \ WINDOWS\ s y s t e m 3 2 \CTFMON. EXE ( User D e f a u l t user ) O9 E x t r a b u t t o n : M e s s e n g e r {FB5F1910 F110 11d2BB9E00C04F 795683} C : \ A r q u i v o s de p r o g r a m a s \ M e s s e n g e r \ msmsgs . e x e O9 E x t r a T o o l s menuitem : Windows M e s s e n g e r {FB5F1910 F110 11d2BB 9E00C04F 795683} C : \ A r q u i v o s de p r o g r a m a s \ M e s s e n g e r \ msmsgs . e x e O14 IERESET . INF : SEARCH_PAGE_URL=& h t t p : / / home . m i c r o s o f t . com / i n t l / b r / access / a l l i n o n e . asp O16 DPF : {E2883E8F 472F4FB09522AC9BF37916A7} h t t p : / / p l a t f o r m d l . a d o b e . com / NOS / g e t P l u s P l u s / 1 . 6 / gp . c a b O22 S h a r e d T a s k S c h e d u l e r : Pr c a r r e g a d o r B r o w s e u i {438755C2A8BA11D 1B96B00A0C90312E1} C : \ WINDOWS\ s y s t e m 3 2 \ b r o w s e u i . d l l O22 S h a r e d T a s k S c h e d u l e r : Daemon de c a c h e de c a t e g o r i a s de c o m p o n e n t e {8C7461EF2B13 11d2BE35 3078302C2030} C : \ WINDOWS\ s y s t e m 3 2 \ browseui . d l l O23 S e r v i c e : Remote P a c k e t C a p t u r e P r o t o c o l v . 0 ( e x p e r i m e n t a l ) ( r p c a p d ) CACE T e c h n o l o g i e s , I n c . C : \ A r q u i v o s de p r o g r a m a s \ WinPcap \ r p c a p d . e x e O23 S e r v i c e : V i r t u a l B o x G u e s t A d d i t i o n s S e r v i c e ( V B o x S e r v i c e ) Sun M i c r o s y s t e m s , I n c . C : \ WINDOWS\ s y s t e m 3 2 \ V B o x S e r v i c e . e x e End o f f i l e 2727 b y t e s

As linhas 7 a 19 apresentam informaes dos processos em memria, permitindo que se identique qualquer atividade fora do padro esperado, por isso importante que o analista conhea os principais processos do sistema analisado. Entretanto essa informao ainda no denitiva, pois um cdigo malicioso pode facilmente substituir um processo vlido por outro processo que ir desempenhar uma funo dupla. Pode-se perceber que a linha 17 apresenta um processo suspeito, pois um arquivo executvel em uma pasta no convencional. Seguindo a anlise, na linha 22 outro arquivo suspeito sistem.exe, graas erradas de arquivos de comandos lcitos uma ttica comum que os atacante utilizam para nomear os malwares, pois um usurio muitas vezes desatento no ir perceber que o comando est errado, simplesmente passa desapercebido. Para que as coisas sejam facilitadas possvel submeter o arquivo de log para anlise remota, atravs do site do desenvolvedor http://www.hijackthis.de o log obtido analisado de acordo com o padro esperado de um arquivo desse tipo, a Figura 1.8 apresenta o resultado. O analista ao examinar o resultado deve estar atento para os processos desconhecidos unknown process que geralmente marcado com um caracter "?"e para os arquivos sujos nasty, geralmente marcado em vermelho com o caracter "X ". Com base em um pool de ameaas e programas j conhecidos, os programas que estavam em execuo na mquina alvo so identicados e classicados de acordo com sua periculosidade. Processos marcados como desconhecidos ou perigosos j so um bom ponto de partida para a identicao do malware. Captura do cdigo malicioso: Uma vez que o cdigo malicioso tenha sido identicado, no indicado que o analista realize qualquer tipo de interao com o mesmo, uma vez que se tem pouco ou nenhum controle sobre o estado da mquina e sobre a execuo do programa.

Figura 1.8. Anlise do log gerado pelo HijackThis

O analista pode optar por extra-lo da mquina infectada e transport-lo a uma mquina especca na qual ser possvel executar uma anlise mais profunda e controlada. Isso ocorre porque, em um ambiente mais controlado, o analista poder utilizar, por exemplo, snapshots do sistema, comparando o estado anterior e posterior da execuo do malware. Uma vez que o malware seja extrado, pode-se seguir os passos descritos no Cenrio 2. 1.8.3. Cenrio 2: Anlise de cdigo malicioso capturado O objetivo desse cenrio preparar o analista para a investigao de um cdigo malicioso. Como um malware um cdigo potencialmente perigoso, devem ser tomadas medidas de segurana para que a anlise desse cdigo no comprometa ainda mais a mquina alvo e, to pouco, infecte outros hosts. Por esse motivo, recomenda-se que, sempre que possvel, a anlise de um cdigo malicioso seja executada em um ambiente isolado, como uma mquina virtual, ou em Online Sandboxes como o caso do projeto Anubis 16 e outros projetos como threatexpert 17 e joesecurity 18 . Neste cenrio a anlise ser dividida em duas etapas distintas:

Anlise esttica: Anlise do cdigo sem execuo. Anlise dinmica: Anlise do cdigo atravs de sua execuo e monitorao das interaes.
16 http://anubis.iseclab.org/ 17 http://www.threatexpert.com/ 18 http://www.joesecurity.org/

1.8.4. Anlise esttica Anlise esttica geralmente mais eciente na deteco de malware, porque usa informaes de alto nvel. Nessa etapa da anlise, tentaremos extrair o maior nmero de informaes teis - IPs, paths de arquivos, logins e senhas, entre outros - do cdigo em si do objeto. Podero ser encontradas duas situaes distintas: Quando o cdigo no encontra-se ofuscado, logo seu cdigo encontra-se em linguagem natural e as informaes podem ser coletadas de maneira simples, procurandoas diretamente no cdigo. Quando o cdigo foi ofuscado, ou seja, foi utilizada uma tcnica de ofuscamento e o cdigo foi "compactado". Nesse caso pouca ou nenhuma informao pode ser obtida sem que o cdigo seja descompactado. Independentemente de o cdigo ter sido ofuscado ou no, deve-se ser capaz de garantir a consistncia do arquivo analisado, bem como sua unicidade. Isso importante para determinar se o malware alterou seu prprio cdigo durante a execuo, ou pode ser necessrio provar que o cdigo no foi alterado durante a anlise. Para isso, utilizaremos hashing functions. Uma funo hash uma funo unidirecional, que gera uma string nica (salvo alguns casos de colises), para cada entrada, e de tamanho xo. Aqui utilizaremos o MD5 (Message Digest 5). O programa responsvel por realizar essa converso ser o md5sum. Esse programa recebe como entrada determinado arquivo e gera, como sada, uma string de 128 bits em hexadecimal, como mostrado na Listagem 1.6. Na primeira 1, executa-se o comando md5sum e redirecionamos o seu resultado a um arquivo texto e a linha 2 apresenta o contedo do arquivo texto voegol.txt
Listagem 1.6. Utilizao do programa md5sum
1 2

C : \ T r o j a n s > md5sum v o e g o l . com . e x e > v o e g o l . t x t 02 e 44077 c 7 b 43040683 c e 2434 f 81 d 563 v o e g o l . com . e x e

Uma vez que se tem um identicador para o malware, vericado se existe o mesmo hash na base de dados do analista, ou se existe similaridade com outro malware analisado anteriormente, para o caso de similaridade o captulo 1.7 apresenta a discusso do assunto. Caso no exista padres encontrados a anlise do cdigo iniciada. O primeiro passo obter uma lista de strings do cdigo. A ferramenta strings da sysinternals recebe como entrada um arquivo e produz uma lista. Caso poucas ou nenhuma string tenham sido encontradas, provvel que o malware esteja utilizando alguma tcnica para ofuscamento de cdigo, o que pode ser identicado utilizando detectores como os apresentados no captulo 1.6.1. A utilizao do programa strings exemplicado na Listagem 1.7. Aplicado o comando sobre o malware presente no arquivo voegol.com.exe onde a sada direcionada para o arquivo strings.txt. Feito isso, possvel executar buscas diretamente no arquivo

strings.txt, por meio de uma combinao dos comandos grep e cat19 , por palavras chaves relacionadas ao caso investigado, se for um trojan bancrio, uma busca por nomes dos bancos recomendado. Para ns didticos a busca se dar pelas palavras ftp e http.
Listagem 1.7. Utilizao do programa strings sobre o malware
1 2 3

C : \ T r o j a n s > s t r i n g s s t r i n g s . com . e x e > v o e g o l . t x t C : \ Trojans > c a t voegol . t x t | grep i f t p C : \ Trojans > c a t voegol . t x t | grep i h t t p

1.8.5. Anlise dinmica Anlise dinmica uma abordagem baseada em comportamento e requer observao em tempo de execuo de um artefato malicioso, utilizando um ambiente protegido e preparado para coletar informaes das atividades do malware. Nessa etapa da anlise, sero observadas as interaes que o malware tem com o computador alvo. Sero analisados registros, processos, sistema de arquivos e trfego de rede. Com relao execuo de um cdigo malicioso, podemos realiz-la de trs maneiras distintas: 1. Execuo manual simples; 2. Execuo monitorada por meio de um Instalation Monitor; 3. Execuo monitorada por meio de um API Monitor. Para ns didticos ser conduzida uma anlise atravs de execuo manual simples e a qual pode ser divida em 4 etapas: 1. Preparao do ambiente; 2. Anlise dos processos em execuo; 3. Anlise do trfego de rede; 4. Anlise do sistema de arquivos e registros. 1. Preparao do Ambiente: Analise de registro uma tcnica indispensvel, pois permite que o analista encontre rapidamente informaes sobre quais registros foram alterados durante a execuo do cdigo malicioso. Nesta etapa ser utilizada a ferramenta RegShot20 , que possui todas as caractersticas esperadas com o objetivo de capturar dois snapshots do sistema, um antes e outro depois da execuo do malware. O RegShot permite realizar a comparao entre os dois snapshots capturados. As diferenas so registradas em um arquivo texto, facilitando o tratamento e coleta da informao. recomendado que todos os programas necessrios durante a anlise j estejam em execuo antes da captura do primeiro snapshot. Caso contrrio, esses programas
19 http://unxutils.sourceforge.net/ 20 http://sourceforge.net/projects/regshot/

podem gerar alteraes nos registros que eventualmente podem ser confundidas com as prprias interaes do malware analisado. 2. Anlise dos processos em execuo: Uma etapa importante a identicao do modo de atuao do malware atravs da anlise dos processos que sero criados durante a execuo do cdigo malicioso. A ferramenta que recomendada nesta etapa ser o ProcExp. O ProcExp uma ferramenta poderosa, cuja funo bsica vericar quais processos esto sendo executados, facilitando a identicao dos processos pais e lhos, informando, tambm, a localizao (path) do arquivo que originou o processo, bem como a quantidade de memria utilizada e identicador PID (Process Identication). Alm disso, pode-se vericar quais so as DLLs (Dynamic Link Library) que esto sendo utilizadas pelo processo, bem como handles abertos sendo possvel realizar dump da memria do processo e analisar as strings encontradas, pois a ferramenta possui sua prpria verso do comando strings. Em algumas situaes, o analista pode ter modelos semi automatizados, portanto ferramentas grcas podem no trazer a facilidade em capturar as informaes dos processos que j se conhece, dessa maneira recomenda-se a utilizao da ferramenta procdump da sysinternals. A Tabela 1.6 apresenta alguns exemplos de utilizao da ferramenta.
Tabela 1.6. Principais comandos - Procdump

Comando procdump -h malware.dmp

voe-gol.exe

procdump iexplore procdump -c 20 -s 5 -n 3 -o teste c:\dump\teste

Descrio dump do processo chamado voe-gol.exe quando uma de suas janelas no responde por mais de 5 segundos dump do processo chamado iexplore e salva para arquivo iexplore.bmp (default) Grava 3 Dumps do processo chamado teste quando exceder uso da CPU em 20% por cinco segundos

Caso o analista deseje analisar o processo por meio de outro programa, o ProcExp permite a criao de um dump da regio de memria na qual o processo executado. Basta clicar com o boto direito do mouse sobre o processo desejado, escolher a opo "create dump" e escolher a verso que deseja realizar, Figura 1.9. Recomenda-se ateno quanto localizao (path) do arquivo que originou o processo em memria, uma vez que no necessariamente o mesmo arquivo que originou a infeco na mquina. Isso ocorre, por exemplo, quando o malware utiliza-se de ferramentas para instalar o artefato remotamente, conhecida como downloader, direcionando o sistema para o cdigo malicioso que efetivamente interagir com a mquina alvo. Essa ttica utilizada para diminuir o tamanho dos arquivos utilizados para a disseminao e restringe a deteco por parte de alguns antivirus, pois um downloader no propriamente um artefato malicioso, mas sim um forte indicio de evidncia. Caso o arquivo que esteja sendo executado no seja o que executamos no incio da anlise, isso um forte indcio de que houve um contedo baixado da internet para a m-

Figura 1.9. Dump de processo em memria com ProcExp

quina infectada, que pode ser conrmado atravs da anlise de rede capturando os pacotes transmitidos e recebidos. Recomenda-se muita a ateno quanto ao nome verdadeiro do processo, que no necessariamente o mesmo do arquivo executado. Esse nome, bem como o PID, sero importantes como ltros para as demais aplicaes que utilizaremos. O conjunto de ferramentas que ser utilizada deve estar preparada junto com o analisador de processos ProcExp que em seguida, permitir vericar quais processos so criados quando o malware for executado. Uma vez localizado o processo originado da execuo do cdigo malicioso, a anlise propriamente dita iniciada. 3. Anlise do trfego de rede: Ao se analisar o trfego de rede originado pelas interaes do malware procuramos por informaes que auxiliem a identicao de aspectos chaves como: Host de destino dos dados capturados na mquina infectada; Tipos de dados capturados pelo malware; Possvel download de atualizaes ou de outros artefatos. Nessa etapa so apresentadas tcnicas para se capturar e analisar o tipo de trfego gerado aps a execuo do malware, sendo necessrio um analisador de rede. Um

dos mais populares Wireshark21 , que atua como um sniffer de rede e permite coletar e analisar todo o trfego gerado pelo artefato, de maneira a criar ltros rapidamente, identicando os protocolos e comunicaes geradas, multiplataforma e permite analisar o trfego em tempo real ou off-line, possuindo suporte a decifrao de diversos protocolos como IPsec, ISAKMP, Kerberos, SNMPv3, SSL/TLS, WEP e WPA/WPA2. A Figura 1.10 apresenta a imagem dessa captura.

Figura 1.10. Anlise de trfego de rede com Wireshark

Tendo por base a captura realizada por esse programa, o analista deve procurar por pacotes que indiquem atividades do tipo: http-post: utilizado para enviar dados a um servidor sem que haja necessidade de autenticao; http-get: utilizado para downloads desde bibliotecas que sero utilizadas pelo malware at outros cdigos maliciosos; ftp: usado tanto para receber quanto para enviar arquivos a um servidor. Para facilitar a localizao dos pacotes relevantes, de fundamental importncia a utilizao dos ltros de captura. Neles podem ser especicados desde os IPs que se deseja capturar bem como os protocolos a serem exibidos ou uma combinao de ambos. Exemplos de ltros: ip.addr == 192.168.0.102: ltra pacotes pelo endereo de IP informado; icmp: ltra os pacotes pelo protocolo desejado;
21 http://www.wireshark.org/

ip.addr == 192.168.0.102|| f t p||dns||htt p: combinao de ltros pode ser realizada por meio dos operadores lgicos AND (&&) OR (||) ou comparadores igual (==) e diferente (! =). Esse tipo de trfego importante pois permite determinar para onde as informaes esto sendo enviadas, de maneira a facilitar a identicao pelo endereo IP de origem, caso os pacotes estejam sendo recebidos pela mquina infectada, ou de destino, caso eles estejam sendo enviados, de qualquer modo deve-se considerar que todo o trfego decorrente da interao das atividades do cdigo malicioso. importante considerar que os dados coletados na anlise esttica, atravs das ferramentas como strings, bem como os obtidos pelos dumps, oriundos do ProcExp, Figura 1.9. Ao informar IPs, URLs (Uniform Resource Locators) e PATHs, eles podem auxiliar a nortear a busca por pacotes relevantes na captura. Como a comunicao do malware aproveita a conexo de sua vitima, pode analisar os processos de rede que estejam ativos, neste caso recomenda-se a ferramenta TCPView ou netstat, que lista as conexes TCP (Transmission Control Protocol), UDP (User Datagram Protocol) e as portas estabelecidas com a mquina hospedeira. Saber quais conexes esto abertas ou mesmo aguardando pode ser til a m de se identicar quais hosts esto interagindo com a mquina infectada. A Listagem 1.8 mostra o resultado da execuo TCPView.
Listagem 1.8. Resultado do programa TCPView
1 2 3 4 5 6 7 8 9

10 11 12 13

l s a s s . exe 736 UDP l a b s e c u r i t y isakmp l s a s s . exe 736 UDP l a b s e c u r i t y 4500 s v c h o s t . e x e 984 TCP l a b s e c u r i t y epmap l a b s e c u r i t y 0 LISTENING s v c h o s t . e x e 1076 UDP l a b s e c u r i t y ntp s v c h o s t . e x e 1204 UDP l a b s e c u r i t y 1900 s v c h o s t . e x e 1076 UDP l a b s e c u r i t y ntp s v c h o s t . e x e 1136 UDP l a b s e c u r i t y 1026 s v c h o s t . e x e 1204 UDP l a b s e c u r i t y 1900 System 4 TCP l a b s e c u r i t y m i c r o s o f t d s labsecurity 0 LISTENING System 4 TCP l a b s e c u r i t y n e t b i o s s s n l a b s e c u r i t y 0 LISTENING System 4 UDP l a b s e c u r i t y n e t b i o s n s System 4 UDP l a b s e c u r i t y n e t b i o s dgm System 4 UDP l a b s e c u r i t y m i c r o s o f t d s

A primeira coluna diz respeito ao processo que est ativo seguido da porta de comunicao e o protocolo utilizado, as seguintes mostram os endereos resolvidos tanto de origem como destino conjuntamente com a porta de comunicao. Os servios que se encontram em LISTENING, esto aguardando uma solicitao para que a conexo seja fechada, devem ser acompanhados com cuidado, pois alguns malwares instalam processos que so interpretados como servios do sistema operacional. Aps a identicao do comprometimento, de responsabilidade da equipe de resposta a incidentes (CSIRT), contatar o servidor remoto para onde as informaes esto sendo enviadas, de modo a conter o incidente e neutralizar outras fontes de infeco que no sero tratadas, pois a partir do momento em que o incidente neutralizado e sua

fonte de informao e conexo suspensa, todo o sistema deixa de estar ativo, portanto o incidente passa a ser considerado erradicado. 4. Anlise do sistema de arquivos e registros: Nessa etapa dada uma ateno especial a anlise das interaes do malware com o sistema de arquivos e registros da mquina infectada. Para isso, a ferramenta utilizada ser o ProcMon, Figura 1.11. A utilizao dessa ferramenta ser complementar a analise obtida atravs do RegShot. O ProcMon permite visualizar, em tempo real, quais arquivos e registros esto sendo acessados ou modicados e qual operao est sendo realizada sobre eles. O resultado obtido ordenado por um nmero sequencial e cada entrada possui, tambm, um timestamp. Para facilitar a sua utilizao, a ferramenta prov o recurso de ltragem pelo nome do processo ou seu PID. Dessa forma, basta adicionar ao ltro o nome do processo sendo analisado, assim todas as alteraes de arquivo ou registro que sero capturadas diro respeito a tal processo.

Figura 1.11. Anlise sistema de arquivos e registros com ProcMon

Como apresentado na seo 1.8.4, calcular o hash do cdigo malicioso a ser analisado de extrema importncia, entre outros fatores, para vericar se o malware j foi analisado ou se alterou seu prprio cdigo durante a execuo. Uma tcnica utilizada para realizar tal vericao a do rehashing. Essa tcnica consiste em, cada vez que o artefato analisado for alterado, como quando o arquivo que originou o processo em memria no o mesmo que executamos no incio da anlise, calcular o hash do novo artefato e comparar com o primeiro [Aquilina et al. 2008]. Alterar seu prprio cdigo fonte uma tcnica que pode ser til burlar os mecanismos de deteco dos antivrus.

1.9. Modelo de relatrio de anlise


Nesta etapa ser apresentado um modelo de relatrio de anlise, que servir para documentar e registrar todos os detalhes na conduo da investigao e propostas de mitigao

de impacto, visando a melhoria dos processos de segurana.


Relatrio 1.9. Exemplo de relatrio de uma anlise de malware
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

[ 1 ] D a t a do R e p o r t : 13/08/2009 11:48:23 [ 2 ] T i p o de A t a q u e : Popup [3] Incidente : 2009 08 12_BO3 __ [ http_www . g r o u p a u t o u n i o n . s i _ i m a g e s _ i m a g e s _ V o e g o l . php ] [ 4 ] URL : h t t p : / / www. g r o u p a u t o u n i o n . s i / i m a g e s / i m a g e s / Voegol . php [ 5 ] Analisado por : J o h n Doe [ 6 ] Hash (MD5 ) : 02 e 44077 c 7 b 43040683 c e 2434 f 81 d 563 v o e g o l . com . e x e [ 7 ] Arquivo c r i a d o / acessado : c : \ Documents and S e t t i n g s \ k u r u m i n \ C o n f i g u r a c o e s l o c a i s \ H i s t o r i c o \ H i s t o r y . IE 5 \ MSHist 012009081320090814 c : \ Documents and S e t t i n g s \ k u r u m i n \ C o n f i g u r a c o e s l o c a i s \ H i s t o r i c o \ H i s t o r y . IE 5 \ MSHist 0 1 2 0 0 9 0 8 1 3 2 0 0 9 0 8 1 4 \ i n d e x . d a t c : \ Documents and S e t t i n g s \ k u r u m i n \ C o n f i g u r a c o e s l o c a i s \ Temp \ ~DFD33A . tmp c : \ WINDOWS\ c o n t r o l . c t r c : \ WINDOWS\ s y s t e m \ H t e c h . e x e c : \ WINDOWS\ s y s t e m \ s i s t e m . e x e [ 8 ] G e r e n c i a d o r de T a r e f a s : c : \ windows \ s y s t e m 3 2 \ u s e r i n i t . e x e c : \ windows \ e x p l o r e r . e x e c : \ windows \ s y s t e m 3 2 \ v b o x s e r v i c e . e x e c : \ windows \ s y s t e m \ s i s t e m . e x e [9] Registry : C : \ WINDOWS\ s y s t e m 3 2 \ u s e r i n i t . e x e A p l i c a t i v o de l o g o n U s e r i n i t Microsoft Corporation c : \ windows \ s y s t e m 3 2 \ u s e r i n i t . e x e HKLM\SOFTWARE\ M i c r o s o f t \ Windows NT \ C u r r e n t V e r s i o n \ Winlogon \ S h e l l E x p l o r e r . exe Windows E x p l o r e r Microsoft Corporation c : \ windows \ e x p l o r e r . e x e HKLM\SOFTWARE\ M i c r o s o f t \ Windows \ C u r r e n t V e r s i o n \ Run VBoxService VirtualBox Additions Service i n n o t e k GmbH

21

22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

c : \ windows \ s y s t e m 3 2 \ v b o x s e r v i c e . e x e msne c : \ windows \ s y s t e m \ s i s t e m . e x e [ 1 0 ] Bancos Alvo : BRADESCO [ 1 1 ] Acao v i a Rede : FTP [ 1 2 ] Dados de r e d e ( D e s t i n o ) : ciroinfect@ 201.7.184.42 FTP= 2 0 1 . 7 . 1 8 4 . 4 2 : 2 1 LOGIN= c i r o i n f e c t SENHA= f l o r 1 2 3 . h t t p : / / 2 0 0 . 1 0 6 . 1 4 7 . 1 1 5 / r e c a d a s t r a m e n t o / s t a t s . php h t t p : / / 2 0 0 . 1 0 6 . 1 4 7 . 1 1 5 / c a r t a o 2 / f i n a l i z a . php [ 1 3 ] Dados de r e d e ( Origem ) : Nao i d e n t i f i c a d o . [14] Observacoes : Protecoes atacadas : BRADESCO URLs a c e s s a d a s p e l o t r o j a n : k a o s . l o c a l [ 1 3 / Aug / 2 0 0 9 : 1 1 : 3 9 : 4 3 0300] "GET http://voegol.com.br/ HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" k a o s . l o c a l [ 1 3 / Aug / 2 0 0 9 : 1 1 : 3 9 : 4 3 0300] "GET http:// oficinadacostura.com.br/imgs/sistem.dll HTTP/1.1" "-" "Mozilla /4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)" k a o s . l o c a l [ 1 3 / Aug / 2 0 0 9 : 1 1 : 3 9 : 4 4 0300] "GET http://www.voegol.com. br/Paginas/home.aspx HTTP/1.1" "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"

77

78

1.10. Consideraes Finais


Empresas tm demonstrado grande preocupao frente aos desaos em manter seus sistemas seguros. Entender a taxonomia de um ataque, sistematizando os processos de responsabilidade de um grupo de resposta a incidentes e proteger os ativos da organizao, uma necessidade crescente e que exige preparo constante do prossional responsvel pela segurana da informao. Atividades que envolvem cdigos maliciosos podem ser exploradas para criar verdadeiros exrcitos de soldados do crime. Para enfrentar esse desao, preciso entender no s as ferramentas utilizadas para criar e distribuir esses cdigos, mas tambm preciso interpretar o pensamento do prprio atacante, buscando estar frente dele para que seja possvel a deteco e neutralizao desses eventos. Quando um incidente de segurana reportado, a atuao da equipe de resposta deve ser precisa. A tentativa de tratar cada cdigo malicioso isoladamente uma estratgia fadada ao insucesso. Por outro lado, preciso ter a capacidade de distinguir e identicar cada artefato malicioso, e s ento colocar em prtica a estratgia de segurana,

integrando contra-medidas e medidas de proteo relativas ao conjunto dos malwares que se apresentam. Neste curso, foram apresentados os conceitos e os mtodos para que o tratamento de incidentes que envolvem malwares seja realizado com fortes bases tcnicas e que instrumentalize o prossional com as ferramentas que permitam o desenvolvimento do trabalho de anlise. Entender o comportamento de um malware o primeiro passo para identicar seu autor e ento neutralizar suas aes. Isoladamente, o ato de detectar o ataque constitui-se como um processo de carter apenas reativo. Entretanto, necessrio ter a capacidade de agir preventivamente, os seja, de criar e manter sistemas seguros que contemplem as protees contra os ataques j conhecidos, o que requer a contnua anlise da estrutura e funcionamento dos malwares.

Referncias
[Abbas et al. 2006] Abbas, A., Saddik, A., and Miri, A. (2006). A Comprehensive Approach to Designing Internet Security Taxonomy. 2006 Canadian Conference on Electrical and Computer Engineering, pages 13161319. [ABNT 2005] ABNT (2005). ISO IEC 27001 Tecnologia da informacao Tecnicas de seguranca Sistemas de gestao de segurana da informacao Requisitos. [Aquilina et al. 2008] Aquilina, J. M., Casey, E., and Malin, C. H. (2008). Malware Forensics: Investigating and Analyzing Malicious Code. Syngress Publishing, 1 edition. [Binsalleeh et al. 2009] Binsalleeh, H., Ormerod, T., Boukhtouta, A., Sinha, P., and A (2009). On the Analysis of the Zeus Botnet Crimeware Toolkit. In Proceedings of the Eighth Annual Conference on Privacy, Security and Trust (PST2010), Ottawa, ON, Canada. IEEE Press. [Brezinski and Killalea 2002] Brezinski, D. and Killalea, T. (2002). Guidelines for Evidence Collection and Archiving. RFC 3227, Internet Engineering Task Force - IETF. [Brownlee and Guttman 1998] Brownlee, N. and Guttman, E. (1998). Expectations for Computer Security Incident Response. RFC 2350. [Chen and Abu-Nimeh 2011] Chen, T. M. and Abu-Nimeh, S. (2011). Lessons from stuxnet. IEEE Computer Society, 44:9193. [Dube et al. 2010] Dube, T., Raines, R., Peterson, G., Bauer, K., Grimaila, M., and Rogers, S. (2010). Malware Type Recognition and Cyber Situational Awareness. 2010 IEEE Second International Conference on Social Computing, pages 938943. [Finjan Research Center 2009] Finjan Research Center (2009). Cybercrime Intelligence: Cybercriminals use Trojans & Money Nules to Rob Online Banking Accounts. Number 3 in 1, pages 19. Finjan Malicious Code Research Center, Finjan Malicious Code Research Center. [Jones 2001] Jones, P. (2001). US secure hash algorithm 1 (SHA1) RFC 3174.

[Kent et al. 2006] Kent, K., Chevalier, S., Grance, T., and Dang, H. (2006). Guide to integrating forensic techniques into incident response. National Institute of Standards and Technology, 800-86 edition. [Kornblum 2006] Kornblum, J. D. (2006). Identifying almost identical les using context triggered piecewise hashing. In Proceedings of the Digital Forensic Workshop, pages 9197. [Martins et al. 2010] Martins, V., Grgio, A., Afonso, V., and Fernandes, D. (2010). xFile: Uma Ferramenta Modular para Identicao de Packers em Executveis do Microsoft Windows. In SBC, editor, SBSeg 2010, pages 3140, Fortaleza - CE. [Mell and karen Kent 2005] Mell, P. and karen Kent, N. J. (2005). Guide to Malware Incident Prevention and Handling Recommendations of the National Institute of Standards and Technology, volume 800-83. Department of Homeland Security, Gaithersburg, 800-83 edition. [Mieres 2009] Mieres, J. (2009). Analysis of an attack of malware web-based. Technical report, Malware Intelligence. [Prosise et al. 2003] Prosise, C., Mandia, K., and Pepe, M. (2003). Incident Response & Computer Forensics, 2nd Ed. McGraw-Hill, Inc., New York, NY, USA, 2 edition. [Rivest 1992] Rivest, R. (1992). The MD5 message-digest algorithm (RFC1321). [Steding-Jessen 2008] Steding-Jessen, K. (2008). Uso de Honeypots para o estudo de Spam e Phishing (Doutorado). Tese, INPE - Instituto Nacional de Pesquisas Espaciais.

1.11. Anexo I: Lista de Packers, Unpackers, Cryptors


Tabela 1.7. Ferramentas: Packers, Unpackers, Cryptors[Aquilina et al. 2008]

Tipos Armadillo ASPack BeRoEXEPacker CExe Exe32pack EXECryptor eXPressor FSG Krypton MEW Molebox Morphine NeoLite Obsidium PEBundle PECompact PE Crypt 32 PELock PEPack PESpin Petite PKLite32 PolyCryptPE RLPack SFX Shrinker32 Themida UPX yoda

URLs www.siliconrealms.com/armadillo_engine. shtml www.aspack.com bero.0ok.de/blog/projects/beroexepacker/ www.scottlu.com/Content/CExe.html www.steelbytes.com www.strongbit.com/execryptor.asp www.expressor-software.com/ www.exetools.com/protectors.htm programmerstools.org/taxonomy/term/17?from= 20 www.exetools.com/protectors.htm www.molebox.com/ www.exetools.com/protectors.htm www.exetools.com/protectors.htm www.obsidium.de/show.php?download www.bitsum.com/pebundle.asp www.bitsum.com/ www.opensc.ws/asm/1071-pecrypt.html http//pelock.com/page.php?p=pelock#download www.dirfile.com/freeware/pepack.htm pespin.w.interia.pl/ www.exetools.com/protectors.htm pklite32.qarchive.org/ www.cnet.com.au/downloads/0,239030384, 10420366s,00.htm rlpack.jezgra.net www.exetools.com/protectors.htm www.exetools.com/protectors.htm www.oreans.com/downloads.php upx.sourceforge.net/ yodap.cjb.net/

Você também pode gostar