curso-seguranca-informacao

Módulo: Malware e Vírus


Pré-Requisitos

São requisitos para essa aula o conhecimento de:


Tópicos

Malware e Vírus


Malware


Malware: Definição NIST

Na publicação do NIST 800-83 Guide to Malware Incident Prevention and Handling de novembro de 2005, temos a seguinte definição de Malware (tradução Stallings):

Definição NIST 800

Malware: um programa que é inserido em um sistema, usualmente às escondidas, com a intenção de comprometer a confidencialidade, a integridade ou a disponibilidade dos dados, aplicações ou sistema operacional da vítima ou, possivelmente, apenas aborrecer ou perturbar a vítima.


Malware: Guia Útil (parte 1/7)

Não há concordância geral na área sobre os termos, dado que há sobreposição entre as diversas categorias de malware. Uma guia útil de Stallings:

Adware

Propaganda que é integrada ao software. Pode resultar em pop-ups de propaganda ou no redirecionamento de um navegador para um site comercial. Veja wiki: https://en.wikipedia.org/wiki/Adware

Kit de ataque / crimeware kit / exploit kit

Conjunto de ferramentas para gerar um novo malware automaticamente usando uma variedade de mecanismos de propagação e cargas úteis fornecidos.


Malware: Guia Útil (parte 2/7)

Auto-Rooter

Ferramentas maliciosas de hackers usadas para invadir remotamente novas máquinas.

Backdoor (trapdoor/alçapão)

Qualquer mecanismo que burle uma verificação de segurança normal; pode permitir acesso não autorizado a funcionalidades em um programa ou a um sistema comprometido. Veja Wiki: https://en.wikipedia.org/wiki/Backdoor_(computing)

Downloaders

Códigos que instalam outros itens em uma máquina sob ataque. São normalmente incluídos no código do malware primeiramente inserido em um sistema comprometido para depois importar um pacote de malware maior.


Malware: Guia Útil (parte 3/7)

Drive-by-Download

Um ataque que usa código colocado em um site comprometido que explora vulnerabilidades de navegadores para atacar um sistema cliente quando o site é visitado.

Exploits (Explorações)

Códigos específicos para uma única vulnerabilidade ou conjunto de vulnerabilidades.

Flooders (cliente de DoS)

Usados para gerar grande volume de dados para atacar sistemas de computadores em rede, executando alguma forma de ataque de negação de serviço (Denial of Service, ou DoS).

Keyloggers

Capturam teclas digitadas no teclado de um sistema comprometido.


Malware: Guia Útil (parte 4/7)

Bomba lógica / Logic Bomb

Código inserido em um malware por um intruso. Uma bomba lógica permanece em hibernação até ocorrer uma condição predefinida; então, o código ativa uma ação não autorizada. Veja wiki: https://en.wikipedia.org/wiki/Logic_bomb

Vírus de macro

Um tipo de vírus que usa código de macro ou de linguagem de script, tipicamente embutido em um documento e ativado quando o documento é visualizado ou editado, executando e reproduzindo a si mesmo em outros documentos do mesmo tipo.

Código móvel

Software (p. ex., script, macro ou outra instrução portável) que pode ser distribuído sem alterações para um conjunto heterogêneo de plataformas e executado com semântica idêntica.


Malware: Guia Útil (parte 5/7)

Rootkit

Conjunto de ferramentas de hacker usadas depois que o atacante invadiu um sistema computacional e conseguiu acesso ao nível raiz (root). Veja wiki: https://en.wikipedia.org/wiki/Rootkit

Spammers

Usados para enviar grande volume de e-mail indesejado.

Spyware

Software que coleta informações de um computador e as transmite a outro sistema. Informações podem ser obtidas via monitoração de tecladas digitadas, dados de tela e/ou tráfego na rede, ou por escaneamento de arquivos no sistema em busca de informações sensíveis. Veja wiki: https://en.wikipedia.org/wiki/Spyware


Malware: Guia Útil (parte 6/7)

Cavalo de Troia

Programa de computador que parece ter uma função útil, mas também tem uma função oculta e potencialmente maliciosa que escapa aos mecanismos de segurança, às vezes explorando autorizações legítimas de uma entidade de sistema que invoca o programa de cavalo de Troia. Veja wiki: https://en.wikipedia.org/wiki/Trojan_horse_(computing)

Vírus

Malware que, quando executado, tenta se reproduzir na forma de outro código de máquina executável ou código de script. Quando consegue, diz-se que o código está infectado. Quando o código infectado é executado, o vírus também é executado. Veja wiki: https://en.wikipedia.org/wiki/Computer_virus


Malware: Guia Útil (parte 7/7)

Verme / Worm

Programa de computador que pode ser executado independentemente e propagar uma cópia funcional completa de si mesmo para outras estações em uma rede, usualmente explorando vulnerabilidades de software no sistema-alvo. Veja wiki: https://en.wikipedia.org/wiki/Computer_worm

Zumbi / bot

Programa ativado em uma máquina infectada que é usado para lançar ataques contra outras máquinas. Veja wiki: https://en.wikipedia.org/wiki/Zombie_(computing)


Duas classificações

Slides Kowada


Classificação de Malwares


Categoria I.1: Propagação por Conteúdo Infectado

Vírus

Malware que, quando executado, tenta replicar-se em outra máquina executável ou código de script; quando é bem- sucedido, o código é dito estar infectado. Quando o código infectado é executado, o vírus também é executado.


Vírus


Vírus


Vírus

Um vírus típico passa por fases de:


Estrutura do Vírus


Estrutura do Vírus (introdução no início do programa)


Classificação de Vírus (Por Alvo)

Vírus de infectante de setor de inicialização (boot sector)

Infecta um registro de inicialização mestre ou um registro de inicialização e se espalha quando um sistema é iniciado a partir do disco que contém o vírus.

Vírus de infectante de arquivo

Infecta arquivos que o sistema operacional ou o shell considera como executável.

Vírus de macro

Infecta arquivos com código de macro ou de script que é interpretado por uma aplicação.

Vírus multipartido

Infecta arquivos de vários modos (vários locais de infecção)


Vírus de Macro


Vírus de e-mail


Classificação de Vírus (Por Estratégia de Ocultação)

vírus cifrado

Vírus cifrado: Uma abordagem típica é descrita a seguir. Uma porção do vírus cria uma chave criptográfica aleatória e cifra o restante do vírus. A chave é armazenada com o vírus. Não há padrão de bits a observar.

vírus camuflado

Uma forma de vírus projetado explicitamente para se esconder de detecção por software antivírus. Desse modo, o vírus inteiro, e não apenas uma carga útil, fica oculto (tipicamente via compressão).

vírus polimórfico

Um vírus que muda a cada infecção (funcionalmente equivalentes com instruções supérfluas), impossibilitando detecção pela “assinatura” do vírus.

vírus metamórfico

Como ocorre com um vírus polimórfico, um vírus metamórfico muda a cada infecção, se reescrevendo completamente.


Timeline dos Virus e Exploits Recentes


Discussão

Breve discussão

Cenário atual


Leia mais

Livro:

Veja Capítulo 6, seções 6.1 e 6.2.

Agradecimentos


Pessoas

Em especial, agradeço aos colegas que elaboraram bons materiais, como o prof. Raphael Machado, Kowada e Viterbo cujos conceitos formam o cerne desses slides.

Estendo os agradecimentos aos demais colegas que colaboraram com a elaboração do material do curso de Pesquisa Operacional, que abriu caminho para verificação prática dessa tecnologia de slides.


Software

Esse material de curso só é possível graças aos inúmeros projetos de código-aberto que são necessários a ele, incluindo:


Empresas

Agradecimento especial a empresas que suportam projetos livres envolvidos nesse curso:


Reprodução do material

Esses slides foram escritos utilizando pandoc, segundo o tutorial ilectures:

Exceto expressamente mencionado (com as devidas ressalvas ao material cedido por colegas), a licença será Creative Commons.

Licença: CC-BY 4.0 2020

Igor Machado Coelho


This Slide Is Intentionally Blank (for goomit-mpx)