Malware Raphael Lima B. Barros. Seminário em Informática Teórica2 Introdução Seguindo os...

Preview:

Citation preview

Malware

Raphael Lima B. Barros

Seminário em Informática Teórica 2

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 3

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 4

Um pouco de história...

Seminário em Informática Teórica 5

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 6

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 7

Vírus

Seminário em Informática Teórica 8

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 9

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 10

Classificação Alguns Tipos:

De Boot

De Arquivos

Macro-vírus

Companheiro (Companion)

Seminário em Informática Teórica 11

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 12

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 13

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 14

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 15

Vírus – Crescimento em Números# vírus

t

> 72000

Seminário em Informática Teórica 16

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 17

Residente Não-residente

Seminário em Informática Teórica 18

Vírus X Anti-vírus: A Guerra

Seminário em Informática Teórica 19

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 20

EsquemaAntes da Infecção Depois da Infecção

Programa APrograma APrograma APrograma APrograma A Fim do

Programa

01234

012345678

Pule para 5Programa APrograma APrograma APrograma AVírusVírusVírus

Seminário em Informática Teórica 21

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 22

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 23

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 24

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 25

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 26

Key Loggers

Seminário em Informática Teórica 27

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 28

Trojans

Seminário em Informática Teórica 29

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 30

Spywares

Seminário em Informática Teórica 31

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 32

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 33

Worms

Seminário em Informática Teórica 34

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 35

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 36

Bots

Seminário em Informática Teórica 37

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 38

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 39

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 40

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 41

Conclusões Redes Onde está a fonte de

infecção?

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 43

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.

Malware

Raphael Lima B. Barros

Recommended