36
Té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)

Té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

Embed Size (px)

Citation preview

Page 1: Té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

Té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)

Page 2: Té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

Técnicas de Detecção de VírusROTEIRO DA APRESENTAÇÃO

•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

Page 3: Té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

Técnicas de Detecção de VírusALGUMAS DEFINIÇÕES

• 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

Page 4: Té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

Técnicas de Detecção de VírusALGUMAS DEFINIÇÕES

•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.

Page 5: Té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

Técnicas de Detecção de VírusPREJUÍZOS OCASIONADOS POR

VÍRUS E SIMILARES

•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

Page 6: Té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

Técnicas de Detecção de VírusUM POUCO DE HISTÓRIA

•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

Page 7: Té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

Técnicas de Detecção de VírusUM POUCO DE HISTÓRIA

•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)

Page 8: Té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

Técnicas de Detecção de VírusFUNCIONAMENTO BÁSICO

•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

Page 9: Té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

Técnicas de Detecção de VírusFUNCIONAMENTO BÁSICO

•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

Page 10: Té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

Técnicas de Detecção de VírusTIPOS 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

Page 11: Té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

Técnicas de Detecção de VírusTÉCNICAS UTILIZADAS PELOS

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

Page 12: Té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

Técnicas de Detecção de VírusTÉCNICAS UTILIZADAS PELOS

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

Page 13: Té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

Técnicas de Detecção de VírusTÉCNICAS UTILIZADAS PELOS

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)

Page 14: Té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

Técnicas de Detecção de VírusTÉCNICAS DE DETECÇÃO

•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

Page 15: Té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

Técnicas de Detecção de VírusTÉCNICAS DE DETECÇÃO

Há quatro principais técnicas de detecção:

•Scanning•Integrity checking •Heuristic detection •Interception

Page 16: Té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

Técnicas de Detecção de VírusSCANNING

•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%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS- TEST-FILE!$H+H*

Page 17: Té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

Técnicas de Detecção de VírusSCANNING

•Má escolha da assinatura pode ocasionar falsos-positivos ou não identificar um vírus

Exemplo:

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

•Um anti-vírus que procurasse pela assinatura completa, não identificaria esse EICAR alterado•Uso de caracteres coringas ajuda:

X5O!P%@AP[4\PZX54(P^)7CC)7}$ [*] !$H+H*

Page 18: Té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

Técnicas de Detecção de VírusSCANNING

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

Page 19: Té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

Técnicas de Detecção de VírusSCANNING

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

Page 20: Té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

Técnicas de Detecção de VírusSCANNING

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

Page 21: Té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

Técnicas de Detecção de VírusINTEGRITY CHECKING

•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.

Page 22: Té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

Técnicas de Detecção de VírusINTEGRITY CHECKING

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.

Page 23: Té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

Técnicas de Detecção de VírusINTEGRITY CHECKING

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;

Page 24: Té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

Técnicas de Detecção de VírusHEURISTIC DETECTION

•"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

Page 25: Té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

Técnicas de Detecção de VírusHEURISTIC DETECTION

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.

Page 26: Té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

Técnicas de Detecção de VírusHEURISTIC DETECTION

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;

Page 27: Té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

Técnicas de Detecção de VírusINTERCEPTION

• 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

Page 28: Té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

Técnicas de Detecção de VírusLIMITAÇÕES DOS SOFTWARES

ANTI-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

Page 29: Té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

Técnicas de Detecção de VírusLIMITAÇÕES DOS SOFTWARES

ANTI-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

Page 30: Té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

Técnicas de Detecção de VírusCOMO PREVENIR

• 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

Page 31: Té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

Técnicas de Detecção de VírusCOMO PREVENIR

•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

Page 32: Té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

Técnicas de Detecção de VírusCONCLUSÃO

•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.

Page 33: Té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

Técnicas de Detecção de Vírus

Perguntas / Dúvidas?

Page 34: Té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

Técnicas de Detecção de VírusREFERÊNCIAS

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?id=73

Page 35: Té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

Técnicas de Detecção de VírusREFERÊNCIAS

Malicious Cryptography: Exposing Cryptography, by Adam Young and Moti Yung

Erik Kohler•http://www.geocities.com/CollegePark/Union/3590/virus.html

Symantec •http://www.symantec.com/region/br/avcenter/education/index.html#2

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

Page 36: Té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

Técnicas de Detecção de VírusREFERÊNCIAS

Malicious Cryptography: Exposing Cryptography, by Adam Young and Moti Yung