Você está na página 1de 56

CENTRO UNIVERSITÁRIO UNIFANOR

CURSO SISTEMAS DE INFORMAÇÃO

LEONARDO SANTIAGO GARCIA

ESTUDO DE CASO DO RANSONWARE WANNACRY: UMA ANÁLISE DOS


CÓDIGOS MALICIOSOS ATRAVÉS DE UMA ABORDAGEM PRÁTICA

FORTALEZA
2018
1

LEONARDO SANTIAGO GARCIA

ESTUDO DE CASO DO RANSONWARE WANNACRY: UMA ANÁLISE DOS


CÓDIGOS MALICIOSOS ATRAVÉS DE UMA ABORDAGEM PRÁTICA

Trabalho de conclusão de curso apresentada ao


curso de Sistemas de Informação, do Centro
Universitário UniFanor – Wyden, como requisito
parcial para a obtenção do grau de Bacharel em
Sistemas de Informação.

Orientador: Prof. Ms. Silvio Amarante.

FORTALEZA
2018
2

Dados Internacionais de Catalogação na Publicação (CIP)


Leilane Maria Lucena Pereira CRB3/916

004
G199e Garcia, Leonardo Santiago.
Estudo de caso do Ransonware Wannacry: uma análise dos códigos
maliciosos através de uma abordagem prática / Leonardo Santiago Garcia.
– 2018.
54 f.: il.

Trabalho de Conclusão de Curso (Graduação em Sistemas de


Informação) – Centro Universitário Fanor Wyden, 2018.
Orientador: Prof. Ms. Silvio Roberto Martins Amarante.

1. Segurança da informação. 2. Malwares. 3. Ataques cibernéticos. I.


Amarante, Silvio Roberto Martins. II. Título.
3

LEONARDO SANTIAGO GARCIA

ESTUDO DE CASO DO RANSONWARE WANNACRY: UMA ANÁLISE DOS


CÓDIGOS MALICIOSOS ATRAVÉS DE UMA ABORDAGEM PRÁTICA

Trabalho de conclusão de curso apresentada ao curso


de Sistemas de Informação, do Centro Universitário
UniFanor – Wyden, como requisito parcial para a
obtenção do grau de Bacharel em Sistemas de
Informação.
Orientador: Prof. Mr. Silvio Amarante

Aprovada em: ____/____/______.

_______________________________________________________________
Prof. Ms. Silvio Amarante (Orientador)
Centro Universitário Unifanor Wyden

_______________________________________________________________
Prof. Ms. Germano Fenner
Centro Universitário Unifanor Wyden

_______________________________________________________________
Prof. Ms. Luiz Gonzaga Mota Barbosa
Centro Universitário Unifanor Wyden
4

A Deus,

A minha mãe, Maria de Fátima Lima Santiago, a minha


esposa Yuska Garcia e aos meus filhos Júlia Garcia e
Benjamin Garcia.
5

AGRADECIMENTOS

Primeiramente a Deus, que nos meus momentos de fraquezas e


indecisões me deu forças para seguir essa caminhada. À minha mãe Maria de
Fátima Lima Santiago pela minha formação como pessoa e o amor a mim
dedicado. À minha amada esposa Yuska Natasha Bezerra Felício Garcia pelo
companheirismo, compreensão e paciência que teve comigo nesses quatro
anos de curso. À minha querida filha Júlia Garcia, que foi quem mais sofreu
com a ausência do papai todas as noites, para que eu pudesse finalizar esse
curso, mas que sempre esteve ao meu lado me dando forças para continuar.
Ao meu filho Benjamin Garcia que me deu mais motivos para concluir essa
jornada. Ao meu amigo, colega de classe e sócio Wagner Lindemberg que
esteve junto de mim por toda essa caminhada, nas noites de estudo e nas
tardes de sábado realizando nossos trabalhos acadêmicos. E, por último, mas
não menos importante, ao meu orientador Silvio Amarante por aceitar esse
desafio e ao coordenador do curso de Sistemas da Informação, Germano
Fenner pela paciência que sempre teve comigo.
6

“Acho que vírus de computador deve contar como vida.


Creio que dizem algo sobre a natureza humana que a
única forma de vida que criamos até agora é puramente
destrutiva. Nós criamos vida à nossa própria imagem.”

(STEPHEN HAWKING, 2011)


7

RESUMO

Nos dias atuais, o uso da internet já faz parte da maioria das populações ao
redor do mundo. A partir deste aumento no número de usuários,
concomitantemente, aumentaram os riscos com o uso da internet. Os ataques
de códigos maliciosos vêm crescendo a cada ano. Contudo, na contramão
deste avanço, as defesas frente a estas ameaças têm se mostrado bastante
ineficientes, visto que os números de ataques estão em constante avanço.
Diante deste cenário, esta pesquisa tem como objetivo geral observar o
comportamento de códigos maliciosos de diversos tipos, mais especificamente
o ransonware WannaCry, analisando o seu código e suas ações em
dispositivos informáticos. Ademais, tem como objetivos específicos:
contextualizar o cenário atual dos ataques cibernéticos; fornecer acesso aos
principais conceitos e discussões sobre as novas tendências de
desenvolvimento de códigos maliciosos; demonstrar algumas técnicas da
metodologia da análise forense de malwares; explanar os tipos de detecções e
respostas para mitigar os riscos de um ataque de conteúdos maliciosos;
divulgar o conhecimento necessário para os profissionais interessados em
análise de malware. Através das análises que este trabalho apresentará
acredita-se que seja possível agir contra estes ataques, mesmo antes das
grandes corporações de segurança e desenvolvedoras de antivírus encontrar
uma solução para um código malicioso que ainda não possui ações de
detecção e/ou remoção.

Palavras-chave: Segurança da informação. Malwares. Ataques cibernéticos.


8

ABSTRACT

Nowadays, the use of the internet is already part of the majority of the
populations around the world. From this increase in the number of users,
concomitantly, increased risks with the use of the internet. Malicious code
attacks are growing every year. However, against this breakthrough, defenses
against these threats have been quite inefficient, as the numbers of attacks are
constantly advancing. In this scenario, this research has the general objective of
observing the behavior of malicious codes of various types, specifically
ransonware WannaCry, analyzing its code and its actions in computing devices.
In addition, it has specific objectives: to contextualize the current scenario of
cyber attacks; provide access to key concepts and discussions about new
trends in malicious code development; demonstrate some techniques of
malware forensics analysis methodology; explain the types of detections and
responses to mitigate the risks of a malicious content attack; disseminate the
necessary knowledge to professionals interested in malware analysis. Through
the analyzes that this work presents, it is believed that it is possible to act
against these attacks, even before the large security corporations and antivirus
developers find a solution to a malicious code that does not yet have detection
and / or removal actions.

Keywords: Information security, Malwares, Cyber attacks.


9

LISTA DE ILUSTRAÇÕES

Figura 1 – Princípios básicos da segurança da informação..............................21


Figura 2 – Resumo comparativo entre os códigos maliciosos...........................23
Figura 3 – Principais alvos do Wannacry...........................................................34
Figura 4 – Diagrama de uma máquina virtual....................................................35
Figura 5 – Máquina virtual Windows 7 - ColetaneaPlayboy.exe........................36
Figura 6 – Execução do comando file................................................................37
Figura 7 - Escaner com antivírus.......................................................................37
Figura 8 - Escaner com antivírus.......................................................................38
Figura 9 – Pesquisa do hash do arquivo malicioso...........................................38
Figura 10 – Pesquisa por strings no arquivo malicioso.....................................39
Figura 11 – PEid................................................................................................40
Figura 12 – PEStudio.........................................................................................41
Figura 13 – Mensagem de resgate do Wannacry..............................................42
Figura 14 – Autorun da máquina infectada........................................................43
Figura 14 – Autorun da máquina infectada........................................................44
Figura 15 – Serviços da máquina infectada.......................................................44
Figura 16 – Captura com Regshot para comparação do registro......................45
Figura 17 – Alterações no registro da máquina infectada.................................46
Figura 18 – Utilizando Wireshark para capturar pacotes de rede......................47
Figura 19 – Utilizando o INetSim para simular serviços comum de internet.....47
Figura 20 – Resposta do domínio......................................................................48
10

LISTA DE TABELAS

Tabela 1 - Técnicas de análise estática.............................................................32


11

LISTA DE ABREVIATURAS E SIGLAS

CERT.BR Centro de Estudos, Resposta e Tratamento de Incidentes de


Segurança no Brasil
CIA Confidencialidade, Integridade e Disponibilidade
CPU Central Process Unit
DLL Dynamic-link library
DNS Domain Name System
DoS Deny of Services
IDS Intrusion detection System
HTTP Hypertext Transfer Protocol
IDS Sistemas de Detecção de Intrusão
MitM Man-In-The-Middle
PE Portable Executable
SO Sistema operacional
SMTP Simple Mail Transfer Protocol
VM Virtual Machines
12

SUMÁRIO
AGRADECIMENTOS ......................................................................................... 5
RESUMO............................................................................................................ 7
ABSTRACT........................................................................................................ 8
LISTA DE ILUSTRAÇÕES ................................................................................ 9
LISTA DE TABELAS ....................................................................................... 10
LISTA DE ABREVIATURAS E SIGLAS .......................................................... 11
1. INTRODUÇÃO ............................................................................................. 14
1.1. OBJETIVOS GERAIS E ESPECÍFICOS ................................................... 16

1.1.1 Objetivo geral ........................................................................................ 16

1.1.2 Objetivos específicos............................................................................ 16

1.2. METODOLOGIA ........................................................................................ 16

1.2.1 Desenho da pesquisa............................................................................ 18

2. REFERENCIAL TEÓRICO........................................................................... 19
2.1 SEGURANÇA DA INFORMAÇÃO ............................................................. 19

2.2 TIPOS DE MALWARES ............................................................................. 21

2.2.1 Vírus ....................................................................................................... 23

2.2.2 Cavalo de Tróia (Trojan) ....................................................................... 25

2.2.3 Ransomware .......................................................................................... 25

2.2.4 Backdoor ................................................................................................ 26

2.2.5 Worm ...................................................................................................... 26

2.2.6 Bot e Botnet ........................................................................................... 27

2.2.7 Zumbi...................................................................................................... 27

2.2.8. Spyware................................................................................................. 28

2.2.9 Rootkit .................................................................................................... 29

2.3 ANÁLISE DE MALWARES ......................................................................... 29

2.3.1 Análise estática ..................................................................................... 31

2.3.2 Análise dinâmica ................................................................................... 32


13

3. ESTUDO DE CASO ..................................................................................... 35


3.1. WANNACRY ............................................................................................. 35

3.2. PREPARANDO O AMBIENTE .................................................................. 36

3.3 ANÁLISE DE CÓDIGO MALICIOSO CAPTURADO .................................. 38

3.3.1 Análise estática ..................................................................................... 39

3.3.2 Análise dinâmica ................................................................................... 44

3.3.3 Considerações sobre as análises realizadas ...................................... 50

4. CONSIDERAÇÕES FINAIS ......................................................................... 52


REFERÊNCIAS BIBLIOGRÁFICAS ................................................................ 54
14

1. INTRODUÇÃO
Nos dias atuais, o uso da internet já faz parte da maioria das populações
ao redor do mundo. A partir da globalização, o acesso torna-se, a cada dia,
muito mais fácil. Seja através de computadores, de tablets, smartphones e até
dos televisores, estar conectado já faz parte da rotina e do cotidiano da grande
maioria. Com isso, surgiram muitas mudanças sociais, como a forma de se
relacionar, a forma de comprar, entre outras. Através da internet, você
consegue formar e manter uma rede de contatos pessoais e profissionais,
atualizar-se sobre as principais notícias, divertir-se em sites de jogos e afins,
comprar e vender diversos objetos, entre diversas outras ações.
A partir deste aumento no número de usuários, concomitantemente,
aumentaram os riscos com o uso da internet. De acordo com a Cúpula Latino
Americana de Analistas de Segurança da Kaspersky Lab, 2017, os números
recentes mostram que ataques de códigos maliciosos vêm crescendo a cada
ano. Estes códigos, segundo a Cartilha de Segurança para internet, “são
programas especificamente desenvolvidos para executar ações danosas e
atividades maliciosas em um computador. ” (CERT.br, 2012, p.39), podendo
ser denominados como vírus, worm, bot e botnet, spyware, backdoor, rootkit e,
por fim, trojan, ou mais comumente denominado, cavalo de tróia.
Somente na América Latina, ocorrem 33 ataques por segundo, o que
representa um aumento de 59% em relação ao mesmo estudo realizado no ano
anterior. Segundo a Kaspersky Lab, nos oito primeiros meses do ano de 2017 a
região sofreu um total de 677.216.733 ataques por códigos maliciosos. Como
ressaltado anteriormente, esse aumento acompanha o crescimento de
números de usuários e dispositivos que acessam a internet.
Segundo a cartilha,

Os principais motivos que levam um atacante a desenvolver e


a propagar códigos maliciosos são a obtenção de vantagens
financeiras, a coleta de informações confidenciais, o desejo de
autopromoção, e o vandalismo. Além disto, os códigos
maliciosos são muitas vezes usados como intermediários e
possibilitam a pratica de golpes, a realização de ataques e a
disseminação de ˜spam”. (CERT.br, 2012, p.24).
15

Os alvos destes ataques são diversos, bem como as técnicas


escolhidas. Atualmente, qualquer usuário, qualquer dispositivo pode ser alvo de
um ataque, sendo necessário apenas estar conectado na internet.
Contudo, na contramão deste avanço, as defesas frente a estas
ameaças têm se mostrado bastante ineficientes, visto que os números de
ataques estão em constante avanço.
Devido à grande quantidade de códigos maliciosos que surgem, as
empresas e organizações de segurança vêm utilizando métodos de análise
automatizadas ou semi-automatizadas. O conhecimento profundo do
funcionamento, do modo de “agir”, de um código malicioso é peça fundamental
para a construção de ferramentas que detectem e protejam os dispositivos
informáticos de forma eficiente. Existem duas metodologias que podem ser
utilizadas para análise de malwares: metodologia de análise dinâmica, que
consiste em executar o malware em um ambiente controlado e, através do uso
de algumas ferramentas de monitoramento, estudar o seu comportamento e as
interações que o mesmo realizou com sistema operacional e com a rede, e a
metodologia de análise estática, onde é feito a dissecação de um código
malicioso sem o mesmo ser executado, bem como a observação do seu código
com ajuda de algumas ferramentas desassembladores, analisadores de código
fonte, e descompiladores, usando a engenharia reversa. Nessa segunda
análise é exigido que o analista possua um conhecimento profundo em
linguagens de programação, engenharia reversa e etc., o que torna a análise
muito mais difícil que a primeira.
Diante do cenário apresentado e da relevância ressaltada, objetiva-se
apresentar, através de uma abordagem prática, a análise de códigos
maliciosos usando técnicas e ferramentas avançadas, visando ações
defensivas e de mitigação que irão permitir ações de contramedidas mais
rapidamente e de forma eficiente. Através das análises que este trabalho
apresentará acredita-se que seja possível agir contra estes ataques, mesmo
antes das grandes corporações de segurança e desenvolvedoras de antivírus
encontrar uma solução para um código malicioso que ainda não possui ações
de detecção e/ou remoção.
16

1.1. OBJETIVOS GERAIS E ESPECÍFICOS

1.1.1 Objetivo geral


 Observar o comportamento de códigos maliciosos de diversos tipos,
mais especificamente o ransonware WannaCry, analisando o seu código
e suas ações em dispositivos informáticos.

1.1.2 Objetivos específicos


 Contextualizar o cenário atual dos ataques cibernéticos
 Fornecer acesso aos principais conceitos e discussões sobre as novas
tendências de desenvolvimento de códigos maliciosos
 Demonstrar algumas técnicas da metodologia da análise forense de
malwares
 Explanar os tipos de detecções e respostas para mitigar os riscos de um
ataque de conteúdos maliciosos
 Divulgar o conhecimento necessário para os profissionais interessados
em análise de malware

1.2. METODOLOGIA
O delineamento da presente pesquisa consistirá em observar o
comportamento dos principais malwares analisando os seus códigos e suas
ações maliciosas em dispositivos informáticos, bem como analisar trechos de
códigos dos seus principais tipos, fornecer acesso aos principais conceitos e
discussões sobre as novas tendências de desenvolvimento de códigos
maliciosos, demonstrar algumas técnicas da metodologia da análise forense de
malwares e, por fim, divulgar o conhecimento necessário para os profissionais
interessados nesta temática.
Segundo Deslandes (1994, p. 42-43), a metodologia de um projeto de
pesquisa é "mais que uma descrição formal dos métodos e técnicas a serem
utilizados, indica as opções e a leitura opcional que o pesquisador fez do
quadro teórico". Então se baseando neste e noutros autores, a metodologia
desta pesquisa representará não só a parte técnica, mas sim, uma forma
completa de pesquisar-se delimitado tema. Neste sentido, a proposta que aqui
17

fazemos é a de observar estes códigos maliciosos, dirigindo-nos para uma


revisão de literatura do tipo narrativa.

Os artigos de revisão narrativa são publicações amplas,


apropriadas para descrever e discutir o desenvolvimento ou o
"estado da arte" de um determinado assunto, sob ponto de
vista teórico ou contextual (...) Constituem, basicamente, de
análise da literatura publicada em livros, artigos de revista
impressas e/ou eletrônicas na interpretação e análise crítica
pessoal do autor. (ROTHER, 2007, s.p.)

Em um primeiro momento será realizado um levantamento bibliográfico


objetivando realizar um mapeamento de todas as referências encontradas
sobre a temática desta pesquisa. Serão utilizadas diversas fontes, como
artigos, teses e dissertações disponíveis em bases de dados online, como o
Scielo, EBSCO e Google Acadêmico.
A partir dessa revisão de literatura buscaremos construir uma
contextualização para o problema de pesquisa, permitindo ao leitor acesso aos
principais conceitos e discussões sobre as novas tendências de
desenvolvimento de códigos maliciosos bem como suas contramedidas. Bem
como, será possível examinar as diversas perspectivas e enfoques sobre o
problema abordado e encontrarmos possíveis lacunas justificando futuras
pesquisas.
Posteriormente a este mapeamento, será realizada a análise dos dados
encontrados, promovendo uma discussão das possibilidades presentes na
literatura sobre o comportamento dos principais malwares e os
desdobramentos propostos.

As análises e discussões das informações têm relevantes finalidades,


assim como acentua Minayo:

Estabelecer uma compreensão dos dados coletados, confirmar


ou não os pressupostos da pesquisa e/ou responder às
questões formuladas e ampliar o conhecimento sobre o
assunto pesquisado, articulando-o ao contexto cultural da qual
faz parte. (1992, p.69).
18

Portanto, a partir do mapeamento realizado, será possível articular os


conhecimentos sobre códigos maliciosos com o nosso contexto cultural, no
qual os ataques e crimes cibernéticos ganham, a passos largos, o cotidiano de
seus usuários, sejam simples sujeitos à grandes empresas.

1.2.1 Desenho da pesquisa


Este estudo será estruturado em seis capítulos. Com o capítulo um,
primeiramente, faremos breve explanação sobre o contexto atual, ressaltando o
fato dos ataques cibernéticos representarem hoje um grande fator de risco nas
empresas e serem responsáveis de forma mais significativa por crises
corporativas.
O capítulo dois tratará do referencial teórico em que trarei os conceitos e
os diversos tipos de malware, baseado na cartilha da entidade brasileira
responsável por segurança na Internet - CERT.BR (Centro de Estudos,
Resposta e Tratamento de Incidentes de Segurança no Brasil).
No capítulo três serão explanadas e analisadas as técnicas e
metodologias da análise forense de malwares a fim de compreender as
funcionalidades destes códigos e seus possíveis danos que possam causar.
O capítulo quarto abordará os tipos e estratégias de infecção por meio
de malwares. Ressaltando as diversas formas de se infectar os arquivos e
como se espalham pelas redes de computadores, infectando outras máquinas.
No quinto capítulo realizaremos um estudo de caso no qual
exemplificaremos trechos de códigos de alguns tipos de malwares através do
uso de ferramentas disponíveis na internet, e comumente utilizadas em
análises forenses, bem como ferramentas criadas pelo próprio autor.
No último capítulo será explanado os tipos de detecções e respostas
para mitigar os riscos de um ataque de conteúdos maliciosos, apresentando
técnicas e boas práticas para que ataques deste tipo não sejam recorrentes.
19

2. REFERENCIAL TEÓRICO

Neste capítulo faremos breve explanação sobre o contexto atual,


conceituando a área da segurança da informação, bem como os diversos tipos
de malwares que estão presentes nos ataques cibernéticos. Estes códigos
maliciosos representam hoje um grande fator de risco nas empresas e são
responsáveis de forma mais significativa por crises corporativas.

2.1 SEGURANÇA DA INFORMAÇÃO

Segundo a NBR ISO/IEC 27001 (2013) a informação é um ativo que é


essencial para os negócios de uma organização e sendo assim de suma
importância que esta seja protegida. Em uma sociedade globalizada, em que
as pessoas e as empresas estão cada vez mais interconectadas, garantir a
segurança destas informações torna-se imprescindível. Com este aumento, a
informação está agora exposta a um número e uma variedade maior de
ameaças e vulnerabilidades.
Ainda segundo a norma brasileira:

Segurança da informação é a proteção da informação de vários


tipos de ameaças para garantir a continuidade do negócio,
minimizar o risco ao negócio, maximizar o retorno sobre os
investimentos e as oportunidades de negócio (NBR ISO/IEC
27001, 2013).

Para Cabral (2015) a segurança da informação objetiva-se em assegurar


que as informações estejam protegidas e acessadas somente por pessoas
autorizadas, bem como que elas estejam sempre disponíveis, e que sua
integridade esteja assegurada.
Os princípios citados anteriormente pelo autor são o que pode se
denominar como a tríade de CIA: Confidencialidade, Integridade e
Disponibilidade (Confidentiality, Integrity and Availability).
A confidencialidade traz em sua definição que a informação somente
pode ser acessada por pessoas explicitamente autorizadas. Sendo um
20

princípio básico da área da segurança da informação para impedir que pessoas


que não tenham autorização acessem este conteúdo. Moreno (2015) cita como
exemplos de quebra de confidencialidade: ataque MitM (Man-In-The-Middle),
ataques de quebra de senha, uso de cavalo de Tróia e escalonamento de
privilégios etc.
A integridade garante a informação em seu formato original, protegendo
assim os seus dados contra modificações propositadas e interferências
externas que podem corromper, comprometer ou danificar a informação. Os
principais controles para endereçar os requisitos de integridade são: não
repúdio, hashing, assinaturas digitais, certificados digitais (CABRAL, 2015).
Outro princípio básico, a disponibilidade, define que a informação deve
estar sempre disponível sempre que for necessária. Moreno (2015) destaca um
ataque de DoS (Negação de Serviço) como um exemplo de quebra de
disponibilidade.

Figura 1 – Princípios básicos da segurança da informação

Fonte: https://periciacomputacional.com/psi-politica-de-seguranca-da-informacao/
21

Os princípios básicos da segurança da informação, explicitados e


ilustrado acima, também chamados de pilares da segurança, podem ser
comprometidos com possíveis ameaças, que podem ser classificadas como
físicas e lógicas.
De acordo com Moreno (2015):

Ameaças físicas incluem todo e qualquer processo de natureza


física que possa comprometer os princípios da segurança da
informação. Exemplos: alagamentos, tempestades, furacões,
raios, desabamentos etc. [...] Ameaças lógicas incluem todo e
qualquer processo de natureza lógica que possa comprometer
os princípios da segurança da informação. Exemplos: vírus,
ataques de quebra de senhas, escuta de dados (sniffers) etc.
(p.18)

Dessa forma, a fim de garantir a segurança da informação, faz-se


necessário o conhecimento sobre os diversos tipos de ameaças lógicas, mais
especificamente os diversos tipos de malwares, que será abordado no próximo
tópico.

2.2 TIPOS DE MALWARES

De acordo com estudos realizados, malwares são programas que são


exclusivamente criados para agir de forma prejudicial ao sistema de um
computador. Tem como sua origem a abreviação de Malicious Software e, que
traduzindo para a nossa língua, significa códigos maliciosos. Os três principais
objetivos de um malware são: infectar o sistema, realizar as ações pré-
elaboradas com sucesso e tirar algum benefício para o autor das ações.
Segundo Goertzel e Winograd (2009) também podemos utilizar os termos
“badware” e “harmware” para designá-lo.
Em outras palavras, malwares são:

Programas maliciosos, também conhecidos como malware, são


programas de computador que atuam de forma a subverter o
sistema operacional ou a executar ações que beneficiem o
22

atacante (por exemplo, roubo de credenciais da vítima).


(PRADO; PENTEADO; GRÈGIO, 2016)
Segundo Lorna Hutcheson (2006) o estudo sobre malweres é uma arte,
um processo a ser aprendido, não sendo necessário o conhecimento prévio
sobre linguagem assembly ou ser um programador excepcional. É um desafio,
necessitando de estudos e dedicação. Sendo assim, um aprendizado que se
aperfeiçoa com a sua prática.
Abaixo, destaca-se tabela realizada pela Cartilha de Segurança para
Internet (2012) resumindo as ações dos códigos maliciosos comparando-os e
explicitando as formas de contágio.

Figura 2 – Resumo comparativo entre os códigos maliciosos


23

Fonte: CERT.br (2012)


Neste trabalho explicitaremos os diversos tipos de códigos maliciosos
que podem atacar um dispositivo informático, como os vírus, cavalo de troia
(trojan horse), ransomware, backdoor, RAT, worm (verme), bot, Zumbi, Botnet,
Spyware e suas variações e rootkit.

2.2.1 Vírus

Os vírus são programas ou parte de programas que se propagam


infectando, isto é, inserindo cópias de si mesmo e se tornando parte de outros
programas e arquivos de um computador. O vírus depende da execução do
24

programa ou arquivo hospedeiro para que possa se tornar ativo e dar


continuidade ao processo de infecção. A maioria dos vírus executam seu
trabalho de maneira específica a determinado sistema operacional e, em
alguns casos, específica a determinada plataforma de hardware.
Segundo Melo et al. (2011), na década de 1980, os vírus foram
introduzidos, com funções simples que ocasionalmente geravam
inconvenientes ou apenas mostravam informações ao usuário. Entretanto, nos
dias atuais este tipo de malware traz um grande risco para as organizações
demandando esforços contra o seu potencial destrutivo.
Os autores ressaltam ainda que para ser considerado um vírus, este
malware tem que ter a capacidade de se replicar e distribuir essa cópia para
outros arquivos e programas do sistema infectado. Sendo então, o seu principal
objetivo, replicar-se e contaminar o maior número possível de programas,
comprometendo outros sistemas.
Para que um vírus entre em ação ele depende da execução do
programa/arquivo hospedeiro para tornar-se ativo e dar continuidade ao
processo de infecção. Os principais meios de propagação, segundo a Cartilha
de Segurança para Internet (2012) são o envio de e-mail e o uso de pendrives.
Este último sendo o substituto dos antigos disquetes.
De acordo com Kent et al. apud Melo et al. (2011) os vírus podem ser
divididos em duas grandes categorias: vírus compilados e vírus interpretados.
Os vírus compilados são compostos de um programa fonte que é
compilado com alguma linguagem e direcionado para um determinado sistema
operacional. São eles: infector de programas, setor de boot e multipartite, que
são vírus que infecta registro mestre de inicialização, trilhas de boot e arquivos.
Já os vírus interpretados são compostos de código-fonte que pode ser
executado apenas por uma determinada aplicação ou serviço, sendo assim
diferentes dos vírus compilados. Os principais tipos são: vírus de macro e vírus
de script (KENT et al. apud MELO et al. 2011)
Ainda segundo os autores, as técnicas mais comuns de ofuscação, que
são técnicas utilizadas para prevenir a análise Estática de código, podem ser
utilizadas no código de vírus para dificultar sua detecção são a criptografia, o
polimorfismo e o metamorfismo.
25

A técnica de ofuscação é aplicada após a compilação do programa,


modificando o binário original antes de ser entregue ao cliente. A encriptação
de código normalmente não cria muitas dificuldades para os analistas
especializados em forense, pois os códigos necessários para a decriptação fica
presente no próprio executável.

2.2.2 Cavalo de Tróia (Trojan)

Este tipo de malware caracteriza-se por ser um programa que, além de


executar as funções para as quais foi aparentemente projetado, também
executa outras funções, geralmente maliciosas, e sem o conhecimento do
usuário.
De acordo com Melo et al. (2011) o termo “Cavalo de Tróia” vem da
mitologia grega, por ser um “presente” que esconde uma ação não esperada.
Aparentemente são inofensivos, mas que pode tomar o lugar de um programa
com intenções legítimas e executar as ações para a qual ele foi programado,
como: coletar informações (como credenciais, fotos e arquivos), esconder sua
presença e ações de maneira a impedir ou dificultar sua detecção, e, por fim,
desabilitar softwares de segurança (como firewall, anti-malwares e anti-vírus).
O cavalo de tróia precisa ser explicitamente executado para ser
instalado e tal ação pode ser realizada pelo próprio usuário ou por atacantes
após invadirem o equipamento.
De acordo com Schmidt, Dodonov e Guardia (2014) existem diversos
tipos de Trojan: downloader, dropper, backdoor, DoS, destrutivo, clicker, proxy,
spy e banker (bancos).

2.2.3 Ransomware

Ransomware é um programa que torna inacessíveis os dados


armazenados em um equipamento, bloqueia o acesso ao computador
(criptografando o disco) e, em troca, pede que o usuário faça um pagamento,
como se fosse um sequestro (do computador), em que o refém (o computador)
só será liberado quando efetuar o pagamento (geralmente realizado em
bitcoins).
26

Segundo a empresa Malwarebytes o primeiro ransomware, foi criado no


final da década de 1980 e ficou conhecido como PC Cyborg ou AIDS. Este
ransomware criptografava todos os arquivos no diretório C: depois de 90
reinicializações, e depois solicitava ao usuário renovar sua licença enviando
$189 por correio para a PC Cyborg Corp. A criptografia usada facilmente
revertida, representando assim, uma pequena ameaça para os usuários mais
experientes.
Os dois tipos principais são os lockers, que impede o acesso ao
equipamento, e os cryptos, que impedem o acesso aos dados armazenados no
equipamento, geralmente usando criptografia (FERREIRA, 2017).
O autor ressalta ainda que além de infectar o equipamento este malware
também costuma buscar outros dispositivos conectados, locais ou em rede, e
criptografá-los também.
Para este tipo de ataque, reforça-se a importância de ter backups, pois
mesmo pagando o resgate, não há garantias de que o acesso será
restabelecido. Ferreira (2017) pontua ainda que outras medidas preventivas
podem ser tomadas, como: ter sempre as últimas atualizações do sistema
operacional e dos programas instalados (ação esta considerada como uma boa
prática, segundo desenvolvedores de software); instalar um antivírus no
equipamento; cautela ao abrir links e/ou arquivos.

2.2.4 Backdoor

De acordo com Moreno (2015, p.226): “Uma backdoor é um programa


que fica esperando por conexões, permitindo o acesso ao shell do sistema
(feito de maneira remota).”
Este tipo de malware permite o retorno de um invasor a um equipamento
comprometido, ou seja, como uma porta específica aberta, necessária para a
execução do ataque, podendo ser incluído pela ação de outros malwares e por
atacantes. Após inclusão, é usado para assegurar o acesso futuro ao
equipamento, permitindo que seja acessado remotamente.

2.2.5 Worm
27

É um programa capaz de se propagar automaticamente através de


redes, enviando cópias de si mesmo de equipamento para equipamento, de
sistema para sistema (MELO et al. 2011).
A propagação se dá de dois modos: execução direta das cópias e
exploração automática de vulnerabilidades em programas. Estes malwares
consomem diversos recursos devido à grande quantidade de cópias geradas,
podendo afetar o desempenho das redes e o uso de equipamentos.
Segundo Melo et al (2011):

A grande ameaça do worm reside em deteriorar a performance


de um sistema sobrecarregando serviços e gerando tráfego,
que em alguns casos, pode provocar negação de serviço (DoS
– Deny of Services). [...] Para efeito de classificação, existem
dois tipos principais de worms, serviços em rede (network
service worms) e envio em massa (mass mailing worms). (p.
20)

2.2.6 Bot e Botnet

Bot é um programa que dispõe de mecanismos de comunicação com o


invasor que permitem que ele seja controlado remotamente. É um malware
capaz de se propagar automaticamente (modo similar ao worm), explorando
vulnerabilidades existentes ou falhas na configuração de softwares instalados
em um computador.
Já a Botnet é uma rede formada por centenas ou milhares de
computadores zumbis e que permite potencializar as ações danosas dos bots.
Pode também ser usada em ataques de negação de serviço, esquemas de
fraude, envio de spam, entre outros. Segundo a CERT.br (2012), o controlador
da botnet pode usá-la para os seus próprios ataques e/ou para alugá-la para
outras pessoas ou grupos que desejem executar ações maliciosas específicas.

2.2.7 Zumbi
28

Segundo Caldas (2016, p.23),

Um computador infectado por um bot costuma ser chamado de


zumbi (zombie computer), pois pode ser controlado
remotamente, sem o conhecimento do seu dono. Também
pode ser chamado de spam zombie quando o bot instalado o
transforma em um servidor de e-mails e o utiliza para o envio
de spam.

Computador Zumbi é um termo utilizado para definir computadores de


uma Botnet que normalmente são utilizados para envio de spam, ataque a sites
e outros tipos de ataques, sem que o dono do computador saiba de tal
atividade.
Para que seja possível essa ação, é necessário que o invasor instale um
programa no computador-alvo, normalmente, utilizando de outras técnicas de
ataque como e-mails maliciosos, redes ponto-a-ponto (peer-to-peer), ou
mesmo através de sites com links no qual o invasor camufla o programa
malicioso fazendo com que o usuário não saiba de que se trata.

2.2.8. Spyware

Spyware é um termo utilizado para se referir a uma grande categoria de


software que tem o objetivo de monitorar atividades de um sistema e enviar as
informações coletadas a terceiros. Não é necessariamente para uso malicioso,
pois pode ser utilizado pelo próprio usuário a fim de monitorar o uso de seu
sistema por terceiros. Logo, um spyware é classificado como legítimo ou
malicioso de acordo com a forma que é instalado, o tipo da informação
monitorada e a forma que esta informação é utilizada (CERT.br, 2012).
Ainda segundo a Cartilha de Segurança para Internet (2012), alguns
tipos de spyware são os keyloggers e os screenloggers. O primeiro atua
gravando todas as teclas digitadas pelo usuário no momento em que está ativo,
já o segundo tem como ação a gravação da tela e o posicionamento do mouse
do usuário. Sua ativação, em muitos casos, é condicionada a uma ação prévia
29

do usúario, como o acesso a um site específico de comércio eletrônico ou de


Internet Banking.

2.2.9 Rootkit
São programas utilizados para esconder atividades maliciosas. Esses
programas camuflam o malware, para evitar que os mesmos não sejam
descobertos pelos aplicativos antivírus.
A função do rootkit é esconder a sua presença e de outros códigos
maliciosos no sistema operacional. Técnicas avançadas são utilizadas para
dificultar a detecção por parte do usuário, geralmente faz isso alterando
funções internas do sistema operacional fazendo com que passe despercebido
pelas ferramentas anti-malware.
Os rootkits também podem modificar o sistema operacional do
equipamento, além de substituir suas principais funções para disfarçar sua
presença e ações que o violador faz no computador infectado.
Segundo MELO (2009, p. 12):

Rootkit – Tipo de Malware muito arrojado, sua engenharia


normalmente prevê a instalação de binários, módulos,
bibliotecas que disponibilizam os mais variados recursos como:
Backdoors, Cleanlogs, Keyloggers. Usa técnicas para esconder
processos e outras informações inerentes ao mecanismo, o
que dificulta sua identificação, além de sua instalação se dar de
forma automatizada. Normalmente são instalados logo após o
comprometimento de um computador por um invasor.

2.3 ANÁLISE DE MALWARES

A análise de malwares se refere à análise de código maliciosos com o


objetivo de descobrir o seu comportamento ou como funciona mais a fundo.
Com essas informações seremos capazes de classificar o tipo de malware,
verificar a sua origem, buscar descobrir o autor, quais os possíveis danos ele
pode causar, bem como, barrar suas ações evitando danos e agir
preventivamente.
30

Os principais motivos para que sejam feitas análises de malwares são:


desenvolver regras para Sistemas de Detecção de Intrusão (IDS), desenvolver
vacinas, entender o comportamento e funcionamento, responder a incidentes
mais efetivamente, desenvolver patchs de correção, ganhar o controle do
código malicioso e utilizá-lo para outros fins.
Segundo Malin et. al, apud Mangialardo e Duarte (2016) especialistas de
segurança adotam um método geral de investigação para identificar malwares
que se divide geralmente em 5 fases:

• Fase 1: preservação forense e exame dos dados voláteis;


• Fase 2: exame da memória do sistema infectado;
• Fase 3: análise forense para examinar os meios de
armazenamento permanentes (disco rígido, fitas de backup,
etc.);
• Fase 4: verificação das características do arquivo
desconhecido;
• Fase 5: análise estática e dinâmica do arquivo suspeito.
As fases 4 e 5 são utilizadas para obter as características dos
códigos contidos em arquivos. Estas características são
estudadas pelo analista que então identificará o arquivo como
malware ou não malware e, também, poderá classificá-los em
tipos ou famílias de malwares. (p.5)

Nesta pesquisa serão detalhados os dois tipos de análise citados pelos


autores, a estática e a dinâmica. A primeira, mostra como se faz a dissecação
de um artefato malicioso sem executá-lo, permitindo fazer suposições, apenas
observando o seu código com a ajuda de debuggers, disassemblers,
descompiladores, entre outros. Segundo Siddiqui et al. (2008, p.407): “As
técnicas mais tradicionais consistem em extrair instruções do código assembly
do programa e inferir conclusões com base na sequência das instruções. ”
Na análise dinâmica, o malware é executado em um ambiente
controlado, geralmente em uma máquina virtual, há forte interação humana,
analisa todo o binário, tornando assim, a análise automatizada mais complexa.
Segundo Melo et al. (2011, s.p):

Análise dinâmica é uma abordagem baseada em


comportamento e requer observação em tempo de execução
de um artefato malicioso, utilizando um ambiente protegido e
preparado para coletar informações das atividades do malware.
31

Este tipo de análise é realizada através de ferramentas de


monitoramento para capturar as interações que ele realiza com o sistema
operacional e o ambiente de rede. Veremos nos pontos a seguir tais análises
de forma mais detalhada.

2.3.1 Análise estática

Para fins de detecção de malwares, este tipo de análise se mostra, na


maioria dos casos, a forma mais eficiente, pois dessa forma conseguimos
extrair informações mais detalhadas e avançadas do malware.
De acordo com Mangialardo e Duarte (2016) a análise estática pode ser
dividida em duas formas: básica e avançada. Na primeira, utiliza-se de
programas antivírus (defesa mais utilizada contra os malwares), hashes para
identificar o arquivo, captura de informações existentes em strings, bem como,
funções e cabeçalhos de arquivos. Já na análise estática avançada, o analista
executa a engenharia reversa, onde o código do programa é desmontado
(“desassemblado”) com o objetivo de descobrir o funcionamento do programa
sem a execução do mesmo.
Ainda segundo os autores,

Para aumentar a certeza acerca da classificação do arquivo


como malware ou não, podem-se utilizar sistemas de
verificação disponibilizados na Internet. Um exemplo destes
sistemas é o VírusTotal (MANGIALARDO, DUARTE, 2016,
p.5).

Este programa web citado pelos autores é um serviço gratuito que


analisa arquivos e URLS suspeitas e facilita a rápida detecção de vírus, worms,
cavalos de tróia e todos os tipos de arquivos maliciosos (VIRUSTOTAL, 2018).
Vale ressaltar que neste trabalho esta será uma das ferramentas utilizadas em
nosso estudo de caso.
A principal deficiência deste método é, segundo Ceron, Granville e
Tarouco (2009), “a possibilidade do código de máquina analisado não refletir o
mesmo comportamento que o malware apresenta quando executado.”
32

Por fim, segundo Caldas (2016), as principais técnicas utilizadas na


análise estática podem ser vistas na tabela a seguir:

Tabela 1: Técnicas de análise estática

Fonte: CALDAS, 2016, p.9

2.3.2 Análise dinâmica

Este tipo de análise consiste em observar as características funcionais


do malware através da sua execução num ambiente controlado. De acordo
com Melo et al (2011, p.42):
33

A análise dinâmica é uma abordagem baseada em


comportamento e requer observação em tempo de execução
de um artefato malicioso, utilizando um ambiente protegido e
preparado para coletar informações das atividades do malware.
Nesta etapa da análise, serão observadas as interações que o
malware tem com o computador alvo. Serão analisados
registros, processos, sistema de arquivos e tráfego de rede.

Assim como a análise estática, neste tipo de análise também há duas


subdivisões: a análise dinâmica básica e a análise dinâmica avançada. Na
primeira, o analista busca examinar o comportamento do malware em
execução para tentar remover a infecção e descobrir o que ele faz, sem olhar
para as instruções. Já na análise dinâmica avançada utiliza-se um depurador
para examinar o estado interno do malware sendo executado.
Neste tipo de análise, o monitoramento é realizado através da coleta de
informações do sistema (logs, arquivos alterados, processos criados,
bibliotecas utilizadas pelo malware, etc), envolvendo ainda o uso de um
depurador para testar e depurar um código, que permite ao investigador
observar o fluxo de execução do programa durante para uma determinada
entrada.
Segundo Mangialardo e Duarte (2016) existem dois tipos de depuração:
a depuração do código fonte e a depuração do código assembly. Esta última é
utilizada na análise de códigos maliciosos porque não requer o acesso ao
código fonte.
Os autores ressaltam ainda que existem duas formas de depurar um
programa:

A primeira consiste em iniciar o programa com um programa


depurador. Quando o programa é iniciado e carregado na
memória, ele é imediatamente interrompido logo no ponto de
entrada da execução. A partir deste ponto, obtém-se o controle
completo dos passos de execução do programa depurado.
Outra forma de depurar o programa é iniciar a depuração a
partir de outro endereço de um programa em execução e não
no inicial, de entrada. Neste caso, threads do programa são
34

pausadas e ele pode ser depurado. (MANGIALARDO,


DUARTE, 2016, p.6)

Uma desvantagem deste tipo de análise é que você vê é tudo o que


você tem, pois não se tem acesso ao código e sim somente em tempo de
execução. Sendo assim, torna impossível de prever o comportamento de um
programa que não tem o seu comportamento conhecido. Vale ressaltar que a
execução de um programa não faz com que o mesmo percorra todos os seus
trechos de código.
Em relação à análise estática, a análise dinâmica demonstra
desvantagens, pois apenas um caminho de execução é observado, o que
acaba gerando uma cobertura incompleta do código, conforme citado
anteriormente. Visto que malwares normalmente são delineados para modificar
o seu comportamento ou até mesmo interromper o seu funcionamento, caso
detectem que estão sendo executados em um ambiente controlado.
35

3. ESTUDO DE CASO

A fim de observar o comportamento dos principais malwares, os seus


códigos e suas ações maliciosas em dispositivos informáticos, nesta sessão
deste trabalho faremos um estudo de caso, analisando especificamente o
ransonware WannaCry, através dos dois tipos de análises citados
anteriormente, dinâmica e estática.

3.1. WANNACRY

De acordo com os principais antivírus conhecidos mundialmente como


AVG, Kaspersky e Avast, o WannaCry é um ransomware que se espalhou pela
rede, em 12 de maio de 2017, criptografando arquivos de dados de vítimas em
mais de 150 países, caracterizando-se como um enorme ataque cibernético de
ransomware. Esta extorsão afetou milhares de pessoas e grandes instituições
em todo o mundo, como a FedEx, a Telefônica da Espanha, a indústria
automobilística francesa Renault e até a polícia estatal da Índia.
Este código malicioso tem em vista redes que usam o protocolo SMBv1
(um protocolo que ajuda computadores a se comunicarem com impressoras e
outros dispositivos conectados na rede), deixando computadores expostos a
hackers, essa vulnerabilidade é conhecida como MS17-010.
Este ransonware, também conhecido como WanaCrypt0r 2.0 ou WCry,
tira proveito de PCs que usam Windows para criptografar arquivos e impedir
que os usuários os acessem, a menos que paguem US$ 300 em bitcoins em 3
dias, sendo dobrado este valor em um segundo momento.
O WannaCry foi considerado, até o ano 2018, o código malicioso com
maior número de alvos na área de segurança da informação, configurando uma
tendência a ascensão de ransomwares nos ataques atuais. Como foi relatado,
este malware atingiu em grande parte os sistemas Windows que não haviam
realizado uma atualização de segurança crítica. O sucesso em grande escala
evidencia a necessidade de melhores práticas de segurança, tornado assim,
relevante a sua análise por parte deste estudo.
36

Figura 3 – Principais alvos do Wannacry*

*Disponível em: https://www.avast.com/pt-br/c-wannacry

Sendo escolhido o ransonware WannaCry como o nosso alvo de análise,


detalharemos a seguir os passos realizados para maiores esclarecimentos.
Ressalta-se que este estudo tem como objetivo levantar informações para
mitigar uma possível contaminação, identificar padrões, interromper a
propagação do malware, minimizando assim, maiores prejuízos.

3.2. PREPARANDO O AMBIENTE


Se faz necessário um ambiente seguro antes da execução de um
malware evitando assim surpresas desagradáveis. Como não sabemos
exatamente quais os danos que ele pode causar em nosso ambiente de rede e
computador, então nunca devemos executá-lo em um computador que não
seja preparado para tal ação, como é o caso de um computador de produção
ou de uso pessoal. Logo, isso só deverá ser feito em um sistema previamente
preparado para essa finalidade.
Melo et al. (2011, p.40) justifica tal estratégia em seu artigo Análise de
Malware: Investigação de Códigos Maliciosos Através de uma Abordagem
Prática:

Como um malware é um código potencialmente perigoso,


devem ser tomadas medidas de segurança para que a análise
desse código não comprometa ainda mais a máquina alvo e,
37

tão pouco, infecte outros hospedeiros. Por esse motivo,


recomenda-se que, sempre que possível, a análise de um
código malicioso seja executada em um ambiente isolado,
como uma máquina virtual.

A forma mais comumente utilizada e mais barata para se analisar um


malware e seu comportamento é o uso de máquinas virtuais. Em nossa análise
usaremos uma máquina virtual do Windows 7 no VirtualBox.
Máquinas virtuais (virtual machines, VM) são como computadores dentro
de outro computador. Como é possível ver na figura abaixo, um SO (sistema
operacional) convidado (guest) é instalado em um SO hospedeiro (host)
através de uma máquina virtual. Existem várias vantagens em utilizar essa
estrutura, algumas das principais são: o SO convidado fica isolado do
hospedeiro, os malwares que rodam na máquina virtual não o atingem (a
menos que exista uma vulnerabilidade 0-day na VM), caso o SO da VM seja
danificado é só restaurar para o estado original, a VM toda está contida em
poucos arquivos, o que torna fácil o backup e duplicação, entre outras
vantagens.

Figura 4 – Diagrama de uma máquina virtual*

*Disponível em: https://blogs.vmware.com

Existem muitas alternativas de máquinas virtuais disponíveis, cada um


pode utilizar a plataforma de sua preferência, porém como sugestões para
38

utilização na análise de malware são indicadas a VMWare


(http://www.vmware.com) e a Oracle VirtualBox (https://www.virtualbox.org/).
Quando lidamos com malware devemos tomar alguns cuidados mesmo
em máquina virtuais. Primeiramente sempre manter o software de virtualização
atualizado. Além das atualizações fornecerem recursos adicionais para a VM,
elas são utilizadas para corrigir falhas de segurança da plataforma. Atualizando
assim que for disponibilizado pelo fabricante nos deixa com as VMs livres de
vulnerabilidades conhecidas assim o malware só conseguirá “escapar” da
máquina virtual através de uma vulnerabilidade 0-day, que são aquelas
vulnerabilidades em que hackers encontram e que poderiam ser exploradas
antes que os desenvolvedores tenham tempo de reagir a respeito.
Outra questão crítica que devemos ficar bastante atentos diz respeito à
conexão de rede da máquina virtual, caso ela esteja mal configurada o malware
poderá infectar o computador hospedeiro e até outros hosts da rede caso
esteja em uma LAN, fora isso a VM ainda poderá se tornar um bot para atacar
máquinas de terceiros, enviar spams, hospedar conteúdo ilegal, etc.

3.3 ANÁLISE DE CÓDIGO MALICIOSO CAPTURADO

Com o ambiente preparado e com o artefato baixado na máquina virtual,


como é possível observar na figura 5, iniciaremos o nosso estudo de caso
utilizando os dois tipos de análise anteriormente citados, a análise dinâmica e a
análise estática.
O executável foi nomeado de ColetaneaPlayboy.exe para tornar-se mais
atrativo a sua execução para os possíveis usuários alvos, essa é uma prática
comum entre os desenvolvedores de arquivos maliciosos para que o usuário
seja induzido a clicar no mesmo.

Figura 5 – Máquina virtual Windows 7 - ColetaneaPlayboy.exe


39

Fonte: próprio autor


3.3.1 Análise estática
Para inicializar a análise estática importamos o arquivo
ColetaneaPlayboy.exe para uma máquina sistema operacional Linux para que
seja identificado o tipo de arquivo e para qual arquitetura ele foi desenvolvido.
Podemos visualizar o resultado desta operação na figura 6.

Figura 6 – Execução do comando file

Fonte: próprio autor

Observamos que o artefato foi desenvolvido para ser executado em


sistemas operacionais Windows, limitando o ataque somente ao sistema
operacional citado.
O segundo passo, também realizado no sistema operacional Linux,
consiste em escanear o artefato com um antivírus, neste caso utilizamos o
Clamscan (um antivírus de linha de comando), executando o seguinte
comando: $ clamscan –i ./ColetaneaPlayboy.exe

Figura 7 - Escaner com antivírus


40

Fonte: próprio autor

A partir do resultado da varredura do antivírus observamos que o arquivo


escaneado contém um ransonware da variante WannaCry. Para uma análise
mais completa, optamos por inserir o malware no site VírusTotal e o relatório
apresentado mostra que de 67 antivírus, 62 deles identificaram o arquivo como
um malware, como podemos observar na figura 8.

Figura 8 - Escaner com antivírus

Fonte: próprio autor

No passo seguinte realizamos a pesquisa do hash do artefato que, para


efeito da perícia forense e análise de malware é indispensável, pois é uma
maneira rápida e barata de comparar arquivos.
41

Figura 9 – Pesquisa do hash do arquivo malicioso

Fonte: próprio autor

Na figura anterior é possível notar que os resultados também indicam


que o arquivo, identificado neste caso pelo seu hash, é possivelmente o
ransonware WannaCry.
Para obtenção do hash do arquivo analisado utilizamos do comando no
Linux: $ md5sum –b ColetaneaPlayboy.exe.
Uma vez identificado a grande possibilidade do arquivo examinado ser
um malware outro passo importante é a obtenção de uma lista de strings, que
são sequências de caracteres legíveis no código. Nesta pesquisa podemos
encontrar informações como: conexões em rede, chamadas de sistema,
chaves do registro, nomes de arquivos, comandos maliciosos etc. Para tal ação
foi utilizado o seguinte comando: $ strings ColetaneaPlayboy.exe.

Figura 10 – Pesquisa por strings no arquivo malicioso


42

Fonte: próprio autor

Como resultado da análise das strings observamos, a partir da figura 10,


algumas informações muito valiosas como: um domínio com um nome
suspeito, comandos de encriptação, carregamento de DLL (Dynamic-link
library) e criação de processos.
Outro passo indispensável é a realização da análise do formato do
arquivo suspeito. Para tal ação utilizamos as ferramentas PEiD e PEStudio com
o intuito de obter informações como, por exemplo, o cabeçalho do arquivo.
O PEiD é um aplicativo intuitivo que possui interface amigável para
detectar empacotadores, criptografadores e compiladores encontrados nos
arquivos executáveis do PE (formato de arquivos executáveis, código objeto e
DLLs usado no Windows), a sua taxa de detecção é maior que a de outras
ferramentas semelhantes, pois o aplicativo contém mais de 600 assinaturas
diferentes em arquivos PE.
Uma varredura do arquivo ColetaneaPlayboy.exe com PEiD antes de
iniciar, podemos ver que ele é compactado com Microsoft Visual C++ 6.0, não
estando encriptado, dentre outras informações como a seção e ponto de
entrada (Entrypoint), que é o endereço da primeira declaração (código) que
deve ser executada pelo Windows assim que o programa for carregado,
exemplificado na figura 11.

Figura 11 – Programa PEid


43

Fonte: próprio autor

Similar ao PEiD, o PeStudio é um programa portátil útil para o Windows


analisar arquivos executáveis antes que eles sejam executados no sistema. O
programa verifica o artefato em busca de informações relevantes, sequências
de caracteres e recursos e exibe todas as informações em sua interface após a
verificação, como podemos visualizar na figura 12.
Além das verificações locais, ele está consultando a Virustotal para
relatar as descobertas do serviço também.

Figura 12 – PEStudio

Fonte: próprio autor


Usando as ferramentas e as técnicas descritas acima, podemos
identificar que o artefato analisado se constitui como um arquivo malicioso.
Dessa forma, finalizamos assim a análise estática.
44

3.3.2 Análise dinâmica


A análise dinâmica necessita da execução do malware. Permite observar
o comportamento real do código malicioso, sendo um eficiente caminho para
compreender suas funcionalidades. Deve ser executada somente após a
análise estática, assim corre-se menos risco de comprometer o sistema ou a
rede.
Começamos sempre a partir de um estado limpo do sistema, realizando
snapshots (cópias instantâneas de volume) sempre que necessário para voltar
um estado anterior para realização de novas análises.
Como podemos visualizar na figura 13, logo após a execução do
malware, é exibida a mensagem de resgate do ransonware para recuperação
dos arquivos criptografados. Isso significa dizer que ele cumpriu com o objetivo
para o qual foi desenvolvido, infectar a máquina, criptografar os arquivos,
deixando alguns deles inacessíveis, bem como, solicitar o resgate para
fornecer uma aplicação, muitas vezes suspeita, que restaura todos seus
arquivos criptografados.
Também é possível visualizar na imagem abaixo as instruções para que
seja feito o pagamento para resgate, que nesse caso, usa a carteira digital
Bitcoin, que é uma forma de movimentação financeira digital descentralizada,
que permite transações financeira sem intermediários.

Figura 13 – Mensagem de resgate do Wannacry

Fonte: próprio autor


45

Um passo importante após a infecção da nossa máquina virtual é


procurar por alterações no nosso sistema operacional realizados pelo malware.
Nesse primeiro momento vamos analisar se alguma entrada suspeita foi
adicionada na inicialização automática do sistema, os autoruns.
Armazenar seu código em diretórios, chaves de registro ou arquivos
específicos, que normalmente o Windows busca por aplicativos que são
inicializados a cada vez que o computador seja reinicializado, consiste em uma
tática utilizada por esse tipo de malware. Esse é um jeito eficaz de um
processo se manter em execução sem o conhecimento do usuário.
Podemos observar na figura 14 um programa suspeito na inicialização
do sistema, ele possui o endereço “C:\ProgramData\ykrxnwvi382\tasksche.exe”
e uma informação possivelmente falsa do fabricante como sendo da própria
Microsoft.
Figura 14 – Autorun da máquina infectada

Fonte: próprio autor


Analisando também os serviços a serem inicializados com o sistema
operacional, na figura 15, também é possível identificar um serviço suspeito, de
nome ykrxnwvi382.exe. Com essas duas informações avançaremos na análise
para tentar levantar mais informações sobre o malware.

Figura 15 – Serviços da máquina infectada


46

Fonte: próprio autor

Com as informações levantadas nas análises acima, um passo de


extrema importância nessa análise é monitorar os processos após a execução
do malware. Para tal ação usamos a ferramenta Process Hacker, que nos
informa quais os processos estão em execução naquele momento e
informações como PID, uso da CPU por determinado processo e outras
informações úteis que podemos visualizar na figura 16.
Percebemos que após o início das atividades do ransonware, o processo
iniciava e finalizava imediatamente, impossibilitando uma análise mais profunda
com essa ferramenta, utilizamos então, em conjunto, o programa Regshot,
visível na figura 16, que compara alterações no registro do Windows. Com esse
programa, é gerado um relatório comparativo de uma cópia do registro antes
da execução do malware e outra após a execução o resultado de operação é
apresentado em modo texto. Tais ações podem ser observadas na figura 17.

Figura 16 – Captura com Regshot para comparação do registro


47

Fonte: próprio autor

Novamente percebemos ações suspeitas ao analisar as alterações de


registro e isso fica visível na figura 17. Foi adicionado no registro do Windows
algumas chaves de registro que apontam para a inicialização do serviço
“ykrxnwvi382” citado anteriormente e a execução da malware
ColetaneaPlayboy.exe indicando que mesmo após a reinicialização do sistema
o malware continuará agindo.

Figura 17 – Alterações no registro da máquina infectada

Fonte: próprio autor


48

Nesse momento já fica evidente que o arquivo analisado é de fato um


artefato malicioso. Podemos perceber isso já na análise estática, porém, como
nosso objetivo é entender o comportamento do malware, nos aprofundamos na
análise dinâmica para entender o seu funcionamento.
Umas principais ações após os passos já realizados até esse momento
é o passo que consideramos o mais importante: é examinar o tráfego de rede
da máquina infectada. Dessa forma capturamos o tráfego de rede gerado pelo
malware e analisamos protocolos diversos.
Para essa ação usamos o programa chamado Wireshark que é uma
ferramenta open source de análise de pacotes de rede.
Analisando a captura de pacotes de redes na máquina infectada,
percebemos uma consulta DNS partindo da máquina (IP 192.168.56.101) para
o host da máquina virtual (IP 192.168.56.1) para um domínio suspeito, como
podemos visualizar na figura 18. Porém como as configurações da máquina
virtual não permitiam acesso à rede externa, as requisições feitas pelo malware
não eram respondidas. Para solucionar esse problema e analisar melhor qual a
ação pretendida pelo ransonware, utilizamos a ferramenta INetSim que simula
vários serviços comuns de Internet em um ambiente de laboratório para
responder as requisições do software malicioso. Podemos ver a execução do
mesmo na figura 19.

Figura 18 – Utilizando Wireshark para capturar pacotes de rede

Fonte: próprio autor


49

Como citado anteriormente, na figura 19 podemos ver a inicialização de


diversos serviços comuns de internet como HTTP, DNS, SMTP e outros. Essa
ação se faz necessária para que podemos entender o real motivo da solicitação
do ransonware ao domínio suspeito.

Figura 19 – Utilizando o INetSim para simular serviços comum de internet

Fonte: próprio autor


Após a ativação do INetSim, executamos novamente o nosso artefato e
a requisição ao domínio www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com
foi atendida como mostra a figura 20.

Figura 20 – Resposta do domínio

Fonte: próprio autor


50

Após a resolução do nome e resposta à requisição HTTP, o malware


não executou a atividade maliciosa. Logo foi comprovada a descoberta do
pesquisador chamado Marcus Hutchins, profissional de segurança virtual
britânico, que descobriu que se este domínio respondesse de forma positiva, o
ataque era interrompido, o que conhecemos como “kill switch” ou botão de
desligar. Hutchins, analisando a estrutura de comando e controle do
ransomware, achou estranho a comunicação para tal domínio e resolveu
registrar. Quando o registro foi realizado esse ataque foi interrompido no
mundo inteiro.

3.3.3 Considerações sobre as análises realizadas

Neste estudo de caso foram apresentados os métodos para que o


tratamento de incidentes que envolvem malwares seja realizado a partir de
técnicas e instrumentos que possibilitem o profissional desenvolver o trabalho
de análise.
A fim de contribuir com a análise de futuros ataques à dispositivos
informáticos, sugerimos os passos seguintes para a realização das análises
dos códigos maliciosos.

Na análise estática:
 1º passo: Identificar o tipo de arquivo e para qual arquitetura ele foi
desenvolvido.
 2º passo: Escanear o artefato com um antivírus
 3º passo: Pesquisar o hash do artefato para comparar arquivos
 4º passo: Buscar por strings no arquivo
 5º passo: Analisar o formato do arquivo suspeito

Na análise dinâmica:
 1º passo: Começar a partir de um estado limpo do sistema, realizando
snapshots.
 2º passo: Executar o malware
51

 3º passo: Procurar por alterações no nosso sistema operacional


realizados pelo malware
 4º passo: Analisar se alguma entrada suspeita foi adicionada na
inicialização automática do sistema, os autoruns.
 5º passo: Monitorar os processos após a execução do malware.
 6º passo: Comparar alterações no registro do Windows.
 7º passo: Examinar o tráfego de rede da máquina infectada
 8º passo: Capturar pacotes de rede
 9º passo: Simular serviços comum de internet
 10º passo: Executar novamente o artefato e suas requisições

Em nosso estudo de caso, a partir da análise estática, foi possível


identificar que o artefato analisado era, de fato, um arquivo malicioso. Na
análise dinâmica, foi possível entender o comportamento do malware,
identificando a sua finalidade e sendo possível neutralizar suas ações.
Entretanto, como ressalta Melo et al. (2011, p.50):

Isoladamente, o ato de detectar o ataque constitui-se como um


processo de caráter apenas reativo. [...] é necessário ter a
capacidade de agir preventivamente, os seja, de criar e manter
sistemas seguros que contemplem as proteções contra os
ataques já conhecidos, o que requer a contínua análise da
estrutura e funcionamento dos malwares.

Dessa forma, entender a taxonomia de um ataque, sistematizar os


processos de responsabilidade de um grupo de resposta a incidentes, bem
como desenvolver estratégias que protejam os dados de uma organização
torna-se, cada dia mais, uma necessidade. Além de exigir um grande preparo
por parte do profissional responsável pela segurança da informação, que deve
estar sempre à frente do pensamento do próprio atacante.
52

4. CONSIDERAÇÕES FINAIS

A cada minuto, novos artefatos são criados, coletados e analisados. O


número de ataques cibernéticos à grandes organizações mundiais crescem,
atingindo principalmente países como China, os EUA, Turquia, Rússia e
Taiwan. Em maio de 2017, como citado anteriormente, um ataque de
ransonware atingiu mais de 74 países, incluindo o Brasil. Neste, mais de 45 mil
ataques foram detectados pelo grupo russo de segurança Kaspersky. Neste
ataque o vírus que se espalhou é o Wanna Decryptor, variante do ransomware
WannaCry.
Um ano antes, em fevereiro de 2016, o Centro Médico Presbiteriano de
Hollywood também foi atingido por um ransonware, pagando a recompensa de
US$ 17 mil (cerca R$ 68 mil) para criminosos fornecerem uma chave para
restaurar os dados e sistemas do hospital.
Visto estes e outros dados levantados por esta pesquisa, observamos a
relevância de se abordar a análise destes códigos maliciosos, mais
especificamente, do ransonware WannaCry analisado neste trabalho.
As análises dinâmica e estática se mostraram eficazes para atingirmos o
nosso objetivo. A partir da análise estática foi possível constatar que o arquivo
analisado era, de fato, um artefato malicioso, porém, caso nada fosse
encontrado nessa fase, se faz necessário realizar a análise dinâmica para ter
certeza de que o artefato não seja malicioso. Na análise dinâmica, foi possível
aprofundarmos a análise e entender o funcionamento do malware.
Nas análises realizadas observamos as diferentes formas que eles
agem, os danos causados, os meios que se utilizam para se propagar, bem
como o tráfego de rede que é gerado quando eles entram em execução. Faz-
se necessário então que estudos como este sejam uma constante, a fim de
explicitarmos diferentes técnicas que podem ser utilizadas por malwares e
assim reduzirmos a quantidade de danos causados por estes ataques,
detectando a presença deles e desenvolver métodos para evitar o seu
funcionamento.
Fica claro também que sempre devemos estar atentos às medidas a
serem tomadas para nos prevenirmos de ataques como o que analisamos
nesse trabalho, principalmente em ambientes corporativos. Medidas como a
53

formação dos colaboradores, controle de acesso de dados, reforçar a


segurança nos endpoints, segurança nos dispositivos móveis, proteção do
perímetro com firewalls e IDS. E, por fim, a ação que é considerada a principal
quando falamos em incidentes, o backup dos dados.
54

REFERÊNCIAS BIBLIOGRÁFICAS

ABNT. NBR ISO/IEC 27001 – Tecnologia da informação – Técnicas de


segurança – Sistemas de gestão de segurança da informação – Requisitos. Rio
de Janeiro. ABNT, 2013.

CABRAL, Ismael. Segurança da Informação em Bibliotecas universitárias


federais: um levantamento sobre ferramentas e técnicas utilizadas/Ismael -
Florianópolis, 2015.

CALDAS, Daniel. Análise e extração de características estruturais e


comportamentais para perfis de malware [Distrito Federal] 2016. xxiii, 82p.,
297 mm (ENE/FT/UnB, Mestre, Engenharia Elétrica, 2016).

CERON, Joao M., GRANVILLE, Lisandro, TAROUCO, Liane. Taxonomia de


Malwares: Uma Avaliação dos Malwares Automaticamente Propagados na
Rede. Instituto de Informática – Universidade Federal do Rio Grande do Sul
(UFRGS), Porto Alegre, 2009.

CERT.br. Cartilha de Segurança para Internet, versão 4.0. São Paulo:


Comitê Gestor da Internet no Brasil, 2012.

DESLANDES, Suely Ferreira. A construção do projeto de pesquisa. In:


MINAYO, Maria Cecília de Souza (Org.). Pesquisa Social: teoria, método e
criatividade. Petrópolis, Rio de Janeiro: Vozes, 1994.

FERREIRA, Luzivan de Morais. Os riscos do sequestro de informações


pelos ransonwares. 2017. Trabalho de Conclusão de Curso (Especialização),
Universidade do Sul de Santa Catarina, 2017.

FILHO, Dario Simões Fernandes; AFONSO, Vitor Monte; MARTINS, Victor


Furuse; GRÉGIO, André Ricardo Abed; GEUS, Paulo Lício de; JINO, Mario;
SANTOS, Rafael Duarte Coelho dos. Técnicas para Análise Dinâmica de
Malware. In: Minicursos / SBSeg 2011, XI Simpósio Brasileiro de Segurança da
Informação e de Sistemas Computacionais, 6 a 11 de novembro de 2011,
Brasília; coordenadores dos Minicursos Antonio Candido Faleiros, Célia
Ghedini Ralha; coordenadores Anderson Clayton Alves Nascimento e Rafael
Timóteo de Sousa Júnior. - Brasília: UnB: Sociedade Brasileira de
Computação, 2011. xii, 280p.

GOERTZEL, Karen Mercedes; WIMOGRAD, Theodore. Malware. Information


Assurance Tools Report. Herdon, VA: IATAC, 17 set. 2009. Disponível em:
<http://iac.dtic.mil/iatac/download/malware.pdf>. Acesso em: 10 maio de 2018.

HUTCHESON, Lorna. Malware Analysis The Basics. CACI International Inc.,


2006.

MANGIALARDO, Reinaldo José, DUARTE, Julio Cesar. Construindo uma


base para experimentação de malwares utilizando as análises estática e
dinâmica. Revista Militar De Ciência E Tecnologia, vol.33, Nº2, 2016.
55

MELO, Laerte Peotta de; AMARAL, Dino Macedo; SAKAKIBARA, Flavio;


ALMEIDA, André Resende de; SOUSA JR., Rafael Timóteo de; NASCIMENTO,
Anderson. Análise de Malware: Investigação de Códigos Maliciosos
Através de uma Abordam Prática. In: Minicursos / SBSeg 2011, XI Simpósio
Brasileiro de Segurança da Informação e de Sistemas Computacionais, 6 a 11
de novembro de 2011, Brasília; coordenadores dos Minicursos Antonio
Candido Faleiros, Célia Ghedini Ralha; coordenadores Anderson Clayton Alves
Nascimento e Rafael Timóteo de Sousa Júnior. - Brasília: UnB: Sociedade
Brasileira de Computação, 2011. xii, 280p.

MELO, Sandro. Computação Forense com Software Livre: Conceitos,


técnicas, ferramentas e estudos de casos. 1. ed. Rio de Janeiro: Alta Books.
2009.

MINAYO, Maria Cecília de Souza (Org.). Pesquisa Social: teoria, método e


criatividade. Petrópolis, Rio de Janeiro: Vozes, 1994.

MORENO, Daniel. Introdução ao Pentest. Novatec. São Paulo, SP, 2015.

OLIVEIRA, Silvio Danilo de. Explorando o processo da análise de códigos


maliciosos. Recife: O Autor, 2013.

PRADO, Neriberto; PENTEADO, Ulisses; GRÉGIO, André. Metodologia de


detecção de malware por heurísticas comportamentais. Trabalho
apresentado no XVI Simpósio Brasileiro em Segurança da Informação e de
Sistemas Computacionais. Niterói, RJ. 2016.

ROTHER, Edna Terezinha. Revisão sistemática X revisão narrativa. Acta


paul. enferm. [online]. 2007, vol.20, n.2, pp.v-vi. ISSN 1982-0194.
http://dx.doi.org/10.1590/S0103-21002007000200001.

SCHMIDT, James Lima da Silva; DODONOV, Eugeni; GUARDIA, Hélio.


Utilizando a Análise Dinâmica para entender Códigos Maliciosos: Um
Estudo de Caso. São Carlos, v. 3, n. 1 , p. 1 02-11 3, jan-abr 2014.

SKOUDIS, Ed; ZELTSER, Lenny. Malware: Fighting Malicious Code. EUA:


Prentice Hall PTR, 2003.

SIDDIQUI, M., WANG, M. C., e LEE, J. (2008). Detecting trojans using data
mining techniques. In IMTIC, páginas 400–411.

VIRUSTOTAL. VirusTotal – Free Online Virus, Malware and URL Scanner.


Disponível em: https://www.virustotal.com/. Acesso em: 25 de abril de 2018.

Você também pode gostar