Domain 1.0 – Threats, Attacks, and Vulnerabilities
1.2 Given a scenario, analyze potential indicators to determine the type of attack
1.4 Given a scenario, analyze potential indicators associated with network attacks
Malicious Code
Existem vários tipos de malware, com elementos e comportamentos diferentes, que nos ajudam a criar classificações/definições.
Note que um malware pode conter vários tipos de ferramentas, e estar em mais de uma categoria.
-
Malware: Este termo descreve softwares criados para causar danos a sistemas, usuários e redes. Pode ser usado para roubar dados ou prover acesso indevido.
-
Ransomware: Tipo de malware que exige um resgate. Existem vários tipos de ransomware, inclusive crypto malware (criptografa arquivos e exige o pagamento de resgate). Outros ransomwares podem cobrar para não expor o usuário por conta de uso de software pirata ou pornografia, ou ainda para não expor dados sensíveis, pessoais ou corporativos. Uma das mais importantes medidas contra ransomware é o backup (que deve ser armazenado separadamente).
-
Trojans: Trojan Horse é um tipo de malware que normalmente vem junto com um software legítimo ou não suspeito. Remote Access Trojan (RAT) permite o acesso remoto por parte do atacante, e pode estar junto com software legítimo que dá acesso remoto, dificultando identificar o problema. Antimalwares podem causar falsos positivos, mas é uma opção de proteção. Outra medida é a conscientização dos usuários.
-
Worms: Os worms não requerem interação dos usuários (diferente dos trojans), e com isso podem se espalhar por conta própria aproveitando serviços vulneráveis. Anexos em e-mails e pastas compartilhadas, são opções para a disseminação de worms. Stuxnet é um exemplo de ataque worm “Nation-State-Level”.
-
Rootkits: Malware criado especificamente para dar acesso por backdoors. Podem infectar drivers do sistema de arquivo, para que os usuários sejam incapazes de encontrar os arquivos rootkit, e também o código de inicialização na MBR (Master Boot Record), permitindo ataques mesmo contra discos totalmente criptografados. Por conta disso, a detecção é difícil. Ferramentas de detecção procuram por comportamentos e assinaturas de rootkits específicos. Outras opções são verificação de integridade e validação baseada nas respostas esperadas. A remoção também é complexa, por conta dos tipos de arquivos que podem ter sido contaminados. Reinstalar o sistema ou restaurar o backup são opções.
Existem rootkits “válidos”, usados para DRM (Digital Rights Management), e “anti-cheating” em jogos.
-
Backdoors: São métodos ou ferramentas que permitem acesso ilegal, desviando dos processos de autenticação e autorização normais. A detecção pode ser feita verificando portas abertas que não deviam estar, mas fica difícil a identificação quando uma backdoor usa a mesma porta de um serviço válido.
-
Bots: Sistemas controlados remotamente, e um grupo de bots é conhecido como botnet. Botnets são normalmente usadas para atacar e infectar outros sistemas e também para causar um DoS. Podem ter milhares e até milhões de computadores. Muitas botnets trabalham como command and control (C&C), em modo client-server. O servidor C&C é core da botnet, de onde o atacante comanda a botnet. Mas também existem botnet do tipo “peer-to-peer”, o que dificulta identificar e derrubar a botnet.
-
Keysloggers: Programas que capturam o conteúdo digitado, e até movimentos do mouse. Podem capturar dados direto do kernel, de APIs, scripts ou da memória. A prevenção contra keyloggers é feita mantendo os sistemas atualizados e com antimalware instalado. Usar MFA também ajuda, já que eles podem capturar senhas.
-
Logic Bombs: Não são programas dedicados. Normalmente é parte do código, inserido em uma aplicação/sistema, e são ativados quando uma condição pré determinada ocorre. Menos comuns que os demais malwares, e mais comuns no desenvolvimento de softwares/scripts.
-
Viruses: Programas maliciosos que se auto copiam e se replicam. Requer um mecanismo de infecção (para se espalhar) e procuram meios para replicação. Costumam ter uma condição pré definida para a execução e um “payload”, que é o que o vírus faz efetivamente.
-
-
Memory-Resident: Vírus que fica na memória enquanto o sistema está ativo.
-
Non-Memory Resident: Vírus que executa, se espalha e desativa.
-
Boot Sector: Vírus que reside no setor de boot de um drive / storage media.
-
Macro: Vírus que usa macros ou códigos em aplicações que permitem isso.
-
E-mail: Vírus espalhado por e-mail, no corpo da mensagem ou como anexo.
-
Fileless Viruses: Similar aos vírus tradicionais, se espalham por e-mail, sites maliciosos, e exploram falhas no browser ou em plugins. A partir da memória fazem atividades maliciosas, podendo reinfectar o sistema a partir de entradas em registro, por exemplo. Requer um vulnerabilidade para ter sucesso. Manter os softwares atualizados protege contra muito dos ataques. Antimalware e IPS também podem detectar as atividades maliciosas.
-
-
Spyware: Malware criado para obter informações de pessoas, organizações e sistemas. Podem monitorar dados de navegação na internet ou uso de outros sistemas. Podem ser menos ou mais maliciosos, dependendo do tipo de dados que buscam obter. Slackware é um tipo de spyware, focando em monitorar ilegalmente a contra parte em um relacionamento. Normalmente combatidos com ferramentas antimalwares.
-
PUP: Potentially Unwanted Programs são programas, nem sempre maliciosos, que o usuário não instalou intencionalmente. Podem vir como parte de um pacote, junto com outro software. Incluem adware, browser toolbars e outros. Podem ser removidos por antivírus e antimalware, normalmente. Limitar os direitos do usuário também é efetivo contra PUP.
Além dos malwares, scripts e outros códigos podem ser considerados códigos maliciosos. PowerShell e Visual Basic no Windows, e Bash e Python no Linux podem ser usados para criar códigos maliciosos. Da mesma forma, macros no MS Office podem ser utilizados para ataques.
Limitar o acesso do usuário ao PowerShell, ou ao menos aos comandos mais críticos, bem como ativar logs de uso do PowerShell é uma forma de minimizar os riscos.
Com relação a macros (atualmente vem desativado por padrão no Office), é uma boa prática é educar os usuários sobre os riscos da execução.
Já as linguagens de programação e ferramentas embutidas, como o Bash, são difíceis de controlar, já que podem ser necessárias para o uso válido. Mas o Bash tem uma funcionalidade chamada Restricted Shell, que limita o que os usuários podem fazer.
Adversarial Artificial Intelligence
É o uso de Inteligência Artificial para fins maliciosos.
-
IA: foca em tarefas usando machine learning, deep learning e técnicas relacionadas para emular “inteligência humana”.
-
Machine learning: Parte da IA, que se auto modifica, tornando-se cada vez melhor na execução das tarefas específicas.
Até a próxima.
You must be logged in to post a comment.