Baixe o app para aproveitar ainda mais
Prévia do material em texto
Análise de Malwares Aula 1: Conceitos de Malware Apresentação Nesta primeira aula desmisti�caremos o conceito de malwares, assunto que normalmente é tratado com certo medo. Toda linha de código criada com um intuito malicioso pode ser considerado como um malware, portanto saber identi�car suas intenções e seu alcance é vital para o analista. De�niremos, também, os principais tipos categorizados e, por �m, faremos uma visão geral da análise estática e dinâmica. Objetivo • Descrever conceitos básicos sobre análise de malware; • Identi�car diferenças entre os tipos de malwares existentes; • Distinguir a diferença entre análise dinâmica e estática. Introdução Este conteúdo não visa torná-lo um analista, pois sabemos que, para isso, seriam necessários anos de aperfeiçoamento e dedicação. Nossa pretensão é dar uma visão geral e desmisti�car esta área da Segurança Cibernética, que permeia outras grandes áreas e possui diversos requisitos necessários. Ao �nal, você será capaz de analisar e identi�car os tipos de ameaças dos códigos e dos programas maliciosos que impactam na segurança dos sistemas computacionais. Fonte: Adaptado de Freepik Malware: Ameaças Cibernéticas A Internet mudou completamente a indústria de computadores e dos aspectos relacionados à segurança da computação. Softwares maliciosos se espalham rapidamente em um mundo onde bilhões de usuários estão conectados à Internet e usam e-mail, trocam mensagens instantâneas e compartilham dados diariamente. Basta imaginar que, há alguns anos, um malware necessitava de um disquete para ser carregado em outro computador para se propagar, com isso podemos entender o porquê de uma infecção demorar semanas ou meses para atingir milhares de máquinas. O processo de infecção era bastante lento e a defesa muito mais simples, pois os canais de infecção eram poucos e exigiam intervenção humana para que o programa se propagasse. No entanto, hoje isso mudou muito, a Internet criou uma conexão virtual entre quase todos os computadores do planeta. Atualmente, os malwares modernos podem se espalhar automaticamente para milhões de computadores sem qualquer intervenção humana. Fonte: Adaptado de Unsplash E é neste contexto que o analista atua, mas antes de entrarmos nos detalhes de como analisar malwares e resolver todos estes problemas, faz-se necessário de�nir algumas terminologias, categorizar os tipos mais comuns existentes e, por �m, apresentar as metodologias e formas de abordagem fundamental para sua análise. Um aspecto fundamental de uma boa análise é de�nir qual o objetivo a ser alcançado. Vamos desenhar um caso genérico: Exemplo João Wannacry é analista de malware da empresa Vulnerável S.A. Houve um grande vazamento de dados e diversas informações que deveriam ser acessadas apenas por algumas pessoas, tornou-se público. O chefe convoca uma reunião cobrando por respostas. João utiliza a solução de antivírus da empresa que localiza algumas máquinas contaminadas. Com isso, ele deleta os arquivos infectados, cria uma assinatura do malware no sistema de detecção de invasões, para realizar bloqueios automáticos em caso de reuso do mesmo e, por �m, faz algumas atualizações de segurança em possíveis sistemas vulneráveis. Será que esses procedimentos serão su�cientes para prevenir um futuro vazamento? Dado o cenário proposto, vamos fazer algumas ponderações. De modo geral, a equipe de segurança deve fornecer os indícios para que a empresa possa entender e identi�car o porquê, quando e onde de uma possível ocorrência de uma invasão. 1 Por que Qual a motivação do atacante para acessar os computadores da empresa? 2 Quando A quanto tempo os atacantes estão dentro da empresa? Qual foi a primeira invasão? 3 Onde Quais máquinas e que usuários foram comprometidos? A que tipo de informação os atacantes podem ter tido acesso? A partir das respostas será possível um melhor entendimento quanto à identi�cação da porta de entrada e à mitigação do ataque a �m de que ele não ocorra novamente. Para que esse objetivo seja alcançado, é necessário determinar exatamente o que aconteceu e garantir que foram localizadas todas as máquinas e arquivos afetados. Prosseguindo com o exemplo: Exemplo A equipe de segurança da rede fez uma análise sumária e encontrou alguns arquivos suspeitos. Vamos chamá-los de artefatos, pois ainda não sabemos se tais arquivos são maliciosos ou não. Ao analisar os artefatos suspeitos, seu objetivo será determinar: O que ele pode fazer Seja criar conexões, seja armazenar todas as teclas digitadas, seja criptografar os dados, dentre outros;. Como detectá-lo em na rede Gerar assinatura para futuras detecções e rápida mitigação. Como medir e conter seus danos Entender todas as ações desencadeadas pelo artefato, gerando um mapeamento de todos os danos gerados. Conceitos Agora que você já se familiarizou com o nível e o tipo de cobrança de um analista, é importante diferenciar alguns conceitos que normalmente causam confusão em seu uso. Vamos diferenciar malware, vulnerabilidade e exploit. Malware Tivemos o cuidado de utilizar a palavra “malware” em vez do que popularmente chamamos vírus, pois, como veremos mais a frente, o vírus é apenas um dos tipos de malware. Fonte: Adaptado do Autor. A palavra “malware” vem da junção de duas palavras em inglês – malicious (malicioso) + software (aplicação), ou seja, considera-se um malware qualquer pedaço de algo que faça ações maliciosas que venham prejudicar o usuário, o computador ou a rede. Embora o malware apareça de muitas formas diferentes, técnicas comuns são usadas para sua análise. A escolha da técnica a ser empregada dependerá de seus objetivos. Existem diversos tipos de malware, conforme abordaremos mais à frente. Cada malware possui aspectos únicos, assim como um programa legítimo. Por exemplo, existem diversos tipos de editores de texto, mas cada um possui opções e recursos diferentes que os tornam únicos. Essa analogia também se aplica aos artefatos maliciosos. No caso hipotético apresentado anteriormente, João Wannacry criou uma assinatura dentro do sistema de detecção de invasão (IDS), o que isso signi�ca? Existem dois tipos de assinaturas ou indicadores: Clique nos botões para ver as informações. São usados para detectar código malicioso em computadores de vítimas. Esses indicadores costumam identi�car arquivos criados ou modi�cados pelo malware e/ou alterações especí�cas que ele realiza no registro. Basicamente, os indicadores de malware focam no que o malware faz a um sistema e não nas características do malware em si. Dessa forma, torna-se mais e�caz a detecção de malware que tente mudar de forma mesmo após ter sido excluído do disco rígido. Assinaturas baseadas em ativos ou host São usadas para detectar códigos maliciosos por meio do monitoramento do tráfego da rede. As assinaturas de rede podem ser criadas sem análise de malware, mas assinaturas criadas com a ajuda de análise de malware são geralmente muito mais e�cazes, pois oferecem uma taxa de detecção mais alta e menos falsos positivos. Trata-se da veri�cação de domínios requisitados pelo malware, tentativas de conexões ou downloads por ele realizadas e o futuro bloqueio de qualquer tráfego de/para esses destinos. Assinaturas de rede Depois de obter as assinaturas, o objetivo �nal é descobrir exatamente como o malware funciona. Frequentemente, essa é a pergunta mais feita pelos chefes que desejam uma explicação completa e rica em detalhes de uma invasão. Fonte: madartzgraphics / Pixabay. Vulnerabilidade Vulnerabilidade é uma falha no sistema que permite a um atacante usá-lo de uma forma não prevista pelo projetista (ANLEY, 2007). Portanto, é por meio da vulnerabilidade que se obtém a possibilidade de uso indevido de um sistema. De modo geral, existem três causas que podem ser consideradas como causas básicas, a saber: https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-01 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-01https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-01 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-01 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-01 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-02 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-02 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-02 Falhas de design do projeto Quando da concepção de funcionamento de determinado sistema ou aplicação ; (Rev. MC) acertar alinhamento dos itens 1, 2 e 3. Erros de implementação Uso de funções ou códigos vulneráveis e que possam causar um �uxo diferentemente do planejado Erros de con�guração ou de infraestrutura do sistema Sistemas que possuam baixo nível de controle ou falta de uso de controles de segurança. Exploit O conjunto de códigos e/ou passos necessários para explorar uma vulnerabilidade é conhecido como exploit, (ANLEY, 2007). O expoit é possível apenas quando existe uma vulnerabilidade, porém ressalta-se que podem existir vulnerabilidades para as quais não exista um exploit. Fonte: Adaptado de Freepik. Tipos de malwares Durante uma análise de malware, é possível acelerar alguns processos se for com que tipo de malware estamos lidando. Com isso, são feitas suposições fundamentadas sobre as atividades dele, o que facilita a análise. Esse tipo de experiência é adquirido ao longo do tempo; você será capaz de fazer suposições cada vez melhores a partir da identi�cação do tipo de malware, facilitando associações e validações. Saiba mais Veja a lista com tipos de categorias em que a maioria dos malwares se enquadra, conforme Sikorski (2012). javascript:void(0); javascript:void(0); Os malwares geralmente abrangem várias categorias. Por exemplo, um programa pode ter um keylogger que coleta as senhas e possuir um componente worm que envia spam. Não se preocupe em classi�car malware de acordo com sua funcionalidade, como já mencionado, essa classi�cação existe como auxílio no processo de análise do mesmo. Outra classi�cação possível pode ser feita com base no objetivo do invasor: Clique nos botões para ver as informações. Malwares como o Scareware possuem o objetivo do tipo “em massa” e são projetados para afetar o maior número de máquinas possível. Dos dois objetivos, o malware em massa é o mais comum e, geralmente, o menos so�sticado e mais fácil de ser detectado e combatido porque o software de segurança o tem como alvo. Malware em massa O malware direcionado é criado sob demanda para uma organização especí�ca. Trata-se de uma ameaça maior às redes do que o malware em massa, porque não é generalizado e os produtos de segurança provavelmente não possuem sua assinatura e não serão capazes de criar uma proteção contra eles. Sem uma análise detalhada do malware direcionado, é quase impossível proteger a rede contra esse tipo de ameaça e remover infecções realizadas. Trata-se de algo geralmente muito so�sticado e sua análise frequentemente exigirá habilidades de análise avançadas. Malware com alvo especí�co Análise de malwares – Ransomware Os ransomwares são malwares que, ao infectar um computador, podem bloquear o acesso do usuário ou criptografar dados importantes. Uma vez bem-sucedidos, cobram uma quantia para liberar o acesso ao usuário. Esse tipo de ameaça tem se tornado cada vez mais comum. Saiba mais Casos de infecção de ransomware foram vistos pela primeira vez na Rússia entre 2005-2006. Foi publicado um relatório pela Trend Micro sobre um caso em 2006 que envolvia uma variante de ransomware que compactava certos tipos de arquivos antes de sobrescrever os originais, deixando apenas os arquivos .zip protegidos por senha no sistema do usuário. Por �m, gerava-se um arquivo de texto que funcionava como a nota de resgate informando aos usuários que os arquivos poderiam ser recuperados em troca de $300. https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-03 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-03 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-03 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-03 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-03 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-04 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-04 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-04 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-04 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-04 Em seus primeiros anos O ransomware normalmente criptografava determinados tipos de arquivo, como .doc, .xls, .jpg .zip, .pdf e outras extensões de arquivo comumente usadas. Pouco tempo depois Surgiram outros tipos que infectavam o Master Boot Record (MBR) de um sistema vulnerável, evitando que o sistema operacional fosse sequer carregado. Ao ser reiniciado, o sistema infectado exibia a noti�cação ao usuário e exigia o resgate para devolver o acesso ao usuário da máquina. Comentário Esse tipo de ameaça tem se tornado cada vez mais presente em nosso dia a dia, sem de�nição de alvos: podendo ser usuários comuns, pequenas e médias empresas, ou grandes redes de hospitais. Possui uma enorme capacidade evolutiva, no que concerne às técnicas de bloqueio de estratégias de defesa; aumentando assim, sua resistência e capacidade de obter sucesso na extorsão. Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online Estratégias de ataque Ao realizar uma análise, sua equipe terá, na maioria dos casos, apenas o arquivo executável do malware. Cabe ressaltar que um arquivo binário, caso nunca tenha visto um, não é legível. Assim, para entender seu �uxo e suas intenções, é preciso usar uma variedade de ferramentas e técnicas para montar um quebra-cabeça com cada uma das informações adquiridas. Quanto mais ferramentas e técnicas forem utilizadas mais nítida a imagem �cará. Duas abordagens são consideradas fundamentais dentro da análise de artefatos: estática e dinâmica: 1 Análise estática Envolve examinar o malware sem executá-lo. 2 Análise dinâmica Envolve a execução do malware. Ambas as técnicas ainda podem ser categorizadas como básicas ou avançadas. A seguir vamos conceituar cada uma destas . Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online Atenção! Aqui existe uma videoaula, acesso pelo conteúdo online Clique nos botões para ver as informações. A análise estática básica consiste em examinar o arquivo executável sem visualizar as instruções propriamente ditas. A análise estática básica pode (depende muito das situações) con�rmar se um arquivo é malicioso, fornecer informações sobre sua funcionalidade e, às vezes, fornecer informações que permitirão que você produza assinaturas de rede simples. Uma característica vital deste tipo de análise é sua velocidade de pronta resposta, porém pode ser (e geralmente é) ine�caz contra artefatos so�sticados. Análise Estática Básica A análise dinâmica básica consiste em executar o artefato e observar seu comportamento no sistema. Simples, certo? Com isso é possível produzir assinaturas e�cazes e entender a dinâmica produzida pelo mesmo. No entanto, surge a seguinte questão: “devo executar um vírus em meu computador?” A resposta é sim, mas antes é preciso criar um ambiente seguro. Para isso, você deve con�gurar um ambiente que permita estudar o artefato em execução sem que haja risco de danos ao sistema ou rede. Análise Dinâmica Básica É um tipo de análise que requer um nível mais elevado de conhecimento. A análise estática avançada consiste na engenharia reversa dos componentes internos do artefato. Vale ressaltar que artefatos complexos possuem centenas de milhares de instruções as quais devem ser analisadas. Para isso, utilizam-seferramentas de depuração para analisar o código da aplicação e, com isso, entender o �uxo do binário ao qual se está analisando. No entanto, ressalta-se que estamos falando de uma outra área da Segurança da Informação que já mencionamos anteriormente: Engenharia reversa. Ela por si só seria um curso completo a parte. Com isso, podemos concluir que a análise estática avançada possui uma curva de aprendizado mais íngreme do que a análise estática básica e requer um conhecimento especializado de programação, arquitetura de computadores e conceitos de sistemas operacionais, os quais não abordaremos em profundidade. Análise Estática Avançada Com auxílio de ferramentas de depuração (em inglês: Debugges examina-e o estado interno de um executável malicioso em execução, acompanhando o passo a passo de sua execução e entendendo sua dinâmica, literalmente. Artefatos so�sticados, em sua esmagadora maioria, estão ofuscados, ou seja, em seu estado original não se pode identi�car suas reais intenções. Em algum momento o artefato revelará suas reais instruções, então o analista veri�cará e identi�cará o seu conteúdo. As técnicas avançadas de análise dinâmica fornecem outra maneira de extrair informações detalhadas de um executável. Faremos algumas demonstrações de como usar a análise dinâmica avançada junto a análise estática avançada para analisar um artefato. Análise Dinâmica Avançada https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-06 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-06 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-06 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-07 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-07 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-07 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-08 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-08 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-08 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-09 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-09 https://stecine.azureedge.net/webaula/estacio/go0682/aula1.html#collapse01-09 Atividade 1. A análise de malware consiste em descrever as intenções e modi�cações realizadas pelo artefato em estudo. São elementos essenciais a serem identi�cados e devem constar no relatório, exceto: a) Conexões realizadas pelo malware b) Arquivos acessados c) Senha do Usuário d) Registros modificados e) Chamadas de sistema 2. Realize uma correspondência entre a atividade com o tipo de malware : a. Worm b. Ransomware c. Botnet d. Backdoor ( ) Facilita a entrada do atacante ( ) Possui como maior característica um forte algoritmo criptográ�co ( ) Vítima aguarda comandos do atacante ( ) Preocupa-se em duplicar ( ) Faz parte de uma rede de comando e controle ( ) Utiliza o sequestro como forma de adquirir recurso Qual é a alternativa correta? a) b, c, c, a, d, a b) d, b, c, a, c, b c) d, b, d, b, a, b d) d, c, c, a, c, d e) d, c, a, b, a, c 3. Analise as a�rmações abaixo. I. Uma análise estática baseia-se no comportamento do artefato; II. A análise dinâmica consiste na execução e veri�cação do comportamento do artefato; III. A análise dinâmica complementa e con�rma suposições da análise estática; Quais das a�rmações são verdadeiras: a) Apenas I correta. b) I e II corretas. c) Apenas III correta. d) II e III corretas. e) I, II e III corretas. Notas Referências ANLEY, C. The shellcoder’s Handbook: discovering and exploring security holes. 2a . ed. [S.l.]: Wiley Publishing, Inc., 2007. SIKORSKI M., HONIG A. Practical Malware Analysis: The Hands-On Guide to Dissecting Malicious Software (1st. ed.). No Starch Press, 2012. Próxima aula Na próxima aula, daremos continuidade aos estudos vistos aqui, abordando os seguintes conteúdos: • Análise Básica; • Análise Estática; • Análise Dinâmica. Explore mais Leia os textos: • Refactoring • Cyclomatic complexity density and software maintenance productivity javascript:void(0); javascript:void(0); javascript:void(0); javascript:void(0); javascript:void(0); javascript:void(0);
Compartilhar