UFF – Universidade Federal Fluminense PURO - Pólo Universitário de Rio das Ostras Ciência da Computação – 1º Período PRAGAS DIGITAIS Rio das Ostras – 23 de maio de 2005 Grupo: Anderson de Abreu Barbosa Roberto Wander Bezerra da Costa Rodrigo Santos PRAGAS DIGITAIS 2 Alguns Conceitos Antes de começar explicitamente a falar do que são vírus ou worms, é necessário conhecer alguns conceitos importantes de segurança e Internet: HACKER, CRACKER, PHREAKERS, LAMMER O termo "Hacker de Software" originou-se a partir de uma aventura de três estudantes universitários de Angola, que entraram no maior banco do mundo, o BPC. Este grupo de pessoas são autoconhecedores de linguagens de programação e infra-estrutura de comunicação de redes e utilizam este conhecimento para descobrir falhas de segurança em sistemas normalmente na Internet. Assim como os Hackers de Software, os Crackers possuem um conhecimento vasto de programação, mas utilizam deste para quebrar códigos, senhas, invadir infra-estruturas, destruir sistemas, e conseguir acesso a todo o tipo de recurso que, por padrão, eles não possuíam sem se preocupar com as conseqüências. O conceito de Phreakers surgiu como o de Hackers. Estes são os piratas de telefonia. Conseguem acessar os mais diversos recursos telefônicos sem gastos. Por último, vêm os Lammers. São um grupo de pseudo-hackers ou pseudo-crackers, pois não possuem um conhecimento vasto, mas se acham no direito de se ver como Hackers/Crackers. Os Lammers utilizam softwares que podem auxiliar algum tipo de susto, mas nada que vá muito longe devido a sua limitação de conhecimentos. OUTROS CONCEITOS DOS: Denial of Service (Negação de Serviço) – Um tipo de ataque comum e sem muitas defesas. Trata-se de configurar, por exemplo, para milhares de computadores acessarem um determinado endereço ao mesmo tempo, derrubando a conexão do servidor por alto contingente de acesso. Muito utilizado por pessoas que desejam derrubar grandes sites. Aplicação Cliente Servidor: Este é um tipo de serviço que é disponibilizado por um software em processo de execução associado a alguma porta em um servidor na qual o cliente se conecta. PRAGAS DIGITAIS 3 Vírus Um vírus normalmente é um programa parasita que é capaz de se prender a arquivos ou discos e se reproduz repetidamente. Vírus infectam arquivos executáveis e setores de boot de discos rígidos. Vírus que infectam arquivos são chamados de Vírus de Arquivo, vírus que infetam setores de boot são chamados de Vírus de Boot. Os Vírus de Arquivo infectam arquivos executáveis. Eles podem infectar de várias formas. Este tipo de vírus pode infectar escrevendo seu código no arquivo a ser infectado das seguintes formas: • Antes do arquivo original; • Ao final do arquivo original; • Sobrescrevendo o código do arquivo original; • Inserindo-se em buracos no arquivo original; • Sobrescrevendo e mencionando a execução do arquivo original; • Escrevendo-se em seções de arquivos de 32 bits. Um Vírus de Arquivo pode ser: Não Criptografado, Criptografado ou Polimórfico. Um vírus Criptografado ou Polimórfico consiste em um ou mais Decriptores e um código principal. Um Decriptor desencripta o código principal do vírus antes de ser iniciado (isto evita que um antivírus pare o processo no momento da cópia). Vírus Criptografados utilizam normalmente chaves de descriptografia fixas ou variáveis, enquando os Polimórficos utilizam chaves aleatórias determinadas pelo processador e contém uma série de comandos que não são utilizados no processo de descriptografia. Os Vírus de Boot se alojam na MBR (Máster Boot Record) ou na DBR (Dos Boot Record) de um disco rígido ou disquete (FBR – Floppy Boot Record). Os Vírus de Boot podem sobrescrever ou realocar informações. Os que sobrescrevem, se gravam na MBR, DBR, ou FBR sem alterar preservando as informações da tabela de partições ou as informações lógicas do drive. Os que realocam, salvam as informações. Às vezes essas ações podem inutilizar o disco. Quando o computador é iniciado, o código do vírus é carregado na memória. Então monitora o acesso ao disco e então escreve seu código em outras mídias que são acessadas. Exemplo: Um disco rígido infectado passo o vírus para um disquete. Vírus de Arquivos podem ser residentes ou não-residentes. Vírus de Boot são sempre residentes. Vírus residentes são vírus que ficam alojados na memória após a primeira execução, mesmo que o computar seja reiniciado. Esses tipos de vírus normalmente monitoram atividades do sistema, e, quando uma determinada função é executada, o vírus toma o controle e infecta o arquivo ou o setor antes que este seja acessado por esta função do sistema. Depois o controle é repassado ao sistema novamente. Os Vírus de Macro infectam os arquivos dos programas Word, Excel, PowerPoint e Access. Variações mais recentes também estão aparecendo em outros programas. Todos estes vírus usam a linguagem de programação interna do programa, que foi criada para permitir que os usuários automatizem determinadas tarefas nestes ambientes. Devido à facilidade com que estes vírus PRAGAS DIGITAIS 4 podem ser criados, existem milhares deles espalhados. Exemplos de vírus de macro conhecidos são Melissa e o Bubbleboy. Os não residentes em memória procuram por arquivos para os infectar. Alguns possuem limitação com relação ao número de arquivos que possa infectar. Isto é feito para reduzir a chance de ser descoberto um processo estranho, visto que o mesmo causa uma perda de desempenho do sistema considerável. Os vírus mais perigosos atualmente são os que sobrescrevem o código do arquivo infectado, pois este passa a ser inutilizável, e a única maneira de recuperar é reinstalando o aplicativo referente. Um vírus é programa como qualquer outro, e seu poder de dano fica atrelado às limitações da linguagem de programação que está sendo utilizada. Os principais danos que podem ser causados pelos vírus são: • Perda de desempenho do computador; • Exclusão de Arquivos; • Acesso a informações confidenciais por pessoas não autorizadas; • Perda de desempenho da rede (local e Internet); • Monitoramento de utilização (espiões); • Desconfiguração do Sistema Operacional. PRAGAS DIGITAIS 5 Worms Um Worm de computador é um tipo de vírus, que possui como característica principal o poder de se replicar, seja por e-mail (Worms de E-mail ou Mass-Mailer), pela rede, ou até mesmo por outras plataformas. A diferença básica de um worm para um vírus comum é que o vírus necessita de um hospedeiro para se propagar, diferentemente do worm que já é seu próprio hospedeiro. Um Worm de E-mail normalmente é um programa que se envia por e-mail (consigo em anexo) para uma listagem de endereços gravados no computador infectado. Este tipo de Worm foi muito difundido no início do Século XXI, sendo deste tipo de Software Malicioso o possuidor do maior número de incidências atualmente. Em alguns casos, os anexos são executados automaticamente, e em outros, o próprio usuário é quem o executa. Quando o worm é ativado ele se autocopia para uma pasta do sistema e grava informações no registro ou nos arquivos WIN.INI ou SYSTEM.INI para que seja executado na inicialização. Desta forma, o worm fica alojado na memória do micro toda vez que o sistema operacional é iniciado. Enquanto o mesmo ainda está rodando ele cataloga informações do Caderno de Endereços do usuário (Address Book) ou procura por arquivos (arquivos HTML, por exemplo) tentando localizar endereços de e-mail em seu corpo. Eles criam os títulos, nomes dos anexos e o corpo da mensagem de forma aleatória ou até mesmo juntando palavras que encontram em outros e-mails ou arquivos no micro. Utilizam ainda extensões duplicadas para os anexos, como por exemplo, .MPG.EXE ou . AVI.PIF. Neste caso, os destinatários só conseguem visualizar a primeira extensão, imaginando que seja algum arquivo multimídia. Atualmente, os worms tentam ainda desabilitar o software antivírus e os recursos de segurança do computador. Alguns ainda destroem o sistema operacional após se reenviarem para o Caderno de Endereços. Finalmente, ele procura por servidores SMTP (normalmente o do próprio usuário) e envia cópias de si mesmo para os endereços catalogados. Os Worms de Rede geralmente são programas que explorar recursos de uma rede LAN (Local Area Network) como, por exemplo, compartilhamento de outros computadores (ou os chamados Shares). Um compartilhamento é uma mídia, como um disco rígido, que possui permissões e direitos de acesso atrelados a usuários. Os sistemas operacionais com tecnologia discos formatados com sistema de arquivos NTFS já possuem, por padrão, um compartilhamento para cada partição no sistema. Geralmente este tipo de ambiente obtido em servidores, onde, se este for mal configurado, pode acarretar muitos problemas provenientes de ataques de computadores de usuário acessam e-mail e não possuem uma infra-estrutura de segurança adequada. O trabalho de limpar uma rede de computadores determinado worm é muito grande visto que este um alto poder de disseminação. Ou seja, é necessário manter fora de qualquer tipo de conexão física com a rede e limpar computador a PRAGAS DIGITAIS tentam NT e é que de um possui 6 computador as entradas e infecções deixadas pelo intruso para garantir que o mesmo não vá voltar antes mesmo de terminar todo o processo. Uma vez que um Worm de Rede encontra um compartilhamento na rede, ele se copia para o computador remoto tentando encontrar os arquivos WIN.INI ou SYSTEM.INI na pasta de sistema, ou se aloja na pasta startup para ser inicializado na próxima ver que o computador for reiniciado. Alguns utilizam técnicas como BruteForce para penetrar em compartilhamentos que solicitam senha. Outros tipos de Worms podem explorar vulnerabilidades de sistemas operacionais em específico como os Windows 9x. Eles procuram se conectar com computadores pelas portas 137 e 139, utilizando o serviço NetBios, e então conseguir acesso e copiar-se para estes computadores. Trata-se de uma falha de segurança do sistema operacional. Os Worms de Plataformas Específicas são tipos de intrusos que exploram falhas de segurança em determinados aplicativos. É o caso dos Worms de IIS (Internet Information Service) que utilizam brechas deixadas pelos programadores e que conseguem garantir o acesso a determinados dados. O IIS é uma aplicação servidora de http, ftp e smtp. No caso do http (protocolo utilizado para acesso a páginas da Internet), é possível explorar vulnerabilidades em sites e obter dados de tabelas de banco de dados, como por exemplo, as informações de senhas dos usuários. Não existem arquivos de Worms de IIS, pois a criação destes worms é baseada unicamente na maneira de formular o link para o acesso a página em questão. Existem ainda os Worms de IRC (Internet Relay Chat) que exploram as falhas e vulnerabilidades dos clientes IRC (mIRC, Scoop, etc). O cliente IRC mais afetado hoje em dia é mIRC. Geralmente, os Worms de IRC substituem arquivos INI, em seu diretório de instalação com seus, com seus próprios códigos maliciosos. Quando o usuário entra um em um canal, então o script instrui ao cliente enviar um cópia de seu executável para cada um dentro daquele canal. UM POUCO DE HISTÓRIA Morris Worm – este foi o primeiro worm, que atraiu grande atenção, criado na história da computação. Escrito por Robert Tappan Morris Jr., no Laboratório de Inteligência artificial do MIT, ele foi iniciado em 2 de novembro de 1988 e rapidamente se propagou pela Internet. Propagou-se através de uma série de erros no BSD Unix e seus similares. Morris foi condenado a prestar três anos de serviços à comunidade e a pagar uma multa de US$ 10.000. Os worms Sobig e Mydoom funcionavam instalando backdoors (brechas) nos computadores tornando-os abertos a ataques via Internet. Estes computadores zumbis eram utilizados para enviar email ou para atacar endereços de sites da Internet. Os worms podem ser úteis: a família de worms Nachi, por exemplo, tentava buscar e instalar patches do site da Microsoft para corrigir diversas vulnerabilidades no sistema (as mesmas vulnerabilidades que eles exploravam). Isto eventualmente torna os sistemas atingidos mais seguros, mas gera um tráfico na rede considerável — freqüentemente maior que o dos worms que eles estão protegendo — causam reboots da máquina no processo de aplicar o patch, e talvez o mais importante, fazem o seu trabalho sem a permissão do usuário do computador. Por isto, muitos especialistas de segurança desprezam os worms, independentemente do que eles fazem. PRAGAS DIGITAIS 7 Trojans Como diz a mitologia grega, "Cavalo de Tróia" foi uma grande estátua, utilizada como instrumento de guerra pelos gregos para obter acesso a cidade de Tróia. A estátua do cavalo foi preenchida com soldados que, durante a noite, abriram os portões da cidade possibilitando a entrada dos gregos e a dominação de Tróia. Daí surgiram os termos "Presente de Grego" e "Cavalo de Tróia". Na informática, um Cavalo de Tróia (Trojan Horse) é um programa que, além de executar funções para as quais foi aparentemente projetado, também executa outras funções normalmente maliciosas e sem o conhecimento do usuário. Como qualquer outro programa, os Trojans podem realizar várias ações no computador e no sistema operacional. Algumas das funções maliciosas que podem ser executadas por um cavalo de tróia são: • Alteração ou destruição de arquivos; • • Furto de senhas e outras informações sensíveis, como números de cartões de crédito; Inclusão de backdoors, para permitir que um atacante tenha total controle sobre o computador. Por definição, o cavalo de Tróia distingue-se de vírus e worms, por não se replicar, infectar outros arquivos, ou propagar cópias de si mesmo automaticamente. Normalmente um cavalo de Tróia consiste de um único arquivo. Podem existir casos onde um cavalo de Tróia contenha um vírus ou worm. Mas mesmo nestes casos é possível distinguir as ações realizadas, como conseqüência da execução do cavalo de Tróia propriamente dito, daquelas relacionadas ao comportamento de um vírus ou worm. Os Cavalos de Tróia são impostores: arquivos que afirmam serem desejáveis, mas na verdade são mal-intencionados. Uma distinção muito importante dos verdadeiros vírus é que eles não se reproduzem. Eles não são exatamente um outro tipo de vírus, mas são freqüentemente chamados de vírus. Para ser instalado, é necessário que o cavalo de Tróia seja explicitamente executado. Geralmente um cavalo de Tróia vem anexado a um e-mail ou está disponível em algum site na Internet. É importante ressaltar que existem programas de e-mail, que podem estar configurados para executar automaticamente arquivos anexados às mensagens. Neste caso, o simples fato de ler uma mensagem é suficiente para que qualquer arquivo (executável) anexado seja executado. Exemplo de cavalos de Tróia são: o Netbus, o BO, o Back Orifice ou o Master Paradise 98. Antigamente os Cavalos de Tróia eram aparentemente programas utilitários que, no entanto, causavam danos ao conteúdo do disco (ou parte dele). Alguns programas bem conhecidos que podem ser considerados como Trojans são o Kazaa, o iMesh ou outros programas usados para "baixar" musicas em seu computador. Eles trabalham usando a tecnologia P2P (Peear to Peer) onde esses programas fazem um acesso remoto a seu computador e podem ter o domínio da máquina facilmente, nem todos usam esse "poder" para roubar informações mas fica o aviso que eles podem fazer isso. Atualmente os Cavalos de Tróia que mais se espalham são Trojans. Eles habilitam acesso remoto aos computadores infectados e PRAGAS DIGITAIS BackDoor PSW 8 (Password Stealers - Ladrões de Senha) que tentam recolher o máximo de informação privadas possíveis do computador infectado e enviam a informação pela Internet. PRAGAS DIGITAIS 9 Spywares, Keyloggers e Hijackers Apesar de não serem necessariamente vírus, estes três nomes também representam perigo. Spywares são aplicativos que monitoram as atividades dos usuários capturando informações sobre eles. Os spywares podem vir embutidos em softwares desconhecidos ou serem baixados automaticamente quando o usuário visita sites de conteúdo duvidoso. Muitos spywares podem ser obtidos, instalando programas como Kazaa, eMule, entre outros. Os keyloggers são pequenos aplicativos que podem vir embutidos em vírus, spywares ou softwares do gênero. Destinados a capturar tudo o que é digitado no teclado, o objetivo principal, é o de capturar senhas. Trata-se de um programa que fica alojado na memória, como os vírus ou worms, que é sensível a qualquer tecla do teclado, gerando um log das digitações. Muitos até enviam por e-mail os logs para seus criadores. Hijackers são programas ou scripts que se integram a navegadores de Internet, principalmente o Internet Explorer. Quando isso ocorre, o hijacker altera a página inicial do seu browser e o impede de mudá-la, exibe propagandas em popups, instala barras de ferramentas no navegador e podem impedir acesso a determinados sites (como sites de software antivírus, por exemplo). Os spywares e os keyloggers podem ser identificados por programas anti-spywares. Porém, algumas destas pragas são tão perigosas que alguns antivírus podem ser preparados para identificá-las, como se fossem vírus. No caso de hijackers, muitas vezes é necessário usar uma ferramenta desenvolvida especialmente para combater aquela praga. Isso porque os hijackers podem se infiltrar no sistema operacional de uma forma que nem antivírus nem anti-spywares conseguem "pegar". PRAGAS DIGITAIS 10 Bibliografia http://www.infowester.com PRAGAS DIGITAIS 11 http://www.securitysage.com http://www.infoaudio.com.br http://www.wikipedia.com http://www.f-secure.com PRAGAS DIGITAIS 12