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
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
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
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…?
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
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)
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
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
Vírus Computacionais
• Vírus intrusivo:
– Reescrevem parte, ou todo, do código do hospedeiro original • Poucos vírus são deste tipo
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
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
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
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
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
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