Title: T
1Técnicas de Detecção de Vírus
TÉCNICAS DE DETECÇÃO DE VÍRUS Roberto Cássio
Silva do Nascimento Júnior (rcsdnj) Manoel Gilvan
Calou de Araújo e Sá Filho (mgcasf)
2ROTEIRO DA APRESENTAÇÃO
Técnicas de Detecção de Vírus
- Algumas definições
- Prejuízos ocasionados por vírus e similares
- Um pouco de história
- Funcionamento básico
- Técnicas utilizadas por vírus
- Tipos de vírus
- Técnicas de detecção
- Limitações dos softwares anti-vírus
- Como prevenir
- Conclusão
- Referências
3ALGUMAS DEFINIÇÕES
Técnicas de Detecção de Vírus
- Vírus x Worm
- O comportamento é bastante similar
- O vírus necessita de um hospedeiro a ser
executado, como meio para se propagar - Worm não depende de intervenção humana para seu
espalhamento - Worm explora vulnerabilidades do sistema ou do
comportamento das pessoas
4ALGUMAS DEFINIÇÕES
Técnicas de Detecção de Vírus
- Trojans
- Atuam indesejadamente, e podem causar danos, da
mesma forma como vírus e worms - A diferença consiste apenas na falta de um
mecanismo de auto-replicação - Bots
- Possui as características básicas de um worm
- Em geral, possuem uma gama aumentada de meios
para infectar - Provêem serviços como espionagem, suporte a
spam, ataques de DoS, etc.
5PREJUÍZOS OCASIONADOS POR VÍRUS E SIMILARES
Técnicas de Detecção de Vírus
- Estimativa U 200 por host infectado
- Tempo perdido na empresa com tratamento do
problema - Gastos com suporte
- Danos morais / à imagem
- Ações danosas para outras pessoas podem partir
de uma máquina hospedeira, cujo dono sequer tem
conhecimento do problema... - Empresas podem perder credibilidade devido a
ações de software desse tipo - Ajudam a espalhar a maldição do spam
6UM POUCO DE HISTÓRIA
Técnicas de Detecção de Vírus
- Existem trabalhos teóricos desde o final da
década de 40, a respeito (Von Neumann) - Teorema da recursão
- Década de 70
- Vírus Creeper
- Utilizava a rede militar ARPANET, precursora da
Internet - I am the Creeper catch me if you can
- Vírus Reaper
- Apagava as instâncias do Creeper que encontrava
- Pergunta-se se não foi feito pelo mesmo que criou
o Creeper
7UM POUCO DE HISTÓRIA
Técnicas de Detecção de Vírus
- Década de 70 (cont.)
- Vírus Rabbit
- Apenas multiplicavam-se, sem ação alguma
- Acabavam travando ao exceder um certo número de
infecções - 80's
- Apple II
- Elk Cloner Primeiro vírus a ter alcance em larga
escala - 1992
- Já 1300 diferentes vírus existentes (aumento de
420 em relação a 1990)
8FUNCIONAMENTO BÁSICO
Técnicas de Detecção de Vírus
- Quando um arquivo ou setor de inicalização
infectado é executado... - O vírus é carregado na memória
- Altera as rotinas do sistema necessárias para
viabilizar as suas ações - Ao detectar um outro local passível de ser
executado... - Abre o destino de infecção
- Detecta o ponto inicial da execução do código
deste local a ser infectado - Modifica as instruções iniciais para que contenha
um jump para as suas próprias instruções - Coloca suas próprias instruções anexadas no final
do local de execução
9FUNCIONAMENTO BÁSICO
Técnicas de Detecção de Vírus
- Quando um arquivo ou setor de inicalização
executado é executado... (cont.) - Ao ser disparado um evento (rotina) que esteja
sob seu controle, provoca a ação para a qual foi
programado - Este evento pode estar associado a algum tipo de
timer, e até mesmo só ocorrer numa certa data
específica
10TIPOS DE VÍRUS
Técnicas de Detecção de Vírus
- Vírus de Programa
- Jerusalem, Cascade.
- Vírus de setor de boot
- Form, Disk Killer, Michelangelo e Stoned.
- Alguns vírus infectam boot e também arquivos
- Vírus de macro
- Devido à facilidade com que estes vírus podem
ser criados, existem milhares deles espalhados
11TÉCNICAS UTILIZADAS PELOS VÍRUS
Técnicas de Detecção de Vírus
- Tunneling
- Vírus que buscam restaurar as rotinas originais
do sistema operacional que foram controladas pelo
software antivírus - Monitora o funcionamento do antivírus e o
analisa com heurísticas - Assim, consegue definir uma estratégia ótima de
ataque - Softwares anti-virus podem detectar isto e se
instalam em rotinas sob as que foram utilizadas
pelo vírus - Vírus mais espertos tentam sobrescrever rotinas
sob as rotinas gerenciadas pelo anti-vírus - Funciona bem com SOs sem núcleo protegido. A
guerra entre vírus e anti-vírus acaba gerando
problemas no sistema
12TÉCNICAS UTILIZADAS PELOS VÍRUS
Técnicas de Detecção de Vírus
- Stealthing
- Mascaramento da presença do vírus quando este
tem controle das interrupções do SO - Técnicas para que dificultar a detecção do vírus
- Ex. Não alterar a data e hora, ou tamanho do
arquivo contaminado - Modificar rotinas do S.O. para que a leitura das
áreas afetadas, quando feita por um antivírus,
pareça estar com resultados normais
13TÉCNICAS UTILIZADAS PELOS VÍRUS
Técnicas de Detecção de Vírus
- Encriptação
- Utilização de criptografia no código do vírus
- Pode ser utilizada para dificultar desinfecção
de arquivos - Pode usar sistema de chave privada ou chave
pública - Polimorfismo
- Capacidade do vírus de modificar seu código a
cada execução, mantendo a funcionalidade - Normalmente se utiliza de criptografia
- São usados também alguns truques para trocar o
código por outro equivalente, sem alterar a
função do mesmo - Em geral, utiliza-se um misto destas duas
técnicas - Código alterado com truques para a parte de
criptografia do vírus - Código restante de execução do vírus cifrado
- Ex. Tremor (6,000,000,000 de variações)
14TÉCNICAS DE DETECÇÃO
Técnicas de Detecção de Vírus
- Necessidade de Evolução das técnicas desde 80/90
- Novos tipos de arquivos infectados (.DOC, .XLS,
.VBS, etc.) - Maior quantidade de dados (capacidade dos HDs)
- Necessidade de separar os tipos de vírus e os
tipos de infecções - Criatividade dos programadores X Anti-vírus
- Com a popularização da internet aumentou a
velocidade de proliferação - Necessidade de métodos de identificação para
vírus novos
15TÉCNICAS DE DETECÇÃO
Técnicas de Detecção de Vírus
- Há quatro principais técnicas de detecção
- Scanning
- Integrity checking
- Heuristic detection
- Interception
16SCANNING
Técnicas de Detecção de Vírus
- Busca por strings características de um vírus
particular - Os vírus também se utilizam desta técnica
- Busca realizada na memória, no setor de boot e no
disco - Código suspeito e checksum também sáo
verificados. - Exemplo de assinatura
- EICAR arquivo padrão para teste de detecção de
vírus por assinatura, inofensivo. - X5O!P_at_AP4\PZX54(P)7CC)7EICAR-STANDARD-ANTIVIR
US- TEST-FILE!HH
17SCANNING
Técnicas de Detecção de Vírus
- Má escolha da assinatura pode ocasionar
falsos-positivos ou não identificar um vírus - Exemplo
- X5O!P_at_AP4\PZX54(P)7CC)7EICAR-STANDARD-ANTIVIR
US-ALTERADO !HH - Um anti-vírus que procurasse pela assinatura
completa, não identificaria esse EICAR alterado - Uso de caracteres coringas ajuda
- X5O!P_at_AP4\PZX54(P)7CC)7 !HH
18SCANNING
Técnicas de Detecção de Vírus
- Dois tipos de Scanning
- On-access
- Os arquivos são carregados na memória e checados
antes da execução - Vantagem
- a verificação é feita de forma automática, sem
depender da intervenção constante do usuário - Desvantagem
- consome recursos, degradando o desempenho do
sistema
19SCANNING
Técnicas de Detecção de Vírus
- Dois tipos de Scanning (cont.)
- On-demand
- Faz a varredura em toda a memória principal e
secundária, incluindo setor de boot - O momento da execução é determinado pelo usuário
- Vantagem
- Pode ser agendada para um horário conveniente,
não degradando a utilização da máquina - Desvantagem
- Longo período de execução
20SCANNING
Técnicas de Detecção de Vírus
- Desvantagens
- Identifica apenas vírus conhecidos
- Vírus polimórficos ou encriptados podem enganar
a busca pela assinatura - Vantagens
- Detecta rapidamente vírus que ainda não foram
executados - Baixa taxa de falsos-positivos
21INTEGRITY CHECKING
Técnicas de Detecção de Vírus
- Um verificador da integridade grava a informação
da integridade sobre arquivos importantes no
disco - Em geral, é utilizado checksumming
- Anti-vírus incorpora um código (valor) ao
arquivo - Poucos anti-vírus utilizam esta técnica.
22INTEGRITY CHECKING
Técnicas de Detecção de Vírus
- Program Inoculation
- Técnica que camufla um arquivo limpo, em
infectado - Adiciona dados benignos ao arquivo
- Só funciona para um tipo de vírus por arquivo
- Prejudica a checagem de integridade.
23INTEGRITY CHECKING
Técnicas de Detecção de Vírus
- Vantagens
- Forma mais confiável de provar se um arquivo foi
corrompido - Permite restaurar o arquivo após uma possível
infecção ou corrupção. - Desvantagens
- Softwares não oferecem clareza na checagem de
integridade (corrompido ou infectado?) - Esta técnica só funciona quando um arquivo já foi
infectado
24HEURISTIC DETECTION
Técnicas de Detecção de Vírus
- "Heurística" vem da palavra grega "heuriskein" e
significa "descobrir - Técnica utilizada para estudar o comportamento, a
estrutura e as características de um arquivo - 70 a 90 dos vírus conhecidos e desconhecidos
- Pode ser realizada de duas formas
- Heurística estática
- Heurística dinâmica
25HEURISTIC DETECTION
Técnicas de Detecção de Vírus
- Heurística Estática
- Checa a presença de fragmentos de código
suspeito. - Vantagens
- Mais rápida
- Mais fácil de implementar.
- Desvantagens
- Mais propensa a disparar falsos-positivos
- Pode não detectar comportamento suspeito de vírus
encriptados e polimórficos.
26HEURISTIC DETECTION
Técnicas de Detecção de Vírus
- Heurística Dinâmica
- Emulação de um programa verificando atividade
suspeita. - Vantagens
- Pode verificar o funcionamento de vírus
encriptados e polimórficos - Diminui a ocorrência de falsos-positivos.
- Desvantagens
- Mais lenta
27INTERCEPTION
Técnicas de Detecção de Vírus
- Funciona como uma sub-especialização da análise
heurística - Monitora a atividade dos processos rodando no
computador, e avisa quando existe uma seqüência
suspeita - Vantagens
- É um bom método genérico para evitar ação
destrutiva por parte de algum vírus, trojan ou
afins - Apesar de não identificar o software malicioso,
pode impedir maiores danos, parando a sua ação - Desvantagens
- É um recurso fácil de ser desabilitado pelos
vírus - Alguns danos podem já ter sido efetivados antes
da intercepção ser feita
28LIMITAÇÕES DOS SOFTWARES ANTI-VÍRUS
Técnicas de Detecção de Vírus
- Análise Heurística dificilmente detecta vírus de
linguagens de alto nível como C/C, Delphi ou
Visual Basic - Trojans são menos vulneráveis aos anti-vírus, a
menos que eles sejam largamente disseminados,
como é o caso do Back Oriffice e do NetBus
29LIMITAÇÕES DOS SOFTWARES ANTI-VÍRUS
Técnicas de Detecção de Vírus
- Vírus de Macro
- Maior dificuldade para desenvolver heurísticas
- Mais populares e contagiosos
-
- ActiveX e Applets Java
- Novos riscos de segurança
30COMO PREVENIR
Técnicas de Detecção de Vírus
- Verificar se as suas definições de vírus estão
atualizadas - Evitar deixar um disco flexível no computador
quando desligá-lo - Suspeitar de anexos de e-mail provenientes de
origens desconhecidas. Abrir ou executar estes
anexos é como aceitar carona de estranhos - Os vírus mais recentes podem enviar mensagens de
e-mail que parecem ter sido enviadas por pessoas
que você conhece
31COMO PREVENIR
Técnicas de Detecção de Vírus
- Ativar a exibição de extensões para arquivos
conhecidos no sistema operacional (desativada por
quê?) - Arquivos com duplas-extensões, como .txt.exe ou
.jpg.vbs são maliciosos, praticamente sempre - Quanto mais pessoas tiverem acesso a um mesmo
computador, mais chance de ser infectado - Evitar troca de dados com computadores "públicos
- Inspeção manual pode ser uma tática importante,
para um usuário mais experiente
32CONCLUSÃO
Técnicas de Detecção de Vírus
- Não existe um método único de detecção para todos
os casos - Através da análise de padrões de forma,
arquitetura e comportamento dos vírus existentes,
pode-se criar novos métodos heurísticos para
identificar novas ameaças - Escritores de vírus estão mais sofisticados e os
vírus mais complexos - Para leigos não há limites!
- A melhor proteção ainda é o bom senso.
33Técnicas de Detecção de Vírus
Perguntas / Dúvidas?
34REFERÊNCIAS
Técnicas de Detecção de Vírus
- Security focus Markus Schmall
- http//online.securityfocus.com/infocus/1542
- Sha Sha Chu, Brendan Dixon, Peter Lai, Darren
Lewis, and Camila Valdes - http//cse.stanford.edu/class/cs201/projects-00-01
/viruses/anti-virus.html - Extreme Tech
- http//www.extremetech.com/article2/0,1697,1154645
,00.asp - Lockabit Bruno da Rocha Braga
- http//www.lockabit.coppe.ufrj.br/rlab/rlab_textos
?id73
35REFERÊNCIAS
Técnicas de Detecção de Vírus
- Malicious Cryptography Exposing Cryptography, by
Adam Young and Moti Yung - Erik Kohler
- http//www.geocities.com/CollegePark/Union/3590/vi
rus.html - Symantec
- http//www.symantec.com/region/br/avcenter/educati
on/index.html2 - Grisoft
- http//www.grisoft.com/doc/DetectionMethods/lng/br
-pt/tpl/tpl01 - Igor Muttik
- http//www.mcafee.com/common/media/vil/pdf/imuttik
_VB_20conf_2000.pdf
36REFERÊNCIAS
Técnicas de Detecção de Vírus
Malicious Cryptography Exposing Cryptography, by
Adam Young and Moti Yung