Engenharia Reversa e Análise de Malware

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 208

ENGENHARIA

REVERSA E
ANÁLISE DE
MALWARE

VAGNER ERENO QUINCOZES

ACESSE AQUI ESTE


MATERIAL DIGITAL!
EXPEDIENTE

Coordenador(a) de Conteúdo Revisão Textual


Nader Ghoddosi Meyre Aparecida Barbosa da Silva
Projeto Gráfico e Capa Ilustração
Arthur Cantareli Silva Andre Luis Azevedo da Silva, Eduardo
Editoração Aparecido Alves
Matheus Silva de Souza Fotos
Design Educacional Shutterstock e Envato
João Lago

FICHA CATALOGRÁFICA

N964 Núcleo de Educação a Distância. QUINCOZES, Vagner Ereno.


Engenharia Reversa e Análise de Malware / Vagner Ereno
Quincozes. - Florianópolis, SC: Arqué, 2024.

208 p.

ISBN papel 978-65-279-0159-4


ISBN digital 978-65-279-0157-0

1. Engenharia 2. Reversa 3. Malware 4. EaD. I. Título.

CDD - 004.0684

Bibliotecária: Leila Regina do Nascimento - CRB- 9/1722.

Ficha catalográfica elaborada de acordo com os dados fornecidos pelo(a) autor(a).

Impresso por:
03507338
RECURSOS DE IMERSÃO

P E N SA N D O JU NTO S APROFU NDANDO

Este item corresponde a uma proposta Utilizado para temas, assuntos ou con-
de reflexão que pode ser apresentada por ceitos avançados, levando ao aprofun-
meio de uma frase, um trecho breve ou damento do que está sendo trabalhado
uma pergunta. naquele momento do texto.

E U I N D I CO ZOOM NO CONHECIMENTO

Utilizado para agregar um conteúdo


Utilizado para desmistificar pontos
externo.
que possam gerar confusão sobre o
tema. Após o texto trazer a explicação,
essa interlocução pode trazer pontos
adicionais que contribuam para que
PRODUTOS AUDIOVISUAIS o estudante não fique com dúvidas
sobre o tema.
Os elementos abaixo possuem recursos
audiovisuais. Recursos de mídia dispo-
níveis no conteúdo digital do ambiente
virtual de aprendizagem.
INDICAÇÃO DE FIL ME

Uma dose extra de


conhecimento é sempre
P L AY N O CO NH E C I M E NTO
bem-vinda. Aqui você
Professores especialistas e con- terá indicações de filmes
vidados, ampliando as discus- que se conectam com o
sões sobre os temas por meio de tema do conteúdo.
fantásticos podcasts.

INDICAÇÃO DE L IVRO
E M FO CO

Utilizado para aprofundar o Uma dose extra de


conhecimento em conteúdos conhecimento é sempre
relevantes utilizando uma lingua- bem-vinda. Aqui você terá
gem audiovisual. indicações de livros que
agregarão muito na sua
vida profissional.

4
SUMÁRIO

7UNIDADE 1

PRINCÍPIOS DA ENGENHARIA REVERSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

CÓDIGOS MALICIOSOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

FUNDAMENTOS DA ANÁLISE DE MALWARES . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

75 UNIDADE 2

VÍRUS POLIMÓRFICOS E VÍRUS METAMÓRFICOS . . . . . . . . . . . . . . . . . . . . . . . . 76

NOÇÕES BÁSICAS DE ASSEMBLY X86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

REVERTENDO CÓDIGOS MALICIOSOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

145
UNIDADE 3

WEB E ARQUIVOS DE DOCUMENTOS MALICIOSOS . . . . . . . . . . . . . . . . . . . . . 146

ANÁLISE DETALHADA DE MALWARES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

ANÁLISE DE MALWARE DE AUTODEFESA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

5
UNIDADE 1
TEMA DE APRENDIZAGEM 1

PRINCÍPIOS DA
ENGENHARIA REVERSA

MINHAS METAS

Entender engenharia reversa e sua história.

Aprender o código binário e os compiladores.

Dominar ferramentas comuns de engenharia reversa.

Praticar técnicas básicas de engenharia reversa.

Identificar padrões e estruturas de código.

Explorar engenharia reversa em diferentes plataformas.

Compreender ética e legalidade na engenharia reversa.

8
U N IASSE LVI

INICIE SUA JORNADA


Em uma era quando a tecnologia permeia todos os aspectos da vida coti-
diana, a segurança cibernética tornou-se uma questão crucial. Suponha que
você é um engenheiro de software em uma grande empresa de tecnologia e
um dia, ao chegar ao trabalho, descobre que a rede corporativa foi infiltrada
por um malware avançado. Sua missão é identificar a origem e o funciona-
mento desse malware e o neutralizar, um desafio real que coloca em prova
suas habilidades e seus conhecimentos adquiridos. Esse cenário é um reflexo
direto do ambiente desafiador e em constante evolução no qual os profissio-
nais de tecnologia operam.
A habilidade de realizar engenharia reversa em softwares maliciosos é cru-
cial para entender e mitigar ameaças cibernéticas. Ao decifrar o código e a ló-
gica de um malware, é possível não apenas neutralizar o ataque em curso, mas
também prevenir futuras incursões. Esse processo é fundamental para proteger
informações sensíveis, manter a integridade dos sistemas e garantir a confiança
dos usuários. A compreensão profunda, obtida por meio da engenharia reversa,
alimenta o desenvolvimento de soluções de segurança mais robustas e prepara
para enfrentar desafios semelhantes em sua carreira profissional.
Durante o curso, você será exposto a situações práticas, aprenderá a iden-
tificar padrões de código malicioso, a usar ferramentas de análise e a entender
as táticas e as técnicas usadas pelos cibercriminosos. Por exemplo, poderá
desmontar um vírus simulado para entender sua estrutura e seu modus ope-
randi, o que o capacitará a desenvolver estratégias para sua detecção e sua
neutralização. Essas atividades práticas são cruciais para transformar conhe-
cimento teórico em habilidades aplicáveis no mundo real.
Ao explorar o mundo da engenharia reversa e da análise de malware, você
deve refletir sobre a importância da ética e da responsabilidade em sua atua-
ção profissional. Considere o impacto não apenas técnico, mas também social
e legal de suas ações. A engenharia reversa abre portas para um entendimento
profundo de como a tecnologia pode ser usada e abusada. Nesse sentido, é
crucial manter um equilíbrio que respeite a privacidade, a segurança e as leis,
formando profissionais conscientes para os desafios digitais.

9
T E MA DE A PR E ND IZAGEM 1

P L AY N O CO NHEC I M ENTO

Descubra o mundo das leis, dos direitos autorais e do licenciamento na engenharia


reversa. Explore as questões legais da análise de malware neste episódio do nos-
so podcast: “Navegando nas Águas Jurídicas da Engenharia Reversa”.Recursos de
mídia disponíveis no conteúdo digital do ambiente virtual de aprendizagem.

VAMOS RECORDAR?
Este vídeo oferece uma visão dos conceitos fundamentais da Engenharia Reversa.
Vamos relembrar? Prepare-se para explorar as bases da engenharia reversa e
mergulhar em um mundo de desmontagem de código e análise de malware:
https://www.youtube.com/watch?v=-vTjnX4BWn4

DESENVOLVA SEU POTENCIAL

INTRODUÇÃO À ENGENHARIA REVERSA

A partir de agora, exploraremos alguns aspectos da Engenharia Reversa, desde


os princípios fundamentais, como a definição e a ética, até os conceitos-chave,
as ferramentas essenciais, as técnicas avançadas e os aspectos legais. Além disso,
abordaremos a preparação para análise de malware, fornecendo uma base sólida
para desenvolver suas habilidades na área.
A engenharia reversa é um processo fascinante e
Envolve desmontar
multifacetado. Em sua essência, envolve desmontar um produto, um
um produto, um sistema ou um software para enten- sistema ou um
der sua estrutura, sua operação e sua função. O obje- software
tivo principal é descobrir o projeto, a arquitetura, o
código-fonte ou outras informações ocultas que não são imediatamente aparentes.
Nos campos da tecnologia e da segurança cibernética, a engenharia reversa tor-
na-se especialmente crucial. Ela permite que os profissionais compreendam profun-
damente como diferentes softwares e hardwares funcionam, incluindo aqueles usa-

1
1
U N IASSE LVI

dos para fins maliciosos. Por exemplo, ao desmontar um malware, os especialistas


podem determinar sua origem, sua funcionalidade e suas potenciais vulnerabilidades
que podem ser exploradas para o neutralizar. Esse conhecimento é inestimável na
prevenção de ataques cibernéticos futuros e na proteção de dados sensíveis.

História e evolução da Engenharia Reversa

A história da engenharia reversa é tão antiga quanto a própria engenharia. Tra-


dicionalmente, ela era usada em análises mecânicas e eletrônicas (Chikofsky;
Cross, 1990). Por exemplo, durante a Segunda Guerra Mundial, os aliados, fre-
quentemente, desmontavam máquinas e dispositivos capturados para entender
e contrariar a tecnologia inimiga.
Com o advento da era digital, o foco da engenharia reversa se expandiu para
o software. Nos primeiros dias da computação, era comum desmontar progra-
mas para entender como os melhorar, ou corrigir erros, em uma época quando
a documentação de código era escassa. Hoje, a engenharia reversa de software
é um campo sofisticado, incorporando uma variedade de técnicas complexas e
de ferramentas especializadas. Ela é fundamental não apenas para a segurança
cibernética, mas também para a manutenção de sistemas ligados à compreensão
de padrões de design de software e até mesmo em contextos legais, como na
análise de violações de direitos autorais.

1
1
T E MA DE A PR E ND IZAGEM 1

Aplicações práticas e
ética na engenharia
reversa

As aplicações da engenharia reversa são vastas e


variadas. No desenvolvimento de produtos, ela
pode ser usada para entender produtos concorren-
tes, melhorando o design ou a funcionalidade dos
próprios produtos de uma empresa. Na indústria
de software, pode ajudar na detecção e na cor-
reção de bugs, ou na adaptação de programas
antigos para novos sistemas operacionais.
A ética na engenharia reversa é um tópico de
debate intenso. Enquanto desmontar algo para
entender seu funcionamento e melhorar suas
próprias ofertas é, geralmente, visto como justo,
existe uma linha tênue entre a inspiração e a in-
fração de direitos autorais ou patentes (Nygard;
Sharma; Katsikas, 2022). Além disso, no contexto
da segurança cibernética, a engenharia reversa de
malwares deve ser feita com extrema cautela para
evitar a propagação acidental do próprio malware.
Estas questões sublinham a importância de
abordar a engenharia reversa não apenas como
uma habilidade técnica, mas como um campo
que exige responsabilidade, ética e respeito pelas
leis e pelas normas vigentes. Esse equilíbrio
entre habilidade técnica e responsabi-
lidade ética é o que define um profis-
sional de engenharia reversa verda-
deiramente excepcional.

1
1
U N IASSE LVI

CONCEITOS FUNDAMENTAIS

Entenderemos, agora, o código binário e executável. O código binário é a lingua-


gem fundamental dos computadores. Ele consiste em sequências de 0s e 1s (bits)
e representa a forma mais básica de instruções que um computador pode entender
e executar. Tudo em um computador, desde sistemas operacionais a aplicativos, é,
finalmente, traduzido para código binário. O entendimento do código binário é
crucial na engenharia reversa, pois permite aos engenheiros analisarem o que está
acontecendo no nível mais fundamental do software ou do hardware.

Figura 1 - Diferença entre Arquivo Executável e Código Binário / Fonte: o autor.

Descrição da Imagem: a imagem compara um arquivo executável e um código binário. À esquerda, o ícone de um
arquivo executável; à direita, colunas de dígitos binários “1” e “0”. No centro, a sigla “Vs” destaca a comparação.
Fim da descrição.

Já os arquivos executáveis são a forma compilada e executável de programas


de software. Eles são escritos em linguagens de programação de alto nível, como
C++ ou Java e, depois, traduzidos (compilados) em código de máquina que o
computador pode entender e executar. Esses arquivos contêm o código biná-
rio necessário para que o sistema operacional carregue, interprete e execute um
programa. Na engenharia reversa, analisar arquivos executáveis é essencial para
entender como um software específico opera, especialmente quando o código-
-fonte original não está disponível.

1
1
T E MA DE A PR E ND IZAGEM 1

Compiladores e como eles funcionam

Compiladores são programas que traduzem o código escrito em uma lingua-


gem de programação de alto nível para uma linguagem de máquina ou um
código intermediário que pode ser executado por um computador. Eles desem-
penham um papel crucial na execução de software, transformando os códigos-
-fonte, humanamente legíveis, em formatos que as máquinas podem processar.

Figura 2 - Funcionamento de um Compilador / Fonte: o autor.

Descrição da Imagem: a imagem ilustra o processo de compilação de um programa. À esquerda, há uma repre-
sentação de código em alto nível com texto colorido. No centro, um ícone de compilador com uma engrenagem. À
direita, uma sequência de código binário. As setas indicam a transformação do código em alto nível para linguagem
de máquina pelo compilador. Fim da descrição.

O processo de compilação envolve várias etapas, incluindo análise lexical, sintáti-


ca e semântica, geração de código intermediário, otimização de código e geração
de código de máquina. Cada etapa tem um papel específico, desde a verificação
da correção gramatical do código até a otimização do código para melhor de-
sempenho. Na engenharia reversa, entender como os compiladores trabalham é
crucial, pois ajuda a interpretar e a reconstruir o código de alto nível a partir do
código de máquina ou intermediário.

Linguagens de programação de alto nível versus de baixo nível

Linguagens de programação são classificadas em alto e baixo nível com base


em sua proximidade com a linguagem humana (alto nível) ou com a linguagem
de máquina (baixo nível).

1
1
U N IASSE LVI

Linguagens de alto nível, como Python, Java e C++, são


mais abstratas, fáceis de ler e de escrever e são indepen-
dentes de hardware. Elas permitem que os programadores
escrevam códigos de forma mais eficiente e com menos
preocupação com os detalhes da arquitetura do sistema.
No entanto, para que o computador entenda e execute es-
ses códigos, eles devem ser traduzidos para linguagem de
máquina (Subedi; Budhathoki; Dasgupta, 2018).
Por outro lado, as linguagens de baixo nível, como
Assembly, estão mais próximas da linguagem de máqui-
na e oferecem um controle mais direto sobre o hardware
do computador. Embora sejam mais difíceis de aprender
e mais propensas a erros, oferecem mais flexibilidade e
mais eficiência para tarefas específicas. Na engenharia
reversa, um conhecimento profundo de linguagens de
baixo nível é essencial, especialmente, ao trabalhar com
desmontagem e análise de software em nível de código
de máquina (Subedi; Budhathoki; Dasgupta, 2018).
Estes conceitos fundamentais formam a base para a
compreensão profunda necessária na engenharia reversa.
Eles são essenciais para qualquer profissional que deseje
desvendar e analisar o funcionamento interno de software
e hardware.

FERRAMENTAS DE ENGENHARIA REVERSA

As ferramentas de engenharia reversa são essenciais


para analisar, compreender e manipular software e
hardware. Elas variam desde desmontadores e depu-
radores até programas mais complexos que com-
binam múltiplas funcionalidades (Henry; Peterson,
2020). Aqui estão algumas ferramentas mais popula-
res e suas características (David, 2021):

1
1
T E MA DE A PR E ND IZAGEM 1

IDA PRO

É um dos desmontadores e dos depuradores mais populares entre os profission-


ais de segurança cibernética. IDA Pro é conhecido por sua capacidade de analisar
binários complexos e fornecer uma representação visual do código executável.
Ele suporta uma ampla gama de formatos de arquivo e arquiteturas, o que o
torna uma ferramenta versátil para a engenharia reversa.

GHIDRA

Desenvolvido pela NSA (Agência de Segurança Nacional dos EUA), Ghidra é uma
ferramenta de engenharia reversa de código aberto que ganhou popularidade, rap-
idamente, na comunidade. Ela oferece funcionalidades semelhantes às do IDA Pro,
incluindo desmontagem, depuração e um framework de script para automação.

OLLYDBG

É um depurador usado para engenharia reversa de programas Windows. Ele é,


particularmente, útil para analisar binários maliciosos e entender sua funcional-
idade. OllyDbg destaca-se por sua interface amigável e por seus recursos que
facilitam a análise dinâmica de programas.

Cada ferramenta tem seus pontos fortes e fracos. A escolha depende da tarefa de
engenharia reversa a ser realizada.

1
1
U N IASSE LVI

Escolhendo a ferramenta certa para o trabalho

A seleção da ferramenta de engenharia reversa adequada depende de vários fato-


res, incluindo o tipo de aplicativo a ser analisado, a familiaridade do usuário com
a ferramenta e as funcionalidades específicas necessárias. Aqui estão algumas
diretrizes para escolher a ferramenta certa:

TIPO DE APLICATIVO

Se estiver trabalhando com software Windows, OllyDbg, pode ser uma escolha
excelente, devido à sua especialização em binários Windows. Para aplicações que
requerem uma análise mais profunda ou um suporte a múltiplas plataformas, IDA Pro
ou Ghidra são mais adequados.

COMPLEXIDADE DA TAREFA

Para tarefas mais complexas que requerem análise profunda de código e visualiza-
ções avançadas, IDA Pro é, frequentemente, a escolha preferida. Ghidra, por ser uma
alternativa gratuita, oferece muitas funcionalidades semelhantes e é adequado para
quem procura uma opção de código aberto.

EXPERIÊNCIA E PREFERÊNCIA DO USUÁRIO

A experiência anterior com uma ferramenta específica pode influenciar, significati-


vamente, a escolha. É importante considerar a curva de aprendizado e a interface do
usuário ao selecionar uma ferramenta, especialmente, para iniciantes.

RECURSOS E FUNCIONALIDADES

Algumas ferramentas oferecem funcionalidades únicas, como análise de código de


alto nível, decompilação ou capacidades específicas de scripting. A escolha da ferra-
menta pode depender desses recursos adicionais, de acordo com as necessidades
específicas do projeto.

Em resumo, a escolha da ferramenta de engenharia reversa certa é um equilíbrio


entre a natureza da tarefa, a experiência do usuário e as funcionalidades espe-
cíficas necessárias. Compreender as forças e as limitações de cada ferramenta é
fundamental na engenharia reversa (David, 2021).

1
1
T E MA DE A PR E ND IZAGEM 1

TÉCNICAS BÁSICAS DA ENGENHARIA REVERSA

A engenharia reversa de software envolve duas abordagens principais: análise


estática e análise dinâmica (Subedi; Budhathoki; Dasgupta, 2018).
A Análise Estática consiste no processo de examinar o código sem exe-
cutá-lo. Ela envolve a leitura e a compreensão do código de máquina ou do
código-fonte (se disponível). Durante a análise estática, os engenheiros po-
dem usar desmontadores para converter o código de máquina em linguagem
assembly mais legível. Ferramentas, como IDA Pro e Ghidra são extrema-
mente úteis nesse aspecto. A análise estática é poderosa para entender a lógica
geral do software, identificar algoritmos e localizar partes críticas do código,
como rotinas de verificação de senha ou pontos de entrada de malware.
Diferentemente da análise estática, a Análise Dinâmica envolve a execu-
ção do programa e a observação de seu comportamento, em tempo real. Isso
pode ser feito, por meio de depuradores, como OllyDbg, ou com ferramentas
específicas que monitoram as chamadas de sistema, o uso de rede e outros
processos do sistema.
A análise dinâmica é crucial para entender como o software interage com
o sistema operacional, com outros softwares e com a rede. Ela é, particular-
mente, valiosa para identificar e analisar malwares, pois permite observar o
comportamento do código malicioso em um ambiente controlado.

1
1
U N IASSE LVI

Desmontagem de Código e interpretação de Assembly

A desmontagem é o processo de traduzir o código de máquina de volta para


a linguagem assembly. Esse é um passo essencial na análise estática, pois a lin-
guagem assembly, embora de baixo nível, é mais compreensível para humanos
do que o código de máquina.
Aprender ler e interpretar a linguagem assembly é fundamental na engenharia
reversa. Ela permite que os engenheiros vejam exatamente o que o programa está ins-
truindo o processador a fazer, passo a passo. Isso pode revelar a lógica do software,
as operações de dados, os algoritmos utilizados e as potenciais vulnerabilidades.

Identificação de Chamadas de Sistema e Rotinas de API

Chamadas de Sistema são instruções que permitem que um programa interaja


com o sistema operacional. Na engenharia reversa, identificar chamadas de sistema
pode ajudar a entender como um programa acessa recursos do sistema, como
arquivos, memória e dispositivos. Isso é especialmente importante na análise de
malwares, pois muitos deles usam chamadas de sistema para realizar atividades
maliciosas, como criar processos, modificar arquivos ou se comunicar pela rede.
As Interfaces de Programação de Aplicativos (APIs) são conjuntos de rotinas,
protocolos e ferramentas para construir software e aplicações. Na engenharia
reversa, identificar o uso de APIs específicas pode revelar como um programa
interage com sistemas externos ou outros programas. Isso pode ser útil para
compreender a funcionalidade de um software, detectar integrações inesperadas
ou maliciosas e identificar dependências externas.

1
1
T E MA DE A PR E ND IZAGEM 1

RECONHECIMENTO DE
PADRÕES DE CÓDIGO

Reconhecer padrões de código,


como a identificação de estrutu-
ras de controle, é um aspecto cru-
cial na análise de código, durante
a engenharia reversa. Estruturas
de controle, como loops (for,
while) e condicionais (if, switch),
são fundamentais na lógica de
programação e podem ser iden-
tificadas mesmo em código de
baixo nível.

A P RO F UNDA NDO

Loops
Na engenharia reversa, os loops podem ser identificados pelo uso repetido de
instruções de salto (jump) e comparações. Reconhecer um loop pode ajudar a en-
tender a lógica iterativa do programa, como o processamento de arrays ou a exe-
cução de tarefas repetitivas.
Condicionais
São identificadas por instruções de salto condicional. Elas são essenciais para en-
tender a tomada de decisões dentro do programa, como verificação de condições,
escolha entre diferentes caminhos de execução ou validação de dados de entrada.

Por outro lado, a habilidade de reconhecer algoritmos e padrões comuns em


um código desmontado é vital na engenharia reversa. Isso inclui algoritmos de
ordenação, busca, criptografia, compressão de dados, entre outros. Por exem-
plo, identificar um algoritmo de criptografia pode ser a chave para entender
como os dados são protegidos, ou para encontrar vulnerabilidades em
um sistema de segurança.

2
2
U N IASSE LVI

Identificar padrões repetitivos ou estruturas de dados comuns (como lis-


tas, pilhas, filas) pode fornecer insights sobre a funcionalidade do programa.
Além disso, reconhecer a implementação de algoritmos padrão ou bibliotecas
de código ajuda a entender a lógica por trás do software e de suas capacidades.

Entendendo a Obfuscação de Código e as técnicas para


lidar com ela

A obfuscação de código é uma técnica usada para tornar o código-fonte ou


binário difícil de entender e analisar. Em segurança cibernética, a obfuscação
é, frequentemente, usada em malwares para ocultar sua presença e evitar
detecção (Khalid; Hussain, 2022).
As técnicas de obfuscação incluem a alteração de nomes de variáveis e
funções para strings ininteligíveis, o uso de algoritmos de criptografia para
esconder partes do código, ou a introdução de código redundante ou instru-
ções sem sentido para confundir o analista.
O processo de desobfuscação é desafiador, mas essencial na engenharia
reversa de malwares. Ele pode incluir a análise manual do código para iden-
tificar e remover partes redundantes ou irrelevantes, o uso de ferramentas
automatizadas para decifrar, ou simplificar o código, e a análise de padrões
para identificar a lógica original por trás da obfuscação.
Reconhecer padrões de código, estruturas de controle e algoritmos bem
como entender técnicas de obfuscação são habilidades fundamentais para
qualquer engenheiro reverso. Elas não apenas facilitam a compreensão do
funcionamento interno dos softwares, mas também são cruciais na luta contra
malwares e na proteção de sistemas de informações.

ENGENHARIA REVERSA EM DIFERENTES PLATAFORMAS

A engenharia reversa em diferentes sistemas operacionais possui suas parti-


cularidades, refletindo as diferenças em arquitetura, funcionalidades e níveis
de segurança de cada sistema.

2
2
T E MA DE A PR E ND IZAGEM 1

Figura 3 - Exemplo dos Sistemas Operacionais existentes / Fonte: o autor.

Descrição da Imagem: a imagem mostra quatro ícones representando diferentes sistemas operacionais. Da
esquerda para a direita: o primeiro é o logo do Windows, com quatro quadrados formando uma janela azul; o se-
gundo é o mascote do Linux, um pinguim com corpo preto e branco e pés amarelos; o terceiro é uma maçã preta,
simbolizando o sistema da Apple; e o quarto é o robô verde do Android. Fim da descrição.

O ambiente Windows é amplamente utilizado e, por isso, é um alvo comum para


malwares e outros softwares maliciosos. Ferramentas, como OllyDbg e IDA Pro
são, frequentemente, usadas para engenharia reversa em Windows, especialmente,
devido à sua interface gráfica e ao suporte a uma ampla gama de aplicações Windows.
Um desafio no Windows é a diversidade de software e a constante atualização
dos sistemas de segurança, que podem adicionar complexidade à engenharia reversa.
O Linux é conhecido por sua robustez e seu uso em servidores e sistemas
críticos. A engenharia reversa em Linux, muitas vezes, envolve o uso de ferramen-
tas, como GDB (GNU Debugger) e Radare2. Dada a natureza aberta do Linux,
muitas vezes, é possível ter acesso ao código-fonte, o que pode simplificar a en-
genharia reversa. No entanto a diversidade de distribuições Linux e a variedade
de ambientes de desktop podem criar desafios adicionais.
Além de Windows e Linux, outros sistemas operacionais, como macOS,
UNIX e sistemas operacionais de dispositivos móveis (Android, iOS), apresen-
tam seus próprios desafios e suas peculiaridades. Por exemplo, o macOS, com
seu ecossistema fechado e hardware específico, requer um conjunto diferente de
habilidades e ferramentas para engenharia reversa.

ASPECTOS ÉTICOS

A ética na engenharia reversa é um tema importante, particularmente no que se


refere à análise de malware.

2
2
U N IASSE LVI

A intenção por trás da engenharia reversa é um fator crucial na determi-


nação de sua ética. Usá-la para melhorar a segurança, entender vulnerabili-
dades ou fins educacionais é, geralmente, considerado ético. No entanto usar
a engenharia reversa para criar cópias não autorizadas de software, invadir
sistemas, ou criar malwares, é claramente antiético e ilegal.
Na análise de malware, os engenheiros reversos devem ser extrema-
mente cuidadosos para não causar danos inadvertidos. Isso inclui evitar
a propagação acidental do malware e garantir que suas descobertas não
sejam usadas para fins mal-intencionados. Além disso, a divulgação res-
ponsável de vulnerabilidades encontradas é um aspecto crítico da ética na
segurança cibernética.
Ao realizar engenharia reversa, especialmente em ambientes corporativos,
é essencial respeitar a privacidade e a confidencialidade. Isso inclui a prote-
ção de dados sensíveis e o respeito aos direitos de privacidade dos usuários
(Nygard; Sharma; Katsikas, 2022).

PREPARAÇÃO PARA ANÁLISE DE MALWARE

A engenharia reversa desempenha um papel fundamental na análise de mal-


ware. Ela permite aos analistas desvendarem o funcionamento interno de
um software malicioso, entender suas técnicas de ataque, seus mecanismos
de propagação e suas estratégias de evasão. Ao desmontar e examinar o
código de um malware, é possível identificar suas vulnerabilidades, desen-
volver assinaturas para sistemas de detecção e criar medidas de mitigação
eficazes. Esta compreensão aprofundada é essencial para proteger sistemas e
redes contra ameaças cibernéticas.
A análise de malware exige um ambiente seguro e controlado para evi-
tar o risco de contaminação ou danos aos sistemas operacionais reais e à rede.
Uma prática comum é o uso de máquinas virtuais (VMs), que oferecem um
ambiente isolado onde o malware pode ser executado e analisado sem risco
para o sistema host. Ferramentas, como VMware ou VirtualBox, são usadas
para criar essas VMs. Além disso, é essencial garantir que o ambiente virtual
esteja devidamente configurado para evitar a fuga do malware, especialmente,
se ele for projetado para detectar e escapar de VMs.

2
2
T E MA DE A PR E ND IZAGEM 1

Antes de iniciar a análise de malware, algumas considerações iniciais são


fundamentais:

AVALIAÇÃO DO RISCO

É importante avaliar o nível de risco associado ao malware. Alguns malwares são


extremamente agressivos, ou possuem mecanismos de defesa avançados, o que
requer precauções adicionais.

COLETA DE INFORMAÇÕES

Coletar o máximo de informações possíveis sobre o malware antes de iniciar a análise


pode fornecer pistas valiosas. Isso pode incluir o tipo de malware, seu comportamento
conhecido, como ele foi descoberto e quais sistemas são afetados.

FERRAMENTAS DE ANÁLISE

Preparar um conjunto de ferramentas para a análise é essencial. Isso inclui desmonta-


dores, depuradores, analisadores de rede e software antivírus. Cada ferramenta tem
seu papel específico e contribui para uma análise abrangente.

PLANO DE ANÁLISE

Desenvolver um plano de análise pode ajudar a estruturar o processo. Isso envolve


decidir se a análise será estática ou dinâmica (ou ambas), quais aspectos do malware
serão focados, e como os resultados serão documentados.

A preparação adequada para a análise de malware é fundamental para garantir


que a análise seja realizada de forma segura, eficiente e eficaz. A engenharia re-
versa, quando aplicada com as medidas de segurança corretas e uma abordagem
metódica, é uma ferramenta poderosa na luta contra as ameaças cibernéticas.

E M FO CO

Confira a aula referente a este tema. Recursos de mídia disponíveis no conteúdo


digital do ambiente virtual de aprendizagem.

2
2
U N IASSE LVI

NOVOS DESAFIOS
No ambiente profissional, a conexão entre a teoria e a prática em engenha-
ria reversa e análise de malware é evidente e impactante. O estudante que
adquirir conhecimentos teóricos sólidos estará preparados para enfrentar
desafios do mundo real. A capacidade de aplicar a engenharia reversa para
desvendar códigos maliciosos, compreender ameaças e desenvolver solu-
ções de segurança é altamente valorizada no mercado de trabalho. Essa ha-
bilidade é essencial na proteção de sistemas e informações sensíveis contra
ataques cibernéticos cada vez mais sofisticados.
No início deste tema de aprendizagem, propusemos o cenário de uma
empresa enfrentando um ataque cibernético. Agora, você tem a capacidade
de ser parte da solução para esse tipo de situação. Você pode desempenhar
um papel ativo na detecção e na mitigação de ameaças, evitando danos e
perdas significativas. Além disso, ao adotar uma abordagem ética e respon-
sável, você ajuda a garantir que a segurança cibernética seja abordada de
maneira equilibrada, considerando não apenas a tecnologia, mas também
o impacto social e legal.
Durante a leitura do material, questões importantes surgiram, como
a necessidade de manter um ambiente seguro para análise de malware, a
avaliação constante de riscos e a adaptação às mudanças do mercado. A
conexão entre estas questões e o ambiente profissional é clara. Profissionais
bem preparados entendem a importância de criar ambientes isolados para
análise, avaliação dos riscos de cada situação e estar prontos para se adaptar
a novas ameaças e tecnologias.
Por fim, é fundamental destacar o impacto que a engenharia reversa
e a análise de malware têm na sociedade. Profissionais nesta área desem-
penham um papel crítico na proteção da privacidade, da segurança e da
confiabilidade da tecnologia que permeia nossa vida diária. Portanto, a
responsabilidade ética é inerente a essa atuação. O entendimento das impli-
cações legais e éticas é crucial para garantir que o trabalho seja realizado de
maneira justa, equilibrada e responsável, contribuindo para um ambiente
digital mais seguro e confiável.

2
2
AUTOATIVIDADE

1. A engenharia reversa, essencial no mundo da tecnologia e da segurança da informação,


baseia-se na desmontagem e na análise de produtos e sistemas para revelar sua estrutura
interna e seu funcionamento. Esse campo, com uma rica história desde a Segunda Guerra
Mundial até a era digital, tem amplas aplicações, desde a análise de malware até o apri-
moramento de produtos existentes. A ética é uma consideração crucial, demandando dos
profissionais um equilíbrio entre inovação e conformidade legal. O domínio sobre o código
binário e os arquivos executáveis é fundamental para desvendar os mistérios de softwares
e hardwares complexos.

Considerando a importância e a aplicação da engenharia reversa na tecnologia e na segu-


rança cibernética, escolha a opção que melhor corresponde a tais conceitos.

a) A engenharia reversa é predominantemente empregada na criação de novos malwares


e novas técnicas de invasão.
b) A relevância da engenharia reversa na era digital é limitada, dado que o código-fonte de
muitos softwares está disponível, publicamente.
c) Na engenharia reversa, a análise do código binário e dos arquivos executáveis é menos
importante do que focar em aspectos visuais do software.
d) As práticas de engenharia reversa são sempre eticamente aceitáveis, independente-
mente de considerações sobre direitos autorais ou patentes.
e) A engenharia reversa desempenha um papel vital na compreensão da funcionalidade de
softwares e hardwares, incluindo a análise e a desativação de malwares.

2
2
AUTOATIVIDADE

2. Linguagens de programação são divididas em alto e baixo nível, diferenciando-se pela abs-
tração e pela proximidade com a linguagem humana ou de máquina. As de alto nível, como
Python e Java, são abstratas e fáceis de usar, enquanto as de baixo nível, como Assembly,
oferecem controle detalhado do hardware, porém são mais complexas. Esse conhecimento
é crucial na engenharia reversa para análise detalhada de softwares e hardwares.

Com base nos conceitos de linguagens de programação de alto e baixo nível, escolha a
opção que melhor reflete as diferenças e as aplicações dessas linguagens.

a) Linguagens de alto nível são mais difíceis aprender e escrever, mas oferecem mais
controle sobre o hardware.
b) Linguagens de baixo nível são usadas, principalmente, para tarefas genéricas de progra-
mação, devido à sua facilidade de uso.
c) Em engenharia reversa, linguagens de alto nível são mais importantes, devido à sua
independência de hardware.
d) As linguagens de baixo nível permitem uma programação mais eficiente e flexível para
tarefas específicas, apesar de serem mais propensas a erros.
e) A engenharia reversa não se beneficia do conhecimento de linguagens de baixo nível, já
que essas são mais difíceis de entender.

3. Ferramentas de engenharia reversa, como IDA Pro, Ghidra e OllyDbg, são cruciais no cam-
po da segurança cibernética para desmontar e analisar softwares e hardwares. IDA Pro
é renomado por sua habilidade em lidar com binários complexos, enquanto Ghidra, de
código aberto, oferece funcionalidades robustas semelhantes. OllyDbg é especialmente
eficaz para análise de programas no Windows, particularmente útil para desvendar binários
maliciosos. Conhecer estas ferramentas é essencial para especialistas em segurança e em
engenharia reversa.

Baseado no texto sobre ferramentas de engenharia reversa, qual das seguintes afirmações
melhor interpreta as características e as aplicações dessas ferramentas?

a) IDA Pro é conhecido por sua representação visual do código e seu suporte a múltiplos
formatos de arquivo e arquiteturas.
b) OllyDbg é uma ferramenta de engenharia reversa voltada para programas Linux, com
foco em análise estática.
c) Ghidra, ao contrário do IDA Pro, não oferece suporte para desmontagem e depuração.
d) IDA Pro e Ghidra são menos eficientes para analisar binários complexos, sendo mais
adequados para programas simples.
e) Ghidra e OllyDbg são ferramentas proprietárias desenvolvidas para análises específicas
de segurança cibernética.

2
2
REFERÊNCIAS

CHIKOFSKY, E.; CROSS, J. Reverse engineering and design recovery: a taxonomy. IEEE Software,
v. 7, p. 13-17, 1990.

DAVID, A. P. Ghidra Software Reverse Engineering for Beginners: Analyze, identify, and avoid
malicious code and potential threats in your networks and systems. Birmingham, Reino Unido:
Packt Publishing Ltd, 2021.

HENRY, W. C.; PETERSON, G. L. Exploring provenance needs in software reverse engineering. In:
INTERNATIONAL CONFERENCE ON SYSTEMATIC APPROACHES TO DIGITAL FORENSIC ENGI-
NEERING, 13, 2020, New York, NY. Proceedings [...]. New York, NY: IEEE, 2020. p. 57-1365.

KHALID, S.; HUSSAIN, F. B. Evaluating Opcodes for Detection of Obfuscated Android Malwa-
re. In: INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE IN INFORMATION AND
COMMUNICATION, 2022, Island, Korea. Proceedings [...]. Island, Korea: IEEE, 2022. p. 044-049.

NYGARD, A. R.; SHARMA, A.; KATSIKAS, S. Reverse Engineering for Thwarting Digital Supply
Chain Attacks in Critical Infrastructures: Ethical Considerations. In: INTERNATIONAL CONFE-
RENCE ON SECURITY AND CRYPTOGRAPHY, 19, 2022, Setubal. Proceedings [...]. Setubal: SE-
CRYPT, 2022. p. 461-468.

SUBEDI, K. P.; BUDHATHOKI, D. R.; DASGUPTA, D. Forensic analysis of ransomware families using
static and dynamic analysis. In: IEEE SECURITY AND PRIVACY WORKSHOPS, 2018, San Francis-
co, California. Proceedings [...]. San Francisco, California, IEEE, 2018. p. 180-185.

2
2
GABARITO

1. Alternativa E. a) Incorreto. A finalidade da engenharia reversa é entender e neutralizar malwa-


res, não os desenvolver; b) Incorreto. A engenharia reversa é crucial na era digital, especial-
mente para software com código-fonte inacessível; c) Incorreto. O entendimento do código
binário e dos arquivos executáveis é central na engenharia reversa; d) Incorreto. A ética é um
aspecto crucial na engenharia reversa, exigindo respeito às leis de direitos autorais e paten-
tes; e) Correto. Esse é um dos principais propósitos da engenharia reversa, especialmente
na área de segurança cibernética.

2. Alternativa D.

a) Incorreto. Linguagens de alto nível são mais fáceis de usar e menos focadas em controle
direto do hardware; b) Incorreto. Linguagens de baixo nível são complexas e usadas para
tarefas específicas que requerem controle direto do hardware; c) Incorreto. Na engenharia
reversa, é frequentemente crucial entender linguagens de baixo nível para análise em nível
de código de máquina;
d) Correto. As linguagens de baixo nível oferecem mais controle e eficiência para tarefas
específicas, mas têm uma curva de aprendizado mais difícil e são mais propensas a erros;
e) Incorreto. O conhecimento de linguagens de baixo nível é fundamental na engenharia
reversa para análise detalhada a nível de código de máquina.

3. Alternativa A.

a) Correto. IDA Pro é valorizado por sua capacidade de fornecer uma representação visual e
suportar diversos formatos e arquiteturas; b) Incorreto. OllyDbg é usado, principalmente, para
programas Windows e se destaca na análise dinâmica; c) Incorreto. Ghidra oferece funcio-
nalidades semelhantes ao IDA Pro, incluindo desmontagem e depuração; d) Incorreto. Tanto
IDA Pro quanto Ghidra são reconhecidos por sua eficiência na análise de binários complexos;
e) Incorreto. Ghidra é uma ferramenta de código aberto, e OllyDbg, embora focado em se-
gurança cibernética, não é restrito a análises específicas.

2
2
TEMA DE APRENDIZAGEM 2

CÓDIGOS MALICIOSOS

MINHAS METAS

Identificar tipos de malwares, suas ações e seus impactos.

Compreender o ciclo de vida do malware.

Analisar a anatomia de ataques, incluindo vetores e cargas úteis.

Explorar técnicas de detecção de malware.

Conhecer ferramentas de análise de malware.

Explorar estratégias de prevenção, resposta a incidentes e recuperação.

Refletir sobre a ética e a responsabilidade na segurança cibernética.

3
3
U N IASSE LVI

INICIE SUA JORNADA


Imagine uma startup de tecnologia em rápido crescimento, especializa-
da em soluções de armazenamento em nuvem. Recentemente, a empresa
enfrentou um ataque cibernético significativo, em que dados sensíveis de
clientes foram comprometidos, devido à infecção por malware. A equipe de
TI descobriu que o malware entrou no sistema, por meio de um e-mail de
phishing enviado a um dos funcionários. Esse incidente não apenas expôs
vulnerabilidades críticas no sistema de segurança da empresa, mas também
colocou em risco sua reputação, resultando em perda de confiança dos clien-
tes e potenciais prejuízos financeiros.
A resolução deste problema é crucial para a recuperação da startup. En-
tender como o malware opera e conhecer as estratégias para o prevenir e o
combater são habilidades essenciais na era digital. A segurança cibernética
vai além da proteção de dados, ela é essencial para garantir a integridade, a
confiabilidade dos sistemas e a continuidade dos negócios. Profissionais bem
preparados nesse campo são indispensáveis para mitigar riscos e promover
a segurança no espaço digital, protegendo, assim, não apenas ativos digitais,
mas também a confiança dos usuários nos serviços oferecidos.
A introdução aos códigos maliciosos permitirá a você compreender os
princípios por trás dos ataques cibernéticos e as estratégias para os comba-
ter. Você aprenderá os diferentes tipos de malware, os métodos de infecção
mais comuns e as técnicas básicas de análise para entender como os ataques
são estruturados e quais ferramentas são eficazes na prevenção de infecções
futuras. Esta abordagem visa promover a identificação de soluções para pro-
blemas de segurança reais, preparando-o para aplicar este conhecimento em
sua futura carreira profissional.
Este tema convida à reflexão sobre o papel crítico da segurança ciber-
nética na sociedade atual. Ao entender os desafios impostos pelos códigos
maliciosos, você é estimulado a pensar sobre as implicações éticas, legais e
sociais da segurança digital. A conscientização e o conhecimento adquirido
sobre malware não apenas prepara você para enfrentar desafios técnicos, mas
também o encoraja a agir de maneira responsável e ética, reconhecendo o
impacto significativo de suas ações na segurança e no bem-estar digital global.

3
3
T E MA DE A PR E ND IZAGEM 2

P L AY N O CO NHEC I M ENTO

Descubra o mundo dos ransomwares: origens, impactos e como se proteger. Jun-


te-se a nós no podcast Ransomware: a ameaça silenciosa e fique seguro.. Recursos
de mídia disponíveis no conteúdo digital do ambiente virtual de aprendizagem.

VAMOS RECORDAR?
Este vídeo oferece uma revisão concisa e eficaz dos princípios fundamentais da
segurança da informação. É uma excelente forma de reforçar o conhecimento
prévio sobre segurança da informação, preparando-o para o aprofundamento nos
temas relacionados a códigos maliciosos.
https://youtu.be/T3CkJMZCrL8?si=i11GWzp6Kx72b2tl

DESENVOLVA SEU POTENCIAL

TIPOS DE CÓDIGOS MALICIOSOS


Nossa exploração do mundo dos códigos
maliciosos começa com uma compreensão
profunda dos diferentes tipos que exis-
tem e suas características distintas (Figura
1). Estes conhecimentos são cruciais para
qualquer profissional de TI, especialmente,
quando consideramos o impacto devasta-
dor que um ataque cibernético pode ter em
empresas, como a startup de tecnologia que
mencionamos anteriormente. Revisitaremos
este exemplo enquanto detalhamos cada tipo
de malware e seu potencial impacto.

3
3
U N IASSE LVI

Figura 1 - Visão Geral dos Tipos de Malware / Fonte: o autor.

Descrição da Imagem: a imagem apresenta um diagrama que categoriza diferentes tipos de malware. No centro,
a palavra Malware está em destaque, dentro de uma nuvem de conexão, a partir da qual saem setas direcionadas
a seis retângulos, rotulados com tipos específicos de malware: Virus, Trojan, Worm, Ransomware, Spyware e
Adware. Fim da descrição.

Tipos de Malwares

Você lembra do exemplo da startup que mencionamos no início? Imagine se


um vírus tivesse sido a causa do ataque. Vírus são programas maliciosos que
se replicam, anexando-se a arquivos e programas legítimos, corrompendo-os.
Eles podem destruir dados, afetar o desempenho do sistema e até mesmo se
espalhar para outros computadores por meio de redes. O impacto de um vírus
nessa startup poderia ser devastador, danificando arquivos críticos e causando
interrupções significativas nas operações diárias.

3
3
T E MA DE A PR E ND IZAGEM 2

Ainda considerando o contexto da startup anterior, um trojan poderia ter


sido o ponto de entrada para o ataque. Trojans são malwares disfarçados de
software legítimo, enganando usuários para que os instalem. Uma vez dentro
do sistema, eles podem realizar diversas ações maliciosas, como roubar dados,
instalar outros malwares ou até mesmo permitir que atacantes controlem o
sistema remotamente. Para a startup, a infiltração por um trojan poderia abrir
as portas para uma variedade de ameaças secundárias, aumentando o escopo
do dano (Zimba; Chishimba, 2019).
Worms são uma ameaça autônoma que se propaga sem a necessidade
de anexar-se a programas. Eles exploram vulnerabilidades em softwares ou
usam técnicas de engenharia social para se espalhar por meio de redes. Dife-
rente de vírus, não precisam de uma ação direta do usuário para se replicar.
Em um ambiente corporativo, como o da startup, worms podem se espalhar
rapidamente, comprometendo máquinas em toda a rede, resultando em uma
interrupção massiva dos serviços.
O ransomware criptografa dados críticos, exi-
Ransomware
gindo pagamento para sua liberação. Este tipo de
criptografa dados
ataque pode ser, particularmente, paralisante para
críticos, exigindo
negócios, como visto em nosso exemplo inicial, pagamento para sua
em que a perda de acesso a dados de clientes pode liberação
resultar em perdas financeiras diretas e danos à
reputação. Para a startup, ser vítima de um ataque de ransomware significaria
não apenas enfrentar a difícil decisão de pagar o resgate, mas também lidar
com a possível perda permanente de dados essenciais.
Spyware e adware, focados na coleta de informações do usuário e na
exibição de anúncios indesejados, respectivamente, podem parecer menos
nocivos à primeira vista, mas representam uma grave violação da privacidade
e da segurança. Em um contexto empresarial, spyware pode ser usado para
espionar atividades comerciais críticas, enquanto adware pode afetar, nega-
tivamente, a produtividade e a segurança do sistema.
Ao entender cada tipo de malware e seu impacto potencial, fica clara a
importância de uma estratégia de segurança cibernética sólida. A proteção
contra estas ameaças não é apenas uma questão técnica, mas uma necessidade
crítica para garantir a continuidade e a integridade dos negócios.

3
3
U N IASSE LVI

CICLO DE VIDA DO MALWARE

A compreensão do ciclo de vida do malware é fundamental para desenvolver


estratégias eficazes de defesa e mitigação. Este ciclo ilustra não apenas como
os malwares são criados e distribuídos, mas também como se infiltram e
operam dentro dos sistemas alvo (Khan et al., 2020). Exploraremos cada
fase deste ciclo, conforme apresentado na Figura 2, utilizando o exemplo da
startup de tecnologia que sofreu um ataque cibernético significativo, para
ilustrar a aplicação prática destes conceitos.

Figura 2 - Ciclo de vida de Malware / Fonte: o autor.

Descrição da Imagem: a imagem mostra um infográfico com quatro etapas do ciclo de um ataque cibernético:
1) Preparação e Desenvolvimento; 2) Distribuição por Vetores; 3) Estabelecer Persistência; e 4) Atividades Ma-
liciosas. Fim da descrição.

Na fase inicial, os malwares são desenvolvidos e preparados para a infec-


ção. Desenvolvimento envolve a criação do código malicioso com objetivos
específicos, seja roubo de dados, espionagem seja destruição. Utilizando téc-
nicas de ofuscação, os cibercriminosos disfarçam o código malicioso para
evitar a detecção por softwares de segurança, como os antivírus tradicionais.
Também, um empacotamento adicional pode ser aplicado para compactar o
malware, tornando-o mais difícil de analisar. No caso da startup, um malware
habilmente ofuscado poderia facilmente passar despercebido pelos sistemas
de segurança padrão, estabelecendo um ponto de apoio no ambiente de TI
sem ser detectado.

3
3
T E MA DE A PR E ND IZAGEM 2

A segunda fase, de distribuição, representa a ponte entre a preparação do mal-


ware e sua ativação no sistema alvo. Os malwares são distribuídos por meio de di-
versos vetores. E-mails de phishing e downloads maliciosos são métodos comuns,
nos quais os atacantes aproveitam a engenharia social para enganar os usuários a exe-
cutarem ações que levam à infecção. Imagine um funcionário da startup recebendo
um e-mail aparentemente legítimo, com um anexo ou um link que, uma vez aberto,
inicia, secretamente, a instalação do malware. Esta etapa destaca a importância de
treinamentos regulares de conscientização em segurança para todos os funcionários.
Uma vez dentro do sistema, o malware busca estabelecer persistência, ga-
rantindo que permaneça ativo mesmo após reinicializações do sistema. Isso pode
ser alcançado com várias técnicas, como modificar entradas de registro ou criar
serviços de sistema maliciosos. Além disso, muitos malwares empregam técnicas
de evasão para ocultar sua presença, dificultando sua detecção e sua remoção.
Para a startup, isso significa que a detecção e a remoção do malware requerem
uma análise detalhada e ferramentas de segurança avançadas.
Finalmente, com o malware, efetivamente instalado e oculto no sistema, pode
iniciar suas atividades maliciosas designadas. Isso pode variar de roubo de
dados sensíveis, como informações de clientes da startup, a danificar sistemas ou
até mesmo usar o sistema infectado como parte de uma rede de bots para ataques
futuros. O impacto destas ações pode ser devastador, não apenas em termos de
perdas financeiras diretas, mas também na reputação e na confiança dos clientes.
Entender o ciclo de vida do
malware fornece insights valiosos
sobre como os ataques são estru-
turados e quais medidas podem
ser tomadas em cada estágio para
prevenir ou mitigar os danos. No
contexto do exemplo da startup,
isso enfatiza a necessidade de uma
abordagem de segurança ciberné-
tica multicamadas, combinando
tecnologia avançada, treinamen-
to de funcionários e políticas de
segurança para proteger contra
ameaças digitais.

3
3
U N IASSE LVI

ANATOMIA DE UM ATAQUE DE MALWARE

Aprofundar-se na anatomia de um ataque de malware nos permite entender não


apenas os mecanismos de infecção, mas também as técnicas usadas pelos atacantes
para explorar sistemas, comunicar-se com infraestruturas comprometidas e exe-
cutar ações maliciosas. Exploraremos como estes componentes se interconectam
e aplicam ao contexto da nossa startup de tecnologia anteriormente mencionada.

Vetores de Ataque

Os vetores de ataque são as rotas iniciais por meio das quais o malware é entre-
gue e introduzido no sistema alvo. Eles podem variar desde e-mails de phishing,
repletos de anexos maliciosos ou links para downloads infectados, conforme
discutido anteriormente, até exploração de vulnerabilidades em software de-
satualizado. Agora, conheceremos as abordagens estratégicas que os atacantes
empregam para maximizar a eficácia dos vetores de ataque:

PERSONALIZAÇÃO E SEGMENTAÇÃO

Atacantes, frequentemente, personalizam seus vetores de ataque para se alinhar com


o perfil específico de suas vítimas. No caso da startup mencionada no início, isso po-
deria significar e-mails de phishing desenhados para imitar comunicações de parceiros
de negócios confiáveis, aumentando as chances de sucesso do ataque.

APROVEITAMENTO DE EVENTOS ATUAIS

Ataques de malware, muitas vezes, capitalizam em eventos atuais ou em crises para


criar urgência, ou explorar a curiosidade das vítimas. Uma campanha de malware pode
se disfarçar como informações críticas sobre um evento de notícias recente, atraindo
funcionários da startup a clicarem em links maliciosos.

EXPLORAÇÃO DE REDES SOCIAIS

O reconhecimento em redes sociais permite aos atacantes coletarem informações so-


bre potenciais vítimas, personalizando ataques que são mais propensos a serem bem-
-sucedidos. Funcionários da startup podem ser visados com base em seus interesses
ou suas atividades online, tornando os vetores de ataque mais convincentes.

3
3
T E MA DE A PR E ND IZAGEM 2

Carga útil (Payload): Mecanismos de ação

A carga útil (do inglês, payload) de um malware é, em es-


sência, o coração do ataque, definindo as ações maliciosas
que serão executadas no sistema da vítima. Existem dife-
rentes estratégias que os malwares podem adotar
para maximizar seu impacto e sua evasão:

■ Ativação condicional: certos malwares


aguardam condições específicas antes
de ativar sua carga útil, complicando a de-
tecção e a resposta a incidentes.
■ Automodificação: outros adaptam seu código ou
seu comportamento por meio do polimorfismo, de-
safiando soluções de segurança tradicionais.

Especificamente, no caso de um ransomware, por exemplo, a carga útil foca na


criptografia de arquivos, exigindo um resgate para sua liberação. Após a ativação,
o ransomware escaneia o sistema em busca de arquivos importantes – documen-
tos, bancos de dados, fotos, e outros – e os criptografa com uma chave secreta,
tornando-os inacessíveis ao usuário. Para a startup, isso significaria a perda ins-
tantânea de acesso a dados críticos, destacando a necessidade de backups regu-
lares e a conscientização em segurança.

Comunicação com o C&C (Command and Control)

A estrutura de Comando e Controle, conhecido, em inglês, como Command


and Control (C&C), descreve a infraestrutura que permite aos cibercrimino-
sos comandar o malware, remotamente, após a infecção. É essencialmente um
sistema de comunicação entre o malware e o atacante, permitindo o envio de
comandos específicos ao software malicioso instalado nos dispositivos compro-
metidos (Almashhadani, 2019).

3
3
U N IASSE LVI

Tais comandos podem variar desde instruções para baixar e instalar soft-
ware adicional, atualizar o malware, executar tarefas específicas, até extrair
dados roubados do sistema infectado. Além disso, esta comunicação multi-
facetada pode incluir:
■ Instruções para ações maliciosas específicas, como atualizações do
malware ou extração de dados roubados.
■ Redes Peer-to-Peer (P2P) e canais encobertos, que dificultam a desa-
tivação da rede C&C e ocultam a comunicação maliciosa.

No contexto do ataque sofrido pela startup, uma rede C&C poderia ser usada para
gerenciar a infecção por ransomware, coordenar a criptografia dos arquivos e
negociar o pagamento do resgate. A capacidade de interromper a comunicação
entre o malware e seu servidor C&C pode, efetivamente, neutralizar a ameaça,
impedindo que os atacantes concluam o ataque ou recuperem os dados rouba-
dos, ilustrando a importância de monitoramento de rede e segurança proativa.

TÉCNICAS DE DETECÇÃO DE MALWARE

A detecção de malware é um pilar fundamental na defesa contra ameaças ciber-


néticas. Com a evolução constante dos malwares, as técnicas para os identificar
também precisam se adaptar e avançar. Exploraremos três técnicas críticas de
detecção, elucidando como cada uma opera e sua relevância na proteção de sis-
temas (Reischaga; Lim; Kotualubun, 2021).

Assinatura versus Heurística: comparação dos Métodos de


Detecção

A Detecção por Assinatura é uma das formas mais antigas e amplamente uti-
lizadas de identificação de malware. Baseia-se no reconhecimento de padrões
ou “assinaturas” únicas presentes no código do malware. Essas assinaturas são
armazenadas em uma base de dados, contra a qual os arquivos são verificados.
Embora eficaz contra malwares conhecidos, a detecção por assinatura tem limita-
ções significativas, especialmente sua incapacidade de identificar novas variantes
ou malwares sem assinaturas preexistentes.

3
3
T E MA DE A PR E ND IZAGEM 2

Em contraste, a Detecção Heurística não depende de assinaturas existentes,


mas, sim, de identificar comportamentos suspeitos ou padrões de atividades
que são tipicamente realizados por malware. Isso pode incluir a tentativa de
modificar arquivos de sistema cruciais, estabelecer comunicações de rede não
autorizadas, ou executar a criptografia de arquivos, de maneira semelhante ao
ransomware. A abordagem heurística é mais adaptável e pode detectar malwares
anteriormente desconhecidos, mas com o risco de falsos positivos, em que um
software legítimo é, erroneamente, marcado como malicioso.

E U IN D ICO

Heurística é uma estratégia de detecção que permite identificar malwares com


base em comportamentos suspeitos ou padrões anormais, em vez de depender
de assinaturas digitais preexistentes. Essa técnica procura atividades que malwa-
res comumente executam, como modificações indevidas em arquivos do sistema
ou em comunicações de rede não autorizadas. Se você quiser se aprofundar, as-
sista ao vídeo a seguir, que mostra como funciona um antivírus e o que são análi-
ses heurísticas e falso positivo.
https://youtu.be/Hk8ek3R-Jtg?si=irRCk1YpUtvR4279

Análise Estática e Dinâmica: métodos para análise de malware

A técnica de Análise Estática envolve examinar o código do malware sem exe-


cutá-lo, utilizando ferramentas que descompilam o software para analisar seu có-
digo-fonte, suas estruturas e suas dependências. Esta análise permite identificar
potenciais assinaturas, strings maliciosas e outros indicadores de comprometimento
(IoCs) que podem ser usados para aprimorar as bases de dados de assinaturas. É par-
ticularmente útil para uma compreensão inicial do potencial impacto do malware.
Diferentemente da análise estática, a Análise Dinâmica envolve executar o
malware em um ambiente controlado, conhecido como sandbox, para observar
seu comportamento em tempo real. Esta abordagem permite identificar ações
maliciosas específicas, como a comunicação com servidores C&C, as tentativas
de infecção de outros sistemas, ou as modificações mal-intencionadas do siste-
ma. A análise dinâmica é crucial para entender como o malware interage com o
ambiente e para desenvolver métodos de detecção baseados em comportamento.

4
4
U N IASSE LVI

Sandboxing: isolamento e análise do comportamento do


malware

Por fim, o Sandboxing é uma estratégia poderosa que cria um ambiente vir-
tual seguro e isolado para testar e analisar o comportamento do malware. Fer-
ramentas de Sandboxing permitem aos pesquisadores executarem malwares
sem o risco de contaminar os sistemas reais, oferecendo insights detalhados
sobre as ações executadas pelo malware, após a infecção. Além de ser uma
ferramenta essencial para a análise dinâmica, que vimos anteriormente, o
Sandboxing também é utilizado por soluções de segurança, em tempo real,
para avaliar a segurança de arquivos e links desconhecidos antes de permitir
seu acesso ou sua execução no ambiente de produção.

FERRAMENTAS PARA ANÁLISE DE MALWARE

A análise de malware é uma tarefa complexa que exige o uso de ferramentas


especializadas capazes de desvendar os segredos escondidos no código mali-
cioso. Essas ferramentas permitem aos pesquisadores de segurança entende-
rem melhor como determinado malware funciona, suas capacidades e como
ele pode ser detectado e mitigado.
Disassemblers, como o IDA Pro, são ferramentas cruciais para a análise
estática de malware. Eles convertem código de máquina de volta para uma
forma que é mais compreensível para os humanos (assembly), permitindo que
os analistas examinem o funcionamento interno do malware sem executá-lo.
Isso é particularmente útil para identificar a funcionalidade do malware,
como rotinas de criptografia, mecanismos de persistência e pontos de comu-
nicação com servidores C&C.
Debuggers, como o x64dbg, permitem aos analistas executarem o mal-
ware passo a passo, em um ambiente controlado. Isso facilita a observação
do comportamento do malware em tempo real, possibilitando a análise de
como o malware interage com o sistema operacional, modifica arquivos, ou
se comunica por meio da rede. Debuggers são essenciais para a análise dinâ-
mica, oferecendo insights valiosos sobre o comportamento do malware que
podem não ser evidentes, por meio da análise estática.

4
4
T E MA DE A PR E ND IZAGEM 2

Dando continuidade à exploração de ferramentas


essenciais na luta contra o malware, destacam-se as
Sandboxes automatizadas, como o Cuckoo San-
dbox. Essas ferramentas são cruciais para a análise
detalhada do malware dentro de um ambiente con-
trolado, em que automatizam a execução do malwa-
re e documentam cada ação realizada, desde tenta-
tivas de conexão de rede até alterações de arquivos.
A eficiência das Sandboxes reside na habilidade de
processar e analisar volumes significativos de mal-
ware, rapidamente, gerando relatórios sobre suas ati-
vidades, tudo isso mantendo a integridade da rede e
dos sistemas protegidos (Souza et al., 2023).
Ferramentas de análise de rede, como o Wire-
shark, são fundamentais para entender como o mal-
ware se comunica. Wireshark permite a captura e a
análise detalhada do tráfego de rede, identificando
tentativas de comunicação com servidores C&C, ex-
filtração de dados e outras atividades de rede mali-
ciosas, conforme ilustrado na Figura 3. Ao examinar
os pacotes de dados, os analistas podem descobrir
informações cruciais sobre a natureza do tráfego de
rede gerado pelo malware, incluindo protocolos uti-
lizados, destinos de comunicação e dados potencial-
mente vazados.

4
4
U N IASSE LVI

Figura 3 - Exemplo de Tráfego capturado pelo Wireshark / Fonte: o autor.

Descrição da Imagem: a imagem mostra a interface do Wireshark em uma sessão ativa de captura de pacotes,
detalhando informações, como número, tempo, IPs de origem e destino e protocolos usados. Destaca-se o uso
de TCP e UDP e a exibição detalhada de um pacote, com cabeçalhos e dados em hexadecimal, exemplificando o
monitoramento e a análise de rede com o Wireshark. Fim da descrição.

O arsenal de ferramentas disponíveis para a análise de malware é vasto e está


em constante evolução, refletindo a natureza dinâmica das ameaças cibernéti-
cas. Disassemblers e Debuggers permitem uma dissecção detalhada do código
malicioso, enquanto Sandboxes automatizadas oferecem um meio de observar
o malware em ação, sem riscos. Por fim, ferramentas de análise de rede são in-
dispensáveis para monitorar a comunicação de malware.

PREVENÇÃO E MITIGAÇÃO

A prevenção e a mitigação de malware são componentes cruciais de qualquer


estratégia de segurança cibernética robusta.

4
4
T E MA DE A PR E ND IZAGEM 2

ZO O M N O CO NHEC I M ENTO

A prevenção de malware visa impedir a infecção antes que ela ocorra, por meio
de medidas, como software antivírus, atualizações de segurança e treinamento de
usuários. Mitigação, por outro lado, é a resposta a uma infecção já estabelecida,
focando na limitação do dano, na remoção do malware e na recuperação do siste-
ma. Enquanto prevenção evita ataques, mitigação gerencia as consequências de
ataques que ocorrem.

Ao implementar práticas de prevenção eficazes, as organizações podem evitar


muitas infecções por malware, antes mesmo que elas ocorram. Quando a pre-
venção falha, é vital ter planos de resposta a incidentes e recuperação de sistemas
bem definidos para minimizar os danos e restaurar as operações normais o mais
rápido possível. Detalharemos estas abordagens, conforme Aslan e Samet (2020).
A melhor maneira de lidar com o malware é, em primeiro lugar, evitar que ele
infecte sistemas. Aqui estão algumas práticas recomendadas:

ATUALIZAÇÕES REGULARES

Manter o sistema operacional e todos os softwares atualizados é crucial para


proteger contra vulnerabilidades que os malwares exploram.

EDUCAÇÃO E TREINAMENTO DE FUNCIONÁRIOS

Os funcionários devem ser educados sobre os riscos de segurança, incluindo


como identificar e-mails de phishing e a importância de não baixar arquivos, ou
clicar em links suspeitos.

SOLUÇÕES DE SEGURANÇA ROBUSTAS

Utilizar software antivírus de renome, firewalls e outras tecnologias de segurança


que ofereçam proteção em tempo real contra ameaças conhecidas e emergentes.

POLÍTICA DE SENHAS FORTES

Encorajar o uso de senhas fortes e únicas, além da autenticação de dois fatores


para adicionar uma camada extra de segurança.

4
4
U N IASSE LVI

Mesmo com as melhores práticas de prevenção, infecções podem ocorrer. Uma


resposta rápida e eficaz é necessária para limitar os danos:

IDENTIFICAÇÃO DO INCIDENTE

O primeiro passo é reconhecer que uma infecção por malware ocorreu, o que
pode ser indicado por sistemas lentos, arquivos criptografados ou alertas de
segurança.

CONTENÇÃO

Isolar o sistema afetado para prevenir a propagação do malware para outras


partes da rede.

ERRADICAÇÃO

Utilizar ferramentas de remoção de malware para limpar o sistema infectado,


removendo o malware e quaisquer alterações que ele tenha feito.

COMUNICAÇÃO

Informar as partes interessadas internas e, se necessário, externas sobre o inci-


dente, mantendo a transparência, conforme apropriado.

4
4
T E MA DE A PR E ND IZAGEM 2

Após eliminar o malware, a prioridade se volta para a Restauração de Dados,


usando backups, essencial para recuperar informações perdidas durante o ataque.
Em seguida, a Análise Pós-Incidente ajuda a entender a brecha de segurança
e a aperfeiçoar estratégias preventivas. Finalmente, Testes e Monitoramento
rigorosos são cruciais antes de reintegrar sistemas à rede, asseguram a completa
remoção do malware e previnem futuras infecções, garantindo, assim, a segu-
rança e a integridade do ambiente de TI.

IN D ICAÇÃO DE FI LM E

Blackhat (2015)
Sinopse: um notório hacker, liberado sob condição de ajudar
as autoridades americanas e chinesas a caçarem um cibercri-
minoso de alta periculosidade, viaja de Chicago a Los Angeles,
de Hong Kong a Jacarta, enfrentando perigos em cada passo.
Enquanto o caçam, eles descobrem uma conspiração de alto
nível que ameaça a estabilidade global.
Comentário: Blackhat mergulha no mundo do cibercrime,
abordando temas como hacking e segurança cibernética, res-
soando com os desafios enfrentados na prevenção e na mi-
tigação de malwares, destacando a importância de proteger
infraestruturas críticas contra ameaças digitais.

Prevenção, resposta a incidentes e recuperação formam a base da defesa contra


malware. Estratégias proativas de prevenção, combinadas com planos de resposta
eficazes e recuperação rápida, minimizam o impacto de infecções por malware.

E M FO CO

Confira a aula referente a este tema. Recursos de mídia disponíveis no conteúdo


digital do ambiente virtual de aprendizagem.

4
4
U N IASSE LVI

NOVOS DESAFIOS
À medida que avançamos pela paisagem da segurança cibernética, a teoria e a
prática convergem para formarem uma base sólida que o prepara para os desafios
do mercado de trabalho. No contexto do cibercrime em constante evolução, pro-
fissionais qualificados em análise e mitigação de malware são indispensáveis.
A experiência com as ferramentas e as técnicas discutidas, como análise estática
e dinâmica, sandboxing e compreensão de vetores de ataque, equipa os futuros
profissionais com a habilidade de não apenas enfrentar, mas antecipar ameaças,
tornando-os ativos valiosos para qualquer organização.
A história da startup que sofreu um ataque destaca a necessidade de uma
abordagem proativa na segurança cibernética. Profissionais com conhecimento
em identificar e neutralizar vulnerabilidades, antes que sejam exploradas, podem
salvar empresas de perdas financeiras e danos à reputação. Esse caso prático serve
como um lembrete do valor da prevenção, da importância de educar todos os
membros de uma equipe sobre os riscos de segurança e da implementação de
práticas de segurança robustas.
Além disso, a discussão sobre tecnologias e métodos de detecção de mal-
ware abre portas para inovações no campo da segurança cibernética. A adap-
tação e o aprimoramento contínuo das estratégias de defesa são essenciais,
à medida que novos tipos de ameaças surgem. Profissionais que se mantêm
atualizados com as últimas tendências e ferramentas não apenas aumentam
sua empregabilidade, mas também contribuem para a resiliência e a seguran-
ça do ecossistema digital como um todo.
Por fim, a intersecção entre a teoria aprendida e a aplicação prática destes
conhecimentos no ambiente de trabalho prepara você para uma carreira gratifi-
cante em segurança cibernética. A experiência compartilhada e os conhecimen-
tos adquiridos oferecem uma perspectiva sobre como enfrentar os desafios no
campo da segurança cibernética, destacando o papel dos futuros profissionais
nesse cenário em constante mudança.

4
4
AUTOATIVIDADE

1. Os worms são programas mal-intencionados capazes de se disseminarem, autonoma-


mente, em uma rede, aproveitando-se de falhas de segurança, ou utilizando métodos de
engenharia social, sem a necessidade de se acoplar a outros softwares. Esta característica
os diferencia dos vírus e elimina a necessidade de interação direta do usuário para sua re-
plicação. Em empresas emergentes de tecnologia, como as startups, a rápida propagação
de worms pode levar a falhas generalizadas e paradas drásticas nos serviços oferecidos.

Qual das seguintes afirmações descreve, corretamente, as características e o comporta-


mento de um worm em um ambiente de rede corporativo?

a) Worms precisam se anexar a um arquivo executável para se propagar em uma rede.


b) Worms utilizam técnicas de engenharia social e vulnerabilidades de software para se
espalhar sem ações diretas do usuário.
c) A replicação de um worm depende estritamente da intervenção e da execução de um
arquivo por parte do usuário.
d) Worms não podem causar interrupções nos serviços de uma rede corporativa, pois não
se espalham rapidamente.
e) Em um ambiente corporativo, worms são menos perigosos que vírus porque não cor-
rompem arquivos.

2. A elaboração de estratégias defensivas contra malwares demanda um profundo conhe-


cimento de seu ciclo de vida. Esse ciclo inicia com a engenharia de códigos maliciosos,
seguindo para a camuflagem desses códigos para se esquivar de ferramentas antivírus. Em
startups cujas defesas podem ser básicas, malwares bem disfarçados podem infiltrar-se e
permanecer ocultos, causando danos antes de serem descobertos.

Baseado no entendimento do ciclo de vida do malware, avalie as afirmações a seguir e in-


dique qual delas interpreta corretamente o processo pelo qual os malwares podem invadir
e persistir em um sistema de TI empresarial, sem serem detectados pelos mecanismos de
segurança tradicionais.

a) Malwares não necessitam de disfarce para infiltrar sistemas, visto que a maioria dos
softwares de segurança é incapaz de detectar novas ameaças.
b) O empacotamento de malwares é uma técnica defensiva, empregada por softwares de
segurança para prevenir a infecção de sistemas.
c) A ofuscação de código e o empacotamento são estratégias usadas no desenvolvimento
de malwares para evadir antivírus, permitindo que eles se estabeleçam em um sistema
sem serem notados.
d) A única fase do ciclo de vida do malware que importa para a infiltração de sistemas é a
de desenvolvimento, já que as técnicas de ofuscação são redundantes.
e) Malwares são sempre facilmente detectados por softwares de segurança tradicionais,
tornando desnecessária a ofuscação do código.

4
4
AUTOATIVIDADE

3. A etapa de distribuição é um momento-chave no ciclo de vida dos malwares, em que eles


passam da preparação para a execução nos sistemas destinatários. Métodos, como e-mails
de phishing e links fraudulentos, são comuns para enganar usuários, levando à instalação
inadvertida de malware. Um exemplo claro é um colaborador de uma startup abrindo um
e-mail falso, desencadeando a instalação oculta de software malicioso. Esse cenário enfa-
tiza o valor de treinamentos constantes em segurança cibernética para o pessoal.

Analisando a fase de distribuição do malware, identifique qual das seguintes opções des-
creve, corretamente, um vetor de ataque que os cibercriminosos poderiam utilizar para
disseminar malware em um ambiente empresarial e a importância da conscientização de
segurança entre os funcionários.

a) A engenharia social, como em e-mails de phishing, é um método efetivo para distribuir


malware, ressaltando a importância do treinamento de funcionários em práticas de se-
gurança.
b) Malwares são distribuídos, exclusivamente, por meio de falhas de hardware, tornando a
conscientização de segurança desnecessária.
c) Downloads maliciosos não representam uma ameaça significativa, já que os sistemas
operacionais modernos são imunes a tais ataques.
d) A instalação de software de terceiros verificados é o principal método pelo qual os mal-
wares são distribuídos, e a conscientização dos funcionários é ineficaz contra isso.
e) Malwares espalham-se, principalmente, por meio de dispositivos físicos, como USBs,
então, treinamentos de segurança deveriam focar somente nesse aspecto.

4
4
REFERÊNCIAS

ALMASHHADANI, A. O. et al. A multi-classifier network-based crypto ransomware detection sys-


tem: A case study of locky ransomware. IEEE Access, v. 7, p. 47053-47067, 2019. Disponível em:
https://ieeexplore.ieee.org/document/8674751. Acesso em: 22 jul. 2024.

ASLAN, Ö. A.; SAMET, R. A comprehensive review on malware detection approaches. IEEE Ac-
cess, v. 8, p. 6249-6271, 2020. Disponível em: https://ieeexplore.ieee.org/stamp/stamp.jsp?-
tp=&arnumber=8949524. Acesso em: 22 jul. 2024.

KHAN, F. et al. A Digital DNA Sequencing Engine for Ransomware Detection Using Machine
Learning. IEEE Access, v. 8, p. 119710-119719, 2020. Disponível em: https://ieeexplore.ieee.org/
stamp/stamp.jsp?arnumber=9121260. Acesso em: 22 jul. 2024.

REISCHAGA, M.; LIM, C.; KOTUALUBUN, C. Y. S. Uncovering Malware Traits Using Hybrid Analy-
sis. In: INTERNATIONAL CONFERENCE ON ENGINEERING AND INFORMATION TECHNOLOGY
FOR SUSTAINABLE INDUSTRY, 2020, Tangerang. Proceedings [...]. New York: Association for
Computing Machinery, 2020. p. 1-6.

SOUZA, G. O. et al. Um estudo acerca da seleção de features para a detecção dos Ransom-
wares WannaCry, Ryuk e CryptoLocker. In: SEMINÁRIO INTEGRADO DE SOFTWARE E HARD-
WARE (SEMISH), 50, 2023, Porto Alegre. Proceedings [...]. Porto Alegre: Sociedade Brasileira de
Computação, 2023. p. 36-47.

ZIMBA, A.; CHISHIMBA, M. On the economic impact of crypto-ransomware attacks: The state of
the art on enterprise systems. European Journal for Security Research, v. 4, n. 1, p. 3-31, 2019.

5
5
GABARITO

1. Alternativa B.

a) Incorreto. Diferentemente de vírus, worms são autônomos e não precisam se anexar a


arquivos para se replicar; b) Correto. Esta afirmação encapsula corretamente a natureza
autônoma dos worms e seus métodos de propagação; c) Incorreto. Worms são capazes de
se replicar e se espalhar sem qualquer ação direta do usuário, ao contrário do que sugere
a afirmação; d) Incorreto. Worms são conhecidos pela sua rápida propagação em redes, o
que pode causar interrupções significativas nos serviços corporativos; e) Incorreto. Apesar
de não corromperem arquivos da mesma maneira que vírus, worms podem ser igualmente
ou mais danosos, devido à sua capacidade de se espalhar rapidamente e interromper ser-
viços em uma rede.

2. Alternativa C.

a) Incorreto. A afirmação é falsa porque os malwares, frequentemente, utilizam técnicas de


ofuscação para evitar a detecção; b) Incorreto. O empacotamento é uma tática ofensiva usada
por cibercriminosos para dificultar a análise e detecção do malware; c) Correto. Esta afirmação
interpreta, adequadamente, o texto, reconhecendo que os malwares são disfarçados para
evitar detecção e análise; d) Incorreto. A afirmação ignora a importância da ofuscação e do
empacotamento na fase posterior ao desenvolvimento para evitar a detecção do malware;
e) Incorreto. Esta afirmação é falsa, pois subestima a sofisticação dos malwares modernos
e a necessidade de ofuscação para evadir a detecção.

3. Alternativa A.

a) Correto. Esta opção compreende corretamente a ameaça representada pela engenharia


social e a necessidade de conscientização em segurança; b) Incorreto. Malwares, comu-
mente, espalham-se por meio de ações de usuários desavisados, não apenas por falhas de
hardware; c) Incorreto. Downloads maliciosos são um vetor comum de infecção por malware,
independentemente da modernidade do sistema operacional; d) Incorreto. Embora o software
de terceiros possa ser um vetor, o treinamento em segurança é essencial para ensinar os
funcionários a reconhecerem softwares não verificados; e) Incorreto. Embora dispositivos USB
sejam um vetor, malwares também se espalham por métodos digitais, e a conscientização
deve abranger múltiplas frentes.

5
5
TEMA DE APRENDIZAGEM 3

FUNDAMENTOS DA ANÁLISE DE
MALWARES

MINHAS METAS

Compreender a análise forense digital em malwares.

Dominar a decompilação de malwares.

Identificar e desobfuscar códigos maliciosos.

Analisar comportamento de malwares em execução.

Entender mecanismos de autodefesa em malwares.

Explorar análise de tráfego de rede em malwares.

Aprender estratégias contra evasão de malwares.

5
5
U N IASSE LVI

INICIE SUA JORNADA


No mundo digital de hoje, a ameaça de malwares nunca foi tão pervasiva e sofisti-
cada. À medida que avançamos em nossa dependência de tecnologia, criminosos
cibernéticos aprimoram suas ferramentas, criando malwares capazes de evadir
detecção, roubar informações e comprometer sistemas. Aqui, desvendaremos
os mistérios da análise de malwares, um campo essencial para a segurança ci-
bernética e a integridade dos sistemas.
Imagine uma organização que, apesar de seus esforços em implementar ro-
bustas medidas de segurança, se depara com uma violação de dados sem prece-
dentes. Análises preliminares apontam para um software malicioso altamente
sofisticado, capaz de se ocultar e operar sem detecção. Como essa organização
pode entender e neutralizar tal ameaça?
A capacidade de analisar e entender malwares é mais do que uma habilidade
técnica, é uma necessidade para proteger informações, preservar a privacidade
e manter a funcionalidade crítica de nossos sistemas. A resolução de problemas,
como o apresentado, não apenas salvaguarda ativos valiosos, mas também con-
tribui para um ambiente digital mais seguro e resiliente.
Aqui, você terá a oportunidade de mergulhar em situações práticas, desde a
análise forense digital de malwares em sistemas comprometidos até a decompi-
lação e análise de binários maliciosos. Você aprenderá, em um ambiente contro-
lado, como identificar e desobfuscar códigos maliciosos, explorar análises com-
portamentais de malwares em execução e entender mecanismos de autodefesa
empregados por malwares avançados.
Ao embarcar nesta jornada, convidamos você a refletir sobre o papel que a
análise de malwares desempenha não apenas na sua carreira como profissional de
tecnologia da informação, mas também no vasto ecossistema digital. Como você
pode aplicar esses conhecimentos para contribuir para um futuro mais seguro?
Como as técnicas aprendidas podem ser adaptadas para enfrentar os desafios
emergentes no campo da segurança cibernética?
Esta viagem pela análise de malwares não é apenas sobre adquirir conheci-
mento técnico, é sobre desenvolver a mentalidade crítica e as habilidades que
o capacitarão a enfrentar e resolver alguns dos desafios mais significativos do
nosso tempo digital.

5
5
T E MA DE A PR E ND IZAGEM 3

P L AY N O CO NHEC I M ENTO

Convidamos você a assistir ao nosso podcast sobre Sistemas de Detecção de In-


trusão (IDS), ferramentas essenciais para monitorar e analisar tráfego de rede sus-
peito e proteger contra ameaças de malware. Recursos de mídia disponíveis no
conteúdo digital do ambiente virtual de aprendizagem.

VAMOS RECORDAR?
Você sabe o que são malwares? São softwares maliciosos projetados para infiltrar,
danificar ou obter acesso não autorizado a sistemas de computador. Existem vários
tipos, incluindo vírus, worms, trojans e ransomware. Para mais detalhes, confira este
link. https://www.youtube.com/watch?v=-bfI7_hVMgc

DESENVOLVA SEU POTENCIAL

INTRODUÇÃO

Em nosso percurso pela análise de


malwares, exploraremos concei-
tos e técnicas fundamentais que
armam os profissionais de se-
gurança cibernética contra
as ameaças digitais. Desde
os Fundamentos da Análise
Forense Digital Aplicados a
Malware, passando pela in-
tricada Decompilação e Aná-
lise de Binários, até as Técnicas
de Obfuscação e Desobfuscação
que revelam os segredos ocultos em
códigos maliciosos.

5
5
U N IASSE LVI

Avançaremos ainda mais, mergulhando na Análise Comportamental Avançada


para entender a mecânica por trás das ações dos malwares e concluir com estratégias
eficazes contra a Autodefesa e a Evasão de Malwares.

ANÁLISE FORENSE DIGITAL APLICADA A MALWARES

A análise forense digital em contextos de malwares é um tópico que combina


princípios de investigação criminal com tecnologia da informação para identifi-
car, preservar, recuperar e analisar dados digitais comprometidos por softwares
maliciosos. A seguir, abordaremos a importância de entender os fundamentos
da análise forense digital como uma ferramenta essencial na luta contra crimes
cibernéticos e na proteção de ativos digitais.

Coleta e preservação de evidências digitais

A coleta e a preservação de evidências digitais são etapas críticas no processo


de análise forense. Essas evidências podem incluir arquivos de sistema, logs de
eventos, históricos de navegação, e-mails e qualquer outro dado que possa ser
usado para reconstruir eventos digitais. A integridade da evidência é funda-
mental, portanto, métodos como hashing criptográfico (Figura 1) são usados
para assegurar que os dados coletados não sejam alterados (Ligh et al., 2014).

Figura 1 - Funcionamento do Método Hashing Criptográfico / Fonte: o autor.

Descrição da Imagem: a imagem ilustra um processo de criptografia de dados em três etapas. Na primeira, temos
um ícone de um documento de texto com a etiqueta “TXT”, indicando o início do processo com dados brutos. No
meio, há um ícone representando um algoritmo de criptografia, marcado com “256” e um cadeado, simbolizando a
codificação dos dados. Na última etapa, um cadeado aberto com bits binários (1s e 0s) representa a “Saída”, sim-
bolizando os dados criptografados. Cada etapa é conectada por uma seta, demonstrando o fluxo. Fim da descrição.

5
5
T E MA DE A PR E ND IZAGEM 3

A P RO F UNDA NDO

O hashing criptográfico é uma técnica essencial na preservação da integridade de


evidências digitais. Ele transforma dados de qualquer tamanho em uma saída de
tamanho fixo, chamada de hash. Essa característica única garante que, mesmo a
mínima alteração nos dados originais resulte em um hash completamente diferen-
te, facilitando a detecção de manipulações.
Utilizado em análises forenses, o hashing criptográfico permite aos investigado-
res verificar se as evidências digitais permaneceram inalteradas desde a sua co-
leta, assegurando sua admissibilidade em processos judiciais. Métodos comuns
incluem algoritmos, como SHA-256 e MD5, cada um com suas especificidades e
seus níveis de segurança.

Existem, no entanto, desafios no processo de coleta e preservação de evi-


dências digitais. Um deles é a volatilidade dos dados digitais que podem ser
facilmente alterados ou apagados. Além disso, a necessidade de ferramentas
especializadas para coletar dados em diferentes sistemas e dispositivos acres-
centa complexidade. Também, é necessário seguir procedimentos legais e éti-
cos para garantir que as evidências sejam admissíveis em processos judiciais.
Esses desafios destacam a necessidade de práticas cuidadosas e metodologias
robustas na análise forense digital.
Para enfrentar os desafios, algumas melhores práticas foram estabelecidas
na comunidade forense digital. Entre elas, a utilização de imagens forenses de
sistemas comprometidos é fundamental para preservar o estado dos dados, no
momento da coleta. Manter registros detalhados do processo de coleta não só
ajuda na análise subsequente, mas também assegura a transparência e a inte-
gridade do processo. Além disso, o emprego de softwares e hardwares
especializados é essencial para garantir que os dados não sejam
alterados durante a coleta e a análise. Essas práticas são vitais
para a eficácia da análise forense.

5
5
U N IASSE LVI

IN D ICAÇ ÃO DE LI V RO

The Art of Memory Forensics: Detecting Malware and Threats


in Windows, Linux, and Mac Memory.
O livro The Art of Memory Forensics: Detecting Malware and
Threats in Windows, Linux, and Mac Memory é um recurso inesti-
mável para quem deseja aprofundar-se em técnicas avançadas
para detectar malware e ameaças em memórias de sistemas.
Com instruções detalhadas, é recomendado para especialistas
em segurança digital, buscando aprimorar suas habilidades e
proteger sistemas contra invasores.

Análise de logs e artefatos em sistemas comprometidos

Logs e artefatos são registros vitais que contêm informações sobre eventos de sis-
tema, atividades de rede, modificações de arquivos e outras ações executadas por
malwares. A análise desses dados pode revelar o método de infecção, a extensão
do comprometimento, as capacidades do malware e as possíveis motivações dos
atacantes (Ligh et al., 2014).
■ Técnicas de análise: incluem a revisão manual de logs, o uso de ferra-
mentas de análise de logs automatizadas e técnicas avançadas, como aná-
lise de correlação para identificar padrões de comportamento anormal.
■ Desafios: a grande quantidade de dados para análise, a necessidade de
expertise técnica para interpretar os dados corretamente e a possibilidade
de manipulação ou exclusão de logs por malwares avançados para ocultar
suas atividades.

A fase da análise forense digital é crucial para entender não apenas como o ata-
que foi realizado, mas também para fornecer insights sobre como melhorar as
medidas de segurança para prevenir futuros incidentes. Ao aplicar esses concei-
tos, profissionais de segurança cibernética e analistas forenses digitais podem
desempenhar um papel vital na proteção contra ameaças digitais, garantindo a
segurança de informações e a continuidade dos negócios.

5
5
T E MA DE A PR E ND IZAGEM 3

DECOMPOSIÇÃO E ANÁLISE DE BINÁRIOS

Após estabelecer uma base sólida nos fundamentos da análise forense digital, é
crucial avançar para técnicas mais específicas e poderosas na luta contra malwa-
res, como a decompilação e a análise de binários. Esta seção explora as ferramen-
tas especializadas necessárias para realizar essa tarefa e discute casos de estudo
reais que ilustram a aplicação prática dessas técnicas.

Ferramentas especializadas em decompilação e suas aplicações

A decompilação de binários é um processo que reverte o código compilado de


volta a uma forma mais legível, aproximando-se do código fonte original (Figura
2). Essa técnica é fundamental para entender a funcionalidade de um malware
quando o código fonte não está disponível (Bora, 2021).

Figura 2 - Código Compilado versus Código-fonte / Fonte: o autor.

Descrição da Imagem: a imagem ilustra, à esquerda, um código compilado. À direita, a imagem ilustra um códi-
go-fonte escrito, usando uma linguagem de programação. Fim da descrição.

Ferramentas especializadas, como IDA Pro, Ghidra, e Radare2, são indispensá-


veis para os analistas de segurança, oferecendo funcionalidades avançadas para
a decompilação e a análise de código malicioso.

IDA PRO

Amplamente reconhecido pela sua robustez e sua versatilidade, capaz de lidar


com uma grande variedade de arquiteturas e formatos de arquivo, tornando-o
uma escolha popular entre profissionais de segurança cibernética.

5
5
U N IASSE LVI

GHIDRA

Desenvolvido pela NSA e disponibilizado gratuitamente, oferece uma plataforma


rica para a análise de código, com a vantagem de ser open source e possuir uma
comunidade ativa que contribui com plugins e melhorias.

RADARE2

É uma ferramenta gratuita e open source que se destaca pela sua capacidade de
realizar análise estática e dinâmica de binários, além de oferecer um conjunto de
funcionalidades para engenharia reversa.

Estas ferramentas não apenas facilitam a identificação de comportamentos ma-


liciosos em arquivos suspeitos, mas também permitem uma análise detalhada
dos métodos de ataque, estratégias de evasão e mecanismos de comunicação com
servidores de comando e controle.

Casos de estudo: decompilando malwares reais

O estudo de casos reais de malwares que foram decompilados e analisados com


sucesso oferece insights valiosos sobre as táticas, as técnicas e os procedimentos
utilizados por atacantes. Exemplos incluem o WannaCry, um ransomware que se
aproveitou de vulnerabilidades no Windows para se espalhar globalmente, e do
Stuxnet, um worm sofisticado projetado para atacar sistemas de controle industrial.

5
5
T E MA DE A PR E ND IZAGEM 3

■ WannaCry: a decompilação e a análise desse ransomware revelaram


como ele explorava a vulnerabilidade MS17-010 para propagar-se por
meio de redes, além de detalhar seu mecanismo de criptografia de
arquivos e o uso de Bitcoin como método de pagamento do resgate.
■ Stuxnet: a análise desse worm mostrou seu design complexo, incluin-
do múltiplas cargas úteis, a capacidade de atacar sistemas específicos
de controle industrial (SCADA) e o uso de quatro zero-days, um feito
notavelmente raro e sofisticado.

O Stuxnet é notável por ser um dos primeiros exemplos de um malware


projetado não apenas para espionar, mas para causar dano físico a infraestru-
turas críticas. A análise do Stuxnet revelou uma série de características ino-
vadoras, incluindo o uso de múltiplas zero-days, a capacidade de se propagar
por meio de dispositivos USB e a especificidade de seus alvos (centrífugas
de enriquecimento de urânio).
Estudar os casos de malwares decompilados não apenas aumenta o en-
tendimento das ameaças cibernéticas atuais, mas também ajuda a prepará-lo
para desenvolver estratégias de defesa mais eficazes.

TÉCNICAS DE OBFUSCAÇÃO E DESOBFUSCAÇÃO

Explorando as técnicas de obfuscação e desobfuscação no contexto da análise


de malwares, é crucial entender como os malwares utilizam a obfuscação
para complicar a análise e a detecção por parte dos analistas de segurança e
ferramentas automatizadas (Baker, 2023).
A obfuscação torna o código malicioso difícil
Obfuscação torna
de entender e de analisar, pois aplica uma varieda-
o código malicioso
de de técnicas para esconder a verdadeira intenção
difícil de entender e
do código. Esse processo pode incluir a adição de de analisar
operações matemáticas desnecessárias, o uso ex-
cessivo de instruções de empilhamento e fluxos de
controle complexos que desorientam os analistas
(Schrittwieser et al., 2016).

6
6
U N IASSE LVI

A desobfuscação, por outro lado, é o processo de reverter tais técnicas para tornar
o código mais compreensível, facilitando a análise. Estratégias de desobfuscação
podem envolver a simplificação de operações matemáticas complexas, a remoção de
instruções desnecessárias de empilhamento e a clareza no fluxo de controle do pro-
grama. Uma abordagem eficaz para a desobfuscação aplica transformações semân-
ticas ao programa obfuscado, produzindo um novo programa que é funcionalmente
equivalente ao original, porém mais fácil de analisar (Schrittwieser et al., 2016).

Métodos e ferramentas para desobfuscar códigos

No contexto da análise de malwares, a desobfuscação é uma etapa crítica para en-


tender e neutralizar ameaças. As ferramentas mencionadas anteriormente, como
IDA Pro e Ghidra, não apenas servem para a engenharia reversa, mas também
oferecem funcionalidades importantes para a desobfuscação de códigos. Ambas
permitem que os analistas desvendem as técnicas de obfuscação aplicadas pelos
desenvolvedores de malwares, facilitando a análise do código original.
Além disso, ferramentas como OllyDbg e x64dbg oferecem suporte para aná-
lise dinâmica, permitindo aos analistas executarem o malware em um ambiente
controlado e observarem seu comportamento em tempo real, o que pode revelar
as técnicas de obfuscação em ação.

6
6
T E MA DE A PR E ND IZAGEM 3

Práticas para analisar malwares obfuscados

A análise de malwares obfuscados requer abordagem metodológica e fer-


ramentas adequadas para desvendar as camadas de obfuscação. As práticas
recomendadas incluem:

ANÁLISE COMBINADA

Utilizar tanto análise estática quanto dinâmica para obter uma visão completa do mal-
ware. Enquanto a análise estática ajuda a entender o código sem executá-lo, a análise
dinâmica revela como o malware se comporta em um sistema operacional real.

AUTOMATIZAÇÃO COM SCRIPTS

Desenvolver scripts personalizados em ferramentas, como IDA Pro e Ghidra para


automatizar partes do processo de desobfuscação pode economizar tempo vali-
oso e melhorar a eficácia da análise.

COLABORAÇÃO E COMPARTILHAMENTO DE CONHECIMENTO

Participar de comunidades de segurança cibernética e de plataformas de com-


partilhamento de conhecimento, como o GitHub, em que analistas compartilham
técnicas, ferramentas e plugins para desobfuscação.

O estudo e a aplicação de tais práticas e de ferramentas não apenas facilitam a


desobfuscação de códigos maliciosos, mas também enriquecem o repertório
técnico dos profissionais de segurança cibernética, permitindo-lhes enfrentar
malwares cada vez mais sofisticados.

ANÁLISE COMPORTAMENTAL AVANÇADA

A análise comportamental avançada é um pilar crucial na identificação e na


compreensão de malwares, permitindo não apenas ver o que eles fazem, mas
também como eles se comportam em um ambiente real ou simulado.
A seguir, exploraremos o uso de honeypots e sandboxes para captura e
análise de tráfego de rede, gerado por malwares, oferecendo insights valiosos
para a detecção e a mitigação de ameaças cibernéticas.

6
6
U N IASSE LVI

Uso de honeypots e sandboxes para captura e análise

Honeypots e sandboxes são ferramentas indispensáveis na análise


comportamental avançada de malwares. Elas simulam ambientes de rede ou
sistemas operacionais que atraem atacantes, permitindo a captura de malwa-
res em ação, sem risco para os ativos reais (Souza et al., 2023).
■ Honeypots são sistemas projetados para serem vulneráveis, com o objetivo
de atrair atacantes, permitindo que os analistas estudem suas técnicas e seus
comportamentos. Eles podem ser configurados para emular diversos tipos
de dispositivos e sistemas, oferecendo insights valiosos sobre as táticas, as
técnicas e os procedimentos (TTPs) usados pelos adversários.
■ Sandboxes proporcionam um ambiente seguro para executar e ana-
lisar malwares, isolando-os do sistema principal para prevenir danos.
Ferramentas de sandboxing, como Cuckoo Sandbox, automatizam a
análise de malwares, capturando suas ações, como modificações no
sistema de arquivos, atividades de rede e tentativas de persistência.

Análise de tráfego de rede gerado por malwares

A análise de tráfego de rede é fundamental para entender como os malwares


se comunicam com seus servidores de comando e controle (C&C), exfiltram
dados, ou se propagam dentro de redes. Ferramentas de captura e análise de
pacotes, como Wireshark, e sistemas de detecção de intrusão (IDS) são essen-
ciais para monitorar e analisar o tráfego de rede suspeito (Souza et al., 2023).

PADRÕES DE COMUNICAÇÃO

A identificação de padrões específicos de comunicação e o uso de canais de comuni-


cação incomuns podem indicar atividades maliciosas.

EXFILTRAÇÃO DE DADOS

O monitoramento de grandes volumes de dados sendo enviados para destinos desco-


nhecidos pode sinalizar a exfiltração de informações sensíveis.

6
6
T E MA DE A PR E ND IZAGEM 3

PROPAGAÇÃO DE MALWARES

A análise do tráfego de rede ajuda a identificar tentativas de propagação de


malwares, como varreduras de porta e exploração de vulnerabilidades em outros
dispositivos na rede.

A combinação de técnicas avançadas de análise comportamental permite aos


profissionais de segurança cibernética compreensão profunda do funcionamento
interno dos malwares e de suas estratégias de ataque. Isso não apenas facilita a
detecção e remoção de malwares, mas também auxilia no aprimoramento das
medidas de defesa contra futuras ameaças cibernéticas.

AUTODEFESA E EVASÃO DE MALWARES

A evolução constante das ameaças digitais levou ao desenvolvimento de mal-


wares cada vez mais sofisticados, equipados com mecanismos de autodefesa e
técnicas de evasão. Esses mecanismos são projetados para evitar a detecção por
ferramentas de segurança cibernética e complicar o processo de análise por parte
dos profissionais de segurança (Afianian et al., 2019).

Estratégias de malwares para evadir detecção e análise

Malwares modernos utilizam uma gama de estratégias para evadir a detecção,


incluindo (Afianian et al., 2019):
■ Polimorfismo e Metamorfismo: alteram seu código a cada execução
para evitar a detecção por assinaturas.
■ Rootkits: ocultam sua presença, modificando o sistema operacional ou
o firmware.
■ Carga útil condicionada: executa a carga maliciosa apenas sob certas
condições, dificultando a detecção em ambientes de análise.
■ Comunicação criptografada: utiliza comunicação criptografada para
esconder o tráfego de rede malicioso, conforme ilustrado na Figura 3.

6
6
U N IASSE LVI

Figura 3 - Exemplo de uma comunicação criptografada / Fonte: o autor.

Descrição da Imagem: a imagem ilustra o conceito de comunicação cifrada. À esquerda, há a figura de uma pessoa
segurando um envelope com uma carta. Esta figura representa o remetente. No centro da imagem, há um cadeado
com um sinal de segurança indicando que a comunicação é protegida e cifrada. À direita, há uma figura de outra
pessoa segurando um envelope com um ícone de cadeado, representando o destinatário. A seta pontilhada que
liga o remetente ao destinatário, passando pelo cadeado no centro, destaca o processo de comunicação cifrada,
onde a mensagem é protegida durante a transmissão para garantir a segurança e a privacidade dos dados.

Tais estratégias representam desafios significativos para os analistas de segurança,


exigindo ferramentas e técnicas avançadas para detecção e análise eficazes.

6
6
T E MA DE A PR E ND IZAGEM 3

Técnicas para contornar a autodefesa e evasão e


analisar o malware

Para combater os mecanismos de autodefesa e evasão, os analistas desenvol-


veram várias técnicas, incluindo (Mills; Legg, 2020):

ANÁLISE EM AMBIENTES ISOLADOS (SANDBOXES)

Executar o malware em um ambiente controlado e monitorado para observar


seu comportamento sem risco para a infraestrutura real.

ENGENHARIA REVERSA AVANÇADA

Utilizar ferramentas de engenharia reversa para desmontar o código do mal-


ware e entender suas funcionalidades e suas técnicas de evasão.

EMULAÇÃO DE CONDIÇÕES ESPECÍFICAS

Simular condições específicas do sistema ou do usuário que o malware verifi-


ca antes de executar sua carga útil.

ANÁLISE DE TRÁFEGO DE REDE

Monitorar e analisar o tráfego de rede para identificar padrões suspeitos que


possam indicar atividades maliciosas, mesmo quando o tráfego está cripto-
grafado.

As técnicas de contorno para análise de malwares com autodefesa e evasão


são fundamentais para a compreensão profunda das ameaças modernas, per-
mitindo que os profissionais de segurança desenvolvam defesas mais robustas
e estratégias de mitigação (Bora, 2021).

E M FO CO

Confira a aula referente a este tema. . Recursos de mídia disponíveis no conteúdo


digital do ambiente virtual de aprendizagem.

6
6
U N IASSE LVI

NOVOS DESAFIOS
Ao conectarmos todo o conhecimento construído até agora com as perspectivas
do futuro ambiente profissional na área de segurança cibernética, percebemos a
importância de uma sólida compreensão teórica aliada à prática aplicada. Este
enlace entre teoria e prática é essencial para o preparar para enfrentar os desafios
que encontrará no mercado de trabalho, um cenário em constante evolução e
marcado por ameaças digitais sofisticadas.
O campo da segurança cibernética exige não apenas aprofundamento técnico
contínuo, mas também capacidade de aplicar esse conhecimento de maneira inova-
dora para resolver problemas. As organizações buscam profissionais que não somen-
te compreendam as técnicas de análise forense digital, engenharia reversa e análise
comportamental avançada, mas que também estejam preparados para aplicar tais
competências na identificação e na neutralização de malwares que utilizam estraté-
gias de autodefesa e evasão para operar, ocultamente, e comprometer dados críticos.
A demanda por especialistas em segurança cibernética, no mercado de tra-
balho, é alta, e a tendência é que continue crescendo. Profissionais capazes de en-
frentar ameaças avançadas são essenciais para proteger as infraestruturas digitais
e garantir a segurança de informações sensíveis. Nesse contexto, a experiência
prática, obtida por meio de simulações e hackathons de segurança, por exem-
plo, torna-se um diferencial importante, assim como a especialização em áreas
específicas da segurança cibernética.
Agora, lembrando da problematização inicial apresentada: uma organização en-
frentando uma violação de dados sem precedentes, devido a um software malicioso
altamente sofisticado. A solução para tal desafio envolve a aplicação de todo o co-
nhecimento adquirido, combinando análise forense, técnicas avançadas de engenha-
ria reversa e análise comportamental para desvendar e neutralizar a ameaça. Além
disso, a colaboração e o compartilhamento de conhecimento entre profissionais são
fundamentais para desenvolver estratégias de detecção e mitigação de malwares.
Preparar-se para o futuro profissional em segurança cibernética, portanto,
não é apenas uma questão de acumular conhecimento técnico, mas também
de desenvolver habilidades analíticas, criatividade e adaptabilidade para en-
frentar os desafios emergentes.

6
6
AUTOATIVIDADE

1. Em um mundo cada vez mais conectado, a segurança cibernética tornou-se uma preocu-
pação central para organizações de todos os tamanhos. Os logs e os artefatos em sistemas
comprometidos desempenham um papel crucial na análise forense digital, fornecendo
informações detalhadas sobre a atuação de malwares e a atividade dos atacantes. A habi-
lidade de analisar esses registros pode ser a chave para entender a natureza de um ataque,
suas origens e como se proteger contra futuras ameaças. Esse conhecimento é essencial
para profissionais da área, que devem estar aptos a identificar incidentes de segurança,
analisá-los e os responder, de forma eficaz (Ligh, 2014).

Com base no entendimento dos logs e dos artefatos em sistemas comprometidos e sua
importância na análise forense digital, qual das seguintes afirmações melhor descreve a
relevância da análise desses registros?

a) A análise de logs e artefatos é apenas útil para identificar o malware, não contribuindo
para a compreensão do ataque.
b) Logs e artefatos não contêm informações suficientes para determinar a extensão do
comprometimento de um sistema.
c) A análise de logs requer apenas uma revisão manual, sendo as ferramentas automati-
zadas, geralmente, ineficazes.
d) A grande quantidade de dados e a necessidade de expertise técnica são desafios sig-
nificativos na análise de logs e artefatos.
e) A análise de logs e artefatos é uma prática obsoleta na segurança cibernética, tendo sido
substituída por métodos mais modernos.

6
6
AUTOATIVIDADE

2. A obfuscação é uma técnica amplamente utilizada por desenvolvedores de malwares para


dificultar a análise e detecção de seus códigos maliciosos. Por meio de várias estratégias,
como operações matemáticas complexas e fluxos de controle intrincados, os atacantes
conseguem esconder as verdadeiras intenções de seus programas. Entender e reverter
essas técnicas, processo conhecido como desobfuscação, é fundamental para os analistas
de segurança, pois permite uma análise mais eficiente e precisa do código malicioso. Este
processo exige um conhecimento profundo das técnicas de obfuscação e das estratégias
para desfazê-las, representando um desafio contínuo na luta contra malwares (Baker, 2023).

Considerando as técnicas de obfuscação e desobfuscação no contexto da análise de mal-


wares, qual das seguintes afirmações interpreta corretamente a relação entre essas técnicas
e sua importância na análise forense digital?

a) A obfuscação é uma técnica defensiva empregada por analistas de segurança para


proteger códigos maliciosos contra a análise.
b) A desobfuscação torna o código malicioso mais difícil de entender, aumentando a com-
plexidade da análise para os analistas de segurança.
c) A obfuscação aplica técnicas como a simplificação de operações matemáticas e a cla-
reza no fluxo de controle para tornar o código malicioso mais acessível aos analistas de
segurança.
d) Técnicas de obfuscação não afetam a eficácia das ferramentas automatizadas de de-
tecção de malwares, pois essas ferramentas podem facilmente identificar e analisar
qualquer tipo de código malicioso.
e) Estratégias eficazes de desobfuscação envolvem a aplicação de transformações semân-
ticas ao programa obfuscado, resultando em um código funcionalmente equivalente ao
original, mas mais fácil de analisar.

6
6
AUTOATIVIDADE

3. A obfuscação é uma técnica comum, usada por criminosos cibernéticos, que complica,
significativamente, a tarefa de analisar e neutralizar códigos maliciosos. Ferramentas avan-
çadas de análise, como IDA Pro, Ghidra, OllyDbg e x64dbg, emergem como recursos cruciais
nesse cenário, permitindo aos analistas penetrar nas camadas de obfuscação e acessar o
código original. Essas ferramentas são essenciais não apenas para a engenharia reversa,
mas também para a desobfuscação, pois revelam as estratégias ocultas por trás do código
malicioso e facilitam sua compreensão. Dominar essas ferramentas é, portanto, indispensá-
vel para a efetiva identificação, a análise e o combate às ameaças digitais contemporâneas
(Baker, 2023).

Com base na descrição das ferramentas e dos métodos para desobfuscar códigos malicio-
sos, qual das seguintes afirmações interpreta corretamente o papel dessas ferramentas na
análise de malwares?

a) IDA Pro e Ghidra são, exclusivamente, utilizadas para a análise estática de códigos, não
oferecendo suporte para a desobfuscação.
b) Ferramentas como IDA Pro, Ghidra, OllyDbg e x64dbg são essenciais para a desobfusca-
ção, permitindo uma análise mais profunda de malwares.
c) Ferramentas como IDA Pro e Ghidra são ineficazes contra malwares modernos, já que os
métodos de obfuscação evoluíram para serem indetectáveis.
d) OllyDbg e x64dbg limitam-se à execução de malwares em ambientes controlados, sem
capacidade de observar, ou revelar técnicas de obfuscação em ação.
e) A desobfuscação de códigos não é uma etapa necessária na análise de malwares, visto
que as técnicas de obfuscação não afetam, significativamente, a compreensão do código.

7
7
REFERÊNCIAS

AFIANIAN, A. et al. Malware dynamic analysis evasion techniques: A survey. ACM Computing
Surveys (CSUR), [s. l.], v. 52, n. 6, p. 1-28, 2019.

BAKER. K. Malware Analysis: Steps & Examples. Crowdstrike, 17 abr. 2023. Disponível em: ht-
tps://www.crowdstrike.com/cybersecurity-101/malware/malware-analysis/. Acesso em: 24
jul. 2024.

BORA, D. Malware Analysis: Techniques and Tools. Cybrary, 11 out. 2021. Disponível em: https://
www.cybrary.it/blog/malware-analysis-techniques-and-tools/. Acesso em: 24 jul. 2024.

LIGH, M. H. et al. The art of memory forensics: detecting malware and threats in Windows, Linux,
and Mac memory. Indianapolis: John Wiley & Sons, 2014.

MILLS, A.; LEGG, P. Investigating anti-evasion malware triggers using automated sandbox recon-
figuration techniques. Journal of Cybersecurity and Privacy, [s. l.], v. 1, n. 1, p. 19-39, 2020.

SCHRITTWIESER, S. et al. Protecting Software through Obfuscation: can it keep pace with pro-
gress in code analysis? ACM Computing Surveys, [s. l.], v. 49, n. 1, p. 1-37, 2016.

SOUZA, G. O. et al. Um estudo acerca da seleção de Features para a detecção dos Ransom-
wares WannaCry, Ryuk e CryptoLocker. In: SEMINÁRIO INTEGRADO DE SOFTWARE E HAR-
DWARE (SEMISH), 50., 2023, João Pessoa/PB. Anais [...]. Porto Alegre: Sociedade Brasileira de
Computação, 2023. p. 36-47.

7
7
GABARITO

1. Alternativa D. Correto. Os profissionais enfrentam o desafio de analisar uma grande quantidade


de dados e necessitam de expertise técnica para interpretar esses dados corretamente, além
de enfrentar a possibilidade de manipulação ou de exclusão de logs por malwares avançados.

A) Incorreto. A análise de logs e artefatos é crucial não apenas para identificar o malware,
mas também para entender como o ataque foi realizado e ajudar a melhorar as medidas de
segurança para prevenir futuros incidentes.
B) Incorreto. Logs e artefatos são registros vitais que contêm informações detalhadas sobre
eventos de sistema, atividades de rede e modificações de arquivos, sendo fundamentais
para determinar a extensão do comprometimento.
C) Incorreto. Embora a revisão manual de logs seja uma técnica de análise, o uso de ferramen-
tas de análise de logs automatizadas e técnicas avançadas, como análise de correlação, são
também essenciais para identificar padrões de comportamento anormal, de forma eficiente.
E) Incorreto. A análise de logs e artefatos continua sendo uma prática fundamental na se-
gurança cibernética e na análise forense digital, sendo crucial para entender os ataques,
identificar malwares e melhorar as medidas de segurança contra futuras ameaças.

2. Alternativa E. Correto. A aplicação de transformações semânticas é uma estratégia eficaz de


desobfuscação, pois simplifica o código obfuscado, mantendo sua funcionalidade, o que
facilita, significativamente, a análise por analistas de segurança.

A) Incorreto. A obfuscação é usada por desenvolvedores de malwares para complicar a


análise e A detecção do código malicioso, não por analistas de segurança.
B) Incorreto. A desobfuscação é o processo de reverter as técnicas de obfuscação, tornar o
código mais compreensível e facilitar a análise por parte dos analistas de segurança.
C) Incorreto. A obfuscação, na verdade, complica o código por meio de técnicas como
operações matemáticas desnecessárias e fluxos de controle complexos, com o objetivo de
dificultar a análise.
D) Incorreto. A obfuscação é especificamente projetada para complicar a análise e a detec-
ção por parte das ferramentas automatizadas, tornando-a uma barreira significativa para a
identificação de malwares.

7
7
GABARITO

3. Alternativa B. Correto. Estas ferramentas desempenham um papel vital na desobfuscação


de códigos maliciosos, tornando a análise de malwares mais acessível e eficaz ao revelar e
simplificar técnicas de obfuscação.

A) Incorreto. IDA Pro e Ghidra não só oferecem suporte para engenharia reversa, mas tam-
bém possuem funcionalidades importantes para a desobfuscação de códigos, facilitando
a análise do código original.
C) IDA Pro e Ghidra continuam sendo ferramentas valiosas na análise de malwares, incluindo a
desobfuscação de códigos. Eles são constantemente atualizados e utilizados por profissionais
para enfrentar até mesmo as técnicas de obfuscação mais avançadas.
D) Incorreto. OllyDbg e x64dbg oferecem suporte para análise dinâmica, permitindo aos ana-
listas executarem malwares em ambientes controlados e observarem seu comportamento
em tempo real, o que é crucial para revelar técnicas de obfuscação aplicadas.
E) Incorreto. A desobfuscação é uma etapa crítica na análise de malwares, pois as técnicas de
obfuscação complicam, significativamente, a análise e a compreensão do código malicioso,
tornando essa prática essencial para entender e neutralizar ameaças.

7
7
UNIDADE 2
TEMA DE APRENDIZAGEM 4

VÍRUS POLIMÓRFICOS E VÍRUS


METAMÓRFICOS

MINHAS METAS

Definir vírus polimórficos e metamórficos.

Explorar a história dos vírus evolutivos.

Descrever as técnicas de alteração de código por vírus.

Aprender os fundamentos da engenharia reversa.

Identificar estratégias para detecção de malwares.

Conhecer o uso de IA/ML em segurança cibernética.

Analisar o caso prático do vírus VirLock.

7
7
U N IASSE LVI

INICIE SUA JORNADA


Imagine uma startup inovadora no campo da tecnologia de saúde, dedicada
a desenvolver soluções digitais que melhoram o bem-estar dos pacientes. No
auge de seu crescimento, a empresa se depara com um desafio inesperado: um
ataque cibernético sofisticado que criptografa seus dados críticos, paralisando
operações. O malware em questão é um vírus polimórfico, capaz de alterar sua
assinatura digital a cada infecção, tornando sua detecção e sua remoção excep-
cionalmente desafiadoras.
A resolução desse incidente vai além da simples recuperação dos dados
perdidos, ela se torna essencial para a sobrevivência da empresa. A capacida-
de de entender e combater esse tipo de malware polimórfico e metamórfico
não é apenas uma habilidade técnica, é uma necessidade empresarial crítica.
A segurança cibernética robusta protege não apenas os dados, mas tam-
bém a confiança do cliente, a integridade da marca e o futuro da inovação.
Aprender a identificar, analisar e neutralizar essas ameaças é crucial para
qualquer profissional de TI.
Ao avançar neste curso, você se familiarizará com conceitos fundamentais
para abordar o desafio enfrentado pela startup mencionada anteriormente.
Aprenderá a aplicar conceitos teóricos na identificação, na análise e na neutraliza-
ção de vírus polimórficos que ameaçam organizações. Descobrirá como utilizar
técnicas de engenharia reversa para desvendar o código mutável de malwares e
explorará estratégias de detecção comportamental e heurística, englobando o
uso de inteligência artificial e machine learning. Essa jornada de aprendizado
permitirá que você entenda como a teoria se aplica na prática, equipando-o para
resolver desafios de segurança cibernética no mundo real.
A reflexão sobre a jornada de aprendizado sublinha a importância crucial
da segurança cibernética no panorama digital atual. Encoraja você a ponderar
sobre o papel da ética e da responsabilidade na proteção de dados sensíveis
e na construção da confiança do cliente. Este curso não apenas o prepara
tecnicamente para combater ameaças sofisticadas, mas também destaca o
impacto significativo que profissionais de TI têm na sociedade, promovendo
um futuro digital mais seguro e resiliente.

7
7
T E MA DE A PR E ND IZAGEM 4

P L AY N O CO NHEC I M ENTO

Convidamos você a assistir ao nosso podcast intitulado Além dos Vírus: Navegando
na Nova Era dos Malwares, no qual abordamos a evolução e o futuro dos malwares
em ambientes emergentes. Recursos de mídia disponíveis no conteúdo digital
do ambiente virtual de aprendizagem.

VAMOS RECORDAR?
Você se lembra do que são vírus de computadores? Neste vídeo, relembraremos
tal conceito, seus variados tipos e como eles afetam os computadores atuais:
https://www.youtube.com/watch?si=u4T9QZQ7eFGgl-
6t&v=LSUwfF9lvgw&feature=youtu.be

DESENVOLVA SEU POTENCIAL

INTRODUÇÃO AOS VÍRUS POLIMÓRFICOS E METAMÓRFICOS

Os vírus polimórficos
e metamórficos repre-
sentam duas das téc-
nicas mais sofisticadas
usadas por malwares
para evitar detecção e
análise. Ambos com-
partilham o objetivo de
camuflar suas assina-
turas de código a cada
infecção, mas utilizam
métodos distintos para
alcançar esse fim.

7
7
U N IASSE LVI

Vírus Polimórficos são capazes de alterar sua assi-


Alterar sua
natura de código a cada infecção, usando técnicas de
assinatura de código
criptografia ou de alteração do código, mantendo a
a cada infecção
funcionalidade original. Eles utilizam um motor de
polimorfismo para gerar novas versões de si mesmos,
dificultando a detecção por programas antivírus ba-
seados em assinaturas (Alsmadi; Alqudah, 2021).
Vírus Metamórficos reescrevem completa-
Reescrevem
mente seu próprio código à medida que se propa-
completamente
gam, não se limitando à criptografia. Eles podem
seu próprio código
modificar, reordenar, inserir ou remover partes do à medida que se
código, resultando em uma nova versão que pode propagam
ser substancialmente diferente da original a cada
nova infecção (Alsmadi; Alqudah, 2021).

Altera o código a cada infecção,


dificultando a detecção.
Polimórfico

VÍRUS

Reescreve seu próprio código,


evadingo defesas tradicionais.
Metamórfico

Figura 1 - Definição de Vírus Polimórfico e Metamórfico / Fonte: o autor (2024).

Descrição da Imagem: a figura é um diagrama que explica dois tipos de vírus de computador: polimórfico e
metamórfico. No centro à esquerda, há uma caixa com a palavra “Vírus”. A partir dessa caixa, saem duas setas
que se dividem em duas direções: uma para cima e outra para baixo. A seta superior leva a uma caixa que contém
um ícone de chapéu e óculos (representando algo furtivo) e um símbolo de alerta. Abaixo do ícone, está escrito
“Polimórfico”. Ao lado direito dessa caixa, há uma descrição que diz: “Altera o código a cada infecção, dificultando
a detecção”. A seta inferior leva a uma caixa similar com um ícone de chapéu e óculos e um símbolo de alerta.
Abaixo do ícone, está escrito “Metamórfico”. Ao lado direito dessa caixa, há uma descrição que diz: “Reescreve
seu próprio código, evadindo defesas tradicionais”.

7
7
T E MA DE A PR E ND IZAGEM 4

Comparando com outros malwares, como trojans, worms, ransomware, spyware


e adware, discutidos anteriormente, os vírus polimórficos e metamórficos são
notáveis por sua capacidade de evasão. Enquanto os outros tipos de malwares
têm características e vetores de ataque bem definidos, esses vírus desafiam a
detecção ao mudar ativamente suas características.

História e evolução

A história dos vírus polimórficos e metamórficos é marcada pela constante corrida


armamentista entre criadores de malwares e pesquisadores de segurança. O con-
ceito de malware que pode alterar sua forma para evitar detecção não é novo, mas
a complexidade e a sofisticação dessas técnicas têm evoluído, significativamente.
Nos primeiros dias da computação, os vírus eram relativamente simples, e sua
detecção e sua remoção eram diretas. No entanto, à medida que os antivírus se
tornaram mais avançados, os criadores de vírus começaram a explorar métodos
para burlar essas defesas. Foi nesse contexto que os primeiros vírus polimórfi-
cos e, posteriormente, metamórficos surgiram, demonstrando a capacidade dos
malwares de se adaptar e resistir às tentativas de erradicação.

Exemplos notáveis no mundo real

Ao longo dos anos, vários exemplos de vírus polimórficos e metamórficos captu-


raram a atenção do mundo da segurança cibernética tanto por sua complexidade
quanto pelo desafio que representam para a detecção e a análise.

8
8
U N IASSE LVI

■ Vírus Polimórfico: Marburg, um vírus polimórfico notório, que gerava


novas assinaturas de código cada vez que infectava um novo arquivo,
dificultando sua detecção pelos antivírus convencionais, baseados em
assinaturas (Szor, 2005).
■ Vírus Metamórfico: ZMist (também conhecido como Mistfall), um dos
primeiros vírus metamórficos conhecidos, que possuía a capacidade de
misturar seu código com o dos arquivos infectados de maneiras diferen-
tes, tornando quase impossível para os programas antivírus detectá-lo
usando métodos tradicionais (Brezinski; Ferens, 2021).

Os exemplos ilustram a necessidade de desenvolver técnicas de detecção e análise


mais sofisticadas, capazes de lidar com a natureza mutável desses malwares. A
evolução contínua dos vírus polimórficos e metamórficos serve como um lem-
brete constante da dinâmica natureza da segurança cibernética.

MECANISMOS DE POLIMORFISMO E METAMORFISMO

Na jornada contínua para entender e combater malwares, um desafio particular-


mente insidioso surge com o advento de vírus polimórficos e metamórficos. Esses
sofisticados agentes maliciosos elevam a complexidade da análise e da detecção
de malware a novos patamares, utilizando técnicas avançadas para alterar seu
código e seu comportamento a cada infecção, dificultando, assim, sua identifi-
cação e sua neutralização (Alsmadi; Alqudah, 2021).

Técnicas de Polimorfismo

Vírus polimórficos são mestres do disfarce. Utilizando algoritmos de cripto-


grafia, eles mudam sua aparência – ou, mais precisamente, seu código binário
– sem alterar a funcionalidade essencial. Tal mecanismo de alteração permite
que escapem da detecção por ferramentas de segurança que dependem de assi-
naturas específicas para identificar malwares conhecidos. Cada nova instância do
vírus parece única para scanners de antivírus, mesmo que, em essência, execute
a mesma ação maliciosa (Alsmadi; Alqudah, 2021).

8
8
T E MA DE A PR E ND IZAGEM 4

Por exemplo, quando um vírus polimórfico infecta um novo sistema, ele se


criptografa de maneira diferente, alterando seu código-fonte, mas mantém a car-
ga útil intacta. Essa capacidade de autoalteração complica, significativamente, a
tarefa de análise de malware, exigindo uma abordagem mais dinâmica que possa
reconhecer padrões de comportamento em vez de assinaturas estáticas.

Técnicas de Metamorfismo

Enquanto os vírus polimórficos se disfarçam, por meio da criptografia, os vírus


metamórficos adotam uma estratégia ainda mais radical: eles reescrevem com-
pletamente seu próprio código a cada nova infecção, eliminando a necessidade
de um algoritmo de criptografia. Isso é conseguido por meio de técnicas, como
a reordenação de instruções, inserção de instruções inúteis (NOPs) e variação
lógica, assegurando que nenhuma das duas instâncias do vírus sejam idênticas
a nível de código (Badhwar, 2021).
Essa habilidade de autorrenovação apresenta um desafio colossal para a
detecção e a análise, pois torna ineficazes as técnicas tradicionais baseadas em
assinaturas. A análise de tais vírus requer uma compreensão profunda de como
os malwares operam em nível comportamental e lógico, exigindo o uso de análise
dinâmica para capturar a essência do malware em ação.

Engenharia reversa de vírus polimórficos e metamórficos

A engenharia reversa destes malwares altamente evasivos exige uma abor-


dagem meticulosa e ferramentas avançadas. Diferente dos malwares mais
simples cuja análise estática pode ser suficiente para entender sua operação
e os neutralizar, vírus polimórficos e metamórficos demandam uma análise
dinâmica detalhada. Isso envolve executar o vírus em um ambiente seguro
e monitorado (sandbox) para observar seu comportamento e as mudanças
que realiza em si mesmo e no sistema infectado.
Ferramentas, como depuradores e desmontadores vistas nos conteúdos ante-
riores são essenciais, pois permitem aos analistas de segurança desmontar o código
do vírus e inspecionar sua execução passo a passo. Essas técnicas não apenas facili-
tam a identificação de padrões de comportamento malicioso, mas também ajudam
a revelar os mecanismos de polimorfismo e metamorfismo que o vírus emprega.

8
8
U N IASSE LVI

DETECÇÃO E
ANÁLISE DE VÍRUS
POLIMÓRFICOS E
METAMÓRFICOS
A constante evolução dos vírus polimórficos e
metamórficos apresenta desafios únicos para os
especialistas em segurança cibernética. A habilidade
desses malwares para alterar seu código a cada nova infecção
os torna alvos particularmente esquivos para as técnicas tradicionais de
detecção. Este capítulo se aprofunda na detecção e na análise desses
vírus avançados, expandindo sobre os fundamentos já estabelecidos
nos capítulos anteriores.

Desafios na detecção: como a constante mudança de código


afeta as estratégias de detecção

A detecção de malwares que, incessantemente, alteram suas assinaturas de có-


digo exige uma reavaliação das estratégias convencionais de segurança. Vírus
polimórficos e metamórficos desafiam os paradigmas de detecção baseados em
assinaturas, forçando os pesquisadores a adotarem abordagens mais sofisticadas
que se enfocam no comportamento e nas características heurísticas do malware
(Badhwar, 2021). Essas técnicas devem ser adaptáveis e inteligentes o suficiente
para reconhecer padrões de comportamento malicioso, mesmo quando a repre-
sentação de código subjacente do malware muda.

Ferramentas e técnicas de análise:


Análise estática X Análise dinâmica

Enquanto ferramentas, como IDA Pro, Ghidra e Radare2 são indispensáveis


para a análise estática de malwares, e x64dbg e Cuckoo Sandbox são cruciais para
análise dinâmica, o enfoque aqui é como essas ferramentas podem ser adaptadas ou
complementadas para enfrentar o desafio único dos vírus polimórficos e metamórficos.
Por exemplo, técnicas avançadas de análise estática que empregam algoritmos de
detecção de padrões e análise de semântica de código podem ser exploradas para
identificar estruturas mutáveis no código de vírus polimórficos e metamórficos.

8
8
T E MA DE A PR E ND IZAGEM 4

Para análise dinâmica, a ênfase recai sobre a configuração avançada de


sandboxes para capturar comportamentos maliciosos efêmeros e técnicas de
machine learning para analisar e prever ações do malware, baseando-se em
suas interações com o sistema e a rede. Essas abordagens requerem uma in-
tegração mais profunda com o sistema operacional e com os componentes de
rede para monitorar de perto as atividades suspeitas, indo além da execução
de malware em um ambiente isolado.

ESTRATÉGIAS DE DEFESA E MITIGAÇÃO

A batalha contra vírus polimórficos e metamórficos exige uma combinação de


estratégias de defesa proativas e reativas. À medida que os malwares evoluem,
torna-se cada vez mais crítico adotar abordagens inovadoras para detectá-los
e os mitigar, eficazmente.
Esta seção explora as técnicas e as metodologias fundamentais na prote-
ção contra as ameaças avançadas, destacando o papel crucial da tecnologia
moderna, como a Inteligência Artificial (IA) e o Aprendizado de Máquina,
do inglês Machine Learning (ML), na revolução da detecção de malwares.

Abordagens proativas e reativas na luta contra vírus


polimórficos e metamórficos

A defesa contra malwares sofisticados demanda um equilíbrio entre medidas


proativas e reativas. As estratégias proativas incluem a implementação de
práticas rigorosas de segurança, como a programação segura, a segmentação
de redes e a educação em segurança cibernética para usuários. Essas medidas
visam prevenir infecções antes que ocorram.
Em contrapartida, as estratégias reativas focam na identificação e na mitiga-
ção de malwares após a infecção. Isso inclui a análise de sistemas para detectar
atividades suspeitas, a remoção de malwares identificados e a restauração de
sistemas afetados. A combinação dessas abordagens permite que organizações
e indivíduos se defendam de forma mais eficiente contra ameaças emergentes.

8
8
U N IASSE LVI

Atualizações de assinatura, heurísticas e detecção


comportamental

Tradicionalmente, a detecção de malwares tem se apoiado fortemente em atua-


lizações de assinatura para identificar ameaças conhecidas. No entanto, frente
aos vírus polimórficos e metamórficos, essa estratégia mostra-se insuficiente.
Em resposta, a indústria de segurança tem se voltado para métodos heurísticos
e de detecção comportamental.
As heurísticas aplicam regras gerais para identificar comportamentos suspei-
tos ou padrões de código que possam indicar a presença de malware, enquanto
a detecção comportamental monitora o comportamento do sistema em busca
de atividades anormais. Ambas as técnicas são fundamentais na identificação de
malwares que alteram sua aparência para evitar detecção.

O papel da Inteligência Artificial e do Machine Learning na


detecção de malwares avançados

A IA e o ML estão revolucionando a detecção de malwares, oferecendo ca-


pacidades sem precedentes para aprender e se adaptar a novas ameaças. Ao
analisar grandes volumes de dados sobre comportamentos maliciosos e be-
nignos, sistemas baseados em ML podem identificar padrões e prever poten-
ciais ameaças com grande precisão (Kuriyal, 2022).

8
8
T E MA DE A PR E ND IZAGEM 4

A capacidade de aprendizado contínuo é, particular-


mente, valiosa na luta contra vírus polimórficos e meta-
mórficos, que, constantemente, alteram suas técnicas para
evadir a detecção. A aplicação de IA e ML não se limita à
detecção de malwares, ela também aprimora a resposta
a incidentes e a capacidade de prever e prevenir futuras
infecções. A automação proporcionada por essas tecnolo-
gias permite uma reação mais rápida e eficaz a incidentes
de segurança, reduzindo o tempo de exposição a malwa-
res e mitigando seus impactos potenciais (Kuriyal, 2022).
Exemplos de Aplicação de IA e ML na Detecção de
malwares:

DETECÇÃO COMPORTAMENTAL

Sistemas de IA podem monitorar como um programa


se comporta em execução. Se um programa tenta
criptografar arquivos repentinamente, ou se comuni-
ca com um servidor suspeito, a IA pode reconhecer
essas ações como potenciais indicativos de ransom-
ware ou de um trojan.

ANÁLISE DE ANOMALIAS

ML é excepcional em detectar desvios de padrões


normais. Se um malware tenta se disfarçar como
um processo do sistema, mas seu comportamento
difere, significativamente, do esperado, o sistema de
ML pode alertar os analistas sobre essa anomalia.

AUTOMAÇÃO DE ANÁLISE DE MALWARES

Algoritmos de IA podem automatizar parte do


processo de análise de malware, identificando
rapidamente componentes maliciosos em softwares
suspeitos. Isso acelera a capacidade de resposta a
novas ameaças, permitindo que os analistas se con-
centrem em ameaças mais complexas.

8
8
U N IASSE LVI

Para exemplificar, na prática, consideremos o seguinte exem-


plo: digamos que você mostre a um aluno várias imagens de
gatos e cães. Com o tempo, esse aluno aprende a distinguir os
dois, mesmo que cada gato e cada cão sejam únicos. Esse pro-
cedimento é conhecido como treinamento (Figura 2). Aplican-
do isso à segurança cibernética, o ML analisa as características
dos arquivos (como código, comportamento e a maneira como
interagem com o sistema) e aprende a identificar quais carac-
terísticas são mais prováveis de indicar a presença de malware.

Figura 2 - Processo de treinamento de um algoritmo de Machine Learning para identificar


anomalias / Fonte: o autor.

Descrição da Imagem: a figura mostra um diagrama que ilustra o processo de criação


de um modelo preditivo usando machine learning. Dados de Entrada: à esquerda, há
uma caixa com o título “Dados de Entrada”. Dentro dessa caixa, há duas categorias de
arquivos: Arquivos benignos: representados por ícones de documentos verdes.; Arquivos
malignos: representados por ícones de documentos vermelhos. Treinamento: uma seta
apontando para a direita conecta os dados de entrada a uma caixa central que representa
o “Algoritmo de Machine Learning”. Dentro dessa caixa, há ícones de engrenagens, sim-
bolizando o processo de treinamento do algoritmo. Modelo Preditivo: outra seta aponta
do “Algoritmo de Machine Learning” para uma caixa à direita. Essa última caixa é rotulada
como “Modelo Preditivo” e contém um ícone que representa uma rede ou uma estrutura
de dados, indicando o resultado do treinamento.

Assim como o aluno aprende a distinguir gatos de cães, sistemas


de ML treinados com dados sobre malwares e softwares legítimos
aprendem a reconhecer as sutis diferenças entre comportamentos
maliciosos e benignos. Isso permite que detectem até mesmo os
malwares mais disfarçados ou polimórficos cujas características
podem não ser imediatamente óbvias para métodos tradicionais
de detecção baseados em assinaturas.

8
8
T E MA DE A PR E ND IZAGEM 4

Figura 3 - Processamento do Modelo Preditivo gerado no treinamento para identificar anomalias / Fonte: o autor.

Descrição da Imagem: a figura mostra um diagrama que demonstra o uso de um modelo preditivo para classificar
arquivos desconhecidos. Dados de Entrada: à esquerda, há uma caixa com o título “Dados de Entrada”. Dentro
dessa caixa, há dois conjuntos de ícones de documentos cinza, todos rotulados como “Arquivos Desconhecidos”.
Processamento pelo Modelo Preditivo: uma seta aponta os “Dados de Entrada” para uma caixa central que re-
presenta o “Modelo Preditivo”. A caixa central contém um ícone que simboliza uma rede ou uma estrutura de
dados, indicando que é o modelo preditivo responsável pelo processamento dos arquivos desconhecidos. Decisão
do Modelo: outra seta aponta do “Modelo Preditivo” para uma caixa à direita. Essa última caixa é rotulada como
“Decisão do Modelo” e contém ícones de documentos verdes e vermelhos. Os documentos verdes representam
arquivos “Benignos”, e os documentos vermelhos representam arquivos “Malware”.

Ao integrar IA e ML nas estratégias de defesa e mitigação, as organizações podem


melhorar, significativamente, sua capacidade de detectar e responder a malwares
polimórficos e metamórficos. Estas tecnologias não substituem os analistas de
segurança, mas os equipam com capacidades ampliadas para enfrentar as amea-
ças cibernéticas em constante evolução.

ESTUDO DE CASO: ANÁLISE DO VÍRUS POLIMÓRFICO


VIRLOCK

Para fornecer um exemplo mais concreto, exploraremos um estudo de caso


baseado em análises reais de vírus polimórficos e metamórficos, adaptando
conhecimentos gerais sobre o conteúdo e demonstrando como os conceitos
teóricos são aplicados na prática.

8
8
U N IASSE LVI

Nesse estudo de caso, mergulharemos na análise do VirLock, um exemplo


notável de vírus polimórfico que desafia os limites da detecção e da análise de
malware. VirLock não é apenas um ransomware que criptografa arquivos da víti-
ma, exigindo um resgate para a descriptografia, mas também possui capacidades
polimórficas, alterando sua aparência a cada execução.

E U IN D ICO

Quer saber mais sobre o vírus VirLock e sobre como o remover de um computador
infectado? Recomendo assistir a este vídeo, disponível aqui:
https://www.youtube.com/watch?v=dzT9h-Rj0GQ

Esta seção explora as técnicas empregadas para analisar VirLock, destacando


as estratégias utilizadas para superar seus mecanismos de defesa e oferecendo
insights sobre a luta contra malwares avançados.

Análise do vírus Polimórfico VirLock

VirLock é um exemplo de vírus polimórfico que


combina as funcionalidades de um ransomware
com as de um parasita polimórfico. Ele não apenas
criptografa os arquivos da vítima, exigindo um res-
gate para sua liberação, mas também se espalha ao
infectar outros arquivos executáveis, alterando seu
código a cada infecção para evitar detecção.
A principal dificuldade na análise do VirLock
reside em sua capacidade polimórfica, que per-
mite a ele mudar sua assinatura de código cada
vez que infecta um novo arquivo, dificultando a
identificação por antivírus tradicionais baseados
em assinaturas.

8
8
T E MA DE A PR E ND IZAGEM 4

Para combater o VirLock, analistas de segurança adotaram uma abordagem


multifacetada:

ANÁLISE ESTÁTICA

Ferramentas, como IDA Pro, foram utilizadas, inicialmente, para desmontar o códi-
go do VirLock, buscando entender sua lógica de infecção e os mecanismos de
criptografia. Apesar da natureza polimórfica do vírus, a análise estática permitiu
identificar padrões recorrentes em sua execução, como as chamadas a determi-
nadas APIs do sistema operacional usadas na criptografia de arquivos.

ANÁLISE DINÂMICA

Utilizando sandboxes, como o Cuckoo, os pesquisadores executaram o VirLock


em um ambiente controlado para observar seu comportamento em tempo real.
A análise dinâmica revelou como o vírus se replicava e infectava outros arquivos,
além de detalhar o processo de criptografia e a comunicação com seu servidor
de comando e controle (C&C) para o pagamento do resgate.

TÉCNICAS DE MACHINE LEARNING

Para melhorar a detecção do VirLock em suas diversas mutações, foram empre-


gadas técnicas de machine learning. Por meio da análise de grandes volumes de
dados sobre o comportamento do malware, modelos preditivos foram treinados
para identificar características comportamentais do VirLock, independentemente
de suas alterações de código.

A análise do VirLock ressalta a importância de uma abordagem holística na luta


contra malwares polimórficos. Ao combinar análise estática e dinâmica com o
poder do machine learning, é possível não apenas entender e neutralizar uma
ameaça específica, mas também aprimorar as ferramentas de detecção para pre-
ver e combater futuras variantes polimórficas.

E M FO CO

Confira a aula referente a este tema.. Recursos de mídia disponíveis no conteúdo


digital do ambiente virtual de aprendizagem.

9
9
U N IASSE LVI

NOVOS DESAFIOS
À medida que você avança neste curso, absorvendo conhecimentos sobre
vírus polimórficos e metamórficos, suas técnicas evasivas e as estratégias para
os combater, um horizonte de novos desafios se abre diante de você, no am-
biente profissional. O mercado de trabalho na área de segurança cibernética
está em constante evolução, impulsionado pela inovação tecnológica e pela
crescente sofisticação das ameaças digitais.
A situação-problema, inicialmente apresentada, envolvendo uma startup
de tecnologia da saúde, ilustra perfeitamente os desafios reais que organiza-
ções enfrentam no dia a dia. Resolver tal problema não apenas exige uma
compreensão profunda dos conceitos teóricos abordados, mas também uma
habilidade para aplicar esses conhecimentos, de forma prática e efetiva. A
segurança cibernética não é apenas um campo de estudo, é uma prática que
protege informações valiosas e mantém a integridade dos sistemas digitais.
Nesse contexto dinâmico, a capacidade de se adaptar rapidamente às no-
vas tecnologias e às estratégias de ataque é fundamental. Os vírus polimór-
ficos e metamórficos representam apenas a ponta do iceberg em um oceano
de ameaças cibernéticas. Profissionais bem-sucedidos na área de seguran-
ça cibernética devem permanecer eternamente curiosos, dedicando-se ao
aprendizado contínuo e à atualização de suas habilidades. Essa abordagem
proativa não apenas fortalece as defesas organizacionais, mas também abre
novas oportunidades de carreira em um campo que valoriza a inovação e a
resolução criativa de problemas.
Além disso, a colaboração e o compartilhamento de conhecimento entre
profissionais de segurança cibernética desempenham um papel crucial no
combate a malwares avançados. A complexidade dos vírus polimórficos e
metamórficos exige uma abordagem coletiva cujas informações e estratégias
são compartilhadas para desenvolver defesas mais eficazes. Ao entrar nesse
campo, você se tornará parte de uma comunidade global de defensores digi-
tais, trabalhando juntos para proteger a infraestrutura crítica e as informações
privadas contra invasores cada vez mais sofisticados.

9
9
AUTOATIVIDADE

1. A evolução constante dos malwares apresenta desafios sem precedentes na área de segu-
rança cibernética, especialmente, quando consideramos as capacidades adaptativas dos
vírus polimórficos e metamórficos. A habilidade de alterar sua composição de código, ou
mesmo reescrever-se completamente permite a esses vírus uma persistência e uma taxa
de sucesso na infecção de sistemas que são, significativamente, superiores às de malwares
mais estáticos. Esse cenário reforça a necessidade crítica de inovação contínua nas tecno-
logias e nas práticas de segurança cibernética, para acompanhar e contrariar, efetivamente,
as ameaças em evolução (Szor, 2005).

Considerando o que foi apresentado sobre vírus polimórficos e metamórficos, qual das se-
guintes afirmações descreve corretamente uma característica distintiva de cada um deles?

a) Ambos, Marburg e ZMist, são exemplos de vírus polimórficos que alteram suas assinaturas
de código usando criptografia.
b) O vírus Marburg é um exemplo de malware metamórfico que reescreve completamente
seu código, enquanto ZMist é um vírus polimórfico.
c) Nenhum dos vírus mencionados possui a capacidade de alterar sua assinatura de código;
eles dependem, exclusivamente, de técnicas de camuflagem.
d) Vírus polimórficos e metamórficos são eficazes, principalmente, porque limitam sua pro-
pagação para evitar detecção por softwares antivírus.
e) ZMist é um vírus metamórfico que pode misturar seu código com o de arquivos infecta-
dos de maneiras diferentes, um método distinto de evasão.

9
9
AUTOATIVIDADE

2. Na arena da cibersegurança, profissionais enfrentam desafios cada vez mais complexos


com a ascensão dos vírus polimórficos e metamórficos. Esses agentes de ameaça se desta-
cam por sua habilidade em modificar ativamente suas estruturas de código para cada nova
ocorrência de infecção. Tal capacidade de metamorfose não apenas complica o processo
de detecção, mas também pressiona os especialistas da área a buscarem métodos mais
avançados que possam adaptar-se às constantes mudanças comportamentais e técnicas
empregadas por esses malwares. Essa necessidade de inovação sublinha a importância de
desenvolver estratégias de detecção mais inteligentes, capazes de ir além das limitações
dos sistemas de segurança convencionais(Badhwar, 2021).

Dada a dificuldade em detectar vírus polimórficos e metamórficos por meio de métodos


tradicionais, qual das seguintes abordagens seria mais eficaz na identificação e na análise
dessas ameaças?

a) Restringir o acesso à internet para reduzir a exposição a novas ameaças.


b) Aumentar a frequência das atualizações das bases de dados de assinaturas de vírus.
c) Implementar rigorosas políticas de controle de acesso e autenticação para prevenir in-
fecções.
d) Concentrar-se, exclusivamente, em soluções de antivírus baseadas em nuvem, para
análise em tempo real.
e) Utilizar técnicas de aprendizado de máquina para analisar padrões de comportamento
do malware e identificar ameaças desconhecidas.

9
9
AUTOATIVIDADE

3. A adaptação contínua dos vírus polimórficos e metamórficos representa um dos maiores


desafios na área de segurança cibernética atual. Sua capacidade de alterar o código em
cada nova infecção torna esses malwares particularmente difíceis de serem detectados
pelas abordagens tradicionais, que, geralmente, se baseiam na identificação de assinaturas
específicas. Diante disso, especialistas são compelidos a buscar métodos de detecção mais
avançados, que incluem o foco em padrões de comportamento malicioso e características
heurísticas, adaptando-se, assim, à natureza dinâmica dessas ameaças. Tal enfoque de-
manda uma compreensão profunda não apenas do código do malware, mas também de
seu comportamento dentro de sistemas infectados (Badhwar, 2021).

Baseado na descrição das estratégias para a detecção e a análise de vírus polimórficos e


metamórficos, qual das seguintes afirmações melhor ilustra um método eficaz para combater
essas ameaças?

a) Manter as bases de dados de assinaturas de antivírus atualizadas é a técnica mais eficaz


para detectar e neutralizar vírus polimórficos e metamórficos.
b) Isolar a execução de malwares em sandboxes é uma medida de segurança exagerada e
desnecessária no contexto de vírus polimórficos e metamórficos.
c) O uso exclusivo de ferramentas de análise dinâmica, sem o apoio de análise estática,
é suficiente para uma compreensão completa dos vírus polimórficos e metamórficos.
d) As configurações avançadas de sandbox, com técnicas de machine learning, são fun-
damentais para entender e prever o comportamento de malwares polimórficos e me-
tamórficos.
e) A análise estática, quando utilizada isoladamente, é capaz de identificar todas as variantes
de vírus polimórficos e metamórficos, devido à sua profundidade de inspeção de código.

9
9
REFERÊNCIAS

ALSMADI, T.; ALQUDAH, N. A survey on malware detection techniques. In: INTERNATIONAL


CONFERENCE ON INFORMATION TECHNOLOGY (ICIT), 2021, AMMAN. Proceedings [...]. Amman:
IEEE, 2021. p. 371-376.

BADHWAR, R. Polymorphic and metamorphic malware. In: BADHWAR, R. The CISO’s Next Fron-
tier: AI, Post-Quantum Cryptography and Advanced Security Paradigms. Cham: Springer Inter-
national Publishing, 2021. p. 279-285.

BREZINSKI, K.; FERENS, K. Metamorphic malware and obfuscation: a survey of techniques, va-
riants, and generation kits. Security and Communication Networks, [s. l.], v. 2023, p. 1-41, 2021.

KURIYAL, V. et al. Metamorphic and polymorphic malware detection and classification using dy-
namic analysis of API calls. In: AIP CONFERENCE PROCEEDINGS, Dehradun, 2022, Proceedings
[...]. Dehradun: AIP Publishing, 2022.

SZOR, P. Art of Computer Virus Research and Defense, The Portable Documents. [S. l.]: Pear-
son Education, 2005.

9
9
GABARITO

1. Alternativa E. Correto. ZMist é, de fato, um vírus metamórfico que exemplifica a habilidade


de misturar seu código com arquivos infectados para evitar detecção.

A) Incorreto. Marburg é um exemplo de vírus polimórfico que altera sua assinatura de código,
mas ZMist é um vírus metamórfico conhecido por reescrever seu código.
B) Incorreto. Marburg é um vírus polimórfico, não metamórfico, e ZMist é o exemplo de vírus
metamórfico.
C) Incorreto. Ambos os vírus, Marburg e ZMist, possuem capacidades distintas de alteração
de código, seja por polimorfismo seja por metamorfismo, não se limitando a técnicas de
camuflagem.
D) Incorreto. A eficácia desses vírus não se deve à limitação de sua propagação, mas à sua
capacidade de alterar suas assinaturas de código, ou reescrever seu código, dificultando a
detecção por softwares antivírus.

2. Alternativa E. Correto. O aprendizado de máquina oferece uma abordagem adaptativa e


inteligente capaz de identificar padrões de comportamento malicioso, mesmo quando o
malware altera sua representação de código, tornando-o uma estratégia eficaz contra vírus
polimórficos e metamórficos.

A) Incorreto. Restringir o acesso à internet pode reduzir a exposição a ameaças, mas não é
uma estratégia viável ou eficaz para a detecção e a análise de malwares que já estão pre-
sentes e ativos no sistema.
B) Incorreto. Embora atualizações frequentes sejam importantes, elas não são suficiente-
mente eficazes contra vírus que alteram seu código a cada infecção, pois essas ameaças
necessitam de técnicas que vão além da identificação baseada em assinaturas estáticas.
C) Incorreto. Políticas de controle de acesso e autenticação são componentes críticos da
segurança cibernética, mas elas não abordam diretamente o desafio de detectar vírus po-
limórficos e metamórficos que alteram seu código para evitar detecção.
D) Incorreto. Soluções baseadas em nuvem podem melhorar a detecção em tempo real,
mas confiar exclusivamente nelas não aborda o desafio de reconhecer padrões de compor-
tamento malicioso de vírus que alteram seu código, constantemente.

9
9
GABARITO

3. Alternativa D. Correto. Essas técnicas permitem a captura de comportamentos maliciosos


efêmeros e a análise preditiva baseada em interações complexas com o sistema e a rede,
oferecendo uma estratégia eficaz contra as ameaças evasivas.

A) Incorreto. Embora a atualização das bases de dados de assinaturas seja importante, ela
não é suficiente por si só para combater vírus que alteram constantemente seu código,
requerendo métodos mais sofisticados.
B) Incorreto. A execução de malwares em ambientes de sandbox é uma técnica importante
que permite a observação segura do comportamento do malware sem comprometer o
sistema principal, essencial para a análise de ameaças que alteram seu comportamento.
C) Incorreto. A análise dinâmica é crucial, mas, para uma compreensão abrangente e eficaz
de detecção de malwares avançados, ela deve ser utilizada em conjunto com a análise
estática e outras técnicas inovadoras.
E) Incorreto. A análise estática é valiosa, mas sua eficácia é limitada contra vírus que alteram
seu código, necessitando ser complementada por técnicas de análise dinâmica e outras
abordagens avançadas.

9
9
TEMA DE APRENDIZAGEM 5

NOÇÕES BÁSICAS DE ASSEMBLY


X86

MINHAS METAS

Compreender a história e evolução do Assembly x86.

Identificar a importância do Assembly em análises de malware.

Dominar os fundamentos e os registros do processador x86.

Executar operações básicas em Assembly, incluindo aritmética.

Praticar o controle de fluxo e manipulação de memória.

Desenvolver e depurar programas simples em Assembly.

Analisar malwares usando técnicas de Assembly x86.

9
9
U N IASSE LVI

INICIE SUA JORNADA


Imagine que você faz parte de uma equipe de segurança cibernética. Você
acabou de ser informado que uma série de ataques sofisticados está compro-
metendo a integridade dos sistemas internos. A suspeita é que um malware
avançado está explorando vulnerabilidades desconhecidas. Como analista
de malwares, você sabe que a solução é entender o comportamento exato do
código malicioso. Mas há um desafio: o malware está escrito e ofuscado em
Assembly x86, uma linguagem de programação de baixo nível, conhecida por
sua complexidade e seu poder.
A capacidade de analisar e entender Assembly x86 não é apenas uma habili-
dade técnica, é uma necessidade imperativa no campo da segurança cibernética.
Ao decifrar o Assembly x86, você e sua equipe podem identificar as estratégias
usadas pelos atacantes, desenvolver medidas de mitigação específicas e, mais
importante, prevenir ataques futuros. A análise detalhada desse malware não
só protege sua organização, mas também contribui para a segurança cibernética
global, ajudando a identificar e corrigir vulnerabilidades antes que elas sejam
exploradas em larga escala.
Ao longo deste tema, você fundamentará seu conhecimento em conceitos
e práticas essenciais de Assembly, preparando-o com a base teórica necessá-
ria para explorar a linguagem. Por exemplo, você verá como começar com
um simples “Hello World” compilado para Assembly x86 e poderá avançar,
gradualmente, para programas mais complexos que implementam operações
aritméticas, controle de fluxo e manipulação de memória. Essa progressão o
preparará para analisar e entender o comportamento de malwares sofisticados,
aprendendo a identificar e desmontar técnicas de ofuscação e autodefesa que
os malwares usam para evitar a detecção.
À medida que avançamos na era digital, a importância de entender os me-
canismos internos dos softwares, especialmente os mal-intencionados, torna-se
cada vez mais crítica. O conhecimento de Assembly x86 e a habilidade de análise
de malwares não são apenas ferramentas técnicas, são competências essenciais
para qualquer profissional de segurança cibernética. Ao se familiarizar com essas
habilidades, você não só aumenta sua empregabilidade e seu valor no mercado
de trabalho, como também contribui ativamente para a criação de um ambiente
digital mais seguro para todos.

9
9
T E MA DE A PR E ND IZAGEM 5

P L AY N O CO NHEC I M ENTO

Convidamos você a assistir ao nosso podcast sobre técnicas avançadas de oti-


mização de código em Assembly, o qual oferece insights valiosos sobre como
maximizar a performance de suas aplicações.. Recursos de mídia disponíveis no
conteúdo digital do ambiente virtual de aprendizagem.

VAMOS RECORDAR?
Você já ouviu falar da linguagem Assembly? Assista a este vídeo para conhecer os
principais conceitos, desde registradores e instruções de máquinas até a escrita de
um programa simples. https://youtu.be/Rpq5PDDgwxU?si=UXathEl16bowYwxF

DESENVOLVA SEU POTENCIAL

INTRODUÇÃO AO ASSEMBLY X86

O Assembly x86 não é


apenas uma linguagem de
programação, é uma parte
fundamental da história
da computação. Originá-
rio nos anos 1970, com
o advento dos primei-
ros microprocessadores
da Intel, o Assembly x86
cresceu e evoluiu, parale-
lamente, às inovações em
hardware (Crary et al.,
1999).

1
1
1
U N IASSE LVI

Inicialmente, os programadores usavam Assembly para extrair o máximo


desempenho possível dos limitados recursos de hardware da época. Com a
evolução dos microprocessadores, o Assembly x86 também se adaptou, in-
corporando novas instruções para lidar com tarefas mais complexas e eficien-
tes. Esta evolução reflete não apenas os avanços tecnológicos, mas também
a necessidade constante de uma interação mais direta e controlada com o
hardware (Kusswurm, 2023).

VOCÊ SABE RESPONDER?


Mas, afinal, por que um programador moderno, especialmente aqueles focados
em segurança cibernética, deveria se preocupar em aprender Assembly x86?

A resposta está na sua capacidade de oferecer uma visão detalhada do fun-


cionamento interno dos programas e do próprio sistema operacional.
Na engenharia reversa, o Assembly x86 serve como uma ferramenta in-
dispensável para desmontar softwares e entender sua lógica operacional, es-
pecialmente, quando o código-fonte original não está disponível. Esta capa-
cidade é crucial para analisar malwares, que, muitas vezes, são distribuídos
apenas em forma binária. Compreender o Assembly permite que analistas de
segurança identifiquem as funcionalidades de um malware, suas técnicas de
infecção, propagação e os danos que podem causar (Alrammal et al., 2022).
Além disso, muitos malwares utilizam técnicas de ofuscação para ocultar
suas verdadeiras intenções. A habilidade de ler e interpretar código Assembly
x86 torna-se, então, essencial para desembaraçar essas técnicas, permitindo
que os defensores cibernéticos desenvolvam contramedidas eficazes.
Na era em que os ataques cibernéticos estão cada vez mais sofisticados,
entender Assembly x86 não é um luxo, mas uma necessidade. Seja para apri-
morar a segurança de sistemas, analisar vulnerabilidades, ou combater mal-
wares, o conhecimento desta linguagem de baixo nível oferece uma vantagem
inestimável no campo da segurança cibernética.

1
1
1
T E MA DE A PR E ND IZAGEM 5

VISÃO GERAL DA ARQUITETURA X86

Após ter mergulhado na história e entendido a importância do Assembly x86 na


engenharia reversa e na análise de malwares, é essencial que tenhamos uma visão
clara da arquitetura x86. Essa arquitetura é o alicerce sobre o qual a linguagem
Assembly x86 opera, fornecendo o contexto necessário para que possamos não
apenas escrever, mas também compreender o código de forma eficaz (Pokale;
Chavan, 2018; Crary et al., 1999).

VOCÊ SABE RESPONDER?


Então, o que é a arquitetura x86 e quais são seus componentes-chave?

A arquitetura x86 é um conjunto de instruções ori-


ginalmente desenvolvido pela Intel, que se tornou o
padrão para PCs, marcando profundamente a indús-
tria de computação pessoal. Ao falar sobre arquitetu-
ra x86, estamos nos referindo a uma família de mi-
croprocessadores e o conjunto de instruções que eles
podem executar, o que inclui operações aritméticas,
manipulação de dados, controle de fluxo e funções
de sistema (Sweidan; Darabkh, 2015).
Os componentes principais da Arquitetura x86 são:

REGISTROS

No coração da arquitetura x86 estão os registros, que são pequenas áreas de


armazenamento no processador, utilizadas para realizar operações rápidas. Existem
vários tipos de registros, incluindo registros de dados (como AX, BX, CX, DX), registros
de ponteiros e índices (como SP, BP, SI, DI), e registros de controle e status.

1
1
1
U N IASSE LVI

CONJUNTO DE INSTRUÇÕES

A arquitetura x86 possui um rico conjunto de instruções que permite realizar


uma variedade de tarefas, desde operações matemáticas simples até controle
de dispositivos de hardware. As instruções podem ser categorizadas em lógicas,
aritméticas, de controle de fluxo, entre outras.

MODOS DE ENDEREÇAMENTO

O Assembly x86 oferece diversos modos de endereçamento, permitindo que os


programadores especifiquem a localização dos dados a serem processados. Isso
inclui endereçamento direto, indireto, baseado em registro, e-mails. Essa flexibilidade
é crucial para o desenvolvimento de software eficiente e para a análise de malwares.

PILHA DE EXECUÇÃO

Fundamental para a execução de programas, a pilha é uma estrutura de dados que


suporta operações, como chamadas de função e manipulação de variáveis locais. A
gestão eficaz da pilha é vital para o desenvolvimento de software e para a análise de
comportamentos de malwares.

INTERRUPÇÕES E CHAMADAS DE SISTEMA

As interrupções são sinais que informam ao processador que um evento requer


atenção imediata, enquanto as chamadas de sistema são mecanismos por meio dos
quais os programas solicitam serviços do sistema operacional. Ambos são aspectos
cruciais da arquitetura x86, especialmente em contextos de segurança cibernética e
análise de malwares.

Compreender tais componentes não é apenas fundamental para a programação


em Assembly x86, é também a chave para desvendar como os softwares intera-
gem com o hardware. Para o analista de malwares, essa compreensão permite
não apenas identificar o que um software malicioso está tentando fazer, mas
também como ele tenta fazer isso, desempenhando um papel crucial na defesa
contra ameaças cibernéticas.

1
1
1
T E MA DE A PR E ND IZAGEM 5

FUNDAMENTOS DA LINGUAGEM ASSEMBLY

A linguagem Assembly é a chave que abre a porta para o entendimento profundo


do funcionamento interno dos computadores. Diferente de linguagens de alto
nível, que abstraem os detalhes do hardware, Assembly permite uma comunica-
ção quase direta com o processador, oferecendo um controle sem precedentes
sobre o sistema (Streib, 2020; Kusswurm, 2023).
Neste capítulo, exploraremos os fundamentos desta linguagem poderosa,
focando nos registros do processador x86, tipos de dados e instruções básicas,
além de desvendar a sintaxe do Assembly x86.

Registros do Processador x86 e suas funções

Os registros do processador x86 são como pequenas caixas de armazenamento dentro


do CPU, usadas para guardar dados temporários e resultados de operações (Streib,
2020). Existem vários tipos de registros, cada um com um propósito específico:

REGISTROS DE DADOS

Incluem AX, BX, CX, DX, que são usados para operações aritméticas e lógicas,
manipulação de dados e funções de entrada/saída. Eles podem ser divididos em
partes menores (AH/AL, BH/BL, CH/CL, DH/DL) para operações específicas.

REGISTROS DE PONTEIROS E ÍNDICES

Incluem SP (Stack Pointer), BP (Base Pointer), SI (Source Index) e DI (Destination


Index). SP e BP são cruciais para a manipulação da pilha, enquanto SI e DI são
usados em operações de string e memória.

REGISTROS DE SEGMENTO

Determinam a localização da memória usada para instruções e dados. Incluem


CS (Code Segment), DS (Data Segment), SS (Stack Segment) e ES (Extra Segment).
Eles são essenciais para a organização e o acesso à memória.

REGISTROS DE CONTROLE E ESTADO

Contêm informações sobre o estado do processador e controlam a execução


do programa. EFLAGS é um exemplo, armazenando flags de condição e con-
trolando operações aritméticas.

1
1
1
U N IASSE LVI

Entender a função de cada registro é fundamental para programar, eficientemen-


te, em Assembly, pois permite ao programador escolher o registro certo para cada
tarefa, otimizando a execução do código (Kusswurm, 2023).

Tipos de dados e instruções básicas

A linguagem Assembly lida com diversos tipos de dados e instruções para os


manipular (Streib, 2020). Aqui estão os tipos de dados básicos que você encon-
trará em Assembly x86:

Bytes e Words (palavras)

Um byte é composto por 8 bits, e uma


palavra (word) em x86 tem 16 bits. Existem
também termos, como ‘double word’ (32
bits) e ‘quad word’ (64 bits) para tamanhos de
dados maiores.

Números Inteiros

Podem ser representados em bases decimal,


hexadecimal ou binária, e são o tipo de dado
mais comum em operações Assembly.

Strings

Sequências de caracteres são armazenadas


como uma série de bytes na memória.

1
1
1
T E MA DE A PR E ND IZAGEM 5

As instruções básicas em Assembly x86 são comandos que o processador executa


e incluem operações aritméticas (ADD, SUB, MUL, DIV), operações lógicas
(AND, OR, XOR, NOT), instruções de movimento (MOV, PUSH, POP), ins-
truções condicionais (JE, JNE) e controle de fluxo (como JMP, CALL, RET).
A combinação desses tipos de dados e instruções permite a realização de tarefas
computacionais complexas.

Entendendo a Sintaxe do Assembly x86

A sintaxe do Assembly x86 pode parecer intimidadora no início, mas a com-


preender é fundamental para avançar na programação de baixo nível (Streib,
2020). Uma instrução Assembly típica segue o formato:

OPERATION DESTINATION, SOURCE

Ou seja, precisamos informar uma operação, um destino e uma origem. Por exem-
plo, a instrução MOV AX, 1 move o valor 1 para o registro AX. O “destino” é onde
o dado será armazenado, e a “origem” é de onde o dado vem. É importante notar que
nem todas as instruções seguem exatamente este formato, mas a maioria delas sim.

Além disso, comentários podem


ser adicionados às linhas de
código usando ;, permitindo
que o programador inclua
notas explicativas ou desative,
temporariamente, partes do código.
Compreender a sintaxe é crucial
para escrever programas eficazes
em Assembly e para analisar o
código de maneira eficiente, seja
na criação de novos softwares seja
na investigação de malwares.

1
1
1
U N IASSE LVI

OPERAÇÕES BÁSICAS EM ASSEMBLY X86

Dominar as operações básicas em Assembly x86 é muito importante. Esta seção


é dedicada a desvendar as operações aritméticas e lógicas, o controle de fluxo
e a manipulação de memória. Com essas ferramentas, você estará pronto para
conversar diretamente com o hardware, criará programas eficientes e analisará
malwares com precisão.

Operações Aritméticas e Lógicas

No coração da programação em Assembly estão as operações aritméticas e


lógicas, as quais permitem realizar cálculos e tomar decisões baseadas em
condições (Kusswurm, 2023).
■ Aritméticas: as instruções aritméticas incluem ADD (adição), SUB (sub-
tração), MUL (multiplicação) e DIV (divisão). Essas operações são fun-
damentais para qualquer tarefa de computação, desde simples contagens
até complexas análises de dados. Por exemplo, “ADD AX, BX” soma os
valores nos registros AX e BX, armazenando o resultado em AX.
■ Lógicas: as operações lógicas, como AND, OR, XOR e NOT são usadas
para manipular bits dentro de valores armazenados em registros. Estas
são essenciais para testar, comparar e tomar decisões baseadas em con-
dições específicas. Por exemplo, “AND AX, BX” realiza a operação AND
bit a bit entre os valores em AX e BX, resultando em AX.

Ambos os tipos de operações são cruciais não apenas para a programação do


dia a dia, mas também para a análise de comportamento de malwares, permi-
tindo a identificação de algoritmos específicos usados em ataques cibernéticos.

Controle de fluxo: instruções de Salto, Loop e Chamadas de


Função

O controle de fluxo é o que dá vida a um programa em Assembly, permi-


tindo que ele tome decisões, repita tarefas e execute código em diferentes
seções (Streib, 2020).

1
1
1
T E MA DE A PR E ND IZAGEM 5

Aqui, as principais são:

INSTRUÇÕES DE SALTO

JMP, JE (Jump if Equal), JNE (Jump if Not Equal) são exemplos de instruções
que alteram o fluxo de execução do programa, baseando-se em condições ou
incondicionalmente. Por exemplo, “JMP endereco” desloca a execução do pro-
grama para o endereço especificado, enquanto “JE endereco” o faz apenas se a
última operação resultou em igualdade.

LOOPS

Os loops são realizados por uma combinação de instruções de salto e condições,


permitindo a repetição de um bloco de código. “LOOP” é uma instrução específi-
ca que decrementa um contador e salta para um endereço enquanto o contador
não for zero.

CHAMADAS DE FUNÇÃO

“CALL” é usada para chamar uma função, enquanto “RET” é usada para retornar
da função. Essas instruções permitem a modularização e a reutilização de código,
simplificando programas complexos.

Por meio do domínio das chamadas de função e outras instruções de controle de


fluxo, os programadores são capazes de construir softwares eficientes, revelando
o verdadeiro poder da programação Assembly x86.

Manipulação de Memória: instruções de movimento, acesso


a pilha

A manipulação de memória é uma parte integral da programação em Assembly,


permitindo o armazenamento e a recuperação de dados.
■ Instruções de movimento: “MOV” é a instrução mais básica, usada para
transferir dados entre registros, de memória para registros e vice-versa.
Por exemplo, “MOV AX, [endereco]” move o dado da memória no en-
dereço especificado para o registro AX.
■ Acesso a pilha: a pilha é uma estrutura de dados crucial para o geren-
ciamento de chamadas de funções e variáveis locais. “PUSH” e “POP”

1
1
1
U N IASSE LVI

são instruções usadas para adicionar e remover dados da pilha, respec-


tivamente. Isso é especialmente útil em chamadas de função, onde os
argumentos e os endereços de retorno são armazenados.

Dominar as operações básicas abre um novo mundo de possibilidades na pro-


gramação e na análise de sistemas. Seja escrevendo um programa do zero, otimi-
zando código existente ou desmontando um malware complexo, o conhecimento
profundo das operações em Assembly x86 é uma ferramenta poderosa nas mãos
de qualquer desenvolvedor.

PROGRAMAÇÃO PRÁTICA EM ASSEMBLY X86

Adentrar no mundo da programação Assembly x86 pode parecer intimidador


no início, mas é uma jornada incrivelmente gratificante que abre portas para
um entendimento profundo de como os computadores operam no nível mais
básico. Iniciaremos essa jornada com o básico: escrever e executar seu primeiro
programa em Assembly.

Escrevendo seu primeiro programa em Assembly

O primeiro programa que muitos programadores aprendem a escrever em


qualquer linguagem é o clássico “Hello, World”! Em Assembly, isso não ape-
nas demonstra a estrutura básica de um programa, mas também introduz
a manipulação direta de chamadas do sistema e a interação com o sistema
operacional (Kusswurm, 2023).
Antes de começar, você precisará de um ambiente para escrever e compilar
seu código Assembly. Para este exemplo, vamos usar o NASM (Netwide As-
sembler), um montador e desmontador popular para a arquitetura x86. Ele está
disponível para várias plataformas, incluindo Windows, Linux e macOS. Para
instalar ele no Linux, por exemplo, é muito simples:
1. Atualize os repositórios do sistema com “sudo apt update”.
2. Instale o NASM com “sudo apt install nasm”.
3. Verifique se o NASM foi instalado corretamente com “nasm -v”. Isso
deve retornar a versão do NASM instalada, conforme Figura 1.

1
1
1
T E MA DE A PR E ND IZAGEM 5

Figura 1 - Análise da Versão do NASM / Fonte: o autor.

Descrição da Imagem: a figura mostra um terminal de computador com o resultado de um comando que verifica a
versão do NASM instalada. A tela exibe o texto “NASM version 2.15.05” indicando a versão instalada no sistema.
Fim da descrição.

Após ter o seu ambiente de desenvolvimento instalado, abra o seu editor de texto
preferido e insira o seguinte código Assembly x86:

section .data
msg db ‘Hello, World!’,0xA ; ‘Hello, World!’ e uma nova linha

len equ $ - msg

section .text

global _start

_start:

mov eax, 4 ; syscall number (sys_write)

mov ebx, 1 ; file descriptor (stdout)

mov ecx, msg ; pointer to message to write

mov edx, len ; message length

int 0x80 ; call kernel

mov eax, 1 ; syscall number (sys_exit)

xor ebx, ebx ; exit status 0

int 0x80 ; call kernel

Este código é um programa “Hello, World”! que usa chamadas de sistema do


Linux para escrever a mensagem no terminal e, em seguida, sair.
Para transformar o código Assembly em um executável, salve o arquivo com
a extensão .asm, por exemplo, hello_world.asm. Abra o terminal ou prompt
de comando e navegue até o diretório onde o arquivo está salvo. Use o seguinte
comando para montar o programa com o NASM:

1
1
1
U N IASSE LVI

nasm -f elf hello_world.asm

Isso cria um arquivo objeto hello_world.o. O próximo passo é ligar esse arquivo
objeto a um executável:

ld -m elf_i386 -s -o hello_world hello_world.o

Após este procedimento, você deve ver três arquivos, como ilustrado na Fi-
gura 2 a seguir.

Figura 2 - Passos para montar um programa e o ligar a um arquivo executável. / Fonte: o autor.

Descrição da Imagem: a imagem descreve o processo de compilação de um programa em Assembly, começando


com o código-fonte “hellow_world.asm”, passando pela montagem para gerar o arquivo objeto “hellow_world.o”,
e concluindo com a criação do executável “hellow_world.exe”. Fim da descrição.

Agora, você pode executar seu programa com o comando:

./hello_world

Você deverá ver a mensagem Hello, World! aparecer no terminal, como na Fi-
gura 3 a seguir.

Figura 3 - Passos para montar um programa e ligá-lo a um arquivo executável. / Fonte: o autor.

Descrição da Imagem: a imagem mostra o mesmo terminal de computador após a execução de um programa. O
texto exibe “Hello, World!”, o que sugere que um programa “Hello World” foi executado com sucesso, produzindo
a saída padrão esperada. Fim da descrição.

1
1
1
T E MA DE A PR E ND IZAGEM 5

Parabéns! Você acabou de escrever e de executar seu primeiro programa em


Assembly x86. Esse é apenas o começo de sua jornada no vasto mundo da
programação de baixo nível, onde cada linha de código o aproxima de uma
compreensão íntima do funcionamento interno dos computadores. No pró-
ximo passo, exploraremos as ferramentas e os ambientes de desenvolvimento
que podem facilitar essa jornada, além de introduzir técnicas fundamentais
de depuração de programas Assembly.

Ferramentas e ambientes de desenvolvimento para


Assembly x86

A escolha da ferramenta certa é um passo crucial. Existem várias opções


disponíveis, cada uma com suas características e suas vantagens. Para a pro-
gramação em Assembly x86, as mais comuns incluem:
■ NASM (Netwide Assembler): um dos montadores mais populares
para Windows, Linux e macOS. É fácil de usar, para iniciantes, e po-
deroso o suficiente para profissionais.
■ MASM (Microsoft Macro Assembler): oferecido pela Microsoft, é
uma boa escolha para desenvolvedores no ambiente Windows.
■ FASM (Flat Assembler): conhecido por sua simplicidade e sua efi-
ciência, roda em várias plataformas e é capaz de produzir tanto biná-
rios0 de 16 quanto de 32 e 64 bits.
■ YASM: uma versão melhorada do NASM, compatível com a sintaxe
do NASM, mas oferece suporte para mais recursos e arquiteturas.

Além do montador, um ambiente de desenvolvimento integrado (IDE) pode


facilitar significativamente o processo de escrita, montagem e depuração de
seus programas Assembly. Alguns IDEs populares para Assembly incluem
Visual Studio, com suporte para MASM via projetos C++, RADASM, um
IDE leve e funcional para Windows, que suporta MASM, NASM e FASM e
SASM (SimpleASM), que é um IDE simples e multiplataforma para progra-
mação Assembly, ideal para aprendizado e prática.

1
1
1
U N IASSE LVI

Debugging de Programas Assembly

O processo de depuração em Assembly pode ser mais desafiador do que em


linguagens de alto nível, devido à proximidade com o hardware e à natureza de
baixo nível da linguagem. No entanto, com as ferramentas certas e uma abor-
dagem metódica, você pode identificar e resolver problemas, de forma eficiente
(Streib, 2020). Algumas ferramentas incluem:
■ GDB (GNU Debugger): um depurador para programas escritos em C,
C++, e Assembly, entre outras linguagens. O GDB permite que você veja
o que está acontecendo “por dentro” do programa enquanto ele executa,
ou o que o programa estava fazendo no momento em que falhou.
■ OllyDbg: um depurador de nível de código de máquina que oferece uma
visualização gráfica dos processos, ideal para Windows e muito usado na
engenharia reversa de programas maliciosos.
■ IDA Pro: um desmontador interativo e depurador, amplamente utilizado
em engenharia reversa, que suporta uma grande variedade de formatos
de arquivo para diferentes arquiteturas e sistemas operacionais.

Também existem algumas técnicas para depuração, como Breakpoints, Step-by-


-Step Execution e Logging e Output. A primeira serve para pausar a execução
do programa em pontos específicos, permitindo que você examine o estado dos
registros e da memória. A segunda serve para avançar pelo seu programa, passo
a passo, para observar a execução de cada instrução e seu impacto nos registros
e na memória. Por fim, a terceira serve para escrever mensagens de log ou valores
de variáveis para um arquivo ou stdout, pois isso pode fornecer insights sobre
onde o programa está falhando.

E M FO CO

Gostou do que vimos até aqui? Preparamos uma videoaula para você.. Recursos
de mídia disponíveis no conteúdo digital do ambiente virtual de aprendizagem.

1
1
1
T E MA DE A PR E ND IZAGEM 5

NOVOS DESAFIOS
Ao percorrer as noções básicas de Assembly x86, você se aventurou pela pro-
gramação de baixo nível, uma área fascinante e de extrema importância no
campo da tecnologia. Este conhecimento não se restringe ao acadêmico, ele é
uma ponte para o ambiente profissional cuja compreensão do Assembly abre
portas para oportunidades únicas e desafiadoras.
No mercado de trabalho, o domínio do Assembly x86 é valorizado em
áreas, como desenvolvimento de sistemas embarcados, engenharia reversa,
análise de malware e segurança cibernética. Estes campos exigem uma com-
preensão detalhada de como o software interage com o hardware, além da
capacidade de analisar e otimizar o código para performance, ou investigar
vulnerabilidades e ameaças. Com a crescente complexidade dos sistemas
computacionais e a evolução constante de ameaças cibernéticas, profissionais
que conseguem “falar” diretamente com a máquina são indispensáveis.
Além disso, o conhecimento prático em Assembly é uma habilidade
que promove um pensamento computacional mais profundo, capacitando
desenvolvedores a escreverem códigos de alto nível mais eficientes. Isso
porque a compreensão de Assembly permite uma apreciação mais rica das
abstrações fornecidas por linguagens de alto nível e uma perspectiva mais
informada sobre a otimização de recursos e
a gestão de memória.
Encarar os novos desafios que
o futuro reserva significa estar
preparado para constantes
evolução e aprendizado.
Portanto, enquanto avan-
çamos em sua carreira, o convite é para que continue
construindo, exploran- do novas tecnologias, en-
frentando desafios mais
complexos e contri-
buindo para inovações
que definirão o futuro
da computação.

1
1
1
AUTOATIVIDADE

1. Aprofundar-se na arquitetura x86 é vital para quem se interessa pela linguagem Assembly
x86, um elemento chave tanto na criação quanto na análise técnica de softwares. Esta arqui-
tetura, com seus componentes intricadamente projetados, é o fundamento sobre o qual o
Assembly x86 é construído, permitindo interações precisas com o hardware. Inclui registros,
para execução de operações de alta velocidade; conjunto de instruções, cobrindo desde
simples cálculos até controles complexos de hardware; diversos modos de endereçamento,
que definem o acesso e manipulação de dados; a pilha de execução, crucial para funções
e variáveis; e interrupções e chamadas de sistema, que possibilitam a comunicação entre
software e hardware. Estes elementos são essenciais para quem busca não apenas pro-
gramar, mas também compreender e analisar profundamente os sistemas computacionais
(Sweidan; Darabkh, 2015).

Assinale a alternativa que traz o componente principal da arquitetura x86, essencial para a
execução de programas e análise de malwares?

a) Módulos de aceleração de hardware, específicos para otimização de jogos e aplicações


gráficas.
b) Registros de controle e status, que ajudam a realizar operações e a manter o estado do
processador.
c) Algoritmos de criptografia embutidos no hardware para a segurança de dados em nível
de processador.
d) Ferramentas de desenvolvimento de software, incorporadas diretamente na arquitetura,
para facilitar a programação em várias linguagens.
e) Sistemas de armazenamento em nuvem, integrados diretamente na CPU, para melhorar
a eficiência de acesso a dados.

1
1
1
AUTOATIVIDADE

2. Dentro do CPU x86, os registros funcionam como pequenos espaços para armazenar dados
essenciais e resultados de cálculos, temporariamente. Estes se dividem em várias catego-
rias, como registros de dados para cálculos, de ponteiros para navegação na memória, de
segmento para organização de memória e de controle para gerenciar o estado do proces-
sador. Cada tipo de registro tem um papel-chave na eficiência e na execução precisa das
tarefas computacionais (Streib, 2020).

Considerando as funções dos diferentes tipos de registros no processador x86, qual das
seguintes afirmações interpreta, corretamente, a utilidade dos registros de segmento?

a) Os registros de segmento são usados, exclusivamente, para operações aritméticas avan-


çadas, como multiplicação e divisão.
b) Registros de segmento, como SP e BP, são, primariamente, responsáveis pela manipu-
lação direta de strings e arrays.
c) Os registros de segmento armazenam, temporariamente, os resultados de todas as ope-
rações lógicas realizadas pelo CPU.
d) EFLAGS é um tipo de registro de segmento que determina a localização da memória
usada para instruções e dados.
e) CS, DS, SS e ES definem a localização da memória para instruções, dados, pilha e seg-
mentos extras, respectivamente, organizando e facilitando o acesso à memória.

1
1
1
AUTOATIVIDADE

3. Na linguagem Assembly x86, compreender os tamanhos dos dados é vital para a programa-
ção eficiente. Bytes, words, double words e quad words indicam quantidades de bits que os
dados ocupam, de 8 a 64 bits, respectivamente. Esta diferenciação é chave para organizar
informações e realizar operações precisas, desde cálculos aritméticos até manipulação de
strings e controle de fluxo no código (Streib, 2020).

Considerando os tamanhos de dados e a quantidade de bits que os dados ocupam, marque


a alternativa correta.

a) Um byte tem 8 bits, e uma word, 16 bits; uma word armazena o dobro de dados que
um byte.
b) Um byte e uma word são, essencialmente, o mesmo tamanho de dado em Assembly
x86, ambos representando 8 bits.
c) Um byte representa 16 bits, enquanto uma word representa 8 bits, sendo a base para
dados maiores como double e quad words.
d) Tanto um byte quanto uma word em Assembly x86 representam 32 bits, sendo termos
intercambiáveis para o mesmo tamanho de dado.
e) Em Assembly x86, uma word refere-se a um tamanho de dado de 64 bits, significativa-
mente maior do que um byte, que representa apenas 8 bits.

1
1
1
REFERÊNCIAS

ALRAMMAL, M. et al. Malware analysis: Reverse engineering tools using santuko linux. Materials
Today: Proceedings, [s. l.], v. 60, p. 1367-1378, 2022.

CRARY, K. et al. TALx86: A realistic typed assembly language. In: ACM SIGPLAN WORKSHOP
ON COMPILER SUPPORT FOR SYSTEM SOFTWARE, 1999, Atlanta. Proceedings [...]. Atlanta: [s.
n.], 1999. p. 25-35.

KUSSWURM, D. Assembly Language Optimization and Development Guidelines. In: KUSS-


WURM, D. Modern X86 Assembly Language Programming: Covers X86 64-bit, AVX, AVX2, and
AVX-512. Berkeley: Apress, 2023. p. 639-648.

POKALE, V.; CHAVAN, M. A Petite Guide to Programming in 64bit X86 Assembly Language for Li-
nux. In: ICECA - SECOND INTERNATIONAL CONFERENCE ON ELETRONICS, COMMUNICATION
AND AEROSPACE TECHNOLOGY, 2018, Coimbatore. Proceedings [...]. Coimbatore: IEEE, 2018.

SWEIDAN, S.; DARABKH, K. A. A new efficient assembly language teaching aid for intel proces-
sors. Computer Applications in Engineering Education, 23, 2015.

STREIB, J. T. Guide to assembly language: a concise introduction. Berlim: Springer Nature, 2020.

1
1
1
GABARITO

1. Alternativa B. Correto. A pilha de execução é crucial para a execução de programas na ar-


quitetura x86, suportando funções essenciais, como chamadas de função e gerenciamento
de variáveis locais.

A) Incorreto. A arquitetura x86 é definida, principalmente, por seus registros, conjunto de


instruções, modos de endereçamento e outros componentes essenciais para a execução
de instruções e operações de sistema. Módulos de aceleração de hardware específicos para
jogos e gráficos, embora possam ser suportados por dispositivos periféricos e software, não
são componentes integrados da arquitetura x86 em si.
C) Incorreto. Embora certos processadores modernos incluam recursos de segurança, como
a execução de instruções de criptografia, a arquitetura x86 por si só não é definida pela
presença de algoritmos de criptografia específicos embutidos no hardware. A segurança
de dados é uma camada adicional que pode ser suportada por instruções específicas e
tecnologias complementares.
D) Incorreto. A arquitetura x86 proporciona o conjunto de instruções e os mecanismos ne-
cessários para a execução de programas, mas não inclui ferramentas de desenvolvimento
de software como parte integrante da arquitetura. Ferramentas de desenvolvimento são
aplicativos externos projetados para trabalhar com a arquitetura, não componentes dela.
E) Incorreto. Enquanto a arquitetura x86 facilita a comunicação entre o software e o hardwa-
re, incluindo o acesso a sistemas de armazenamento, não incorpora diretamente sistemas
de armazenamento em nuvem dentro da CPU. Tal funcionalidade é gerida por software e
serviços de rede, não pela arquitetura do processador

2. Alternativa E. Correto. Os registros de segmento, incluindo CS, DS, SS, e ES, são fundamentais
para a organização do acesso à memória, cada um desempenhando um papel específico
na localização de instruções, dados e outros segmentos de memória.

A) Incorreto. Os registros de segmento não são usados para operações aritméticas, eles
determinam a localização da memória para diferentes tipos de dados e instruções.
B) Incorreto. SP e BP são registros de ponteiros usados na manipulação da pilha, não registros
de segmento responsáveis por strings e arrays.
C) Incorreto. Os registros de segmento não armazenam resultados de operações lógicas, tal
função é atribuída aos registros de dados.
D) Incorreto. EFLAGS é um registro de controle e estado, que armazena flags de condição
e controles operacionais, não um registro de segmento.

1
1
1
GABARITO

3. Alternativa A. Correto. Isso reflete a capacidade de armazenamento e a diferença de tamanho


entre um byte e uma word na programação Assembly x86.

B) Incorreto. Um byte e uma word não são do mesmo tamanho; um byte tem 8 bits, enquanto
uma word tem 16 bits em Assembly x86.
C) Incorreto. A afirmação inverte os tamanhos; na realidade, um byte é de 8 bits, e uma word
é de 16 bits em Assembly x86.
D) Incorreto. Um byte tem 8 bits, e uma word tem 16 bits em Assembly x86; nenhum dos dois
representa 32 bits, o que é referido como double word.
E) Incorreto. Uma word em Assembly x86 é definida como tendo 16 bits, não 64 bits. O termo
para 64 bits é quad word.

1
1
1
MINHAS ANOTAÇÕES

1
1
1
TEMA DE APRENDIZAGEM 6

REVERTENDO CÓDIGOS
MALICIOSOS

MINHAS METAS

Analisar malware em ambiente seguro.

Dominar ferramentas de reversão de malware.

Entender como desmontar binários maliciosos.

Praticar as técnicas de análise estática/dinâmica de malware.

Aprender a decifrar comunicações de C&C.

Entender como aplicar desobfuscação de código.

Analisar a importância de criar relatórios de análises.

1
1
1
U N IASSE LVI

INICIE SUA JORNADA


Imagine a situação: uma aplicação governamental que armazena dados sensíveis da
população é alvo de um ataque cibernético. O invasor utilizou um malware avançado
que conseguiu burlar várias camadas de segurança. Neste exato momento, infor-
mações vitais para a segurança nacional são comprometidas. Na sua carreira como
analista de segurança, você enfrentará desafios semelhantes em que a rapidez e a
precisão na resposta são cruciais para a proteção e a integridade dos dados.
A capacidade de entender e neutralizar ataques não é apenas crítica para
a recuperação imediata dos dados e dos sistemas afetados, mas também é
essencial para aprimorar as defesas contra ameaças futuras. Dominar a arte
de reverter códigos maliciosos é vital para qualquer profissional da área de
segurança cibernética. O seu trabalho será fundamental para identificar falhas,
reforçar a segurança e evitar vazamentos de informações que poderiam ter
implicações sérias para milhões de pessoas.
Neste curso, abriremos o caminho para que você possa entender como os
códigos maliciosos operam. Você aprenderá técnicas de análise que lhe per-
mitirá estudar o comportamento de softwares suspeitos e identificar como e
por que eles são perigosos. Forneceremos os conhecimentos e as ferramentas
necessárias para que você possa, de forma segura, realizar suas próprias aná-
lises em cenários controlados.
Ao concluir este capítulo, você estará mais preparados para enfrentar os
desafios do campo de segurança da informação. Pense na importância da sua
função: você não estará apenas resolvendo quebra-cabeças técnicos; estará
protegendo a infraestrutura que sustenta nossa sociedade e as informações
de cidadãos. Cada descoberta e cada melhoria que você implementar terão
um efeito positivo na segurança de todos.

P L AY N O CO NHEC I M ENTO

Convidamos você a assistir ao nosso podcast sobre Malwares em IoT e Sistemas


Embarcados: A Fronteira Invisível da Cibersegurança. Nesse podcast, exploraremos
como IoT e sistemas embarcados tornaram-se alvos atraentes para ataques ciber-
néticos.. Recursos de mídia disponíveis no conteúdo digital do ambiente virtual
de aprendizagem.

1
1
1
T E MA DE A PR E ND IZAGEM 6

VAMOS RECORDAR?
Assista a este vídeo para relembrar de alguns conceitos fundamentais sobre vírus
e compreender como os malwares são desenvolvidos:
https://youtu.be/7dFfwYQfVCU?si=5ZBVFz7p4iJ2rt4s

DESENVOLVA SEU POTENCIAL

INTRODUÇÃO À REVERSÃO DE MALWARES

A reversão de malwares é um componente essencial na


Desmontar o
luta contra ameaças digitais, permitindo aos analistas
malware ao seu
desvendar os segredos escondidos dentro de softwares
nível mais básico
mal-intencionados. Esse processo envolve desmontar
o malware ao seu nível mais básico para compreender
como ele foi construído e o que ele pretende fazer.

Objetivos e desafios na reversão de códigos maliciosos

A engenharia reversa de malwares, embora baseada nos fundamentos gerais da


engenharia reversa, discutidos anteriormente, foca, especificamente, nos desafios
únicos apresentados pelo código malicioso. O principal objetivo é entender o
comportamento, a funcionalidade e o propósito de um software malicioso, o que
é crucial para desenvolver estratégias eficazes de defesa e mitigação (Amiruddin,
2021). Entre os desafios mais significativos estão:

1
1
1
U N IASSE LVI

COMPLEXIDADE E EVASÃO

Malwares modernos, frequentemente, utilizam técnicas avançadas para ocultar


seu funcionamento, como a criptografia de código, técnicas de evasão de análise
e comportamentos dependentes de contexto.

VARIEDADE DE MALWARES

A diversidade de malwares (vírus, worms, trojans, ransomware etc.) significa que


diferentes estratégias podem ser necessárias para analisar cada tipo.

AMBIENTES DINÂMICOS

As atualizações constantes nos sistemas operacionais e nas ferramentas de


segurança exigem que os analistas estejam sempre aprendendo e adaptando
suas técnicas

Enquanto os objetivos da engenharia reversa de malwares nos guiam pelo processo


de desvendar as intenções ocultas e as operações de software malicioso, os desafios
associados — como a complexidade do código, a diversidade de ameaças e a cons-
tante evolução dos ambientes tecnológicos — exigem que os analistas estejam sempre
atualizados e prontos para adaptar suas técnicas. Entender esses desafios é essencial.

Visão geral do processo de Engenharia Reversa aplicado a


malwares

Antes de aprofundarmos nos detalhes específicos de cada técnica, é útil visualizar


o processo geral de engenharia reversa de malwares como um todo (Amiruddin,
2021). A Figura 1 a seguir apresenta um diagrama que ilustra os principais passos
envolvidos nesse processo, desde a coleta inicial do malware até o desenvolvi-
mento de estratégias de mitigação.

1
1
1
T E MA DE A PR E ND IZAGEM 6

Figura 1 - Processo de Engenharia Reversa de análise de malware / Fonte: o autor.

Descrição da Imagem: a figura ilustra um infográfico com sete etapas para análise de malware. Começa com
“Coleta”, seguindo com “Preparação”, “Análise Estática”, “Análise Dinâmica”, “Desobfuscação” e “Documentação”
e termina com “Mitigação”. O fundo é branco com faixas azuis e cinza, numeradas de 1 a 7, cada uma com uma
breve descrição da etapa. Fim da descrição.

A Figura 1 detalha o processo de engenharia reversa de


malwares, iniciando com a Coleta, em que o mal-
ware é adquirido com segurança para evitar conta-
minações. Segue-se a Preparação do ambiente de
análise, configurando um sistema isolado que pre-
vine qualquer risco ao analisar o código malicioso.
Na Análise Estática, o código é examinado
sem execução para identificar componentes suspei-
tos e potencialmente prejudiciais, enquanto a Aná-
lise Dinâmica permite observar o comportamento do
malware em ação dentro de um ambiente controlado (Ra-
vula, 2011). A desobfuscação é aplicada para decifrar técnicas que mascaram
as verdadeiras funções do código (Udupa, 2005), seguida de documentação
meticulosa de todas as descobertas e técnicas utilizadas. O processo culmina
na Mitigação, em que as informações coletadas são usadas para desenvolver
estratégias de defesa eficazes contra o malware em questão. Tal fluxo não apenas
sistematiza a abordagem de análise, mas também fundamenta a importância de
cada passo para o entendimento e o combate eficaz aos malwares.

1
1
1
U N IASSE LVI

Ética e legalidade na análise de malware

A análise de malware opera em uma área delicada entre a técnica e a legalidade.


É crucial seguir diretrizes éticas e legais rigorosas para evitar repercussões legais
e manter a integridade do processo de análise (Wong, 2019).
Alguns aspectos importantes a serem considerados incluem:

PERMISSÕES

Nunca analisar malware ou sistemas sem a devida autorização.

PRIVACIDADE

Proteger quaisquer dados pessoais que possam ser expostos durante a análise.

DIVULGAÇÃO

Ser transparente sobre as descobertas com os afetados, de maneira responsável,


evitando a divulgação de informações que possam ser usadas para fins mal-in-
tencionados.

1
1
1
T E MA DE A PR E ND IZAGEM 6

Além disso, os analistas devem estar cientes das leis locais e internacionais que
regulam a cibersegurança e a análise de malwares. Por exemplo, a Diretiva NIS,
na União Europeia, e o CFAA (Computer Fraud and Abuse Act), nos Estados
Unidos, estabelecem parâmetros legais que impactam diretamente na prática de
engenharia reversa de software malicioso.

PREPARANDO O AMBIENTE DE ANÁLISE

A preparação de um ambiente de análise seguro é fundamental para garantir


que a engenharia reversa de malwares seja realizada de forma eficaz e segura.
Esta seção abordará a configuração adequada de laboratórios, as ferramentas
essenciais e as considerações de segurança críticas.

Configuração de laboratórios seguros para análise de


malware

A criação de um laboratório de análise de malware envolve a configuração cui-


dadosa de hardware e software para garantir isolamento e segurança (Sikorski,
2012). Aqui estão alguns passos essenciais:

1
1
1
U N IASSE LVI

ISOLAMENTO DE REDE

É crucial isolar o laboratório de análise da rede corporativa ou pessoal para evitar a


propagação de malwares. Isso pode ser alcançado usando redes virtuais privadas
(VPNs), sub-redes dedicadas ou mesmo dispositivos de hardware físico que controlam
o fluxo de dados para e da internet.

CONFIGURAÇÕES DE HARDWARE

Recomenda-se o uso de máquinas robustas que possam suportar múltiplas máquinas


virtuais, simultaneamente. Idealmente, os analistas devem ter, pelo menos, 16 GB de
RAM e processadores multi-core para gerenciar, eficientemente, as operações de
virtualização.

SOFTWARE DE VIRTUALIZAÇÃO

Ferramentas, como VMware Workstation, Oracle VM VirtualBox ou Microsoft Hyper-V


permitem a criação de múltiplos ambientes operacionais isolados. Esses ambientes
podem ser configurados e revertidos rapidamente, o que é ideal para testar malwares
sem afetar o sistema principal.

SISTEMAS OPERACIONAIS E FERRAMENTAS

Prepare sistemas operacionais com várias configurações (Windows, Linux, macOS)


para analisar malwares específicos para cada plataforma. Além disso, instale ferramen-
tas de análise e segurança em cada máquina virtual.

Seguindo tais recomendações, você terá um laboratório seguro, isolado e bem


configurado para explorar a Análise de malware.

Ferramentas essenciais para a Engenharia Reversa de


malwares

Para a análise efetiva de malwares, várias ferramentas de engenharia reversa


são indispensáveis (Sikorski, 2012). A Figura 2 ilustra uma comparação entre
as mais populares:

1
1
1
T E MA DE A PR E ND IZAGEM 6

Figura 2 - Principais ferramentas para Engenharia Reversa de malwares / Fonte: o autor.

Descrição da Imagem: a figura ilustra uma tabela comparativa de três ferramentas de análise de malware. As
colunas são “Ferramenta”, “Suporte a Plataformas”, “Características” e “Uso Recomendado”. As ferramentas listadas
são “IDA Pro”, “Ghidra” e “Radare2”, cada uma com ícones de suporte para Windows, macOS e Linux, características
principais e recomendações de uso. Fim da descrição.

Ao escolher uma ferramenta de engenharia reversa, é importante considerar não


apenas suas funcionalidades, mas também aspectos, como a curva de aprendiza-
do, o suporte da comunidade e do custo, quando aplicável. Por exemplo, enquan-
to IDA Pro é uma ferramenta premium com vastos recursos, Ghidra oferece uma
alternativa robusta sem custos, o que pode ser ideal para orçamentos limitados,
ou para aqueles que preferem soluções open source.

Considerações de segurança para proteger seu ambiente de


análise

Proteger o ambiente de análise contra potenciais riscos é crucial (Sikorski, 2012).


Aqui estão algumas diretrizes para manter a segurança:

1
1
1
U N IASSE LVI

BACKUPS E RECUPERAÇÃO

Implemente uma rotina de backups regular e automatizada para todas as máqui-


nas virtuais e os ambientes de análise. Esses backups devem ser armazenados
em dispositivos físicos separados ou em soluções de armazenamento em nuvem
seguras, garantindo que você possa se recuperar rapidamente de qualquer inci-
dente, sem perda significativa de dados.

ATUALIZAÇÕES E MANUTENÇÃO

Assegure que todos os sistemas e as ferramentas dentro do ambiente de análise


estejam sempre atualizados com as últimas versões e patches de segurança.
Automatizar essas atualizações pode reduzir a carga de manutenção e minimizar
a janela de exposição a vulnerabilidades conhecidas.

SEGURANÇA EM CAMADAS

Adote uma abordagem de segurança em camadas que inclua firewalls, sistemas


de detecção de intrusão e soluções antimalware. Além disso, o uso de en-
criptação para dados sensíveis em repouso e em trânsito pode ajudar a proteger
contra acessos não autorizados.

MONITORAMENTO E ANÁLISE DE LOGS

Estabeleça sistemas de monitoramento que registrem e analisem, continua-


mente, o tráfego de rede e a atividade do sistema dentro do ambiente de análise.
Isso pode ajudar a identificar comportamentos suspeitos ou anormais, precoce-
mente, permitindo uma resposta rápida a possíveis ameaças.

Implementando tais práticas, você pode garantir que seu laboratório de análise
de malware permaneça em um ambiente seguro e confiável, essencial para a
condução efetiva de engenharia reversa e a análise de código malicioso.

1
1
1
T E MA DE A PR E ND IZAGEM 6

ANÁLISE ESTÁTICA DE MALWARES

A análise estática de malwares envolve examinar o código de um programa sem


executá-lo. Esta abordagem é fundamental para entender a funcionalidade do
malware e identificar componentes maliciosos sem arriscar a execução do código
que pode causar danos. Detalharemos os aspectos cruciais dessa técnica (Singhal;
Venkataramalingam, 2023).

Descompilação e análise de binários sem execução do código

A descompilação é o processo de transformar código de máquina de volta para


uma forma de código-fonte de alto nível. Embora o código resultante não seja
exatamente o original – especialmente com a falta de nomes de variáveis e co-
mentários – ele pode oferecer uma visão valiosa sobre o que o programa faz.
Suponha que temos um arquivo binário malware.exe. Usando uma ferra-
menta de descompilação, como Ghidra, seguimos estes passos:
1. Carregar o binário: iniciamos abrindo o arquivo dentro do Ghidra.
2. Analisar o arquivo: ativamos a análise, permitindo que o Ghidra pro-
cesse o binário e tente recriar a estrutura do código.
3. Examinar o Código: observamos as funções e os módulos reconstruí-
dos. Ghidra permite a você ver pseudocódigos, o que facilita a compreen-
são do que cada função está programada para fazer.

Durante a descompilação, podemos identificar funções que se conectam a servi-


dores remotos, leem informações de teclado, ou executam operações de arquivo,
todas indicativas de atividade potencialmente maliciosa.

Identificação de strings, chamadas de sistema e outros


indicadores estáticos

Strings em um binário podem incluir URLs de comando e controle, mensagens


de erro, ou comandos específicos. Chamadas de sistema, por outro lado, podem
revelar interações com o sistema operacional, como criação de arquivos, modi-
ficação de registros ou comunicação de rede (Sikorski, 2012). Veja um exemplo
de uso de Strings e de Chamadas de Sistema:

1
1
1
U N IASSE LVI

Utilizando uma ferramenta como strings, no Linux, ou o Strings do Sysinternals,


no Windows, podemos extrair todas as strings legíveis do malware.exe:
1. Executar o comando strings: strings malware.exe
2. Analisar o output: procuramos por padrões suspeitos, como domínios
não familiares, caminhos de arquivos incomuns, ou comandos específicos.

Com chamadas de sistema, podemos usar uma ferramenta, como IDA Pro para
ver o assembly e identificar chamadas específicas ao sistema operacional, tais
como CreateFile, SendSocket, RegSetValue etc., que são cruciais para entender
como o malware interage com o ambiente hospedeiro.

Ferramentas e técnicas para análise estática

Além das ferramentas já mencionadas, existem outras técnicas e outras ferra-


mentas que podem ser utilizadas para aprofundar a análise estática:
■ Binwalk: ideal para analisar binários incorporados e firmwares, extrai
arquivos e dados ocultos dentro de um binário.
■ PEiD: detecta packers, cryptors e compiladores em binários PE para
Windows.
■ YARA: usado para criar descrições de famílias de malwares com base
em padrões de texto ou binário. Muito útil para identificar variantes de
malwares conhecidos em arquivos sem execução deles.

Cada ferramenta e cada técnica oferecem uma visão diferente por meio da qual
podemos visualizar e analisar o malware, revelando não apenas como ele foi cons-
truído, mas, também, oferecendo pistas sobre seu propósito e sua origem potencial.
A escolha da ferramenta correta depende da natureza específica do malware e do
que se deseja descobrir sobre ele. Com tais abordagens, os analistas podem coletar
um rico conjunto de dados estáticos que são essenciais para a compreensão com-
pleta do código malicioso, sem o risco de executá-lo (Sikorski, 2012).

1
1
1
T E MA DE A PR E ND IZAGEM 6

ANÁLISE DINÂMICA DE MALWARES

A análise dinâmica envolve a execução de malwares em um ambiente contro-


lado para observar seu comportamento em tempo real. Esse método é crucial
para entender o impacto direto do malware em um sistema operacional e para
identificar suas funções operacionais que podem não ser visíveis apenas por
meio da análise estática (Ravula, 2011).

Executando malwares em um ambiente controlado para


observação

O uso de ambientes de sandboxing é fundamental para realizar a análise dinâmica


sem comprometer os sistemas principais ou a rede. Um sandbox é um ambiente
virtual seguro que simula sistemas operacionais e redes, isolando o comporta-
mento do malware do mundo exterior (Ravula, 2011). A seguir, a Figura 3 ilustra
os passos essenciais para configurar um ambiente de sandboxing adequado para
a análise de malwares.

Figura 3 - Configuração de um ambiente Sandboxing / Fonte: o autor (2024).

Descrição da Imagem: a figura ilustra um infográfico com três etapas numeradas para usar uma ferramenta de
sandbox. Cada etapa tem um título: “Escolha de uma Ferramenta de Sandboxing”, “Configuração do Ambiente”,
“Execução e Monitoramento”, e, em cada etapa, um breve texto explicativo. Fim da descrição.

A Figura 3 destaca as etapas-chave na preparação de um sandbox para análise


de malwares, enfatizando a importância de uma configuração cuidadosa para
garantir resultados eficazes e segurança durante o teste.

1
1
1
U N IASSE LVI

Monitoramento de comportamento do malware

Durante a execução do malware, é vital monitorar e registrar suas atividades,


que podem incluir alterações de arquivos, comunicação de rede, alterações de
registro, e processos iniciados.
Agora, veremos um exemplo de como monitorar. Suponha que o malware
tente estabelecer uma conexão com um servidor de comando e controle. Os logs
podem mostrar tentativas de conexão, como:

[LOG] Attempt to connect to 192.168.0.101 on port 8080

[LOG] POST /data HTTP/1.1

[LOG] Data exfiltration detected: sending system info

Os logs não apenas indicam uma tentativa de comunicação, mas também sugerem
uma tentativa de exfiltração de dados, um comportamento típico de malwares.

Uso de debuggers e emuladores para analisar operações


de malware

Debuggers e emuladores são ferramentas essenciais para entender as operações de


malware em um nível mais profundo. Demonstração passo a passo com um debugger:
1. Configuração: carregue o malware em um debugger, como o OllyDbg
ou x64dbg.
2. Pontos de interrupção: defina pontos de interrupção em funções sus-
peitas ou críticas, como aquelas que manipulam arquivos ou se comuni-
cam pela rede.
3. Execução passo a passo: execute o malware passo a passo, observando
as operações de registro e os movimentos de memória.

Por exemplo, ao parar em uma função suspeita, você pode ver algo assim no debugger:

00401080 | MOV EAX, [ESI+30] ; Move next instruction address into EAX

00401083 | CALL EAX ; Call the function pointed by EAX

1
1
1
T E MA DE A PR E ND IZAGEM 6

Isso indica que o malware está utilizando técnicas de execução indireta, possi-
velmente, para evitar a detecção. A análise dinâmica, com a ajuda de sandboxes,
debuggers e monitoramento em tempo real, fornece insights valiosos sobre o
comportamento ativo de malwares, permitindo aos analistas desenvolverem me-
didas de mitigação mais eficazes e entenderem melhor a ameaça. Essa abordagem
também ajuda a complementar e a confirmar as descobertas da análise estática,
oferecendo uma visão mais completa do malware e suas capacidades.

TÉCNICAS DE DESOBFUSCAÇÃO

Desobfuscar um malware é crucial para entender seu verdadeiro propósito e seu fun-
cionamento. Os autores de malwares frequentemente usam técnicas de obfuscação
para complicar a análise, escondendo o código real por trás de camadas de comple-
xidade (Udupa, 2005). Esta seção explora como identificar e reverter as obfuscações.

Estratégias para identificar e desobfuscar códigos maliciosos

A obfuscação pode tomar várias formas, desde simples substituições de strings


até complexas transformações de código que alteram a estrutura do programa
sem mudar seu comportamento (Udupa, 2005). Identificar que um código foi
obfuscado é o primeiro passo para poder desobfuscar, eficazmente.
Veja algumas técnicas comuns de obfuscação:
■ Empacotamento: os malwares são «empacotados» em um invólucro
que descompacta o código original em tempo de execução. Detectar
empacotamento, geralmente, envolve observar se o código realiza
muitas funções relacionadas à descompressão ou à automodificação
antes de executar o payload principal.
■ Criptografia e codificação: algumas partes do código ou das strings
podem ser criptografadas ou codificadas para esconder suas funções
reais. Identificar isso, muitas vezes, depende da presença de rotinas
criptográficas ou de codificação.
■ Fluxo de controle alterado: inserção de instruções inúteis, alteração
na sequência de execução usual do código ou uso de técnicas de branch
complexas são indicadores comuns de obfuscação.

1
1
1
U N IASSE LVI

Ferramentas e métodos para reversão de obfuscação em


malwares

Diferentes ferramentas foram desenvolvidas, especificamente, para ajudar a de-


sobfuscar e a analisar malwares. Aqui estão algumas mais eficazes:

IDA PRO COM PLUGINS DE DESOBFUSCAÇÃO

IDA Pro, especialmente com plugins, como Hex-Rays, pode automatizar parte do
processo de desobfuscação, analisando e apresentando o código de uma forma
mais legível.

X64DBG

Este debugger pode ser usado para rastrear a execução de um malware passo a
passo, identificando onde o código está sendo desobfuscado, dinamicamente.

OLLYDBG

Similar ao x64dbg, OllyDbg oferece funcionalidades robustas para análise dinâmi-


ca e pode ser muito útil para quebrar obfuscações em tempo real.

Consideraremos um exemplo prático em que um malware utiliza cripto-


grafia para esconder uma carga maliciosa: suponha que você identificou
um malware que criptografa suas strings importantes. Usando IDA Pro,
você observa chamadas frequentes para uma função suspeita que parece ser
uma rotina de decodificação. Configurando um ponto de interrupção nessa
função com o x64dbg, você pode rastrear os valores que são passados para
ela e, potencialmente, entender o método de criptografia, ou obter as strings
decodificadas quando são usadas.
Tal exemplo destaca como a combinação de análise estática e dinâmica,
junto com as ferramentas certas, pode desvendar a obfuscação usada por
autores de malwares para esconder suas verdadeiras intenções. Essas técni-
cas e as ferramentas de desobfuscação são vitais para a análise de malwares
(Udupa, 2005). Ao entender e aplicar essas metodologias, analistas podem
penetrar as camadas de complexidade introduzidas por criminosos ciber-
néticos, revelar o funcionamento interno dos malwares, ajudando a criar
defesas contra ameaças futuras.

1
1
1
T E MA DE A PR E ND IZAGEM 6

E M FO CO

Confira a aula referente a este tema! . Recursos de mídia disponíveis no conteúdo


digital do ambiente virtual de aprendizagem.

NOVOS DESAFIOS
À medida que concluímos nosso estudo sobre engenharia reversa de mal-
wares, é essencial considerar como este conhecimento se aplica ao ambien-
te profissional que você enfrentará. Cada técnica que exploramos, desde a
configuração de ambientes de análise seguros até a desobfuscação de código
malicioso, preparamos você para enfrentar e mitigar ameaças reais em orga-
nizações que dependem da proteção rigorosa de seus dados.
Na prática, as habilidades adquiridas aqui permitem não só identificar e ana-
lisar malwares, mas também desenvolver e implementar estratégias eficazes de
defesa cibernética. Por exemplo, ao aplicar técnicas de análise dinâmica e estática,
você pode detectar comportamentos maliciosos em tempo real e responder de
maneira eficaz, protegendo informações vitais e infraestruturas críticas.
Além disso, a ética e a legalidade na análise de malware destaca a impor-
tância de operar dentro dos limites legais. Esta conscientização é crucial, pois
cada decisão tomada no contexto profissional deve respeitar tanto a privaci-
dade do usuário quanto as normas jurídicas aplicáveis, evitando consequên-
cias legais e reputacionais para as organizações.
Por fim, ao integrar teoria com experiências práticas ao longo do curso,
fornecemos uma base robusta que não apenas equipa vocês com as ferra-
mentas necessárias para a entrada no mercado de trabalho, mas também os
capacita a se destacarem como profissionais de segurança cibernética. Este
campo continua a crescer e a evoluir, e, com as competências desenvolvidas,
vocês estão bem preparados para contribuir, significativamente, para a segu-
rança digital em qualquer contexto profissional.

1
1
1
AUTOATIVIDADE

1. A engenharia reversa de malwares envolve um procedimento detalhado e estruturado que


é crucial para entender e neutralizar ameaças digitais. Iniciando com a coleta cuidadosa de
amostras maliciosas o processo segue, por meio de várias fases críticas, incluindo a Análise
Estática, em que o código é inspecionado sem execução, e a Análise Dinâmica, que obser-
va o malware em operação. As etapas de desobfuscação e documentação completam o
ciclo, cada uma adicionando camadas de entendimento e preparação para a formulação
de defesas robustas contra futuros ataques (Ravula; Liszka; Chan, 2011).

Considere o processo geral de engenharia reversa de malwares descrito. Qual das seguintes
afirmações melhor representa a sequência correta e os propósitos dessas etapas?

a) O processo começa com Análise Estática, segue para Análise Dinâmica e Desobfuscação
e termina com Documentação.
b) A Desobfuscação é a primeira etapa do processo, aplicada para preparar o malware para
coleta e análises subsequentes.
c) A coleta do malware é seguida pela sua execução imediata em um ambiente controlado
para observação direta, sem análises preliminares.
d) A Documentação é realizada antes da Análise Dinâmica para assegurar que todas as
observações sejam registradas antes da execução do malware.
e) A Análise Estática é realizada após a Desobfuscação para garantir que o código esteja
claro e compreensível, facilitando a identificação de componentes suspeitos.

2. A configuração de um laboratório de análise de malware é uma tarefa meticulosa que


envolve escolhas estratégicas em hardware e software para criar um ambiente seguro e
isolado. O isolamento eficaz da rede, o uso de hardware robusto e software de virtualização,
e a preparação de sistemas operacionais diversos são essenciais para simular e analisar
ataques de malware sem comprometer as redes principais. Cada componente é cuidado-
samente selecionado para otimizar a análise e garantir resultados confiáveis.

Considerando a configuração descrita para um laboratório de análise de malware, qual é a


principal função da diversidade de sistemas operacionais instalados nas máquinas virtuais?

a) Reduzir o custo geral ao usar sistemas operacionais gratuitos sempre que possível.
b) Aumentar a segurança do laboratório ao complicar o processo de infecção por malwares.
c) Facilitar a manutenção e atualizações de segurança das máquinas virtuais.
d) Permitir a realização de testes comparativos de desempenho de malwares em diferentes
sistemas.
e) Garantir que o laboratório possa analisar malwares que operam em diferentes ambientes
operacionais.

1
1
1
AUTOATIVIDADE

3. Manter a segurança em um ambiente de análise de malware é crucial para a integridade e a


eficácia dos processos de engenharia reversa. As práticas recomendadas incluem estabele-
cer protocolos rigorosos de backups, atualizações constantes de software, implementação
de múltiplas camadas de medidas de segurança e monitoramento ativo. Essas estratégias
ajudam a prevenir ataques, detectar atividades suspeitas, precocemente, e assegurar uma
rápida recuperação de dados em caso de incidentes, preservando, assim, a confiabilidade
e a continuidade das operações analíticas (SIKORSKI; HONIG, 2012).

Com base nas diretrizes para a segurança do ambiente de análise de malware, por que é
importante adotar uma abordagem de segurança em camadas?

a) Para permitir que os sistemas de monitoramento operem de forma mais eficaz e isolada.
b) Para automatizar totalmente as atualizações e reduzir a intervenção manual no sistema.
c) Para garantir uma manutenção simplificada dos sistemas e ferramentas dentro do am-
biente.
d) Para proporcionar defesa contra uma variedade de ameaças, cobrindo diferentes vetores
de ataque.
e) Para concentrar todos os esforços de segurança em uma única solução robusta que
cubra todas as necessidades.

1
1
1
REFERÊNCIAS

AMIRUDDIN, A. et al. Utilizing Reverse Engineering Technique for A Malware Analysis Model.
Scientific Journal of Informatics, [s. l.], v. 8, n. 2, p. 222-229, 2021.

RAVULA, R. R.; LISZKA, K. J.; CHAN, C-C. Learning attack features from static and dynamic analy-
sis of malware. In: IC3K - KNOWLEDGE DISCOVERY, KNOWLEDGE ENGINEERING AND KNOW-
LEDGE MANAGEMENT, 3., 2011, Paris. Proccedings [...]. Paris: Springer Berlin Heidelberg, 2013. p.
109-125. (Revised Selected Papers 3).

SIKORSKI, M.; HONIG, A. Practical malware analysis: the hands-on guide to dissecting malicious
software. Burlingame: No starch press, 2012.

SINGHAL, Ankit; VENKATARAMALINGAM, Saathwick. Malware Analysis and Reverse Enginee-


ring: Unraveling the Digital Threat Landscape. SSRN, 2023. Disponível em: https://papers.ssrn.
com/sol3/papers.cfm?abstract_id=4649754. Acesso em: 26 jul. 2024.

UDUPA, S. K.; DEBRAY, S. K.; MADOU, M. Deobfuscation: Reverse engineering obfuscated code.
In: WORKING CONFERENCE ON REVERSE ENGINEERING (WCRE’05), 12., 2005, Pittsburgh.
Proccedings [...]. Pittsburgh: IEEE, 2005.

WONG, R. Mastering Reverse Engineering: Re-engineer your ethical hacking skills. Birmingham,
Packt Publishing Ltd, 2018.

1
1
1
GABARITO

1. Alternativa A. Correto. Essa alternativa resume, acuradamente, a sequência de etapas na


engenharia reversa de malwares.

B) Incorreto. A Desobfuscação ocorre após a Análise Estática e a Dinâmica, sendo utilizada


para clarificar o código que foi deliberadamente mascarado.
C) Incorreto. A análise começa com a Análise Estática, em que o código é examinado sem
ser executado, antes de proceder para a Análise Dinâmica em um ambiente controlado.
D) Incorreto. A Documentação é uma das últimas etapas do processo, em que todas as des-
cobertas e técnicas aplicadas são meticulosamente registradas após as análises.
E) Incorreto. A Análise Estática precede a Desobfuscação, pois é necessário primeiro identificar
áreas do código que possam estar obfuscadas antes de tentar desobfuscar.

2. Alternativa E. Correto. A diversidade de sistemas operacionais é crucial para testar e analisar


malwares que são projetados para operar em ambientes específicos.

A) Incorreto. A diversidade de sistemas operacionais não visa reduzir custos, mas, sim, analisar
malwares que podem ser específicos para diferentes plataformas.
B) Incorreto. Enquanto a segurança é uma preocupação, a diversidade de sistemas opera-
cionais serve, principalmente, para permitir a análise abrangente de malwares.
C) Incorreto. A diversidade de sistemas operacionais pode, de fato, complicar a manutenção
e as atualizações, já que cada sistema pode exigir abordagens diferentes.
D) Incorreto. Embora isso possa ser uma vantagem adicional, o principal objetivo é analisar
como os malwares se comportam e se adaptam a diferentes sistemas operacionais.

3. Alternativa D. Correto. A abordagem de segurança em camadas é importante porque cria


múltiplas barreiras de proteção que dificultam a penetração de ameaças em diversos níveis.

A) Incorreto. Embora a segurança em camadas possa melhorar a eficácia dos sistemas de


monitoramento, seu objetivo principal é fornecer defesa em múltiplos níveis contra ataques.
B) Incorreto. A segurança em camadas envolve mais do que automação de atualizações, ela
estabelece diferentes níveis de defesa para proteger contra ataques.
C) Incorreto. A segurança em camadas não visa simplificar a manutenção, mas, sim, fortalecer
a proteção por meio de múltiplas barreiras defensivas.
E) Incorreto. A segurança em camadas, por definição, envolve a utilização de várias soluções
de segurança em conjunto, não apenas uma.

1
1
1
MINHAS ANOTAÇÕES

1
1
1
UNIDADE 3
TEMA DE APRENDIZAGEM 7

WEB E ARQUIVOS DE
DOCUMENTOS MALICIOSOS

MINHAS METAS

Dominar análise estática e dinâmica de malwares.

Identificar e mitigar ataques web.

Identificar e mitigar ataques de documentos.

Conhecer e utilizar ferramentas de segurança cibernética.

Aprender técnicas de resposta a incidentes.

Compreender vetores de ataque comuns.

Prevenir ataques, por meio de educação contínua.

1
1
1
U N IASSE LVI

INICIE SUA JORNADA


Imagine que você está iniciando um estágio em uma empresa de tecnologia
que acabou de sofrer um ataque cibernético. Documentos confidenciais foram
comprometidos e sistemas críticos ficaram inacessíveis, causando paralisações
operacionais e perdas financeiras. Sua tarefa é ajudar a identificar como o ataque
ocorreu e sugerir medidas para prevenir futuras ocorrências. Essa situação coloca
você no centro de um problema real e urgente que profissionais de segurança
cibernética enfrentam diariamente.
A resolução desta problemática é crucial não apenas para a recuperação da
empresa afetada, mas também para a proteção de informações sensíveis no fu-
turo. Entender e mitigar tais ataques pode prevenir danos econômicos significa-
tivos, proteger reputações e garantir a continuidade dos negócios. Além disso,
a capacidade de responder, eficazmente, a incidentes de segurança cibernética
é uma habilidade valorizada em profissionais da área, impactando diretamente
sua carreira e seu desenvolvimento profissional.
Ao longo deste tema de aprendizagem, você verá as ferramentas e as técnicas
fundamentais para analisar documentos e websites maliciosos. Você aprenderá sobre
o uso de sandboxes para observar o comportamento de malware em um ambiente
controlado e conhecerá as principais estratégias de segurança para mitigar riscos.
Isso reforçará sua capacidade de identificar e responder a ameaças em tempo real.
À medida que você progride, reflita sobre as implicações éticas e sociais
de sua atuação na segurança cibernética. Pense sobre como cada decisão pode
afetar não apenas a segurança das informações da empresa, mas também a
privacidade e os dados pessoais dos indivíduos. Considere, também, como a
inovação tecnológica continua a alterar o panorama das ameaças cibernéticas,
exigindo aprendizado e adaptação contínuos.

P L AY N O CO NHEC I M ENTO

Convidamos você a assistir ao nosso podcast Documentos perigosos: desvendando


o ataque do malware Dridex, que aborda um malware que foi disseminado, por
meio de documentos do Word e e-mails de phishing. . Recursos de mídia disponí-
veis no conteúdo digital do ambiente virtual de aprendizagem.

1
1
1
T E MA DE A PR E ND IZAGEM 7

VAMOS RECORDAR?
Você lembra quais são os principais ataques cibernéticos na Segurança da
Informação? Assista a este vídeo para relembrar quinze tipos de ataques hackers:
https://www.youtube.com/watch?si=R9N9nQVworaoYMdG&v=VkglYQSys0A&-
feature=youtu.be

DESENVOLVA SEU POTENCIAL

FUNDAMENTOS DOS ATAQUES WEB E DOCUMENTOS


MALICIOSOS

Os ataques cibernéticos que exploram a web e os documentos digitais repre-


sentam uma das principais ameaças na segurança de informações. Nesta seção,
exploraremos a estrutura e as características desses ataques, destacando sua im-
portância e o impacto no contexto de segurança global.

1
1
1
U N IASSE LVI

Ataques baseados na web e em documentos: visão geral e


importância

Os ataques baseados na web e em documentos são ferramentas cruciais para


criminosos e atores mal-intencionados que visam comprometer sistemas de
informação pessoais e corporativos. Eles exploram a vasta distribuição e a con-
fiança inerente que usuários e organizações depositam em documentos digitais
e websites (Al-Fuhaidi et al. 2021).
A eficácia de ataques em burlar medidas de segurança convencionais torna docu-
mentos, como PDFs e arquivos do Office, assim como websites, alvos atrativos para
disseminar conteúdo malicioso. Diariamente, essas plataformas são utilizadas por
milhões de pessoas, aumentando seu potencial de exploração (Singh et al., 2020).

ZO O M N O CO NHEC I M ENTO

Ataques documentais frequentemente se disfarçam como arquivos legítimos,


persuadindo usuários a executarem código malicioso que pode levar à instalação
de malware, roubo de dados ou controle remoto do sistema.
Ataques via web, por sua vez, podem explorar vulnerabilidades em navega-
dores ou plugins para executar scripts mal-intencionados sem o conheci-
mento do usuário.

Impacto e consequências: as consequências dos ataques podem variar desde a


perda de dados confidenciais e danos financeiros até impactos significativos na
infraestrutura crítica e perda de confiança por parte dos consumidores ou dos
parceiros comerciais. Isso destaca a importância de entender e estar preparado
para lidar com tais ameaças.
Defesa e prevenção: a defesa eficaz contra estes ataques requer que in-
divíduos e organizações estejam equipados com conhecimento sobre suas
mecânicas e seus métodos de prevenção. Isso inclui a educação em segurança
cibernética, a implementação de políticas de segurança rigorosas e o uso de
tecnologia atualizada para detecção e prevenção de ameaças. Ao entender
esses aspectos, tanto indivíduos quanto organizações podem melhor se pre-
parar para enfrentar e mitigar os riscos associados aos ataques baseados na
web e em documentos (Al-Fuhaidi et al., 2021).

1
1
1
T E MA DE A PR E ND IZAGEM 7

Tipos comuns
de arquivos de
documentos usados
em ataques

Documentos maliciosos
são frequentemente dis-
farçados de arquivos legí-
timos e distribuídos por
meio de e-mails, down-
loads diretos ou platafor-
mas de compartilhamento
de arquivos (Singh et al.,
2020). Os formatos mais
comuns usados em ata-
ques incluem:

PDF (PORTABLE DOCUMENT FORMAT)

Popular devido à sua capacidade de preservar a formatação do documento e


ser amplamente aceito em diversas plataformas. Os atacantes, frequentemente,
embutem scripts maliciosos ou exploram vulnerabilidades dentro dos leitores de
PDF para executar código arbitrário.

DOCX E XLSX (MICROSOFT WORD E EXCEL)

Estes formatos são comuns no ambiente corporativo, tornando-os alvos atraentes


para ataques. Macros maliciosas, scripts VBA (Visual Basic for Applications) ou
links embutidos podem ser utilizados para instalar malware ou realizar ações prej-
udiciais sem o conhecimento do usuário.

OUTROS FORMATOS DE DOCUMENTOS

Além dos mais conhecidos, outros formatos, como RTF (Rich Text Format) e ar-
quivos de apresentação (como PPTX) também são utilizados para ações mal-in-
tencionadas. Esses podem conter vulnerabilidades exploráveis, ou serem usados
para phishing, direcionando usuários para sites maliciosos.

1
1
1
U N IASSE LVI

A escolha do formato do arquivo, muitas vezes, depende do contexto e do


público-alvo do ataque, buscando maximizar a probabilidade de execução
do arquivo pelo usuário final.

Mecanismos de infecção e vetores de ataque

Os vetores de ataque para a distribuição de documentos maliciosos são diver-


sificados, com os criminosos adaptando suas técnicas às defesas em evolução
(SINGH et al., 2020). Os mais comuns incluem:
■ Phishing e Spear Phishing: técnicas de engenharia social onde e-mails,
mensagens instantâneas ou sites falsificados são usados para induzir os usuários
a abrirem documentos infectados ou clicar em links maliciosos. O spear phishing
é uma versão mais direcionada cujo ataque é adaptado para um indivíduo ou
uma organização específica, aumentando, assim, as chances de sucesso.
■ Drive-by Downloads: este vetor explora vulnerabilidades em navegado-
res, plugins ou software para executar, automaticamente, o download e,
em alguns casos, a instalação de malware sem a interação direta do usuá-
rio. Apenas visitar um site comprometido pode resultar em uma infecção.
■ Exploit Kits: ferramentas automatizadas que criminosos usam para explorar
vulnerabilidades conhecidas em software. Eles são, geralmente, hospedados
em sites comprometidos ou maliciosos e podem infectar um sistema por
meio de falhas não corrigidas nos leitores de documentos ou navegadores.

A compreensão desses mecanismos é crucial para o desenvolvimento de estra-


tégias eficazes de mitigação e prevenção, as quais serão exploradas em detalhes
nas seções subsequentes deste capítulo.

ANÁLISE DE DOCUMENTOS MALICIOSOS

A análise de documentos maliciosos é uma etapa fundamental no processo de


defesa cibernética, permitindo que os profissionais de segurança identifiquem e
neutralizem ameaças antes que causem danos. A seguir, abordaremos técnicas
e ferramentas para examinar documentos suspeitos, começando com a análise
estática e avançando para métodos dinâmicos.

1
1
1
T E MA DE A PR E ND IZAGEM 7

Técnicas para análise estática de documentos

A análise estática de documentos é o processo de examinar o conteúdo de um ar-


quivo sem executá-lo, proporcionando uma forma segura de detectar potenciais
ameaças (Tzermias et al., 2021). Essa abordagem é essencial para evitar a ativação
acidental de código malicioso durante a análise. As principais técnicas incluem:
■ Análise de Metadados: os metadados de um documento podem reve-
lar informações cruciais sobre sua origem e sua história. Por exemplo, a
data de criação, o autor do documento e as modificações feitas podem
ser examinadas para identificar discrepâncias ou sinais de manipulação
maliciosa (Figura 1). Ferramentas especializadas podem extrair esses
metadados, permitindo aos analistas uma primeira camada de inspeção.

Figura 1 - Análise dos Metadados de um Documento no Formato PDF / Fonte: o autor.

Descrição da Imagem: a figura exibe uma janela de propriedades de um arquivo PDF. Informações, como locali-
zação, produtor (pdfTeX-1.40.24), data de criação, formato (PDF-1.5), quantidade de páginas (21), entre outros
detalhes estão listados em duas colunas. Fim da descrição.

1
1
1
U N IASSE LVI

■ Busca por Indicadores de Comprometimento: Indicadores de Com-


prometimento (IoCs) são artefatos dentro de um arquivo que podem
indicar a presença de malware. Esses podem incluir:
• Hashes de arquivos maliciosos conhecidos.
• Strings ou código binário suspeito.
• Endereços IP ou URLs embutidos que são conhecidos por serem ma-
liciosos.
• Padrões de ataque específicos, como certos tipos de obfuscação ou
scripts maliciosos.

A identificação desses indicadores requer o uso de ferramentas de análise de


documentos que possam vasculhar o conteúdo do arquivo em busca de assina-
turas conhecidas de malware. Ao combinar a análise de metadados com a busca
por IoCs, vocês podem obter uma visão detalhada do risco potencial de um
documento, orientando a decisão sobre a necessidade de uma investigação mais
aprofundada por meio de análises dinâmicas (Tzermias et al. 2021).

Métodos para
análise dinâmica de
documentos

Após a análise estática, a


análise dinâmica é o pró-
ximo passo essencial no
processo de investigação
de documentos suspeitos.
Essa técnica envolve a exe-
cução do documento em
um ambiente controlado
e seguro, conhecido como
sandbox, para observar
seu comportamento real
sem risco para os sistemas principais (Tzermias et al., 2021).

1
1
1
T E MA DE A PR E ND IZAGEM 7

A P RO F UNDA NDO

Ambiente Controlado (Sandbox): um sandbox é uma máquina virtual ou um ambiente


isolado que simula sistemas operacionais e redes, permitindo que o documento seja
executado em condições controladas. Qualquer ação maliciosa tentada pelo documen-
to pode ser monitorada de forma segura, incluindo tentativas de conexão com servidores
externos, alterações no sistema de arquivos e execução de processos desconhecidos.

Durante a execução no sandbox, ferramentas de monitoramento registram to-


das as atividades do documento (Tzermias et al., 2021). Isso inclui:
■ Criação, modificação e exclusão de arquivos.
■ Alterações no registro do sistema.
■ Comunicações de rede, incluindo tentativas de download de cargas adi-
cionais ou de comunicação com um comando e controle (C&C).
■ Lançamento de processos que podem indicar tentativas de exploração
ou escalação de privilégios.

O comportamento observado é analisado para determinar se o documento está


realizando ações maliciosas. Qualquer atividade suspeita é comparada com pa-
drões de comportamento conhecidos de malware. Essa análise ajuda a identificar
não apenas os tipos de malware, mas também suas capacidades, suas intenções
e seus potenciais impactos no sistema infectado.
Ao contrário da análise estática, que pode ser limitada pela habilidade do
malware em esconder sua presença, a análise dinâmica pode revelar o verda-
deiro potencial destrutivo de um documento malicioso. Isso é particularmente
útil para identificar malware avançado que utiliza técnicas de evasão ou que só
se ativa sob certas condições (Tzermias et al., 2021).

Ferramentas e Softwares úteis para a análise de


documentos maliciosos

Para realizar as análises estática e dinâmica de documentos maliciosos, há uma va-


riedade de ferramentas que são projetadas para detectar, analisar e mitigar ameaças
contidas em documentos suspeitos. A Figura 2 ilustra algumas das ferramentas mais
eficazes e comumente usadas no campo da análise de malware em documentos:

1
1
1
U N IASSE LVI

Figura 2 - Ferramentas para Análise Estática e Dinâmica de Documentos / Fonte: o autor.

Descrição da Imagem: a figura é um diagrama que categoriza ferramentas para a análise de documentos maliciosos
em duas grandes categorias: Ferramentas de Análise Estática e Ferramentas de Análise Dinâmica. Ferramentas para
Análise de Documentos Maliciosos (título principal no centro da figura, em azul); Ferramentas de Análise Estática
(categoria em cinza, à esquerda); PEEPDF (ferramenta listada à direita da categoria Análise Estática); OLETOOLS (fer-
ramenta listada à direita da categoria Análise Estática); EXIFTOOL (ferramenta listada à direita da categoria Análise
Estática); Ferramentas de Análise Dinâmica (categoria em cinza, abaixo de Análise Estática); CUCKOO SANDBOX (fer-
ramenta listada à direita da categoria Análise Dinâmica); HYBRID ANALYSIS (ferramenta listada à direita da categoria
Análise Dinâmica); As setas conectam as ferramentas às suas respectivas categorias de análise. Fim da descrição.

Ferramentas de Análise Estática

■ Peepdf é uma ferramenta específica para a análise de arquivos PDF. Ela


permite a inspeção detalhada dos elementos internos de um PDF, incluindo
objetos, streams e qualquer código potencialmente malicioso embutido.
■ Oletools é um pacote de ferramentas para análise de documentos Micro-
soft Office, especialmente eficaz na inspeção de arquivos DOCX e XLSX.
Ele verifica a presença de macros VBA maliciosas, links suspeitos e outros
indicadores de comprometimento.
■ Por fim, ExifTool é um poderoso leitor e editor de metadados que supor-
ta uma vasta gama de arquivos, incluindo documentos, imagens e arqui-
vos multimídia. É utilizado para extrair metadados que podem revelar
informações sobre a origem e a história de um arquivo.

1
1
1
T E MA DE A PR E ND IZAGEM 7

Ferramentas de Análise Dinâmica

1. Cuckoo é uma das ferramentas de sandbox mais populares e permite a


execução de arquivos suspeitos em um ambiente isolado, registrando to-
das as atividades do sistema, incluindo tentativas de rede, modificações de
arquivos e processos executados. Ela é extensivamente usada para análise
dinâmica, devido à sua capacidade de fornecer insights detalhados sobre
o comportamento do malware.
2. Por outro lado, Hybrid Analysis é um serviço online que combina análise
estática e dinâmica. Permite que os usuários enviem documentos suspei-
tos e recebam um relatório detalhado das atividades do arquivo, incluindo
comportamento malicioso e comunicações de rede.

Também, é importante mencionar a existência de outras ferramentas e outros


softwares adicionais, como o VirusTotal (Figura 3).

Figura 3 - Tela inicial do VirusTotal / Fonte: o autor.

Descrição da Imagem: a figura mostra a interface de usuário do website “VirusTotal”. Há campos para carregar
um arquivo, inserir uma URL ou realizar uma busca, com o objetivo de analisar arquivos suspeitos, IPs e URLs para
detectar malware. Fim da descrição.

1
1
1
U N IASSE LVI

Especificamente, o VirusTotal se destaca por ser um serviço online (https://www.


virustotal.com/) que utiliza múltiplos motores de antivírus para escanear arqui-
vos. É útil para uma verificação rápida de documentos contra uma ampla gama de
assinaturas de malware conhecidas. Cada ferramenta oferece funcionalidades es-
pecíficas que podem ser usadas, individualmente ou em conjunto, para fornecer
uma compreensão abrangente das ameaças presentes em documentos maliciosos.

SEGURANÇA E ANÁLISE DE WEBSITES MALICIOSOS

A segurança e a análise de websites maliciosos são cruciais para proteger os usuá-


rios de ameaças que proliferam na internet. Esta seção explora métodos para
identificar, analisar e mitigar os riscos associados a websites comprometidos ou
projetados para disseminar malware.

Identificação de sites maliciosos e análise de conteúdo web


perigoso

Identificar e analisar sites maliciosos envolve uma série de técnicas que ajudam a
detectar atividades suspeitas ou diretamente maliciosas hospedadas em domínios
na web (Nascimento, 2021). Essas técnicas incluem:

1
1
1
T E MA DE A PR E ND IZAGEM 7

ANÁLISE DE REPUTAÇÃO

Utilizar bases de dados que registram a reputação de URLs pode ajudar a


identificar, rapidamente, sites conhecidos por hospedar conteúdo malicioso ou
participar em esquemas de phishing. Serviços, como Google Safe Browsing e Web
of Trust fornecem informações sobre a segurança de domínios específicos.

ANÁLISE DE CONTEÚDO

Ferramentas de análise de conteúdo web examinam os elementos de uma página


da web em busca de comportamentos suspeitos ou maliciosos. Isso pode incluir a
presença de iframes ocultos, scripts de JavaScript que executam ações incomuns,
ou tentativas de exploração de vulnerabilidades conhecidas nos navegadores.

HEURÍSTICAS E DETECÇÃO DE ANOMALIAS

Algoritmos que analisam padrões de tráfego e comportamento do usuário para


detectar desvios que possam indicar uma ameaça. Por exemplo, um aumento re-
pentino no tráfego de saída pode sugerir uma tentativa de exfiltração de dados.

Essas técnicas ajudam não apenas a identificar sites maliciosos já conhecidos, mas
também a detectar novas ameaças que ainda não foram amplamente reportadas.

Ferramentas e técnicas para o escaneamento e análise de


websites

Para o escaneamento e a análise efetiva de websites, diversas ferramentas e téc-


nicas podem ser empregadas:
■ Ferramentas de Escaneamento de Vulnerabilidades: softwares como
OWASP ZAP e Acunetix são usados para automatizar a busca por vul-
nerabilidades em websites. Eles podem detectar uma ampla variedade de
problemas de segurança, como SQL Injection, Cross-site Scripting (XSS)
e falhas de configuração de segurança.
■ Ferramentas de Análise Forense: ferramentas, como Fiddler e Wire-
shark permitem aos analistas examinar o tráfego de rede entre o usuário
e o site para identificar transferências de dados maliciosas ou outras
atividades suspeitas.

1
1
1
U N IASSE LVI

■ Bots de Crawling e Análise Automática: Bots podem navegar, auto-


maticamente, por um site e suas páginas, simulando o comportamento
do usuário e capturando detalhes sobre o comportamento do site,
incluindo tentativas de download automático de arquivos ou redire-
cionamentos inesperados.

Medidas de proteção contra ataques baseados em web

Várias estratégias e tecnologias são fundamentais para proteger os usuários de


websites maliciosos (Nascimento, 2021):
■ Blacklisting e Whitelisting:
manter listas de sites conhe-
cidos por serem seguros
(whitelist) ou perigosos
(blacklist) pode ser uma es-
tratégia eficaz de controle de
acesso. Ferramentas de filtra-
gem baseadas em URL são
frequentemente atualizadas
para refletir as novas desco-
bertas de segurança.
■ Sandboxing de Navegador: executar sessões de navegador em um am-
biente isolado pode prevenir que malware entregue por um website afete
o sistema do usuário. Isso é útil para mitigar o risco de ataques zero-day,
onde as vulnerabilidades ainda não são conhecidas.
■ Gateways de Segurança Web: dispositivos ou serviços que inspecio-
nam e filtram o tráfego de internet, bloqueando conteúdo malicioso antes
que ele atinja os dispositivos do usuário. Incluem funcionalidades, como
inspeção profunda de pacotes, detecção de malware em tempo real e
prevenção contra intrusões.

Implementar essas medidas não só aumenta a segurança durante a navegação


na web, mas também ajuda a proteger a infraestrutura de TI mais ampla de ser
comprometida por ataques baseados na web.

1
1
1
T E MA DE A PR E ND IZAGEM 7

PREVENÇÃO, DETECÇÃO E MITIGAÇÃO

Esta seção explora as estratégias e as ferramentas essenciais para prevenir, de-


tectar e mitigar ameaças associadas a documentos e conteúdos web maliciosos.
O objetivo é proporcionar uma defesa robusta que minimize o risco e impacto
dessas ameaças na segurança das informações.

Estratégias de prevenção contra documento e conteúdo web


malicioso

Prevenir infecções por malware é fundamental para manter um ambiente seguro


(Maniath et al., 2019). As seguintes estratégias são essenciais para proteger os
sistemas contra documentos e conteúdos web maliciosos:

EDUCAÇÃO E TREINAMENTO EM CONSCIENTIZAÇÃO DE SEGURANÇA

O fator humano, muitas vezes, é o elo mais fraco na segurança cibernética. Programas
regulares de treinamento podem educar os usuários sobre os riscos de abrir docu-
mentos desconhecidos ou clicar em links suspeitos, reduzindo, significativamente, a
chance de infecções.

POLÍTICAS DE SEGURANÇA RIGOROSAS

Implementar políticas que restrinjam o acesso a sites não confiáveis e o download de


anexos não verificados em emails. Políticas, como a necessidade de autenticação de
dois fatores e o uso obrigatório de VPN para acessos externos também podem refor-
çar a segurança.

ATUALIZAÇÕES E PATCHES DE SEGURANÇA

Manter sistemas operacionais, aplicativos e firewalls atualizados com os últimos pat-


ches de segurança é crucial. Muitos ataques exploram vulnerabilidades conhecidas
que poderiam ser mitigadas por atualizações regulares.

1
1
1
U N IASSE LVI

FERRAMENTAS DE SEGURANÇA AVANÇADAS

Utilizar soluções de segurança que incluam funcionalidades de prevenção contra


perda de dados (DLP), filtros web e scanners de vulnerabilidade para proteger contra
ameaças conhecidas e emergentes.

A prevenção é a chave para manter a segurança contra ameaças potenciais pro-


venientes de documentos e conteúdos web maliciosos.

Implementação de soluções de detecção de ameaças

Detectar ameaças antes que elas causem danos é um aspecto crítico da segurança
cibernética (Maniath et al., 2019). Algumas das soluções mais eficazes incluem:
■ Antivírus e anti-malware: antivírus são essenciais para detectar e re-
mover malware de dispositivos. A utilização de assinaturas atualizadas
e heurísticas avançadas permite identificar tanto ameaças conhecidas
quanto comportamentos suspeitos de arquivos novos ou modificados.
■ Sistemas de detecção e prevenção de intrusões (IDS/IPS): ferramen-
tas que monitoram o tráfego de rede para sinais de atividades suspeitas.
IDS identifica potenciais ameaças, enquanto IPS pode tomar medidas
para bloquear ataques antes que causem danos.
■ Gateways de email: como muitos ataques são distribuídos via email, ga-
teways de email com capacidades de filtragem avançadas podem bloquear
emails de phishing e anexos maliciosos antes que eles alcancem o usuário final.

Implementar estas soluções ajuda a fortalecer a defesa contra ameaças ciberné-


ticas, protegendo os sistemas e os dados contra ataques potenciais.

Resposta a incidentes e procedimentos de recuperação após


infecção

Mesmo com as melhores práticas de prevenção e detecção, infecções podem


ocorrer. Uma resposta rápida e eficaz é vital para minimizar os danos:

1
1
1
T E MA DE A PR E ND IZAGEM 7

■ Plano de Resposta a Incidentes: ter um plano estabelecido que deli-


neie os passos a seguir quando uma infecção é detectada. Isso inclui a
identificação da fonte da infecção, a contenção do ataque para evitar a
propagação e a erradicação do malware do sistema.
■ Recuperação e restauração: após a contenção da ameaça, os sistemas
afetados devem ser limpos e restaurados para seu estado funcional. Isso
pode envolver a reinstalação de sistemas operacionais e aplicativos bem
como a restauração de dados a partir de backups seguros.
■ Análise pós-incidente: após resolver um incidente, é importante realizar
uma análise para determinar a causa raiz e avaliar a eficácia da resposta.
Isso pode levar a melhorias nos procedimentos e nas políticas de segu-
rança para prevenir futuros incidentes.

Implementar estratégias integradas de prevenção, detecção e resposta não só


fortalece a segurança contra documentos e conteúdos web maliciosos, mas tam-
bém prepara a organização para responder, de maneira eficaz, a incidentes de
segurança (Maniath et al., 2019; Al-Fuhaidi et al., 2021).

1
1
1
U N IASSE LVI

E M FO CO

Assista ao vídeo referente a esta aula.. Recursos de mídia disponíveis no conteú-


do digital do ambiente virtual de aprendizagem.

NOVOS DESAFIOS
À medida que concluímos este tema de aprendizagem sobre Web e Arquivos de
Documentos Maliciosos, é crucial refletir sobre como o conhecimento adquirido se
conecta com as demandas e os desafios do ambiente profissional futuro. A área de
segurança cibernética está em constante evolução, e os profissionais precisam estar
preparados para enfrentar não apenas os desafios atuais, mas também se adaptar às
ameaças emergentes que moldarão o futuro do setor.
Agora, refletiremos sobre a situação-problema introduzida no início: você está
faz estágio em uma empresa de tecnologia que sofreu um ataque cibernético signi-
ficativo, com documentos confidenciais comprometidos e sistemas críticos inacessí-
veis. A experiência adquirida aqui equipa você com o conhecimento necessário para
analisar como o ataque ocorreu e sugerir medidas preventivas, preparando-o para
enfrentar esses desafios no mercado de trabalho em segurança cibernética.
Além disso, continuar a explorar novas tecnologias e novas abordagens em
segurança é essencial, dada a rápida evolução das ameaças digitais. É impor-
tante que você se mantenha engajado em aprendizado contínuo e atualização
constante sobre as últimas pesquisas e os desenvolvimentos no campo. Essas
práticas complementam a experiência prática e teórica adquirida e preparam
para enfrentar novos desafios.
Finalmente, enquanto profissionais de segurança cibernética, você carrega
uma responsabilidade significativa, não apenas na proteção de infraestruturas
digitais, mas também no impacto ético e social de suas decisões. Este tema de
aprendizagem ofereceu uma base sólida para iniciar uma carreira desafiadora
e recompensadora em segurança cibernética, preparando-o para contribuir
de forma efetiva e ética no mundo digital.

1
1
1
AUTOATIVIDADE

1. Em um cenário em que a segurança digital é constantemente desafiada, arquivos com apa-


rência inofensiva são, frequentemente, armadilhas criadas por cibercriminosos. Formatos de
arquivo, como PDF, DOCX e XLSX são escolhidos por sua popularidade e sua versatilidade,
permitindo que atacantes incorporem elementos maliciosos que passam despercebidos até
a execução. Compreender como esses arquivos são manipulados para fins mal-intencionados
é fundamental para aprimorar a defesa contra essas ameaças (Singh; Tapaswi; Gupta, 2020).

Qual dos seguintes formatos de arquivo é frequentemente utilizado em ataques cibernéticos,


devido à sua popularidade e à sua capacidade de embutir scripts maliciosos ou explorar
vulnerabilidades?

a) PDF.
b) JPEG.
c) MP3.
d) HTML.
e) TXT.

2. A vigilância contra ameaças cibernéticas inicia, frequentemente, com a análise de documen-


tos suspeitos. Essa prática é essencial para as equipes de segurança que buscam interceptar
e desarmar malwares antes de causarem danos. A análise estática, em particular, serve como
uma linha de defesa inicial, analisando arquivos sem ativá-los para detectar possíveis amea-
ças. Dominar essas técnicas é crucial para qualquer profissional de segurança que aspire a
proteger, eficientemente, seus sistemas e dados contra intrusões maliciosas (Tzermias, 2011).

Com base na descrição das técnicas para análise estática de documentos suspeitos, deter-
mine qual das seguintes afirmações melhor representa a aplicação prática dessas técnicas
no contexto de defesa cibernética:

a) A análise estática permite executar e testar código suspeito em um ambiente seguro


para verificar seu comportamento sem riscos.
b) A análise estática é usada apenas como uma medida preliminar, e todas as ameaças
reais só podem ser confirmadas por análise dinâmica.
c) A análise de metadados é suficiente para uma avaliação completa de documentos sus-
peitos, tornando desnecessária qualquer outra forma de investigação.
d) A análise de metadados é irrelevante para a segurança cibernética, concentrando-se
apenas em informações básicas que não afetam a integridade do documento.
e) Ferramentas de análise de documentos utilizam a busca por IoCs para comparar con-
teúdos de arquivos com assinaturas conhecidas de malware, facilitando a identificação
precoce de ameaças.

1
1
1
AUTOATIVIDADE

3. No combate efetivo contra malwares, a análise dinâmica desempenha um papel fundamen-


tal ao permitir que especialistas em segurança observem diretamente o comportamento de
documentos executáveis em condições seguras. Por meio do uso de ambientes isolados,
conhecidos como sandboxes, é possível simular operações do sistema sem risco, permitindo
a detecção de atividades maliciosas que poderiam permanecer ocultas durante análises
mais superficiais. Essa abordagem detalhada é essencial para descobrir e entender as
táticas, as técnicas e os procedimentos de ameaças avançadas (Tzermias, 2011).

Considerando a importância da análise dinâmica na identificação de comportamentos ma-


liciosos de documentos, qual das seguintes afirmações melhor descreve o processo e os
benefícios da utilização de um ambiente sandbox para a análise de documentos suspeitos?

a) Ferramentas de sandboxing são, principalmente, utilizadas após um ataque ser confir-


mado, para avaliar danos.
b) A execução de documentos em um sandbox não permite a identificação de comunicações
de rede suspeitas, limitando sua utilidade.
c) Sandbox permite a execução segura de documentos suspeitos e o monitoramento de
todas as suas atividades, como criação de arquivos e alterações no sistema.
d) Ambientes sandbox são eficazes apenas para testar vulnerabilidades em sistemas
operacionais, não sendo adequados para análise de documentos.
e) A análise dinâmica é usada, principalmente, para verificar a segurança de programas
legítimos, não sendo eficaz contra malware moderno.

1
1
1
REFERÊNCIAS

AL-FUHAIDI, B. et al. Literature Review on Cyber Attacks Detection and Prevention Schemes. In:
INTERNATIONAL CONFERENCE ON INTELLIGENT TECHNOLOGY, SYSTEM AND SERVICE FOR
INTERNET OF EVERYTHING (ITSS-IoE), 2021, Sana’a. Proccedings [...]. Sana’a: IEEE, 2021. p. 1-6.

MANIATH, S.; POORNACHANDRAN, P.; SUJADEVI, V. G. Survey on Prevention, Mitigation and


Containment of Ransomware Attacks. In: SECURITY IN COMPUTING AND COMMUNICATIONS,
7., 2019, Trivandrum. Proceedings [...]. Trivandrum: Springer Singapore, 2019. p. 39-52.

NASCIMENTO, J. V. B. et al. Um Levantamento sobre os Aspectos Técnicos dos Principais Riscos


de Segurança e Ataques em Aplicaçoes Web. Revista Sistemas e Mídias Digitais (RSMD), [s. l.],
v. 6, n. 1, 2021.

SINGH, Priyansh; TAPASWI, Shashikala; GUPTA, Sanchit. Malware Detection in PDF and Office
Documents: A Survey. Information Security Journal: A Global Perspective, [s. l.], v. 29, n. 3, p.
134-153, 2020.

TZERMIAS, Z. et al. Combining static and dynamic analysis for the detection of malicious docu-
ments. In: EUROPEAN WORKSHOP ON SYSTEM SECURITY, 4., 2011, Salzburg. Proceedings [...].
Salzburg: ACM, 2011. p. 1-6.

1
1
1
GABARITO

1. a) PDF.

2. e) Ferramentas de análise de documentos utilizam a busca por IoCs para comparar conteúdos
de arquivos com assinaturas conhecidas de malware, facilitando a identificação precoce de
ameaças.

3. c) Sandbox permite a execução segura de documentos suspeitos e o monitoramento de


todas as suas atividades, como criação de arquivos e alterações no sistema.

1
1
1
TEMA DE APRENDIZAGEM 8

ANÁLISE DETALHADA DE
MALWARES

MINHAS METAS

Compreender a importância da análise de malwares.

Aprender técnicas básicas de engenharia reversa.

Dominar o uso de ferramentas como IDA Pro e Ghidra.

Praticar a análise de tráfego de rede com Wireshark.

Identificar técnicas de ofuscação e evasão de malwares.

Desenvolver habilidades em desofuscação de código.

Aplicar conhecimento em situações reais de segurança.

1
1
1
U N IASSE LVI

INICIE SUA JORNADA


Imagine que você é responsável pela segurança de TI em uma grande em-
presa. Certo dia, uma série de computadores na rede começam a apresentar
comportamentos estranhos: sistemas lentos, arquivos inacessíveis e notifi-
cações de segurança. A suspeita? Um ataque de malware sofisticado. Nesse
cenário, sua missão é identificar e neutralizar a ameaça antes que ela cause
danos irreparáveis.
Como o malware pode ter sido projetado para se esconder e multiplicar
dentro da rede, detectá-lo e compreender seu comportamento se torna um
desafio intrigante e complexo. Este é o momento em que a análise de malwares
se torna crucial. Como você vai proceder? Quais ferramentas e quais técnicas
serão necessárias para desvendar e interromper essa ameaça invisível?
Resolver o problema não é apenas uma questão de proteger ativos digitais,
trata-se de salvaguardar a reputação da empresa, a confiança dos clientes e,
em última análise, o seu negócio. O impacto de falhar em responder, efeti-
vamente, a essas ameaças pode variar desde a perda de dados sensíveis até
consequências financeiras e danos à marca.
Ao longo deste tema de aprendizagem, você será como um detetive digital,
mergulhando nos obscuros detalhes de como os malwares operam, comuni-
cam-se e se escondem. Você conhecerá ferramentas para rastrear comunica-
ções de rede suspeitas e técnicas de desofuscação para revelar as verdadeiras
intenções de um software mal-intencionado. Essas experiências práticas não
só aprimorarão suas habilidades técnicas, mas também o ajudarão a desen-
volver uma mentalidade analítica crítica.
Ao final deste percurso, esperamos que você reflita sobre o papel vital que a
análise de malwares desempenha na segurança cibernética. Como você pode
aplicar o conhecimento adquirido para prever e prevenir futuros ataques?
De que maneira a compreensão dos desafios e das complexidades associadas
à segurança digital influencia a forma como você pensa sobre tecnologia e
proteção de dados em sua vida pessoal e profissional?
Esta jornada não é apenas sobre aprender a usar ferramentas e técnicas, é
sobre desenvolver uma compreensão profunda do cenário de ameaças digitais
de hoje e como podemos nos equipar melhor para enfrentar tais desafios.

1
1
1
T E MA DE A PR E ND IZAGEM 8

P L AY N O CO NHEC I M ENTO

Se você quiser conhecer mais a evolução dos malwares – desde os primeiros vírus
até as ameaças atuais –, convido você a ouvir o nosso podcast A Evolução dos Mal-
wares: dos primeiros vírus às ameaças modernas. Recursos de mídia disponíveis
no conteúdo digital do ambiente virtual de aprendizagem.

VAMOS RECORDAR?
Assista a este vídeo para entender como criar um malware usando a linguagem de
programação Python em poucos minutos. Vamos lembrar?
https://www.youtube.com/watch?v=G6bHl8Ert6U

1
1
1
U N IASSE LVI

DESENVOLVA SEU POTENCIAL

ANÁLISE COMPORTAMENTAL AVANÇADA DE MALWARES

Quando falamos sobre análise comportamental avançada de malwares, estamos


nos referindo ao estudo detalhado de como um malware opera dentro de um
computador ou de uma rede, observando suas ações em tempo real. Esta abor-
dagem nos ajuda a entender melhor o que o malware pretende fazer, como se
comporta em diferentes ambientes e como podemos proteger nossos sistemas
contra ele (De Gaspari, 2022).
Antes de qualquer coisa, é necessário preparar um ambiente seguro onde o
malware possa ser executado sem riscos para o restante da nossa infraestrutura.
Para isso, utilizamos algo chamado sandbox, como vimos nos capítulos ante-
riores, que é, basicamente, uma área isolada do nosso sistema que simula um
ambiente operacional. Isso nos permite observar o malware em ação sem o risco
de contaminar nossos próprios sistemas ou nossas redes.

A P RO F UNDA NDO

Ferramentas de Sandbox: ferramentas, como a Cuckoo Sandbox são populares


porque automatizam a execução do malware em um ambiente controlado e cap-
turam todas as suas interações com o sistema.

Ao executar o malware dentro da sandbox, monitoramos tudo o que ele faz.


Especificamente, estamos interessados em:
■ Interações com arquivos: vemos se o malware tenta criar arquivos, mo-
dificar arquivos existentes, ou até excluir arquivos importantes.
■ Modificações no sistema: observamos quaisquer alterações que o mal-
ware tenta fazer nas configurações do sistema, o que pode incluir tenta-
tivas de iniciar, automaticamente, quando o computador é ligado.

Observar essas ações é de extrema importância para entender como um malware


opera dentro de um computador (De Gaspari, 2022).

1
1
1
T E MA DE A PR E ND IZAGEM 8

Análise de comportamento em rede, correlação de dados e


análise holística

Outro ponto crucial é entender como o malware se comunica. Ele pode tentar
enviar informações roubadas para um hacker ou receber instruções de um ser-
vidor externo. Para captar essas comunicações, usamos ferramentas de captura
de pacotes de rede, como o Wireshark, que nos permite ver todos os dados que
entram e saem do malware (Or-Meir, 2019).
■ Comunicação com servidores: identificamos qualquer tentativa
do malware de se conectar a servidores externos, o que pode ser
um sinal de que está tentando controlar o sistema, remotamente, ou
enviar dados roubados.

Com todas as informações coletadas, o próximo passo é juntá-las para formar


uma imagem completa do que o malware está tentando realizar. Isso envolve
correlacionar dados de diferentes fontes e momentos para entender melhor as
estratégias e os objetivos do malware.
■ Análise integrada: ao combinar dados de diferentes aspectos da exe-
cução do malware, como arquivos modificados e comunicações de
rede, podemos começar a entender a “história” que o malware está
tentando escrever em nosso sistema.

A análise comportamental avançada é uma ferramenta poderosa no estudo de


malwares, permitindo-nos ver não apenas o que um malware faz, mas também
quando e como ele faz. Ao entender esses padrões, podemos desenvolver defesas
mais eficazes para proteger nossos sistemas contra ameaças futuras. Essa abor-
dagem nos proporciona uma visão detalhada e multifacetada que é crucial para
a segurança cibernética moderna (Or-Meir, 2019).

ANÁLISE DE COMUNICAÇÃO DE REDE

A análise de comunicação de rede é uma parte crucial da avaliação de malwares,


pois muitos deles dependem de conexões de rede para executar suas atividades

1
1
1
U N IASSE LVI

maliciosas. Essas podem incluir a comunicação com servidores de comando e


controle, a exfiltração de dados roubados ou até mesmo a recepção de atualiza-
ções ou os novos payloads maliciosos. Entender essa comunicação é fundamental
para bloquear o malware e mitigar os danos que ele pode causar (Sapalo, 2019).

Entendendo o tráfego de rede e identificando comunicações


suspeitas

A primeira etapa na análise de comunicação de rede é capturar o tráfego de


dados entre o malware e o mundo externo. Para isso, utilizamos ferramentas
como Wireshark ou tcpdump, que nos permitem ver todos os pacotes de da-
dos que entram e saem do sistema infectado (Sapalo, 2019). Essas ferramentas
interceptam e registram o tráfego de rede, permitindo uma análise detalhada de
cada pacote enviado ou recebido pelo malware. A Figura 1 ilustra um exemplo
da ferramenta tcpdump em execução no terminal.

Figura 1 - Exemplo de Captura de Tráfego com tcpdump / Fonte: o autor.

Descrição da Imagem: a figura ilustra uma captura de tela de um terminal exibindo a saída do comando tcpdump,
utilizado para monitorar o tráfego de rede. O tráfego inclui diversos pacotes, predominantemente, IPv6 e ARP,
com detalhes sobre protocolos e portas usados, como HTTPS e UDP. Fim da descrição.

1
1
1
T E MA DE A PR E ND IZAGEM 8

Uma vez que temos os dados de rede capturados, o próximo passo é identificar
quais desses dados são suspeitos ou anormais. Procuramos padrões ou sinais que
se desviam do tráfego de rede normal, como:

ENDEREÇOS IP DESCONHECIDOS

Verificar se o malware está se comunicando com IPs externos conhecidos por


hospedar infraestruturas maliciosas.

VOLUMES ANORMAIS DE DADOS

Um grande volume de dados sendo enviado pode indicar tentativas de exfil-


tração de dados.

USO DE PORTAS E PROTOCOLOS INUSITADOS

Observe o uso de portas não padrão ou de protocolos raros, sugerindo tentativas


de evadir detecção convencional.

COMUNICAÇÕES EM HORÁRIOS INCOMUNS

Verifique se há atividades de rede em horários não convencionais, o que pode


indicar operações automatizadas de malware.

Ao combinar os métodos de análise, é possível identificar, com maior precisão e


eficácia, os sinais de atividades maliciosas, fortalecendo as medidas de segurança
contra ameaças avançadas (Sapalo, 2019).

Análise profunda do conteúdo e uso de ferramentas


avançadas

Além de identificar comunicações suspeitas, é importante entender o conteúdo


delas. Isso envolve a análise de:
■ Cargas úteis (Payloads): examinar o conteúdo específico de pacotes
suspeitos para identificar o tipo de dados sendo transmitidos.
■ Protocolos de comunicação: analisar quais protocolos de rede o mal-
ware utiliza para se comunicar, o que pode dar pistas sobre sua funciona-
lidade e sua origem. A Figura 3 ilustra exemplos de protocolos.

1
1
1
U N IASSE LVI

Figura 2 - Exemplos de Protocolos existentes / Fonte: o autor .

Descrição da Imagem: a figura ilustra uma coleção de ícones representando diferentes protocolos de comunica-
ção de rede, incluindo HTTP, HTTPS, DNS, FTP, UDP e TCP/IP. Cada protocolo é simbolizado por um ícone gráfico
colorido que facilita sua identificação. Fim da descrição.

Para aprofundar a análise, podemos usar ferramentas e técnicas mais sofis-


ticadas, como:
■ Análise de fluxo de rede: ferramentas, como NetFlow ou sFlow podem
ajudar a visualizar o fluxo de tráfego de rede ao longo do tempo, propor-
cionando uma visão mais ampla das atividades do malware.
■ Decodificação e descriptografia: em alguns casos, o tráfego de rede
pode estar codificado ou criptografado. Ferramentas e técnicas de deco-
dificação são necessárias para acessar o conteúdo real dos pacotes.

Por fim, é crucial correlacionar as descobertas da análise de rede com outras


análises, como a comportamental ou a de código. Isso ajuda a construir um
quadro completo da operação do malware, desde sua execução local até suas
comunicações externas. Isso é feito combinando dados de análise de rede com
registros de eventos de sistema e análises de comportamento, o que nos possibilita
entender melhor como o malware opera como um todo (Sapalo, 2019).

1
1
1
T E MA DE A PR E ND IZAGEM 8

Em suma, a análise de comunicação de rede é essencial para desvendar muitas


ações que os malwares tentam esconder. Ao compreender como e com quem
o malware se comunica, podemos cortar essas comunicações e limitar, seve-
ramente, suas capacidades, protegendo melhor nossas redes e nossos dados.

TÉCNICAS DE EVASÃO DE ANÁLISE E DE DETECÇÃO

Malwares sofisticados frequentemente empregam


diversas técnicas para evitar detecção e análise por Técnicas de evasão
parte de softwares de segurança e analistas. Essas são projetadas para
técnicas de evasão são projetadas para ocultar a ocultar a presença
do malware
presença do malware, seu comportamento, ou até
mesmo alterar suas características para dificultar
sua identificação. Entender essas técnicas é crucial para desenvolver métodos
mais eficazes de detecção e análise de malwares.
Muitos malwares detectam e modificam seu comportamento quando
percebem que estão sendo executados em um ambiente de análise, como
sandboxes. Eles conseguem verificar a presença de artefatos de virtualização,
como processos, arquivos ou configurações de hardware específicas de VMs
e alterar seu comportamento, ou cessar a execução se detectarem tais sinais.
Malwares podem também monitorar a quantidade de interação do usuário
ou outros indicadores de um ambiente real versus um ambiente de teste, optan-
do por não executar ações maliciosas em um ambiente que parece ser de teste.

Ofuscação de código e técnicas anti-debugging

A ofuscação é uma técnica amplamente utilizada para tornar o código do


malware difícil de entender e analisar (Udupa, 2005).
■ Empacotamento e criptografia: malwares, frequentemente, usam
empacotadores ou criptografam seu código para ocultar seus verdadei-
ros propósitos. Isso requer que os analistas primeiro “desempacotem”
ou decifrem o malware antes de poderem analisá-lo propriamente.

1
1
1
U N IASSE LVI

■ Polimorfismo e metamorfismo: estas são técnicas avançadas em que


o malware altera seu código a cada infecção, criando uma versão de
si mesmo para evitar assinaturas de antivírus baseadas em hashes ou
padrões específicos.

Além disso, malwares podem incorporar rotinas específicas que dificultam a depu-
ração do código por analistas. Essas rotinas são conhecidas como técnicas anti-de-
bugging. Nesse sentido, alguns malwares, constantemente, verificam a presença
de ferramentas de depuração comuns. Se um depurador é detectado, o malware
pode interromper a execução, ou alterar seu comportamento para evitar a análise.
Além disso, o código malicioso pode incluir operações que só são executadas
sob certas condições, tornando mais difícil para os depuradores seguir o fluxo
do programa sem alterar essas condições (Udupa, 2005).

Simulação de comportamento normal

Para evitar detecção por ferramentas de monitoramento de comportamento,


alguns malwares tentam imitar o comportamento de programas legítimos. Desse
modo, o malware pode:
■ Gerar tráfego de rede que imita o de aplicações legítimas para confundir
ferramentas de análise de rede.
■ Executar ações maliciosas durante horários em que o uso do computa-
dor é esperado (como durante o horário comercial) para misturar suas
atividades com o tráfego normal.

1
1
1
T E MA DE A PR E ND IZAGEM 8

Por fim, é importante ressaltar que as técnicas de evasão são um grande desa-
fio na análise de malwares, exigindo que os profissionais de segurança estejam
constantemente atualizando suas ferramentas e seus métodos de análise para os
contornar (Udupa, 2005).

FERRAMENTAS E TÉCNICAS DE DESOFUSCAÇÃO AVANÇADA

Desofuscar um malwa-
re é um processo cru-
cial para entender suas
funcionalidades e suas
intenções verdadeiras,
especialmente quando o
código foi intencional-
mente complicado ou
escondido. A desobfusca-
ção permite que os analis-
tas vejam além das cama-
das de proteção aplicadas
pelos criadores de mal-
wares para dificultar sua
análise (Udupa, 2005).
Antes de mergulhar nas ferramentas e técnicas, é importante entender que a
ofuscação pode variar desde simples cifras até complexos esquemas polimórficos
ou metamórficos. A ofuscação é usada para:
■ Encobrir as intenções do código: transformar o código para que suas
operações reais não sejam facilmente discerníveis por inspeção visual ou
ferramentas automáticas.
■ Evitar detecção: evitar que o código seja detectado por assinaturas de anti-
vírus ou outros mecanismos de segurança baseados em padrões conhecidos.

A seguir, veremos algumas ferramentas e algumas técnicas úteis para desobfus-


cação avançada de malware.

1
1
1
U N IASSE LVI

Explorando ferramentas de Engenharia Reversa

Uma gama de ferramentas está disponível para ajudar na desobfuscação de mal-


wares, cada uma adequada para diferentes tipos de ofuscação:

IDA PRO

Um descompilador e debugger poderoso que pode ser extremamente útil para


desmontar binários ofuscados. Possui plugins e scripts que podem automatizar
partes do processo de desobfuscação.

GHIDRA

Uma ferramenta de engenharia reversa desenvolvida pela NSA, que inclui


capacidades de descompilação para múltiplas plataformas. Ghidra é, particu-
larmente, útil para entender estruturas de código complexas e aplicar análises
automáticas.

RADARE2

Um framework de engenharia reversa de código aberto que oferece vastas


opções para análise estática e dinâmica de binários.

Além de utilizar ferramentas, os analistas aplicam várias técnicas que ajudam a


desembaraçar o código ofuscado. Essas técnicas são conhecidas como (I) Análise
Estática, que permite examinar o código sem executá-lo, procurando padrões
conhecidos de ofuscação e tentando reverter essas modificações, manualmente
ou com scripts, e (II) Análise Dinâmica, que executa o código em um ambiente
seguro, observando seu comportamento e o modificando em tempo real para
tentar bypassar técnicas de ofuscação (Singhal, 2023).

Scripts e plugins personalizados

Frequentemente, os analistas desenvolvem seus próprios scripts para lidar com


técnicas específicas de ofuscação encontradas em novos malwares. Esses scripts
podem ser usados em ferramentas, como IDA Pro ou Ghidra para automatizar
o processo de desofuscação.

1
1
1
T E MA DE A PR E ND IZAGEM 8

A colaboração na comunidade de segurança cibernética também é fundamen-


tal. Muitas vezes, plugins e scripts são compartilhados entre profissionais, ajudando
a melhorar, continuamente, as técnicas de desobfuscação (Singhal, 2023).
Além disso, é importante mencionar que malwares que alteram seu próprio
código (polimórficos e metamórficos) apresentam um desafio particular. Em
casos assim, os analistas podem ter que:
■ Identificar o motor de ofuscação: localizar e entender o mecanismo
que o malware usa para alterar seu código.
■ Reverter o processo de ofuscação: desenvolver métodos para reverter
as alterações feitas pelo motor de ofuscação.

Em resumo, as ferramentas e as técnicas de desofuscação são essenciais no toolkit


de qualquer analista de malwares. Ao melhorar, continuamente, nossas técnicas
e ferramentas de desofuscação, podemos manter uma postura proativa na luta
contra malwares cada vez mais sofisticados.

ESTUDO DE CASO: ANÁLISE DA CAMPANHA MALICIOSA


NOTPETYA

NotPetya exemplifica uma das campanhas de malware mais destrutivas da história


recente, começando na Ucrânia e se espalhando globalmente, em 2017. Este estudo
de caso explora como o NotPetya foi projetado, seu comportamento, suas técnicas
de evasão e o impacto devastador que teve, enfatizando a importância da preparação
e a resposta a incidentes para organizações de todos os tamanhos (Krasznay, 2020).

Contexto e mecanismo de infecção

NotPetya começou a se espalhar na Ucrânia, infectando muitos sistemas governamen-


tais e de empresas. Utilizou-se, inicialmente, de uma atualização comprometida de
um software de contabilidade amplamente usado na Ucrânia, o M.E.Doc, como vetor
de entrada. Além disso, NotPetya explorou a vulnerabilidade EternalBlue, a mesma
usada pelo WannaCry, para se propagar rapidamente pelas redes (Krasznay, 2020).

1
1
1
U N IASSE LVI

■ Vetor de infecção primário: software de contabilidade comprometido


que liberava o payload malicioso durante uma atualização regular.
■ Exploits de propagação: utilização da vulnerabilidade no protocolo
SMB para infectar outros sistemas na mesma rede, mesmo que não ti-
vessem executado o software de contabilidade comprometido.

A forma de entrada do NotPetya nos sistemas alerta para a necessidade de rigoro-


sas verificações de segurança em atualizações de software e uma rápida resposta
a divulgações de vulnerabilidades.

Funcionalidade e comportamento

Ao contrário de um típico ransomware, que criptografa arquivos para res-


gate, NotPetya foi projetado, principalmente, para destruir e interromper.
Ele modificava o Master Boot Record (MBR) dos computadores infectados,
impedindo-os de inicializar, e, então, criptografava arquivos de sistema sele-
cionados (Benmalek, 2024), conforme Figura 3.

Figura 3 - Funcionamento do NotPetya / Fonte: o autor.

Descrição da Imagem: a figura é um diagrama que ilustra o processo de infecção e criptografia de dados por um
malware específico chamado NotPetya. NotPetya (representado por um ícone de inseto à esquerda); Computador
Infectado (mostrado no centro da figura); A seta à direita de NotPetya aponta para um computador, indicando que o
malware infecta o computador. No monitor do computador, está escrito MBR MODIFICADO, sugerindo que o Master Boot
Record (MBR) do computador foi alterado pelo malware. Cifra (indicado por uma seta à direita do computador). A seta
aponta para uma representação de dados criptografados à direita. Dados (representados por um ícone de cadeado em
um fundo de caracteres binários). A palavra DADOS está escrita abaixo do ícone, indicando que os dados no computador
infectado foram cifrados (criptografados). ilustra o processo de infecção do malware NotPetya. O malware modifica o
MBR de um computador, o que leva ao ciframento dos dados do sistema. Fim da descrição.

1
1
1
T E MA DE A PR E ND IZAGEM 8

Embora incluísse uma rotina de criptografia, a análise mostrou que NotPetya


não tinha uma forma viável de decifrar os dados, mesmo se o resgate fosse pago,
indicando que seu propósito era mais destrutivo do que lucrativo. Além disso, após
a infecção inicial, o malware podia operar de forma autônoma, sem necessidade de
comunicação externa, tornando sua detecção e sua mitigação mais desafiadoras.
A abordagem destrutiva do NotPetya ressalta a importância de estraté-
gias de backup eficazes e planos de continuidade de negócios para mitigar os
danos de ataques semelhantes.

Técnicas de evasão e análise

NotPetya utilizou técnicas de evasão sofisticadas para ocultar sua presença e


prolongar sua permanência nos sistemas infectados, complicando os esforços
de detecção e remoção (krasznay, 2020).
■ Uso de ferramentas legítimas: a utilização de ferramentas adminis-
trativas legítimas para executar processos maliciosos ajudou o NotPet-
ya a evitar detecção, destacando a necessidade de monitoramento e
restrição rigorosa do uso dessas ferramentas.
■ Complexidade na análise: as rotinas avançadas de evasão e a falta de
uma recuperação de dados eficaz desafiaram os analistas a desenvol-
verem novas abordagens para entender e mitigar o malware.

1
1
1
U N IASSE LVI

A sofisticação do NotPetya demonstra a necessidade de ferramentas de


segurança avançadas e uma equipe de resposta a incidentes bem preparada
para enfrentar ameaças que usam técnicas de evasão complexas.

Impacto e lições aprendidas

O impacto do NotPetya foi sentido, mundialmente, com prejuízos bilio-


nários e disrupções significativas em muitas grandes empresas e infraes-
truturas críticas (Benmalek, 2024).
■ Impacto Econômico: empresas, como Maersk e Merck sofreram
perdas massivas e disrupção operacional, destacando a vulnerabi-
lidade das cadeias de suprimentos globais a ataques cibernéticos.
■ Preparação para Incidentes: a escala do ataque reforçou a impor-
tância de planos robustos de resposta a incidentes e recuperação
após desastres para minimizar os danos e restaurar as operações
rapidamente.

O caso do NotPetya sublinha a importância da preparação e da resposta


proativas a incidentes cibernéticos, assim como a necessidade de uma co-
laboração global para fortalecer a resiliência contra ataques de malware.

1
1
1
T E MA DE A PR E ND IZAGEM 8

E M FO CO

Gostou do que viu até aqui? Preparamos uma videoaula para você. . Recursos de
mídia disponíveis no conteúdo digital do ambiente virtual de aprendizagem.

NOVOS DESAFIOS
Ao longo deste tema de aprendizagem, exploramos as técnicas e as ferramentas
essenciais para a análise de malwares, equipando você com o conhecimento
necessário para enfrentar ameaças digitais emergentes. No entanto, à medida
que novas tecnologias são desenvolvidas e integradas ao nosso cotidiano, os
malwares também evoluem, criando um ciclo contínuo de desafios que reque-
rem soluções inovadoras e adaptativas.
A teoria e a prática discutidas aqui se conectam diretamente com o mercado de
trabalho em segurança cibernética, que está em constante expansão. As habilidades
adquiridas não são apenas aplicáveis, mas essenciais, em um ambiente profissional
onde a capacidade de responder, rapidamente, a ameaças desconhecidas pode dife-
renciar entre a segurança e a vulnerabilidade de sistemas críticos. Compreender os
conceitos de engenharia reversa, análise de tráfego de rede e técnicas de desofusca-
ção não apenas aumenta sua empregabilidade, mas também o posiciona como um
profissional crucial para a defesa das infraestruturas tecnológicas modernas.
Para os problemas específicos apresentados no início desta jornada, como a detec-
ção e a neutralização de um malware sofisticado em uma grande corporação, a apli-
cação prática do conhecimento adquirido pode ser direta. Ao implementando uma
rotina de análises regulares, utilizando ferramentas de detecção e resposta avançadas
e se mantendo atualizado com as últimas técnicas de ofuscação e evasão, você pode
estabelecer sistemas de segurança robustos capazes de prevenir e mitigar ataques.
Esperamos que você adquira uma nova perspectiva sobre o conteúdo estudado e
sobre seu futuro na área de segurança cibernética. O mercado de trabalho nesta área
não só está crescendo, como também se diversificando, oferecendo oportunidades
em setores que vão desde serviços financeiros até infraestrutura crítica. À medida
que você avança em sua carreira, continue explorando, aprendendo e se adaptando.
O futuro da segurança cibernética dependerá de profissionais como você, prontos
para enfrentar os desafios que ainda nem foram imaginados.

1
1
1
AUTOATIVIDADE

1. A eficiência na análise de tráfego de rede é fundamental para a identificação precoce de


ameaças cibernéticas em ambientes digitais. Utilizar ferramentas como Wireshark e tcp-
dump permite aos especialistas em segurança capturar dados em tempo real e inspecio-
nar, minuciosamente, cada interação dentro de uma rede comprometida. Esse processo é
essencial para detectar comportamentos atípicos ou maliciosos que poderiam, de outra
forma, passar despercebidos (Sapalo Sicato, 2019).

Considerando o processo de identificação de comunicações suspeitas em uma rede infec-


tada por malware, avalie as seguintes afirmações e selecione a opção correta sobre os sinais
de tráfego de rede que indicam atividades maliciosas.

a) Endereços IP desconhecidos estão sempre associados a atividades maliciosas.


b) Um grande volume de dados sendo enviado é sempre indicativo de exfiltração de dados.
c) Protocolos raros nunca são usados por softwares legítimos e são exclusivos de tráfego
malicioso.
d) Comunicações em horários incomuns são, geralmente, indicativas de operações auto-
matizadas de malware.
e) O uso de portas não padrão é uma prática comum em aplicações seguras e não deve
ser considerado suspeito.

2. Ofuscação de código e implementação de técnicas anti-debugging são estratégias


sofisticadas usadas por desenvolvedores de malwares para obstruir a análise forense de
softwares maliciosos. Essas técnicas complicam o trabalho de segurança cibernética ao
esconder o verdadeiro funcionamento do código e ao impedir o uso efetivo de ferramentas
de depuração. Ao modificar constantemente seu código e detectar ferramentas de análise,
os malwares buscam permanecer um passo à frente dos sistemas de segurança e dos
analistas (Udupa; Debray; Madou, 2005).

Baseando-se na descrição das técnicas de ofuscação e anti-debugging utilizadas por mal-


wares, interprete os desafios que essas técnicas apresentam para a análise de segurança
e identifique a afirmativa correta sobre como os analistas podem abordar esses desafios.

a) Polimorfismo e metamorfismo são técnicas que não afetam a eficácia dos antivírus tra-
dicionais.
b) Os empacotadores são irrelevantes na análise de malwares, pois o código original não
é modificado.
c) A detecção de depuradores pelo malware facilita sua análise, pois indica que o código
está protegido.
d) Técnicas anti-debugging são facilmente contornáveis por qualquer software de análise
de segurança.
e) Analisar malwares que utilizam ofuscação exige desempacotamento ou decifração, antes
que uma análise profunda possa ser realizada.

1
1
1
AUTOATIVIDADE

3. Em um cenário de segurança cibernética cada vez mais complexo, malwares estão se tor-
nando adeptos em mimetizar operações de software legítimo para se esquivar de detec-
ções. Eles adaptam seu tráfego de rede e seu calendário de atividades para se alinhar
com padrões usuais de comportamento digital, confundindo, assim, as ferramentas de
monitoramento. Este nível de sofisticação implica que os profissionais de segurança devem,
incessantemente, refinar suas abordagens e suas ferramentas analíticas para distinguir,
efetivamente, entre ações legítimas e maliciosas (Udupa; Debray; Madou, 2005).

Considerando as estratégias de simulação de comportamento normal adotadas por malwa-


res para evitar a detecção, avalie as seguintes afirmações e identifique a opção correta sobre
os desafios e os métodos de análise frente a essas técnicas de evasão.

a) A geração de tráfego de rede que imita aplicações legítimas sempre torna o malware
completamente indetectável.
b) Atualizar ferramentas de segurança é essencial para combater malwares que simulam
comportamentos legítimos.
c) Ferramentas de análise de rede são completamente ineficazes contra malwares que
geram tráfego imitando aplicações legítimas.
d) Malwares que simulam comportamento normal não exigem atualizações nas ferramentas
e nos métodos de análise dos profissionais de segurança.
e) Realizar atividades maliciosas durante o horário comercial é uma estratégia ineficaz, pois
sistemas de segurança não operam nesse período.

1
1
1
REFERÊNCIAS

BENMALEK, M. Ransomware on cyber-physical systems: Taxonomies, case studies, security


gaps, and open challenges. Internet of Things and Cyber-Physical Systems, v. 4, p. 186-202,
2024.

DE GASPARI, F. et al. Evading behavioral classifiers: a comprehensive analysis on evading ran-


somware detection techniques. Neural Computing and Applications, [s. l.], v. 34, n. 14, p. 12077-
12096, 2022.

KRASZNAY, C. Case Study: The NotPetya Campaign In: BERNÁT, T. (szerk.): Információ- és ki-
berbiztonság: Fenntartható biztonság és társadalmi környezet tanulmányok V. Budapest, Ludo-
vika Egyetemi Kiadó, 2020. p. 485-499.

OR-MEIR, O. et al. Dynamic malware analysis in the modern era – A state of the art survey. ACM
Computing Surveys (CSUR), [s. l.], v. 52, n. 5, p. 1-48, 2019.

SAPALO SICATO, J. C. et al. VPNFilter malware analysis on cyber threat in smart home network.
Applied Sciences, [s. l.], v. 9, n. 13, p. 2763, 2019.

SINGHAL, Ankit; VENKATARAMALINGAM, Saathwick. Malware Analysis and Reverse Enginee-


ring: Unraveling the Digital Threat Landscape. Available at SSRN 4649754, 2023.

UDUPA, S. K.; DEBRAY, S. K.; MADOU, M. Deobfuscation: reverse engineering obfuscated code.
In: WORKING CONFERENCE ON REVERSE ENGINEERING, (WCRE’05), 12, 2005, Pittsburgh. Pro-
ceedings [...]. Pittsburgh: IEEE, 2005. p. 10 p. 54.

1
1
1
GABARITO

1. Alternativa D. Correto. Comunicações em horários não convencionais, especialmente se recor-


rentes e sem explicação lógica, podem indicar atividades automatizadas de malware, que tentam
evitar a detecção durante períodos de baixa vigilância.

A) Incorreto. Embora a comunicação com endereços IP desconhecidos possa ser suspeita, nem
todos os IPs desconhecidos estão associados a atividades maliciosas. É necessário analisar o
contexto e outras evidências.
B) Incorreto. Grandes volumes de dados podem ser suspeitos, mas não são necessariamente indi-
cativos de exfiltração. Outros fatores, como o tipo de dados e o destino, devem ser considerados.
C) Incorreto. Protocolos raros podem ser usados tanto por softwares legítimos quanto por mal-
wares. A suspeita surge dependendo do contexto de uso e da natureza das comunicações.
E) Incorreto. Embora algumas aplicações seguras possam usar portas não padrão, o uso de
portas não convencionais em um contexto desconhecido pode ser um sinal de tentativa de
evasão de detecção.

2. Alternativa E. Correto. A ofuscação por meio de empacotamento ou criptografia adiciona uma


camada de complexidade que necessita ser removida (desempacotada ou decifrada) antes que
análises mais detalhadas possam ser efetuadas.

A) Incorreto. Tais técnicas afetam, significativamente, a eficácia dos antivírus, pois alteram o código
do malware em cada infecção, evitando detecção baseada em assinaturas.
B) Incorreto. Empacotadores são altamente relevantes, pois ocultam o código original sob uma
camada extra de complexidade, exigindo desempacotamento antes da análise.
C) Incorreto. A detecção de depuradores pelo malware dificulta a análise, pois ele pode alterar
seu comportamento, ou interromper a execução, evitando a análise eficaz.
D) Incorreto. Técnicas anti-debugging são projetadas para complicar o uso de ferramentas de
depuração, requerendo métodos avançados e, às vezes, criativos para serem contornadas.

3. Alternativa B. Correto. Manter as ferramentas de segurança atualizadas é fundamental para


identificar e neutralizar malwares que adotam táticas de camuflagem avançadas.

A) Incorreto. Embora esta técnica possa complicar a detecção, análises comportamentais e


heurísticas avançadas ainda podem identificar discrepâncias e padrões suspeitos.
C) Incorreto. Apesar da dificuldade aumentada, ferramentas de análise de rede ainda podem ser
eficazes, especialmente quando combinadas com outras técnicas de análise comportamental
e heurística para detectar anomalias sutis no tráfego.
D) Incorreto. Justamente o oposto, estas técnicas de evasão requerem que os analistas atualizem
e aprimorem, continuamente, suas ferramentas e seus métodos para detectar e mitigar essas
ameaças, eficazmente.
E) Incorreto. Sistemas de segurança operam continuamente, e a execução de atividades malicio-
sas durante o horário comercial é justamente uma tentativa de camuflar essas ações no tráfego
normal, o que pode ser eficaz até certo ponto.

1
1
1
MINHAS ANOTAÇÕES

1
1
1
TEMA DE APRENDIZAGEM 9

ANÁLISE DE MALWARE DE
AUTODEFESA

MINHAS METAS

Compreender os mecanismos de autodefesa dos malwares.

Identificar técnicas de evasão em malwares avançados.

Analisar comportamento de malwares em ambientes reais.

Aplicar métodos de detecção e neutralização de malwares.

Desenvolver estratégias de análise para desofuscar malwares.

Implementar técnicas de anti-debugging e anti-virtualização.

Criar soluções práticas para mitigar ameaças cibernéticas.

1
1
1
U N IASSE LVI

INICIE SUA JORNADA


Imagine que você é o administrador de segurança de uma grande instituição
financeira. Certo dia, você recebe relatórios de funcionários enfrentando len-
tidão em seus computadores e dificuldades para acessar arquivos importan-
tes. O sistema de monitoramento de rede também detecta tráfego incomum,
sugerindo conexões com servidores externos desconhecidos. Suspeitando de
uma infecção por malware, você inicia uma investigação e descobre que o
malware possui sofisticados mecanismos de autodefesa, dificultando a análise
e a remoção. Com os dados dos clientes e a integridade do sistema em risco,
sua missão é identificar, neutralizar e erradicar essa ameaça antes que cause
danos irreparáveis.
A resolução dessa problemática é crucial para proteger os ativos digitais da
instituição e a confiança dos clientes. A falha em identificar e neutralizar um
malware de autodefesa pode resultar na perda de dados sensíveis, prejuízos
financeiros e danos à imagem da instituição. Além disso, o conhecimento
adquirido ao enfrentar essa ameaça pode fortalecer as defesas cibernéticas e
prevenir futuros ataques. A capacidade de lidar com malwares de autodefesa é
uma habilidade essencial para qualquer profissional de segurança cibernética.
Para enfrentar esse desafio, você precisará explorar várias estratégias e
abordagens. Inicialmente, é necessário configurar um ambiente seguro para
investigar o malware sem comprometer a rede principal. Isso envolve a cria-
ção de cenários de teste que imitam o ambiente real, permitindo que você ob-
serve o comportamento do malware em condições controladas. Ao monitorar
essas interações, você poderá identificar padrões suspeitos e possíveis pontos
fracos no malware. Essa etapa é essencial para entender a ameaça antes de
implementar medidas específicas de neutralização.
Ao refletir sobre tal experiência, você percebe a complexidade dos mal-
wares de autodefesa. Cada técnica de evasão e de autodefesa representa um
desafio único que requer soluções inovadoras. Pense em como a compreen-
são destes desafios molda sua visão sobre a segurança digital e a proteção de
dados. Como você pode aplicar o conhecimento adquirido para desenvolver
defesas mais robustas?
Reflita sobre o papel vital que você desempenha na proteção das infraes-
truturas digitais e na construção de um ambiente cibernético seguro.

1
1
1
T E MA DE A PR E ND IZAGEM 9

P L AY N O CO NHEC I M ENTO

Se você quiser ficar por dentro das tendências e das inovações na área de segu-
rança cibernética, convido você a assistir ao nosso podcast Técnicas Emergentes
e Futuras na Análise de Malwares. Recursos de mídia disponíveis no conteúdo
digital do ambiente virtual de aprendizagem.

VAMOS RECORDAR?
Para relembrar os malwares, quais são seus tipos e seus riscos associados, recomendo
assistir ao vídeo Malware - Tipos e Riscos e como se proteger contra eles. Este vídeo é
uma excelente ferramenta para consolidar o conhecimento sobre as diferentes formas
de softwares mal-intencionados e as melhores práticas para proteger seus sistemas:
https://www.youtube.com/watch?v=o7j35xtXh-w

DESENVOLVA SEU POTENCIAL

INTRODUÇÃO AOS MALWARES DE AUTODEFESA

Malwares de autodefesa são uma classe de programas maliciosos projetados


para resistir aos esforços de detecção e remoção, utilizando várias técnicas so-
fisticadas para ocultar sua presença e continuar operando sem interrupções.
Esses malwares são um desafio significativo para os profissionais de segurança
cibernética, pois eles evoluem constantemente para contornar as defesas im-
plantadas. Compreender esses malwares é crucial para desenvolver estratégias
eficazes de mitigação e proteção (Biondi, 2018).

E U IN D ICO

Para se aprofundar no tema de Análise de Malware, sugiro a leitura do material


intitulado: Análise de Malware: Investigação de Códigos Maliciosos, que aborda a
análise seguindo uma abordagem teórico-prática: https://books-sol.sbc.org.br/
index.php/sbc/catalog/download/95/418/689?inline=1

1
1
1
U N IASSE LVI

Os malwares de autodefesa não são um fenômeno recente. Desde os primeiros vírus


de computador, os criadores de malware têm buscado maneiras de evitar a detecção.
No entanto as técnicas de autodefesa se tornaram cada vez mais complexas, integrando
métodos avançados de ofuscação, anti-debugging e anti-virtualização (Figura 1).

Figura 1 - Técnicas de Evasão de Malware / Fonte: o autor.

Descrição da Imagem: a figura ilustra cinco balões coloridos. Dentro de cada balão, há um texto indicando o
nome de uma técnica de evasão de malware. As técnicas descritas são: “Anti-Debugging”, “Anti-Virtualização”,
“Ofuscação de Código”, “Persistência” e “Evasão de Sandboxes”. Fim da descrição.

Os malwares não apenas tentam evitar a detecção, mas também se adaptam ati-
vamente aos esforços de análise, tornando a tarefa dos analistas de segurança
extremamente desafiadora (Biondi, 2018).

Importância no contexto de segurança cibernética

A capacidade de um malware de se defender efetivamente aumenta sua persistência


em sistemas comprometidos, tornando a detecção e a remoção muito mais difíceis.
Isso resulta em maiores danos potenciais, uma vez que o malware pode operar
por períodos prolongados, roubando informações, corrompendo dados ou utili-
zando recursos do sistema para atividades maliciosas. Além disso, a capacidade de
autodefesa dos malwares pode dificultar a resposta a incidentes, exigindo métodos
e ferramentas mais avançados para sua análise e mitigação (Biondi, 2018).

1
1
1
T E MA DE A PR E ND IZAGEM 9

Os malwares de autodefesa se distinguem dos malwares comuns por sua ca-


pacidade de utilizar técnicas sofisticadas para ocultar suas operações. Algumas
características incluem:

OFUSCAÇÃO DE CÓDIGO

A ofuscação de código é uma técnica utilizada para tornar o código do malware


difícil de ler e analisar. Isso é feito com a alteração do código-fonte, de maneira
que ele continue funcional, mas seja ilegível para analistas humanos e ferra-
mentas automáticas de análise. Técnicas de ofuscação incluem renomeação
de variáveis, inserção de código inútil e uso de algoritmos de criptografia para
esconder partes críticas do código.

ANTI-DEBUGGING

Os malwares de autodefesa, frequentemente, incluem técnicas de anti-de-


bugging para detectar e evadir depuradores. Isso pode ser feito por meio da
verificação de sinais indicadores de que um depurador está presente, como a
flag BeingDebugged, no Windows, ou com o uso de APIs específicas que revelam
a presença de um depurador. Se um depurador é detectado, o malware pode
alterar seu comportamento, tornando a análise muito mais difícil.

ANTI-VIRTUALIZAÇÃO

Para evitar a execução em ambientes de sandbox ou máquinas virtuais, muitos mal-


wares incluem técnicas de anti-virtualização. Eles verificam a presença de artefatos
específicos, como drivers e arquivos, que indicam que estão sendo executados em
um ambiente virtual. Se um ambiente virtual é detectado, o malware pode cessar
sua operação maliciosa, ou até mesmo se autodestruir para evitar a análise.

1
1
1
U N IASSE LVI

Portanto, entender a classe de programas maliciosos é de extrema importância


para mitigar potenciais problemas relacionados a eles.

TÉCNICAS AVANÇADAS DE EVASÃO

A análise estática en-


volve examinar o códi-
go de um malware sem
executá-lo, geralmente,
utilizando ferramentas
de descompilação e
inspeção manual (Afia-
nian, 2019; Geng, 2024).
Malwares de autodefesa
empregam várias técni-
cas para tornar essa aná-
lise extremamente difí-
cil, conforme Figura 2.
Uma das técnicas
mais comuns é o uso Figura 2 - Técnicas avançadas de evasão de Malware / Fonte: o autor.
de empacotadores e
criptografia. Os empa- Descrição da Imagem: a figura ilustra cinco balões coloridos. Dentro

cotadores compactam de cada balão, há um texto indicando o nome de uma técnica avançada
de evasão de malware. As técnicas descritas são: “Empacotadores e
e criptografam o códi- Criptografia”, “Malwares Polimórficos”, “Malwares Metamórficos”, “Ve-

go do malware, escon- rificações de Ambientes Virtuais e Sandboxes” e “Temporizadores e


Loops Infinitos”. Fim da descrição.
dendo-o dentro de um
wrapper que só é decodificado durante a execução. Isso significa que, para
analisar o malware, os analistas precisam primeiro desembrulhar ou decifrar
o código, o que pode ser uma tarefa complexa e demorada. Exemplos incluem
o uso de UPX (Ultimate Packer for Executables) e outros empacotadores
personalizados (Afianian, 2019).
Malwares polimórficos e metamórficos representam um desafio ainda
maior. Os polimórficos alteram seu código de maneira superficial a cada infecção,
criando versões únicas que dificultam a detecção baseada em assinaturas. Já os

1
1
1
T E MA DE A PR E ND IZAGEM 9

metamórficos reescrevem completamente seu código, mantendo a funcionali-


dade, mas mudando sua estrutura a cada infecção. Isso torna quase impossível
a detecção, por meio de métodos tradicionais de análise estática. Um exemplo
notável é o vírus metamórfico Simile, que usa técnicas avançadas para modificar
seu código, constantemente.
A análise dinâmica envolve a execução do malware em um ambiente con-
trolado para observar seu comportamento. Os malwares de autodefesa imple-
mentam várias técnicas para detectar e evadir esse tipo de análise (Leon, 2021).
Os malwares podem realizar verificações detalhadas para detectar a presen-
ça de máquinas virtuais ou sandboxes. Isso pode incluir a verificação de drivers
específicos, como vmxnet e vmmouse para VMware, ou a procura por arquivos
e processos que são comuns em ambientes virtualizados. Se um ambiente de
sandbox ou virtualização é detectado, o malware pode alterar seu comporta-
mento para evitar a detecção, como executando apenas funções benignas ou
permanecendo inativo (Leon, 2021).
Outra técnica comum é o uso de temporizadores e loops infinitos. Os mal-
wares podem introduzir atrasos artificiais ou loops infinitos em seu código que
só são resolvidos em ambientes reais. As sandboxes, que, geralmente, aceleram a
execução para análise, podem revelar sua presença quando não conseguem lidar
com esses atrasos, adequadamente. Isso permite que o malware identifique que
está sendo analisado e modifique seu comportamento para evitar a detecção.

PROTEÇÃO CONTRA INTERVENÇÃO EXTERNA

Os malwares de autodefesa utilizam técnicas de anti-debugging para dificultar


a análise por parte dos analistas que utilizam depuradores. Essas técnicas podem
ser altamente sofisticadas e projetadas para identificar e frustrar tentativas de
depuração (Geng, 2024).
Frequentemente, os malwares realizam verificações para detectar a presença
de ferramentas de depuração comuns. Isso pode incluir a verificação de flags
no sistema operacional, como a flag BeingDebugged, no Windows, ou o uso de
APIs específicas como CheckRemoteDebuggerPresent e IsDebuggerPresent. Se
um depurador é detectado, o malware pode interromper sua execução ou alterar
seu comportamento, tornando a análise muito mais difícil.

1
1
1
U N IASSE LVI

Alguns malwares vão além e utilizam técnicas de API hooking para inter-
ceptar e modificar chamadas de funções de depuração. Por exemplo, eles podem
modificar a implementação de APIs críticas para que não revelem informações
completas ou corretas aos depuradores. Isso pode incluir a modificação de fun-
ções, como NtQueryInformationProcess para retornar informações falsas,
enganando, assim, os analistas.
Para evitar a análise em ambientes controlados, como sandboxes e máquinas
virtuais, os malwares de autodefesa implementam várias técnicas para detectar
esses ambientes e alterar seu comportamento (Geng, 2024). Os malwares po-
dem realizar verificações detalhadas para detectar a presença de dispositivos e
drivers específicos que indicam que estão sendo executados em um ambiente
virtual. Por exemplo, eles podem procurar por drivers como vmxnet e vmmouse
associados ao VMware, ou verificar a existência de processos específicos de soft-
ware de virtualização. A detecção de tais artefatos permite que o malware adapte
seu comportamento para evitar a análise.
Além das verificações de artefatos, alguns malwares utilizam técnicas de análise
de performance para identificar ambientes virtuais. Eles podem medir tempos de
execução e latência, comparando-os com valores esperados para determinar se
estão em um ambiente real ou virtualizado. Além disso, alguns malwares verificam
a presença de interações humanas, como movimentos do mouse e pressionamento
de teclas, antes de iniciar suas ações maliciosas. Isso ajuda a distinguir entre ambien-
tes controlados e reais, permitindo que o malware evite a execução em sandboxes.

PERSISTÊNCIA E RECUPERAÇÃO

Agora, exploraremos como os malwares de autodefesa garantem sua permanên-


cia e se recuperam após tentativas de remoção.

Técnicas de persistência

Os malwares de autodefesa utilizam várias técnicas para garantir sua perma-


nência no sistema infectado, mesmo após tentativas de remoção. Essas técnicas
são projetadas para garantir que o malware continue operando e se reinstale,
automaticamente (Geng, 2024).

1
1
1
T E MA DE A PR E ND IZAGEM 9

Uma das técnicas mais comuns é a manipulação do registro do Windows para


garantir a execução do malware na inicialização do sistema. Isso pode incluir a
adição de entradas de registro em locais como HKCU\Software\Microsoft\Win-
dows\CurrentVersion\Run para garantir que o malware seja executado toda vez
que o sistema for inicializado. Também, os malwares podem criar serviços do
Windows que garantem a execução contínua. Esses serviços são configurados
para iniciar, automaticamente, mesmo após reinicializações do sistema, garan-
tindo que o malware permaneça ativo.
Outra técnica eficaz é a criação de tarefas agendadas que executam o malware
em horários específicos ou em eventos do sistema, como o login do usuário. Es-
sas tarefas são configuradas para garantir a persistência do malware. Além disso,
alguns malwares avançados utilizam MBR rootkits para modificar o Master Boot
Record (MBR) do sistema. Isso permite que o malware seja carregado antes do
sistema operacional, tornando a remoção extremamente difícil. Exemplos notáveis
incluem o malware Winnti, que utiliza essas técnicas para garantir sua persistência.

Técnicas de recuperação pós-remoção

Além de garantir sua persistência, muitos malwares de autodefesa implementam


técnicas de recuperação pós-removal, permitindo que se reinstalem após ten-
tativas de remoção (Brierley, 2021). A Figura 3 ilustra tais técnicas e, em seguida,
elas são discutidas com mais detalhes.

1
1
1
U N IASSE LVI

Figura 3 - 4 Técnicas de recuperação pós-remoção / Fonte: o autor.

Descrição da Imagem: a figura ilustra quatro técnicas de recuperação pós-removal, utilizadas por malwares
de autodefesa para garantir sua permanência no sistema: Monitores de Integridade: Verificam a presença de
arquivos críticos e iniciam a reinstalação se removidos. Backdoors e Redundâncias: Criam backdoors e processos
escondidos para reinfecção. Autorreparo: Verificam e restauram arquivos críticos para garantir a operação contí-
nua. Técnicas de Reinfecção: Utilizam múltiplos vetores, como emails e dispositivos removíveis, para reinfecção.
Fim da descrição.

Os malwares podem implementar monitores de integridade que verifi-


cam a presença de arquivos críticos e iniciam processos de reinstalação se
esses arquivos forem removidos (Biondi, 2018). Esses monitores podem ser
executados, periodicamente, ou serem acionados por eventos específicos,
garantindo que o malware seja reinstalado rapidamente, após uma tentativa
de remoção. Além disso, muitos malwares criam múltiplos backdoors e
redundâncias no sistema para garantir que possam se reinstalar. Esses back-
doors podem incluir conexões de rede ocultas e processos escondidos que
permitem ao malware reinfectar o sistema.
Alguns malwares incluem módulos que verificam a integridade de seus
arquivos e os restauram se forem modificados ou removidos. Essas técnicas
de autorreparo garantem que o malware continue operando, mesmo após
tentativas de remoção. Ademais, técnicas de reinfecção são utilizadas para
garantir que o malware possa se espalhar novamente após ser removido. Isso
pode incluir o uso de múltiplos vetores de reinfecção, como emails e disposi-
tivos removíveis, para garantir a continuidade da infecção.

1
1
1
T E MA DE A PR E ND IZAGEM 9

ANÁLISE
COMPORTAMENTAL
E DETECÇÃO

A análise comporta-
mental envolve obser-
var os comportamen-
tos de malwares em
ambientes reais, fora de
sandboxes e máquinas
virtuais. Isso permite
identificar ações mali-
ciosas que podem não
ser evidentes em ambientes controlados (Biondi, 2018).

Monitoramento em tempo real

Para realizar a análise comportamental em ambientes reais, é essencial utilizar


ferramentas de monitoramento que permitam observar as ações do malware
em tempo real (Kumar, 2022).
Isso pode incluir o uso de software de monitoramento de sistema que
rastreia mudanças nos arquivos, no registro e nos processos em execução.
Essa ferramenta fornece insights valiosos sobre como o malware opera no
ambiente real e permite identificar comportamentos suspeitos que podem
indicar a presença de malware (Kumar, 2022).
A análise comportamental também envolve a identificação de padrões
de comportamento que indicam a presença de malware. Isso pode incluir a
observação de ações, como a criação e a modificação de arquivos de sistema,
conexões de rede anômalas e o uso intensivo de recursos do sistema, como
CPU e memória. Identificar tais padrões permite aos analistas detectar a pre-
sença de malware mesmo quando ele utiliza técnicas avançadas de evasão.

2
2
2
U N IASSE LVI

Desenvolvimento de ferramentas de detecção

Para lidar com malwares de autodefesa, é crucial desenvolver ferramentas de


detecção avançadas que utilizem métodos heurísticos e de análise comporta-
mental (Geng, 2024).

HEURÍSTICAS AVANÇADAS

As heurísticas avançadas são métodos que analisam comportamentos


anômalos em vez de assinaturas específicas de malware. Essas heurísticas
podem incluir a análise de padrões de comportamento, uso de recursos do
sistema e interações de rede.

ANÁLISE COMBINADA

A análise combinada integra diferentes técnicas de análise, como análise


estática e dinâmica, para melhorar a detecção de malwares de autodefesa.
Ferramentas modernas utilizam aprendizado de máquina para desenvolver
modelos que identificam comportamentos suspeitos com base em grandes
volumes de dados de ataques anteriores.

FERRAMENTAS DE SANDBOXING AVANÇADAS

Além das heurísticas, o uso de sandboxes avançadas que imitam ambientes


reais pode ser eficaz para detectar malwares que evitam sandboxes tradicio-
nais. Essas sandboxes podem simular interações humanas e condições de
sistema que são difíceis de distinguir de ambientes reais, enganando, assim,
os malwares que utilizam técnicas de evasão. Ferramentas, como a Análise
Comportamental do CrowdStrike, utilizam essas técnicas para identificar com-
portamentos anômalos e melhorar a detecção de malwares de autodefesa.

Desenvolver ferramentas e métodos de detecção é essencial para lidar com


a crescente sofisticação dos malwares de autodefesa, proporcionando uma
camada adicional de proteção para sistemas e redes.

2
2
2
T E MA DE A PR E ND IZAGEM 9

E M FO CO

Confira o vídeo referente a este tema de aprendizagem. Recursos de mídia dispo-


níveis no conteúdo digital do ambiente virtual de aprendizagem.

NOVOS DESAFIOS
A teoria que vimos dos mecanismos de autodefesa dos malwares, como ofusca-
ção, anti-debugging e anti-virtualização, não é apenas conhecimento acadêmico.
Essas técnicas são aplicadas diariamente por profissionais que precisam proteger
redes e sistemas de ataques sofisticados. Compreender tais conceitos em profun-
didade prepara você para identificar e mitigar ameaças no ambiente de trabalho.
No mercado de trabalho, a habilidade de lidar com malwares de autodefesa é
altamente valorizada. As empresas buscam profissionais capazes de analisar, detectar
e neutralizar ameaças avançadas, garantindo a segurança de seus dados e suas opera-
ções. Profissionais com essas habilidades estão em demanda em diversas indústrias,
desde instituições financeiras até empresas de tecnologia e órgãos governamentais.
Você lembra da problemática apresentada no início deste tema de aprendiza-
gem, em que uma instituição financeira está enfrentando lentidão nos sistemas
e dificuldade em acessar arquivos importantes? Para resolver esse problema, o
primeiro passo é configurar um ambiente de análise seguro onde pode executar
o malware sem risco para a rede principal. Utilizando técnicas de análise com-
portamental, você observa como o malware interage com o sistema e tenta iden-
tificar seus mecanismos de autodefesa. Em seguida, você emprega ferramentas
de engenharia reversa para desembrulhar e decifrar o código do malware. Final-
mente, você desenvolve scripts personalizados para desativar esses mecanismos
de defesa e remover o malware. Durante esse processo, você documenta cada
etapa, criando um relatório para melhorar as práticas de segurança da instituição.
A compreensão dos desafios associados aos malwares de autodefesa não só
enriquece o conhecimento técnico, mas também desenvolve uma mentalidade
analítica crítica. Vocês devem refletir sobre como podem aplicar esses conheci-
mentos para criar defesas mais robustas e proativas. No futuro, a habilidade de
enfrentar desafios desconhecidos e desenvolver soluções inovadoras será um
diferencial crucial no mercado de trabalho.

2
2
2
AUTOATIVIDADE

1. Os malwares de autodefesa são equipados com mecanismos complexos projetados para


frustrar as tentativas de análise e detecção. Utilizando estratégias, como ofuscação de có-
digo, anti-debugging e anti-virtualização, esses programas maliciosos são meticulosamente
desenvolvidos para permanecerem ocultos. Técnicas especializadas são fundamentais para
impedir que analistas de segurança e softwares automatizados identifiquem e neutralizem
a ameaça, efetivamente (Biondi et al. 2018).

Qual das seguintes descrições é correta sobre as técnicas utilizadas pelos malwares de
autodefesa para evitar a detecção e a análise?

a) As técnicas de anti-debugging incluem o uso de algoritmos de criptografia para proteger


o código do malware de análises.
b) A ofuscação de código nunca inclui a renomeação de variáveis, pois isso pode afetar a
funcionalidade do malware.
c) A ofuscação de código é utilizada para tornar o malware mais fácil de ser detectado por
ferramentas automáticas de segurança.
d) As técnicas de anti-debugging podem incluir a verificação da presença de depuradores,
usando flags específicas do sistema operacional.
e) As técnicas de anti-debugging são exclusivamente focadas em modificar o código do
malware para o tornar mais eficiente em suas operações maliciosas.

2
2
2
AUTOATIVIDADE

2. Malwares de autodefesa empregam robustas técnicas de anti-debugging para obstruir a


análise efetuada por especialistas em segurança que utilizam ferramentas de depuração.
Essas abordagens envolvem desde a verificação de determinadas flags do sistema ope-
racional até a utilização de APIs específicas que detectam a presença de depuradores.
Adicionalmente, algumas variantes de malwares aprimoram suas defesas ao adulterar a
funcionalidade de APIs críticas por meio de API hooking, uma manobra que altera respos-
tas e dados fornecidos aos analistas, aumentando, significativamente, a complexidade da
análise de segurança (Geng et al., 2024).

Com base nas estratégias descritas de anti-debugging utilizadas por malwares de autodefe-
sa, qual das seguintes opções melhor interpreta a complexidade e os desafios enfrentados
pelos analistas de segurança durante a tentativa de depuração desses malwares?

a) A presença de flags, como BeingDebugged, é suficiente para garantir a eficácia da análise


de malware.
b) A modificação de APIs por meio de API hooking é uma prática rara e não afeta, significa-
tivamente, a análise de malware.
c) As APIs como IsDebuggerPresent são usadas pelos malwares, exclusivamente, para en-
cerrar sua execução imediatamente ao detectar um depurador.
d) A análise de malware é facilitada pelo uso frequente de técnicas de anti-debugging, pois
elas simplificam o processo de identificação de malwares.
e) Técnicas de API hooking, como a modificação da função NtQueryInformationProcess,
são usadas para fornecer dados falsos aos depuradores, complicando a detecção e a
análise do malware.

2
2
2
AUTOATIVIDADE

3. Malwares de autodefesa estão equipados com mecanismos avançados que lhes permitem
identificar e se adaptar a testes em ambientes controlados, como sandboxes e máquinas
virtuais. Utilizando uma gama de técnicas que incluem desde a verificação de componentes
de hardware e software específicos até a análise comportamental e de desempenho, esses
programas maliciosos são projetados para alterar suas operações em resposta à detecção
desses ambientes simulados. Essas estratégias são essenciais para os malwares que bus-
cam evitar a análise e a detecção por ferramentas de segurança (Geng, 2024).

Com base nas estratégias utilizadas pelos malwares de autodefesa para evitar análise em
ambientes controlados, qual das seguintes afirmações é correta sobre essas técnicas e seus
impactos na análise de segurança?

a) Todas as técnicas de detecção de ambientes controlados são infalíveis e garantem que


o malware sempre evite análise.
b) Técnicas de análise de performance são usadas pelos malwares exclusivamente para
otimizar sua execução em máquinas reais.
c) Malwares podem usar verificações de artefatos, como drivers específicos para detectar
ambientes virtuais e ajustar seu comportamento.
d) Malwares de autodefesa nunca utilizam análise de performance para detectar ambientes
virtuais, pois isso pode afetar sua eficiência operacional.
e) Malwares modernos, geralmente, ignoram a detecção de ambientes virtuais, concen-
trando-se, exclusivamente, na infecção rápida de sistemas sem salvaguardas, como
verificações de hardware ou software.

2
2
2
REFERÊNCIAS

AFIANIAN, A. et al. Malware dynamic analysis evasion techniques: A survey. ACM Computing
Surveys (CSUR), [s. l.], v. 52, n. 6, p. 1-28, 2019.

BIONDI, F. et al. Tutorial: An overview of malware detection and evasion techniques. In: MARGA-
RIA, T.; STEFFEN, B. Leveraging Applications of Formal Methods, Verification and Validation.
Berlim: Springer, 2018. p. 565-586.

BRIERLEY, C. et al. Persistence in Linux-based IoT malware. In: ASPLUND, M.; NADJM-TEHRANI,
S. Secure IT Systems. Berlim: Springer, 2021. p. 3-19.

GENG, J. et al. A survey of strategy-driven evasion methods for PE malware: Transformation,


concealment, and attack. Computers & Security, v. 137, p. 103595, 2024.

LEON, R. S. et al. Hypervisor-assisted dynamic malware analysis. Cybersecurity, [s. l.], v. 4, p. 1-14,
2021.

KUMAR, N.; HANDA, A.; SHUKLA, S. K. RBMon: Real Time System Behavior Monitoring Tool. In:
ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 17., 2022, Naga-
saki. Proceedings [...]. Nagasaki: Association for Computing Machinery, 2022. p. 1228-1230.

2
2
2
GABARITO

1. Alternativa D. Correto. Anti-debugging envolve detectar e evadir ferramentas de depuração,


muitas vezes, por meio de verificações de flags específicas que indicam a presença de um
depurador.

A) Incorreto. Enquanto a criptografia pode ser uma parte da ofuscação de código, as técnicas
de anti-debugging, especificamente, envolvem detectar e evadir ferramentas de depuração,
e não necessariamente envolvem criptografia.
B) Incorreto. A ofuscação de código, frequentemente, inclui a renomeação de variáveis para
tornar o código mais difícil de entender, sem necessariamente afetar sua funcionalidade.
C) Incorreto. A ofuscação de código é usada justamente para tornar o código mais difícil de
ser analisado e detectado por ferramentas automáticas, tornando-o ilegível.
E) Incorreto. As técnicas de anti-debugging são projetadas para detectar e evadir depuradores,
e não necessariamente para tornar o malware mais eficiente nas suas operações maliciosas.

2. Alternativa E. Correto. Esta técnica representa um dos maiores desafios na análise de malware,
pois interfere diretamente nas ferramentas de depuração ao fornecer informações enganosas.

A) Incorreto. A detecção de tais flags indica apenas a presença de depuradores, mas não
garante a eficácia da análise, pois os malwares podem modificar seu comportamento quando
detectam a análise.
B) Incorreto. Na verdade, API hooking é uma técnica sofisticada usada por malwares para
fornecer informações falsas e enganar analistas, afetando, significativamente, a análise.
C) Incorreto. Enquanto esta pode ser uma estratégia, muitos malwares optam por alterar
seu comportamento de maneiras mais complexas, não necessariamente encerrando sua
execução.
D) Incorreto. Técnicas de anti-debugging são projetadas justamente para dificultar a análise
de malware, tornando o processo mais complexo e desafiador para os analistas de segurança.

2
2
2
GABARITO

3. Alternativa C. Correto. A identificação de drivers específicos é uma técnica comum usada por
malwares para reconhecer e se adaptar a ambientes virtuais, evitando a análise.

A) Incorreto. Embora eficazes, estas técnicas não são infalíveis; analistas de segurança
continuam a desenvolver métodos para contornar estas detecções e analisar os malwares.
B) Incorreto. Embora possam influenciar a performance, estas técnicas são primariamente
usadas para detectar ambientes virtuais por meio da medição de desempenho e da com-
paração com benchmarks, e não para otimizar a execução do malware.
D) Incorreto. Malwares frequentemente utilizam análise de performance, medindo tempos
de execução e latência para identificar ambientes virtuais, apesar de qualquer impacto
potencial na eficiência.
E) Incorreto. Contrariamente a esta afirmação, muitos malwares modernos dedicam esforços
significativos para identificar ambientes virtuais e sandboxes, utilizando uma variedade de
métodos para evitar a análise e aumentar suas chances de permanecerem não detectados
em sistemas protegidos.

2
2
2

Você também pode gostar