• Nenhum resultado encontrado

Vírus e outras ameaças

N/A
N/A
Protected

Academic year: 2021

Share "Vírus e outras ameaças"

Copied!
25
0
0

Texto

(1)
(2)

Vírus Computacionais

• O termo vírus computacional deriva e é de alguma forma

análogo ao vírus biológico

• Infecções virais biológicas são propagadas através do

computacional/biológico

• Infecções virais biológicas são propagadas através do

vírus que injecta o seu conteúdo numa célula

• A célula infectada passa a ser uma fábrica replicadora de

vírus

(3)

Vírus Computacionais

• Um vírus computacional não é mais que um segmento

de código

• O vírus tem capacidade de se copiar para um ou mais

computacional/biológico

• O vírus tem capacidade de se copiar para um ou mais

hospedeiros quando activado

• Quando o hospedeiro infectado é executado o vírus é

activado e o hospedeiro passa a ser uma fábrica

replicadora de vírus

(4)

Vírus Computacionais

• Vírus computacionais são do mais aproximado ao

conceito de vida artificial do que qualquer outra coisa

criada pelo homem :

computacional/biológico

– São capazes de se reproduzirem

– São capazes de se esconderem dos seus predadores

– Têm capacidade de sobrevivência fora de cativeiro

(5)

Vírus Computacionais

– 1949: J.V. Neumann – “Theory and Organization of Complicated

Automata”

– 1950: Bell Labs – “Core Wars”

– 1970: Brunner’s “Shockwave Rider” and Ryan’s Adolescence of P-1” – 1981: O Primeiro Vírus – Apple Computers, Texas A&M

Evolução histórica

– 1981: O Primeiro Vírus – Apple Computers, Texas A&M – 1983: Tese de Cohen’s – Mathematical Virus

– 1986: Basit e Amjad – “Pakistan Brain” – 1988: Jerusalem

– 1990: Primeiro Anti-Virus: Norton, Symantec – 1991: Vírus polimórficos

– 1992: Aumento de 420% desde 1990!!! – 1995: Windows 95 e o vírus “Macro” – 1996: Vírus em código Java

– Hoje: Mais de 50,000 – Futuro…?

(6)

Virus para computador faz 25 anos

O primeiro vírus de computador criado, o Elk

Cloner, completa, em julho de 2007, 25 anos

de idade

A praga criada pelo adolescente Rich Skrenta

A praga criada pelo adolescente Rich Skrenta

em 1982, com 15 anos na época

Criado para o computador Apple II

contaminava máquinas através da inserção de

disquetes infectados

(7)

Vírus Computacionais

• O verdadeiro vírus tem duas componentes:

• Propagação

• Manipulação

Estrutura e operação

• De modo a funcionar; o vírus tem de se adicionar a

algum pedaço de código

• Uma forma de classificar estes vírus é a aproximação

que o mesmo toma quando se adiciona a outro pedaço

de código (cápsula, add-on ou intrusivo)

(8)

Vírus Computacionais

• Vírus cápsula:

– Forma uma cápsula em volta do código original, torna-se o programa e o programa original torna-se uma sub-rotina do código viral

• boot virus • …etc…

Estrutura e operação

(9)

Vírus Computacionais

• Vírus add-on:

– Adicionam o seu código ao código do hospedeiro. A sua única indicação de presença é a de que o tamanho do hospedeiro original aumenta

• Quase todos os vírus são add-on

(10)

Vírus Computacionais

• Vírus intrusivo:

– Reescrevem parte, ou todo, do código do hospedeiro original • Poucos vírus são deste tipo

(11)

Vírus Computacionais

• A primeira geração (simples) :

– Estes vírus não faziam nada de extraordinário para além da replicação, alguns vírus de hoje ainda pertencem a esta geração

as cinco gerações

– Os estragos não vão para além de bugs ou incompatibilidades no software que antes não existiam

– Não são difíceis de descobrir, visto que nada fazem para se esconderem, de modo que um simples aumento num ficheiro, por exemplo, denuncia-o imediatamente

(12)

Vírus Computacionais

• A segunda geração (auto-reconhecimento) :

– Implementam uma espécie de assinatura que assinala o ficheiro ou sistema como infectado, ou seja, não acontecem infecções duplicadas de hosts, permitindo que o virus seja mais dificil de detectar

as cinco gerações

– A assinatura pode ser uma sequência de bytes em disco ou memória – Ao mesmo tempo que a assinatura pode impedir a detecção

instantânea do vírus, no reverso da medalha a assinatura por si só é uma indicação da presença do vírus, embora não tão aparentemente fácil de descobrir

(13)

Vírus Computacionais

• A terceira geração (furtivo) :

– A maior parte dos vírus pode ser identificada analisando padrões de dados próprios dos mesmos nos sistema de armazenamento secundários

as cinco gerações

secundários

– De modo a impedir a detecção alguns vírus usam técnicas furtivas de modo a não serem descobertos

– Como exemplo se numa análise a um disco o vírus detecta que existe uma chamada do sistema para ler uma porção do vírus, este retornaria não o vírus mas os dados que estariam presentes se o sistema estivesse livre de infecção

(14)

Vírus Computacionais

• A quarta geração (armadura) :

– À medida que antivírus saem para o mercado, autores de vírus voltaram-se para métodos de ofuscarem o seu código

as cinco gerações

– Estas técnicas de ‘armadura’ incluem:

• Adicionar confusão e código desnecessário de modo a dificultar a análise do código do vírus

• Defesas que podem tomar a forma de ataques directos a software de antivírus

– Estes vírus começam a aparecer por volta de 1990

(15)

Vírus Computacionais

• A quinta geração (polimórficos) :

– A mais recente classe de vírus a aparecer são os polimórficos, capazes de se mutarem

as cinco gerações

– Infectam os seus hospedeiros com uma versão modificada ou cifrada deles próprios

– De modo a se poder detectar estes vírus é necessário um algoritmo mais complexo que seja capaz de reverter o processo de mutação de modo a poder detectar se o vírus está presente ou não

(16)

Mudança de foco

Enquanto as primeiras gerações de pragas virtuais irritavam os

usuários com apresentações de imagens e frases impróprias, ou

apagando o conteúdo de um disco rígido, as ameaças atuais são

mais insidiosas e caminham em outra direção.

Bloqueio a sites, máquinas zumbis e o acesso a informações

sensíveis de usuários e empresas têm causado prejuízos

incalculáveis.

incalculáveis.

Em 2006, as fraudes virtuais custaram ao Brasil cerca de 300

milhões de reais, de acordo com o Instituto de Peritos em

Tecnologias Digitais e Telecomunicações (IPDI).

A disseminação de tecnologias também tem aberto novas frentes

de ataques, sequer imaginadas quando o Elk Cloner foi escrito.

Por exemplo, em apenas três anos, o número de pragas escritas

para dispositivos móveis cresceu mais de 1.200%, secundo a

F-Secure

(17)

Detecção

Assinaturas

• Pequenos blocos de dados utilizados para identificar um determinado vírus

Zero day problem

• mutações

Exemplo:

Exemplo:

• X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

• EICAR: software para teste de antivírus

Mais informações:

• http://superdownloads.uol.com.br/materias/assinaturas-virus/234,1.html

• http://superdownloads.uol.com.br/materias/assinaturas-virus/234,1.html

(18)

Detecção

Heurísticas

A heurística é uma técnica utilizada para estudar o

comportamento, a estrutura e as características

de um arquivo, para definí-lo como suspeito ou

de um arquivo, para definí-lo como suspeito ou

não

Ela pode fazer com que o antivírus emita muitos

falsos-positivos, mas é uma técnica que se

mostrou bastante útil para evitar vírus

desconhecidos.

(19)

Detecção

Em geral, um vírus que infecta arquivos .EXE age

da seguinte forma:

(20)

Detecção

Um arquivo .EXE possui um pequeno cabeçalho, um

Entry Point - o ponto onde começa a execução de um

programa, e o programa propriamente dito.

Após uma infecção, o Entry Point é alterado, de forma

que passe a apontar para o código do vírus.

Após a execução do vírus, este pula para o Entry Point

Após a execução do vírus, este pula para o Entry Point

original do programa, fazendo-o funcionar

normalmente.

Como a grande maioria dos vírus que infectam .EXE

trabalha desta forma, a pesquisa heurística poderia

ajudar, bastaria verificar se o Entry Point está fora da

seção do código do programa ou se o Entry Point é um

JMP.

(21)

Detecção

Emulação

Detecção de vírus polimórficos

Pesquisas por assinaturas em vírus polimórficos

são praticamente inviáveis

são praticamente inviáveis

Basicamente, um emulador tenta identificar a

rotina de decriptografia do vírus

Se o código não for muito modificado, poderemos

utilizar a heurística para identificar o vírus

(22)

Detecção

Vírus “Simili”

Este vírus contém um decriptografador

polimórfico que modifica o tamanho e a

localização das infecções

localização das infecções

Ele "disassembla" seu próprio código para uma

forma intermediária, injeta novas instruções e

sujeira ao código e "re-assembla", gerando uma

nova cópia polimórfica

(23)

Detecção

Outra maneira de fazer a emulação é

interceptar funções da API do sistema

operacional ou capturar interrupções do DOS

que estejam ligadas diretamente à gravação,

que estejam ligadas diretamente à gravação,

leitura ou execução.

Se um determinado programa executar uma

série de ações suspeitas, o antivírus emitirá

aviso de um arquivo suspeito.

(24)

Atividade 1: Teste de Antivírus

EICAR:

este arquivo NÃO é vírus, mas é detectado como

tal pela maioria dos anti-vírus, por convenção.

sua utilidade é testar a eficácia de detecção do

anti-vírus

anti-vírus

http://www.eicar.org/anti_virus_test_file.htm

Teste a eficiência do antivírus instalado na sua

máquina, usando o eicar original e

modificando o arquivo

(25)

Atividade 2: Avaliação de Códigos-Fonte

http://www.totallygeek.com/vscdb/

http://www.62nds.co.nz/pg/e90.php

1. Escolher um vírus

1. Escolher um vírus

2. Fazer uma breve descrição do vírus

(pesquisar)

Referências

Documentos relacionados