Vírus e outras ameaças
Vírus Computacionais
• O termo vírus computacional deriva e é de alguma formaaná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 dovírus que injecta o seu conteúdo numa célula
• A célula infectada passa a ser uma fábrica replicadora devírus
Vírus Computacionais
• Um vírus computacional não é mais que um segmentode 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 maishospedeiros quando activado
• Quando o hospedeiro infectado é executado o vírus éactivado e o hospedeiro passa a ser uma fábricareplicadora de vírus
Vírus Computacionais
• Vírus computacionais são do mais aproximado aoconceito de vida artificial do que qualquer outra coisacriada 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
Vírus Computacionais
– 1949: J.V. Neumann – “Theory and Organization of ComplicatedAutomata”
– 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…?
Virus para computador faz 25 anos
• O primeiro vírus de computador criado, o ElkCloner, completa, em julho de 2007, 25 anos de idade
• A praga criada pelo adolescente Rich Skrenta• A praga criada pelo adolescente Rich Skrentaem 1982, com 15 anos na época
• Criado para o computador Apple II• contaminava máquinas através da inserção de
disquetes infectados
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 aalgum pedaço de código
• Uma forma de classificar estes vírus é a aproximaçãoque o mesmo toma quando se adiciona a outro pedaçode código (cápsula, add-on ou intrusivo)
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 docódigo viral
• boot virus• …etc…
Estrutura e operação
• …etc…
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 hospedeirooriginal aumenta
• Quase todos os vírus são add-on
Estrutura e operação
Vírus Computacionais
• Vírus intrusivo:– Reescrevem parte, ou todo, do código do hospedeiro original
• Poucos vírus são deste tipo
Estrutura e operação
Vírus Computacionais
• A primeira geração (simples) :
– Estes vírus não faziam nada de extraordinário para além dareplicaçã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 nosoftware que antes não existiam
– Não são difíceis de descobrir, visto que nada fazem para seesconderem, de modo que um simples aumento num ficheiro,por exemplo, denuncia-o imediatamente
Vírus Computacionais
• A segunda geração (auto-reconhecimento) :
– Implementam uma espécie de assinatura que assinala o ficheiro ousistema como infectado, ou seja, não acontecem infecções duplicadasde 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çãoinstantâ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 aparentementefácil de descobrir
Vírus Computacionais
• A terceira geração (furtivo) :
– A maior parte dos vírus pode ser identificada analisando padrões dedados próprios dos mesmos nos sistema de armazenamentosecundários
as cinco gerações
secundários
– De modo a impedir a detecção alguns vírus usam técnicas furtivas demodo a não serem descobertos
– Como exemplo se numa análise a um disco o vírus detecta que existeuma chamada do sistema para ler uma porção do vírus, este retornarianão o vírus mas os dados que estariam presentes se o sistemaestivesse livre de infecção
Vírus Computacionais
• A quarta geração (armadura) :
– À medida que antivírus saem para o mercado, autores de vírusvoltaram-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• Em 1990 sai para o mercado o primeiro antivírus da Norton
Vírus Computacionais
• A quinta geração (polimórficos) :
– A mais recente classe de vírus a aparecer são os polimórficos, capazesde se mutarem
as cinco gerações
– Infectam os seus hospedeiros com uma versão modificada ou cifradadeles próprios
– De modo a se poder detectar estes vírus é necessário um algoritmomais complexo que seja capaz de reverter o processo de mutação demodo a poder detectar se o vírus está presente ou não
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
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
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.
Detecção
– Em geral, um vírus que infecta arquivos .EXE age da seguinte forma:
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 Pointoriginal 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.
Detecção
• Emulação– Detecção de vírus polimórficos– Pesquisas por assinaturas em vírus polimórficos
são praticamente inviáveissã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
Detecção
• Vírus “Simili”– Este vírus contém um decriptografador
polimórfico que modifica o tamanho e a localização das infecçõeslocalizaçã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
– As novas cópias podem variar de 30 a 120 Kbytes
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.
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írusanti-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
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írus1. Escolher um vírus2. Fazer uma breve descrição do vírus
(pesquisar)3. Apresentar o código e mostrar o que ele faz
Top Related