FONTE: http://cartilha.cert.br/malware/
4. Códigos maliciosos (Malware)
Códigos maliciosos (malware) são programas especificamente desenvolvidos para executar ações danosas e atividades maliciosas em um computador. Algumas das diversas formas como os códigos maliciosos podem infectar ou comprometer um computador são:- pela exploração de vulnerabilidades existentes nos programas instalados;
- pela auto-execução de mídias removíveis infectadas, como pen-drives;
- pelo acesso a páginas Web maliciosas, utilizando navegadores vulneráveis;
- pela ação direta de atacantes que, após invadirem o computador, incluem arquivos contendo códigos maliciosos;
- pela execução de arquivos previamente infectados, obtidos em anexos de mensagens eletrônicas, via mídias removíveis, em páginas Web ou diretamente de outros computadores (através do compartilhamento de recursos).
Os principais motivos que levam um atacante a desenvolver e a propagar códigos maliciosos são a obtenção de vantagens financeiras, a coleta de informações confidenciais, o desejo de autopromoção e o vandalismo. Além disto, os códigos maliciosos são muitas vezes usados como intermediários e possibilitam a prática de golpes, a realização de ataques e a disseminação de spam (mais detalhes nos Capítulos Golpes na Internet, Ataques na Internet e Spam, respectivamente).
Os principais tipos de códigos maliciosos existentes são apresentados nas próximas seções.
4.1. Vírus
Vírus é um programa ou parte de um programa de computador, normalmente malicioso, que se propaga inserindo cópias de si mesmo e se tornando parte de outros programas e arquivos.Para que possa se tornar ativo e dar continuidade ao processo de infecção, o vírus depende da execução do programa ou arquivo hospedeiro, ou seja, para que o seu computador seja infectado é preciso que um programa já infectado seja executado.
O principal meio de propagação de vírus costumava ser os disquetes. Com o tempo, porém, estas mídias caíram em desuso e começaram a surgir novas maneiras, como o envio de e-mail. Atualmente, as mídias removíveis tornaram-se novamente o principal meio de propagação, não mais por disquetes, mas, principalmente, pelo uso de pen-drives.
Há diferentes tipos de vírus. Alguns procuram permanecer ocultos, infectando arquivos do disco e executando uma série de atividades sem o conhecimento do usuário. Há outros que permanecem inativos durante certos períodos, entrando em atividade apenas em datas específicas. Alguns dos tipos de vírus mais comuns são:
- Vírus propagado por e-mail: recebido como um arquivo anexo a um e-mail cujo conteúdo tenta induzir o usuário a clicar sobre este arquivo, fazendo com que seja executado. Quando entra em ação, infecta arquivos e programas e envia cópias de si mesmo para os e-mails encontrados nas listas de contatos gravadas no computador.
- Vírus de script: escrito em linguagem de script, como VBScript e JavaScript, e recebido ao acessar uma página Web ou por e-mail, como um arquivo anexo ou como parte do próprio e-mail escrito em formato HTML. Pode ser automaticamente executado, dependendo da configuração do navegador Web e do programa leitor de e-mails do usuário.
- Vírus de macro: tipo específico de vírus de script, escrito em linguagem de macro, que tenta infectar arquivos manipulados por aplicativos que utilizam esta linguagem como, por exemplo, os que compõe o Microsoft Office (Excel, Word e PowerPoint, entre outros).
- Vírus de telefone celular: vírus que se propaga de celular para celular por meio da tecnologia bluetooth ou de mensagens MMS (Multimedia Message Service). A infecção ocorre quando um usuário permite o recebimento de um arquivo infectado e o executa. Após infectar o celular, o vírus pode destruir ou sobrescrever arquivos, remover ou transmitir contatos da agenda, efetuar ligações telefônicas e drenar a carga da bateria, além de tentar se propagar para outros celulares.
4.2. Worm
Worm é um programa capaz de se propagar automaticamente pelas redes, enviando cópias de si mesmo de computador para computador.Diferente do vírus, o worm não se propaga por meio da inclusão de cópias de si mesmo em outros programas ou arquivos, mas sim pela execução direta de suas cópias ou pela exploração automática de vulnerabilidades existentes em programas instalados em computadores.
Worms são notadamente responsáveis por consumir muitos recursos, devido à grande quantidade de cópias de si mesmo que costumam propagar e, como consequência, podem afetar o desempenho de redes e a utilização de computadores.
O processo de propagação e infecção dos worms ocorre da seguinte maneira:
- Identificação dos computadores alvos: após infectar um
computador, o worm tenta se propagar e continuar o processo de
infecção. Para isto, necessita identificar os computadores alvos para
os quais tentará se copiar, o que pode ser feito de uma ou mais das
seguintes maneiras:
- efetuar varredura na rede e identificar computadores ativos;
- aguardar que outros computadores contatem o computador infectado;
- utilizar listas, predefinidas ou obtidas na Internet, contendo a identificação dos alvos;
- utilizar informações contidas no computador infectado, como arquivos de configuração e listas de endereços de e-mail.
- Envio das cópias: após identificar os alvos, o worm
efetua cópias de si mesmo e tenta enviá-las para estes computadores,
por uma ou mais das seguintes formas:
- como parte da exploração de vulnerabilidades existentes em programas instalados no computador alvo;
- anexadas a e-mails;
- via canais de IRC (Internet Relay Chat);
- via programas de troca de mensagens instantâneas;
- incluídas em pastas compartilhadas em redes locais ou do tipo P2P (Peer to Peer).
- Ativação das cópias: após realizado o envio da cópia, o
worm necessita ser executado para que a infecção ocorra, o que
pode acontecer de uma ou mais das seguintes maneiras:
- imediatamente após ter sido transmitido, pela exploração de vulnerabilidades em programas sendo executados no computador alvo no momento do recebimento da cópia;
- diretamente pelo usuário, pela execução de uma das cópias enviadas ao seu computador;
- pela realização de uma ação específica do usuário, a qual o worm está condicionado como, por exemplo, a inserção de uma mídia removível.
- Reinício do processo: após o alvo ser infectado, o processo de propagação e infecção recomeça, sendo que, a partir de agora, o computador que antes era o alvo passa a ser também o computador originador dos ataques.
4.3. Bot e botnet
Bot é um programa que dispõe de mecanismos de comunicação com o invasor que permitem que ele seja controlado remotamente. Possui processo de infecção e propagação similar ao do worm, ou seja, é capaz de se propagar automaticamente, explorando vulnerabilidades existentes em programas instalados em computadores.A comunicação entre o invasor e o computador infectado pelo bot pode ocorrer via canais de IRC, servidores Web e redes do tipo P2P, entre outros meios. Ao se comunicar, o invasor pode enviar instruções para que ações maliciosas sejam executadas, como desferir ataques, furtar dados do computador infectado e enviar spam.
Um computador infectado por um bot costuma ser chamado de zumbi (zombie computer), pois pode ser controlado remotamente, sem o conhecimento do seu dono. Também pode ser chamado de spam zombie quando o bot instalado o transforma em um servidor de e-mails e o utiliza para o envio de spam.
Botnet é uma rede formada por centenas ou milhares de computadores zumbis e que permite potencializar as ações danosas executadas pelos bots.
Quanto mais zumbis participarem da botnet mais potente ela será. O atacante que a controlar, além de usá-la para seus próprios ataques, também pode alugá-la para outras pessoas ou grupos que desejem que uma ação maliciosa específica seja executada.
Algumas das ações maliciosas que costumam ser executadas por intermédio de botnets são: ataques de negação de serviço, propagação de códigos maliciosos (inclusive do próprio bot), coleta de informações de um grande número de computadores, envio de spam e camuflagem da identidade do atacante (com o uso de proxies instalados nos zumbis).
O esquema simplificado apresentado a seguir exemplifica o funcionamento básico de uma botnet:
- Um atacante propaga um tipo específico de bot na esperança de infectar e conseguir a maior quantidade possível de zumbis;
- os zumbis ficam então à disposição do atacante, agora seu controlador, à espera dos comandos a serem executados;
- quando o controlador deseja que uma ação seja realizada, ele envia aos zumbis os comandos a serem executados, usando, por exemplo, redes do tipo P2P ou servidores centralizados;
- os zumbis executam então os comandos recebidos, durante o período predeterminado pelo controlador;
- quando a ação se encerra, os zumbis voltam a ficar à espera dos próximos comandos a serem executados.
4.4. Spyware
Spyware é um programa projetado para monitorar as atividades de um sistema e enviar as informações coletadas para terceiros.Pode ser usado tanto de forma legítima quanto maliciosa, dependendo de como é instalado, das ações realizadas, do tipo de informação monitorada e do uso que é feito por quem recebe as informações coletadas. Pode ser considerado de uso:
- Legítimo: quando instalado em um computador pessoal, pelo próprio dono ou com consentimento deste, com o objetivo de verificar se outras pessoas o estão utilizando de modo abusivo ou não autorizado.
- Malicioso: quando executa ações que podem comprometer a privacidade do usuário e a segurança do computador, como monitorar e capturar informações referentes à navegação do usuário ou inseridas em outros programas (por exemplo, conta de usuário e senha).
Keylogger: capaz de capturar e armazenar as teclas digitadas pelo usuário no teclado do computador. Sua ativação, em muitos casos, é condicionada a uma ação prévia do usuário, como o acesso a um site específico de comércio eletrônico ou de Internet Banking.
Screenlogger: similar ao keylogger, capaz de armazenar a posição do cursor e a tela apresentada no monitor, nos momentos em que o mouse é clicado, ou a região que circunda a posição onde o mouse é clicado. É bastante utilizado por atacantes para capturar as teclas digitadas pelos usuários em teclados virtuais, disponíveis principalmente em sites de Internet Banking.
Adware: projetado especificamente para apresentar propagandas. Pode ser usado para fins legítimos, quando incorporado a programas e serviços, como forma de patrocínio ou retorno financeiro para quem desenvolve programas livres ou presta serviços gratuitos. Também pode ser usado para fins maliciosos, quando as propagandas apresentadas são direcionadas, de acordo com a navegação do usuário e sem que este saiba que tal monitoramento está sendo feito.
4.5. Backdoor
Backdoor é um programa que permite o retorno de um invasor a um computador comprometido, por meio da inclusão de serviços criados ou modificados para este fim.Pode ser incluído pela ação de outros códigos maliciosos, que tenham previamente infectado o computador, ou por atacantes, que exploram vulnerabilidades existentes nos programas instalados no computador para invadi-lo.
Após incluído, o backdoor é usado para assegurar o acesso futuro ao computador comprometido, permitindo que ele seja acessado remotamente, sem que haja necessidade de recorrer novamente aos métodos utilizados na realização da invasão ou infecção e, na maioria dos casos, sem que seja notado.
A forma usual de inclusão de um backdoor consiste na disponibilização de um novo serviço ou na substituição de um determinado serviço por uma versão alterada, normalmente possuindo recursos que permitem o acesso remoto. Programas de administração remota, como BackOrifice, NetBus, SubSeven, VNC e Radmin, se mal configurados ou utilizados sem o consentimento do usuário, também podem ser classificados como backdoors.
Há casos de backdoors incluídos propositalmente por fabricantes de programas, sob alegação de necessidades administrativas. Esses casos constituem uma séria ameaça à segurança de um computador que contenha um destes programas instalados pois, além de comprometerem a privacidade do usuário, também podem ser usados por invasores para acessarem remotamente o computador.
4.6. Cavalo de troia (Trojan)
Cavalo de troia1, trojan ou trojan-horse, é um programa que, além de executar as funções para as quais foi aparentemente projetado, também executa outras funções, normalmente maliciosas, e sem o conhecimento do usuário.Exemplos de trojans são programas que você recebe ou obtém de sites na Internet e que parecem ser apenas cartões virtuais animados, álbuns de fotos, jogos e protetores de tela, entre outros. Estes programas, geralmente, consistem de um único arquivo e necessitam ser explicitamente executados para que sejam instalados no computador.
Trojans também podem ser instalados por atacantes que, após invadirem um computador, alteram programas já existentes para que, além de continuarem a desempenhar as funções originais, também executem ações maliciosas.
Há diferentes tipos de trojans, classificados2 de acordo com as ações maliciosas que costumam executar ao infectar um computador. Alguns destes tipos são:
- Trojan Downloader: instala outros códigos maliciosos, obtidos de sites na Internet.
- Trojan Dropper: instala outros códigos maliciosos, embutidos no próprio código do trojan.
- Trojan Backdoor: inclui backdoors, possibilitando o acesso remoto do atacante ao computador.
- Trojan DoS: instala ferramentas de negação de serviço e as utiliza para desferir ataques.
- Trojan Destrutivo: altera/apaga arquivos e diretórios, formata o disco rígido e pode deixar o computador fora de operação.
- Trojan Clicker: redireciona a navegação do usuário para sites específicos, com o objetivo de aumentar a quantidade de acessos a estes sites ou apresentar propagandas.
- Trojan Proxy: instala um servidor de proxy, possibilitando que o computador seja utilizado para navegação anônima e para envio de spam.
- Trojan Spy: instala programas spyware e os utiliza para coletar informações sensíveis, como senhas e números de cartão de crédito, e enviá-las ao atacante.
- Trojan Banker ou Bancos: coleta dados bancários do usuário, através da instalação de programas spyware que são ativados quando sites de Internet Banking são acessados. É similar ao Trojan Spy porém com objetivos mais específicos.
[1] O "Cavalo de Troia", segundo a mitologia grega, foi
uma grande estátua, utilizada como instrumento de guerra pelos gregos
para obter acesso à cidade de Troia. A estátua do cavalo foi recheada
com soldados que, durante a noite, abriram os portões da cidade
possibilitando a entrada dos gregos e a dominação de Troia.
voltar
[2] Esta classificação baseia-se em coletânea feita sobre os nomes mais comumente usados pelos programas antimalware. voltar
[2] Esta classificação baseia-se em coletânea feita sobre os nomes mais comumente usados pelos programas antimalware. voltar
4.7. Rootkit
Rootkit3 é um conjunto de programas e técnicas que permite esconder e assegurar a presença de um invasor ou de outro código malicioso em um computador comprometido.O conjunto de programas e técnicas fornecido pelos rootkits pode ser usado para:
- remover evidências em arquivos de logs (mais detalhes na Seção 7.6 do Capítulo Mecanismos de segurança);
- instalar outros códigos maliciosos, como backdoors, para assegurar o acesso futuro ao computador infectado;
- esconder atividades e informações, como arquivos, diretórios, processos, chaves de registro, conexões de rede, etc;
- mapear potenciais vulnerabilidades em outros computadores, por meio de varreduras na rede;
- capturar informações da rede onde o computador comprometido está localizado, pela interceptação de tráfego.
Rootkits inicialmente eram usados por atacantes que, após invadirem um computador, os instalavam para manter o acesso privilegiado, sem precisar recorrer novamente aos métodos utilizados na invasão, e para esconder suas atividades do responsável e/ou dos usuários do computador. Apesar de ainda serem bastante usados por atacantes, os rootkits atualmente têm sido também utilizados e incorporados por outros códigos maliciosos para ficarem ocultos e não serem detectados pelo usuário e nem por mecanismos de proteção.
Há casos de rootkits instalados propositalmente por empresas distribuidoras de CDs de música, sob a alegação de necessidade de proteção aos direitos autorais de suas obras. A instalação nestes casos costumava ocorrer de forma automática, no momento em que um dos CDs distribuídos contendo o código malicioso era inserido e executado. É importante ressaltar que estes casos constituem uma séria ameaça à segurança do computador, pois os rootkits instalados, além de comprometerem a privacidade do usuário, também podem ser reconfigurados e utilizados para esconder a presença e os arquivos inseridos por atacantes ou por outros códigos maliciosos.
[3] O termo rootkit origina-se da junção das
palavras "root" (que corresponde à conta de superusuário ou
administrador do computador em sistemas Unix) e "kit" (que
corresponde ao conjunto de programas usados para manter os privilégios
de acesso desta conta).
voltar
4.8. Prevenção
Para manter o seu computador livre da ação dos códigos maliciosos existe um conjunto de medidas preventivas que você precisa adotar. Essas medidas incluem manter os programas instalados com as versões mais recentes e com todas as atualizações disponíveis aplicadas e usar mecanismos de segurança, como antimalware e firewall pessoal.Além disso, há alguns cuidados que você e todos que usam o seu computador devem tomar sempre que forem manipular arquivos. Novos códigos maliciosos podem surgir, a velocidades nem sempre acompanhadas pela capacidade de atualização dos mecanismos de segurança.
Informações sobre os principais mecanismos de segurança que você deve utilizar são apresentados no Capítulo Mecanismos de segurança. Outros cuidados que você deve tomar para manter seu computador seguro são apresentados no Capítulo Segurança de computadores.
4.9. Resumo comparativo
Cada tipo de código malicioso possui características próprias que o define e o diferencia dos demais tipos, como forma de obtenção, forma de instalação, meios usados para propagação e ações maliciosas mais comuns executadas nos computadores infectados. Para facilitar a classificação e a conceituação, a Tabela 4.1 apresenta um resumo comparativo das características de cada tipo.É importante ressaltar, entretanto, que definir e identificar essas características têm se tornado tarefas cada vez mais difíceis, devido às diferentes classificações existentes e ao surgimento de variantes que mesclam características dos demais códigos. Desta forma, o resumo apresentado na tabela não é definitivo e baseia-se nas definições apresentadas nesta Cartilha.
Códigos Maliciosos | |||||||||
---|---|---|---|---|---|---|---|---|---|
Vírus | Worm | Bot | Trojan | Spyware | Backdoor | Rootkit | |||
Como é obtido: | |||||||||
Recebido automaticamente pela rede | ✔ | ✔ | |||||||
Recebido por e-mail | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Baixado de sites na Internet | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Compartilhamento de arquivos | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Uso de mídias removíveis infectadas | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Redes sociais | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Mensagens instantâneas | ✔ | ✔ | ✔ | ✔ | ✔ | ||||
Inserido por um invasor | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
Ação de outro código malicioso | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | |||
Como ocorre a instalação: | |||||||||
Execução de um arquivo infectado | ✔ | ||||||||
Execução explícita do código malicioso | ✔ | ✔ | ✔ | ✔ | |||||
Via execução de outro código malicioso | ✔ | ✔ | |||||||
Exploração de vulnerabilidades | ✔ | ✔ | ✔ | ✔ | |||||
Como se propaga: | |||||||||
Insere cópia de si próprio em arquivos | ✔ | ||||||||
Envia cópia de si próprio automaticamente pela rede | ✔ | ✔ | |||||||
Envia cópia de si próprio automaticamente por e-mail | ✔ | ✔ | |||||||
Não se propaga | ✔ | ✔ | ✔ | ✔ | |||||
Ações maliciosas mais comuns: | |||||||||
Altera e/ou remove arquivos | ✔ | ✔ | ✔ | ||||||
Consome grande quantidade de recursos | ✔ | ✔ | |||||||
Furta informações sensíveis | ✔ | ✔ | ✔ | ||||||
Instala outros códigos maliciosos | ✔ | ✔ | ✔ | ✔ | |||||
Possibilita o retorno do invasor | ✔ | ✔ | |||||||
Envia spam e phishing | ✔ | ||||||||
Desfere ataques na Internet | ✔ | ✔ | |||||||
Procura se manter escondido | ✔ | ✔ | ✔ | ✔ |