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.
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.
Bot– Bot é 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.
Spyware– Spyware é 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
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 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.
Pedro Tavares is a professional in the field of information security working as an Ethical Hacker/Pentester, Malware Researcher and also a Security Evangelist. He is also a founding member at CSIRT.UBI and Editor-in-Chief of the security computer blog seguranca-informatica.pt.
In recent years he has invested in the field of information security, exploring and analyzing a wide range of topics, such as pentesting (Kali Linux), malware, exploitation, hacking, IoT and security in Active Directory networks. He is also Freelance Writer (Infosec. Resources Institute and Cyber Defense Magazine) and developer of the 0xSI_f33d – a feed that compiles phishing and malware campaigns targeting Portuguese citizens.
Read more here.