Por: Roberto Soares
Fonte: http://cartilha.cert.br/malware/
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).
Uma vez instalados, os códigos maliciosos passam a ter acesso aos dados
armazenados no computador e podem executar ações em nome dos usuários,
de acordo com as permissões de cada usuário.
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).
Alguns tipos específicos de programas spyware são:
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 troia, 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, classificados
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.
4.7. Rootkit
Rootkit é 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.
É muito importante ressaltar que o nome rootkit não indica que os
programas e as técnicas que o compõe são usadas para obter acesso
privilegiado a um computador, mas sim para mantê-lo.
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.
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.
Tabela 4.1: Resumo comparativo entre os códigos maliciosos.
|
| Códigos Maliciosos |
| 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 |
✔ |
|
|
|
✔ |
|