Malware Analysis: O que é análise de Malware e como funciona?
O que é análise de malware?
A análise de malware é o processo de compreender o comportamento e a finalidade de um arquivo ou URL suspeito. O resultado da análise ajuda na detecção e na atenuação da possível ameaça.
O principal benefício da análise de malware é que ela ajuda os responsáveis pela resposta a incidentes e os analistas de segurança:
- Fazer uma triagem pragmática dos incidentes por nível de gravidade
- Descobrir indicadores ocultos de comprometimento (IOCs) que devem ser bloqueados
- Melhorar a eficácia dos alertas e notificações de IOCs
- Enriquecer o contexto na busca de ameaças
- Tipos de análise de malware
- A análise pode ser conduzida de forma estática, dinâmica ou híbrida.
Análise estática
A análise estática básica não exige que o código seja realmente executado. Em vez disso, a análise estática examina o arquivo em busca de sinais de intenção mal-intencionada. Ela pode ser útil para identificar infraestrutura, bibliotecas ou arquivos compactados mal-intencionados.
Indicadores técnicos são identificados, como nomes de arquivos, hashes, cadeias de caracteres como endereços IP, domínios e dados de cabeçalho de arquivos que podem ser usados para determinar se o arquivo é mal-intencionado. Além disso, ferramentas como desmontadores e analisadores de rede podem ser usadas para observar o malware sem executá-lo de fato, a fim de coletar informações sobre como o malware funciona.
No entanto, como a análise estática não executa de fato o código, o malware sofisticado pode incluir um comportamento malicioso em tempo de execução que pode não ser detectado. Por exemplo, se um arquivo gera uma cadeia de caracteres que, em seguida, faz o download de um arquivo mal-intencionado com base na cadeia dinâmica, ele pode não ser detectado por uma análise estática básica. As empresas recorreram à análise dinâmica para obter uma compreensão mais completa do comportamento do arquivo.
Análise dinâmica
A análise dinâmica de malware executa o código malicioso suspeito em um ambiente seguro chamado sandbox. Esse sistema fechado permite que os profissionais de segurança observem o malware em ação sem o risco de permitir que ele infecte seu sistema ou escape para a rede da empresa.
Essa análise oferece aos caçadores de ameaças e aos responsáveis pela resposta a incidentes uma visibilidade mais profunda, permitindo que eles descubram a verdadeira natureza de uma ameaça. Como benefício secundário, o sandboxing automatizado elimina o tempo que seria necessário para fazer a engenharia reversa de um arquivo para descobrir o código malicioso.
O desafio da análise dinâmica é que os adversários são inteligentes e sabem que existem sandboxes, por isso se tornaram muito bons em detectá-las. Para enganar uma sandbox, os adversários ocultam códigos dentro delas que podem permanecer inativos até que determinadas condições sejam atendidas. Só então o código é executado.
Análise híbrida (inclui ambas as técnicas acima)
A análise estática básica não é uma maneira confiável de detectar códigos mal-intencionados sofisticados, e o malware sofisticado às vezes pode se esconder da presença da tecnologia de sandbox. Ao combinar técnicas de análise básica e dinâmica, a análise híbrida oferece à equipe de segurança o melhor de ambas as abordagens, principalmente porque pode detectar códigos mal-intencionados que estão tentando se esconder e, em seguida, extrair muitos outros indicadores de comprometimento (IOCs) por meio de códigos estáticos e não vistos anteriormente. A análise híbrida ajuda a detectar ameaças desconhecidas, até mesmo as do malware mais sofisticado.
Por exemplo, uma das coisas que a análise híbrida faz é aplicar a análise estática aos dados gerados pela análise comportamental, como quando um trecho de código malicioso é executado e gera algumas alterações na memória. A análise dinâmica detectaria isso, e os analistas seriam alertados para voltar e realizar uma análise estática básica nesse despejo de memória. Como resultado, mais IOCs seriam gerados e as explorações de dia zero seriam expostas.
Casos de uso de análise de malware
Detecção de malware
Os invasores estão empregando técnicas mais sofisticadas para evitar os mecanismos de detecção tradicionais. Ao fornecer uma análise comportamental profunda e identificar código compartilhado, funcionalidade ou infraestrutura mal-intencionada, as ameaças podem ser detectadas com mais eficácia. Além disso, um resultado da análise de malware é a extração de IOCs. Os IOCs podem então ser inseridos em SEIMs, plataformas de inteligência contra ameaças (TIPs) e ferramentas de orquestração de segurança para ajudar a alertar as equipes sobre ameaças relacionadas no futuro.
Gráfico de desafios de pesquisa de análise de malware
Alertas e triagem de ameaças
As soluções de análise de malware fornecem alertas de maior fidelidade no início do ciclo de vida do ataque. Portanto, as equipes podem economizar tempo ao priorizar os resultados desses alertas em relação a outras tecnologias.
Resposta a incidentes
O objetivo da equipe de resposta a incidentes (IR) é fornecer análise da causa raiz, determinar o impacto e ter sucesso na correção e na recuperação. O processo de análise de malware ajuda na eficiência e na eficácia desse esforço.
Busca de ameaças
A análise de malware pode expor comportamentos e artefatos que os caçadores de ameaças podem usar para encontrar atividades semelhantes, como o acesso a uma determinada conexão de rede, porta ou domínio. Ao pesquisar logs de firewall e proxy ou dados de SIEM, as equipes podem usar esses dados para encontrar ameaças semelhantes.
Pesquisa de malware
Pesquisadores de malware acadêmicos ou do setor realizam análises de malware para compreender as técnicas, explorações e ferramentas mais recentes usadas pelos adversários.
Estágios da análise de malware
Análise de propriedades estáticas
As propriedades estáticas incluem cadeias de caracteres incorporadas no código do malware, detalhes do cabeçalho, hashes, metadados, recursos incorporados etc. Esse tipo de dados pode ser tudo o que é necessário para criar IOCs, e eles podem ser obtidos muito rapidamente porque não há necessidade de executar o programa para vê-los. Os insights obtidos durante a análise de propriedades estáticas podem indicar se é necessária uma investigação mais profunda usando técnicas mais abrangentes e determinar quais etapas devem ser seguidas.
Análise interativa de comportamento
A análise comportamental é usada para observar e interagir com uma amostra de malware em execução em um laboratório. Os analistas procuram entender o registro, o sistema de arquivos, o processo e as atividades de rede da amostra. Eles também podem conduzir a análise forense da memória para saber como o malware usa a memória. Se os analistas suspeitarem que o malware tem um determinado recurso, eles podem configurar uma simulação para testar sua teoria.
A análise comportamental exige um analista criativo com habilidades avançadas. O processo é demorado e complicado e não pode ser realizado de forma eficaz sem ferramentas automatizadas.
Análise totalmente automatizada
A análise totalmente automatizada avalia de forma rápida e simples os arquivos suspeitos. A análise pode determinar as possíveis repercussões se o malware se infiltrar na rede e, em seguida, produzir um relatório de fácil leitura que fornece respostas rápidas para as equipes de segurança. A análise totalmente automatizada é a melhor maneira de processar malware em escala.
Reversão manual de código
Nesse estágio, os analistas fazem a engenharia reversa do código usando depuradores, desmontadores, compiladores e ferramentas especializadas para decodificar os dados criptografados, determinar a lógica por trás do algoritmo do malware e entender quaisquer recursos ocultos que o malware ainda não tenha exibido. A reversão de código é uma habilidade rara, e a execução de reversões de código leva muito tempo. Por esses motivos, as investigações de malware geralmente pulam essa etapa e, portanto, perdem muitos insights valiosos sobre a natureza do malware.
Saiba mais.
Fonte

Douglas Bernardini
Cybersecurity Specialist & Cloud Computing Expert with +10 years experience in IT infrastructure.
Specialist delivering assets for development teams in Google Cloud Platform (GCP) and Amazon web services (AWS)
Hands-on cloud security enterprise architect, with experience in SIEM/SOC, IAM, cryptography, pentest, network topologies, operating systems, databases, and applications.
Experience in DevSecOps analysis to discover vulnerabilities in software, identifying CI/CD risks gaps and recommending secure-coding process (S-SDLC).