Malware
Raphael Lima B. Barros
Introdução
 Seguindo os avanços tecnológicos, softwares
maliciosos vem sendo criados para danificar
computadores e sistemas.
 Estes programas, inicialmente apenas vírus,
atuavam corrompendo e apagando arquivos.
 Hoje, com a era da informação, outras formas de
ataque vem surgindo. Atuando principalmente na
coleta de dados.
Seminário em Informática Teórica
2
Agenda











Um pouco de história...
Vírus
Vírus X Anti-vírus: A Guerra
Key-Loggers
Trojans
Spywares
Worms
Bots
O que anda acontecendo
Existem vírus no Linux?
Conclusões
Seminário em Informática Teórica
3
Um pouco de
história...
Seminário em Informática Teórica
4
Um pouco de história...
 Em 1984, o termo vírus é usado pela
primeira vez. Em um artigo chamado,
Experiments with Computer Viruses,
de Fred Cohen.
 Em 1986, dois paquistaneses criam o
primeiro vírus, chamado (c)Brain.
 Tratava-se de um vírus de boot.
Seminário em Informática Teórica
5
Um pouco de história...
 Na segunda metade da década de 80 e
início dos anos 90, as infecções se davam
através de discos removíveis com arquivos
infectados.
 A partir da metade dos anos 90 surgem os
macro vírus.
 Ainda neste período, com o crescimento da
Internet, os vírus passaram a se propagar
de forma mais eficiente.
Seminário em Informática Teórica
6
Vírus
Seminário em Informática Teórica
7
Definição
 Segundo a Wikipedia:
“Vírus de Computadores são programas
escritos para modificar a forma como
computadores operam. Normalmente,
sem o conhecimento ou permissão do
usuário, escondidos em outros
programas.”
Seminário em Informática Teórica
8
Definição
 Duas Características Principais:
 Auto-executáveis
 Auto-replicáveis
 2 partes:
 Assinatura: Seqüência de bytes que o
identifica.
 Payload: Porção de código que causa o
dano propriamente dito.
Seminário em Informática Teórica
9
Classificação
 Alguns Tipos:
 De Boot
 De Arquivos
 Macro-vírus
 Companheiro (Companion)
Seminário em Informática Teórica
10
Vírus de Boot
 Provavelmente os primeiros tipos de
vírus.
 O pioneiro: (c)Brain
 Danifica os setores de inicialização de
discos rígidos (setores de boot).
Seminário em Informática Teórica
11
Vírus de Arquivos
 Infectam arquivos executáveis, drivers e arquivos
comprimidos.
 São ativados quando os programas hospedeiros são
ativados.
 Podem se disseminar para programas em execução
no dado momento de sua ativação.
 Modificam o código de programas, para serem
ativados posteriormente.
 Exemplos: Randex, Meve e MrKlunky
Seminário em Informática Teórica
12
Macro-vírus
 Infectam arquivos que são criados por
aplicações que contem macros.
 Exs.: documentos Word, planilhas Excel,
apresentações PowerPoint
 Como são escritos nas linguagem das
aplicações (Macro linguagem), são
independentes de plataforma.
 Exemplos: Relax, Melissa.A e Bablas
Seminário em Informática Teórica
13
Vírus Companheiro (Companion)
 Se utilizam de uma falha do MS-DOS.
 Mesmo nome do arquivo executável, porém com
outra extensão.
 Execução em ordem lexicográfica.
 Ex.: sptrec.com (vírus) < sptrec.exe (executável)
 Muito raros atualmente, desde a chegado do
Windows XP.
 Não utiliza o MS-DOS.
Seminário em Informática Teórica
14
Vírus – Crescimento em Números
# vírus
> 72000
Seminário em Informática Teórica
15
t
Métodos de Replicação
 Basicamente, 2 estratégias:
 Residente: Permanece executando em
background, a espera de algum evento,
para que então, infecte um arquivo ou
programa.
 Não-residente: Um módulo de busca,
presente no vírus sai “à caça” de novos
arquivos para infectar.
Seminário em Informática Teórica
16
Residente
Não-residente
Seminário em Informática Teórica
17
Vírus X Anti-vírus:
A Guerra
Seminário em Informática Teórica
18
Round 1
 O Ataque: Os vírus inserem seu código
malicioso e alteram o ponto de entrada do
programa.
 O Contra-ataque: Os anti-vírus otimizam
seus scanners para vasculhar os arquivos,
em busca das assinaturas dos vírus.
 Seguem a execução, a partir do ponto de
entrada
Seminário em Informática Teórica
19
Esquema
Depois da Infecção
Antes da Infecção
0
Programa A
0
Pule para 5
1
Programa A
1
Programa A
2
Programa A
2
Programa A
3
Programa A
3
Programa A
4
Programa A
4
Programa A
5
Vírus
6
Vírus
7
Vírus
Fim do
Programa
8
Seminário em Informática Teórica
20
Round 2
 O Ataque: Os anti-vírus utilizam os
chamados arquivos-isca (bait files).
 Para guardar um exemplar do vírus
 O Contra-ataque: Os vírus passam a
decidir quando infectar (infecção
esparsa), e não em todos os casos.
 Suspeita de arquivos-isca
Seminário em Informática Teórica
21
Round 3
 O Ataque: Os vírus passam a encriptar o
seu código.
 2 módulos: módulo de decriptação + código
encriptado
 Às vezes a encriptação é simples:
 A XOR K = B, B XOR K = A
 O Contra-ataque: Os anti-vírus passam a
utilizar:
 Emulação (Máquina virtual);
 Análise estatística de padrões;
Seminário em Informática Teórica
22
Round 4
 O Ataque: Os vírus passam a mudar o
módulo de decriptação a cada infecção.
 Se bem escrito, o vírus pode variar todas as
partes a cada infecção;
 Ou ainda, evitar a metamorfose, quando já
houver um exemplar do vírus no computador;
 O Contra-ataque: Os anti-vírus ainda
utilizam a Decriptação Genérica:
 Emulação da CPU;
Seminário em Informática Teórica
23
O problema da Parada
 Se o GD Scanner conhecesse todos os
arquivos infectados, seria fácil
construí-lo:
 Emule o programa até encontrar o vírus;
 Mas isso não é viável! 
Seminário em Informática Teórica
24
O problema da Parada
 O emulador deve decidir: até que
parte do programa procurar, antes de
desistir?
 Semelhante ao Problema da Parada
de Turing.
 Ainda outro problema: Como emular
vários tipos de máquinas. 
Seminário em Informática Teórica
25
Key Loggers
Seminário em Informática Teórica
26
Key Loggers
 Registram tudo que é digitado no
teclado.
 Utilizado principalmente para capturar
senhas.
 Normalmente instalados em:
 Um falso download
 E-mails maliciosos
Seminário em Informática Teórica
27
Trojans
Seminário em Informática Teórica
28
Trojans
 Também conhecidos com Cavalos de Tróia.
 Permitem que o computador hospedeiro
receba comandos externos e dados possam
ser enviados a terceiros.
 Disseminação:
 Inicialmente: Eram transportados por outros
vírus, pois não podiam se replicar
 Hoje: Também baixados em arquivos e e-mails
Seminário em Informática Teórica
29
Spywares
Seminário em Informática Teórica
30
Spywares
 Também conhecidos como
Advertising-Supported Software
(Adware)
 Vão escondidos em Banners e
propagandas em softwares,
normalmente sharewares.
Seminário em Informática Teórica
31
Spywares
 Enviam dados estatísticos pela rede,
sem a permissão dos usuários.
 Monitoramento dos hábitos dos usuários
 “Gastam” tempo de processamento e
largura de banda.
Seminário em Informática Teórica
32
Worms
Seminário em Informática Teórica
33
Worms
 Diferentes dos Vírus comuns,
Worms são independentes de
programas hospedeiros.
 Se replicam seguindo as
conexões de uma rede.
Seminário em Informática Teórica
34
Worms
Assim como vírus comuns,
são capazes de destruir
arquivos essenciais.
Exemplos: MS-Blaster e
Sesser
Seminário em Informática Teórica
35
Bots
Seminário em Informática Teórica
36
Bots
 São programas que executam de forma
autônoma.
 Também designam computadores
dedicados na execução de programas para:




Proliferação de worms
Coleta de dados roubados por Spywares
Realizar Denial-of-service attacks
Etc.
Seminário em Informática Teórica
37
O que anda acontecendo
 XSSV (Cross-site scripting virus):
 Se aproveitam de vulnerabilidades de
Aplicações Web para injetar códigos
maliciosos.
 Hoje são muito utilizados para a prática
de Phishing.
 Cópia, principalmente, de Web sites para
coleta de senhas e dados.
Seminário em Informática Teórica
38
Existem vírus no Linux?
 Embora poucos, existem!
 Eles podem, por exemplo, infectar
arquivos executáveis Linux. (ELF)
 Mas para isso:
 O executável precisa estar em arquivo
com permissão de escrita para o usuário
que esteja ativando o vírus
Seminário em Informática Teórica
39
Existem vírus no Linux?
 Além disso:
 Numa instalação desktop, via de regra os
arquivos executáveis têm como dono
(owner) o administrador do sistema
(root), e rodam em processo de usuário
comum. Ou seja, a partir de uma conta
não-privilegiada.
Seminário em Informática Teórica
40
Conclusões
 Redes
infecção?
Onde está a fonte de
 Além disso, os avanços trouxeram consigo
outras categorias de Malware.
 Invasão de Privacidade.
 A guerra Vírus X Anti-vírus, ainda está
longe do fim!
Seminário em Informática Teórica
41
Referências (Sites)
 Wikipedia:
 www.wikipedia.org
 Howstuffworks:
 http://www.howstuffworks.com/virus.htm
 Vírus no Linux:
 http://www.cic.unb.br/docentes/pedro/trabs/vir
us_no_linux.html
 http://www.istf.com.br/vb/archive/index.php?t3670.html
Seminário em Informática Teórica
42
Referências (Artigos)
 SZOR, P. FERRIE P. Hunting for
Metamorphic. Symantec, jun. 2003.
Disponível em: <colocar aqui>. Acesso em:
15 jan. 2007.
 NACHENBERG, C. Computer Virus –
Coevolution. Communications of the ACM,
n.40, jan. 1997. Disponível em: <Colocar
aqui>. Acesso em: 15 jan. 2007.
Seminário em Informática Teórica
43
Malware
Raphael Lima B. Barros
Download

Malware - Centro de Informática da UFPE