Reading Time: 4 minutes

Numa rápida consulta às estatísticas de tráfego na Internet, percebe-se que o tráfego conhecido, solicitado (ou em outras palavras, legítimo) foi dominado pelo tráfego de mensagens eletrónicas não solicitadas (spam), atividades fraudulentas como phishing e pharming, ataques de negação de serviço, proliferação de vírus, worms e outros códigos maliciosos (ou seja, tráfego ilegítimo, improdutivo, não desejado e não solicitado).

O surgimento de novas variantes, e o emprego de novas técnicas de ofuscação e invasão, torna atualmente o malware um dos maiores criminosos cibernéticos.

Atualmente existem diversos investigadores a estudar e mitigar códigos maliciosos. Estes, usam algoritmos para treinar os dados, com o intuito de deteção de malware. Alguns exemplos de aplicações para deteção de malware utilizando aprendizagem máquina são apresentadas a seguir.

-SCHULTZ, 2001 : Foi o primeiro a introduzir a ideia de aprendizagem automática para malware. Este baseava-se no código binário aplicando diferentes classificadores como RIPPER e Naive Baytes, que se baseava em 3 caraterísticas: -cabeçalhos do programa, -cadeias de caracteres e -sequências de bytes.

-WANG, 2003: propõe um método de detecão de vírus, até então desconhecido, utilizando técnicas de aprendizagem máquina como Árvore de Decisão e Naive Bayes.

-KOLTER, 2006: foi desenvolvido por MECS (Malicious Executable Classication System) para detetar automaticamente executáveis maliciosos, sem pré-processamento ou remoção de qualquer ofuscação.

-YE, 2007: os autores apresentam o IMDS (Intelligent Malware Detection System), ou seja, um sistema inteligente para deteção de malwares, mais precisamente, vírus polimórficos. O IMDS é baseado em técnicas de mineração de dados.

-RIECK, 2011: propõe um framework para análise automática de malware utilizando técnicas de aprendizagem máquina. O framework permite agrupar automaticamente as novas classes de malware com comportamento semelhante (agrupamento) e associar um novo malware (desconhecido) a uma destas classes descobertas (classificação).

-SINGHAL, 2012 : propõe um novo e sofisticado motor antivírus que não só pode varrer ficheiros, mas também construir conhecimento e classificar ficheiros como possíveis malwares.

 

Muitos avanços têm sido feitos no estudo da análise estática, mas essa abordagem continua sendo ineficiente frente ao constante emprego das técnicas de ofuscação como empacotamento, criptografia, polimorfismo e metamorfismo.
Ao contrario da análise estática, a análise dinâmica de binários permite gerir o comportamento do malware durante a sua execução, dificultando esconder comportamentos suspeitos e oferecendo indícios de atividades maliciosas.

 

 

Tipos de Malware

Os códigos maliciosos podem ser classificados de uma maneira geral de acordo com características especificas do seu comportamento.

Worm – Os worms, propagam-se pela rede e em geral não necessitam de interação nem ativação por parte do utilizador. Uma outra caraterística é a independência de outro programa para dissemina cão e ataque. Alguns worms, podem trazer dentro de si um outro tipo de malware, que é descarregado na vítima após a propagação.

Trojan– Cavalos-de-tr oia são tipos comuns de malware, cujo modo de infeção usa a curiosidade do utilizador para que este o execute e comprometa o sistema. Este tipo de código malicioso também pode ser encontrado em versões modificadas de aplicações do sistema operativo, substituídas por indiv íduos / atacantes. Estas versões apresentam as mesmas funcionalidades da aplicação legítima, porém também contêm funcionalidades adicionais com a finalidade de ocultar as ações malignas.

Backdoor– Tradicionalmente, backdoors permitem a um atacante revisitar uma máquina comprometida por abrirem portas que permitem uma ligação remota. Um outro tipo de backdoor envolve erros na implementação de uma aplicação ou sistema que o tornam vulnerável e podem levar à execução de código arbitrário na máquina da vítima.

Downloader– É um programa malicioso que se liga à rede para obter e instalar um conjunto de outros programas maliciosos ou ferramentas que levam à máquina comprometida. Para evitar dispositivos de segurança instalados na vítima, é comum que downloaders venham anexos a mensagens de correio eletrónico e, a partir da sua execução, obtenham conteúdo malicioso de uma fonte externa. (ex: site).

Dropper. Possuí características similares às dos downloaders, com a diferençaa que um dropper é considerado um instalador, uma vez que contém o código malicioso compilado dentro de si.

Rootkit – É um tipo especial de malware, pois consiste de um conjunto de ferramentas para possibilitar a operação em nível mais privilegiado. Seu objetivo é permanecer no sistema comprometido sem ser detetado e pode conter exploits, backdoors e versões de trojans. Os rootkits modernos atacam o kernel do sistema operativo, modi cando-o para que executem as a ções maliciosas de modo camuflado.

BotBot é um programa que dispõe de mecanismos de comunicação com o invasor que permitem que ele seja controlado remotamente. Possuí processo de infeção e propagação similar à do worm, ou seja, é capaz de propagar-se automaticamente, explorando vulnerabilidades existentes em programas instalados em computadores. Por sua vez, Botnet é uma rede formada por centenas ou milhares de computadores infetados e que permite potencializar as ações maliciosas executadas pelos bots.

SpywareSpyware é um programa projetado para gerir as atividades de um sistema e enviar as informações recolhidas para terceiros. Alguns tipos específicos de programas spyware são

Keylogger– É capaz de capturar e armazenar as teclas carregadas pelo utilizador no teclado do computador

Screenlogger– É similar ao keylogger, capaz de armazenar a posição do cursor e a janela  apresentada no monitor, nos momentos em que o “rato” e clicado. É bastante utilizado por atacantes para capturar as teclas carregadas pelos utilizadores em teclados virtuais, disponíveis principalmente em sites de Internet Banking.
Adware: Este é 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.

 

Existem também alguns tipos de trojans:

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 ficheiros e directórios, formata o disco rígido e pode deixar o computador inóperável.

Trojan Clicker: redireciona a navega ção do utilizador para sites específicos, com o objetivo de aumentar a quantidade de acessos a estes 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 utiliza-os para coletar informações sensíveis, como passwords e números de cartão de crédito, e envia-las ao atacante.

Trojan Banker: Recolhe os dados bancários do utilizadores, através da instalação de programas spyware que são activados quando sites de Internet Banking são acedidos.