Entenda o que é a perícia de memória para casos de resposta a incidentes

Escrito originalmente por Neil Fox

A análise forense de memória RAM é o processo de capturar a memória em execução de um dispositivo e, em seguida, analisar a saída capturada em busca de evidências de software malicioso. Ao contrário da análise forense do disco rígido, onde o sistema de arquivos de um dispositivo é clonado e cada arquivo no disco pode ser recuperado e analisado, a análise forense concentra-se nos programas reais que estavam sendo executados em um dispositivo quando o dump da memória foi capturado.

A memória RAM (Random Access Memory, na sigla em inglês, ou Memória de Acesso Randômico, na tradução livre) é um componente de hardware, e tem como principal função o armazenamento de dados de forma temporária.

Quando um aplicativo é aberto em um dispositivo, uma certa quantidade de RAM é alocada para que ele possa ser executado. Se os aplicativos forem abertos, mais RAM precisará ser alocada pelo dispositivo. É por isso que os dispositivos com maior RAM são mais rápidos, pois podem executar mais aplicativos ao mesmo tempo.

O que são dados voláteis?

Dados voláteis são algo que qualquer responsável por incidentes precisa estar ciente. E isso acontece por um simples motivo: ao lidar com um dispositivo comprometido, uma das primeiras reações pode ser a de, justamente, desligar o dispositivo para tentar conter a ameaça.

O problema com essa abordagem é que qualquer malware em execução no dispositivo será executado na memória. Portanto, todas as conexões de rede e processos em execução serão perdidos, isso porque o malware está em execução na memória e esses dados agora estão perdidos. Esses dados voláteis não são gravados no disco e mudam constantemente na memória, portanto, desligar o dispositivo significa que evidências valiosas foram destruídas.

A contenção da rede (isolar o dispositivo do resto da rede) é a opção preferida ao isolar um dispositivo comprometido. Este método vai conter com segurança o incidente e também ajuda a preservar evidências valiosas – já que não destrói os dados voláteis na memória.

O que é um dump de memória?

Um dump de memória RAM é uma “fotografia” da memória que foi capturado para análise de memória. Quando um dump de RAM é capturado, ele conterá dados relacionados a quaisquer processos em execução no momento em que a captura foi feita.

Benefícios do uso de memória forense para resposta a incidentes

Responder a um incidente de segurança cibernética nem sempre é uma tarefa simples. Talvez o servidor foi comprometido não esteja alimentando logs em um SIEM, pode até mesmo não haver nenhum log! Portanto, como parte de um plano de resposta a incidentes, como você pode começar a investigar o dispositivo e começar a coletar evidências em tempo hábil?

Você precisa primeiro confirmar se há malware no dispositivo antes de capturar uma amostra e iniciar a engenharia reversa do malware com ferramentas especializadas .

Tirar uma imagem de um dispositivo pode ser demorado e você terá o problema de transferir a imagem, que pode ter 100 GB de tamanho, para um local onde possa ser analisada. Aí você tem que levar em consideração quanto tempo vai demorar a análise da equipe de RI.

É aqui que a análise de memória pode ser uma grande vitória para a equipe de resposta a incidentes. Enquanto um disco rígido de servidor pode ter mais de 100 GB de tamanho, a RAM do dispositivo será muito menor, normalmente de 16 GB a 32 GB. Isso significa que capturar um dump de RAM de um dispositivo será muito mais rápido e menor ao transferir a saída.

Ao priorizar a RAM sobre uma imagem de disco rígido ao fazer a triagem de um incidente, você pode começar a analisar o dump de RAM para IOCs (Indicadores de comprometimento) enquanto começa a trabalhar na obtenção de uma imagem do disco rígido.

Como capturar RAM para análise

Se você estiver respondendo a um incidente e precisar de um despejo de RAM, como você fará para capturar esses dados será diferente dependendo se o dispositivo é uma máquina física ou virtual. Para fazer a captura de um dispositivo físico, você pode utilizar uma ferramenta como a WinPmem.

No caso das máquinas virtuais, o processo é mais simples – ao fazer um snapshot, o sistema vai criar um arquivo .vmem, que pode ser analisado por uma solução como o Volatility, por exemplo.

Ferramentas de análise de memória

Para facilitar, listamos as principais ferramentas gratuitas para análise de memória. Conheça:

Volatility

O Volatility é uma ferramenta de linha de comando que permite que você extraia rapidamente informações úteis, como quais processos estavam em execução no dispositivo, conexões de rede e processos que continham código injetado. Você pode até mesmo descartar DLLs e processos para análise posterior.

O software também suporta a análise de dump de memória de dispositivos Unix e uma ampla gama de plugins foram desenvolvidos pela comunidade forense.

Rekall

Rekall é semelhante ao Volatility, pois é outra ferramenta de linha de comando, a qual você usa depende de sua preferência pessoal.

Redline

Redline é uma ferramenta de análise de memória que, ao contrário de Volatility e Rekall, é estritamente uma ferramenta orientada a GUI, uma desvantagem de usar Redline é que ela só oferece suporte à análise de dispositivos Windows.

O que devo procurar em um dump de memória?

O malware tentará se esconder em lugares em que o usuário não pode navegar, no entanto, quando for executado, haverá um processo em execução no dispositivo para o malware. Portanto, com base nisso, a maneira mais fácil de procurar malware é examinar de perto os processos em execução em um dispositivo.

Procure por nomes de processos que você não reconhece olhando as listagens de processos. Quando você os pesquisa no Google, eles apresentam algum resultado?

Olhar para as árvores de processos é outro ótimo ponto de partida: veja quais processos foram criados e quais são os processos pai. É esta atividade que você esperaria ver?

Uma ótima dica é olhar os processos com nomes legítimos do Windows, como ‘svchost.exe’, os processos do sistema Windows sempre terão processos pai definidos e locais de execução. Se você encontrar um processo em execução em um local inesperado, pode valer a pena investigar.

Verifique as conexões de rede. Há alguma porta incomum conectada? Procure o que é conhecido como ‘mãos de pôquer’; é aqui que os atacantes definiram portas que têm todos os mesmos números, como ‘4444’ ou incrementos, como ‘1234’.

Para obter mais informações sobre como a Varonis pode ajudar a melhorar a postura de segurança da sua organização, saiba como o DatAlert e a plataforma de segurança de dados da Varonis podem detectar ameaças e proteger seus dados confidenciais.