ANÁLISE DE MEMÓRIA (pt.1)- ANÁLISE FORENSE

Olá!

Nessa série de postagens irei fazer uma introdução dos conceitos mais importantes de memória virtual e análise forense de memória. Irei introduzir técnicas de aquisição de memória e ferramentas. Também mostrar um exemplo prático de como conseguir a RAM do sistema de destino. E no final, veremos o Framework Volatility e cobertura de análise de uma imagem de memória.

Irei começar trazendo uma introdução.

INTRODUÇÃO A FORENSE DE AQUISIÇÃO DE MEMÓRIA

Vamos dar uma olhada na análise forense da memória e na teoria fundamental por trás do gerenciamento de memória virtual e arquivos de paginação. Também arquivos de hibernação e materiais de travamento. Na segunda postagem, uma breve introdução à análise forense digital.

A evidência forense pode ser dividida em dois tipos: volátil e não volátil. Até agora, cobrimos a aquisição ou a geração de imagens e a análise de dados não voláteis. Nesse caso específico falaremos de memória RAM de sistemas em execução ao vivo. A análise forense da memória ainda é um campo de desenvolvimento que ainda não atingiu a maturidade total.

É uma parte fundamental do processo de investigação de resposta instantânea, por exemplo, após a detecção de uma invasão ou infecção por malware. Nessas situações, é muito importante adquirir dados voláteis que, de outra forma, poderiam ser perdidos quando o sistema for desligado. Por exemplo, uma lista de serviços do sistema em execução e processos do usuário atualmente carregados por drivers e módulos, também conexões de rede, roteamento e tabelas ARP. Todos esses dados podem ser coletados usando ferramentas de resposta ao vivo projetadas para o sistema de destino, mas também podem ser recuperadas analisando uma imagem de memória.

Além disso, evidências como senha do usuário, chaves de criptografia de disco de dados descriptografadas e fragmentos de código injetado residentes na memória, existem apenas na RAM. Por exemplo, arquivos avançados ou somente malware residente na memória não criam arquivos no disco rígido e, portanto, só podem ser detectados na análise de memória. Antes de mergulhar na aquisição e análise de memória, é importante lembrar como a memória principal do sistema está estruturada.

Os sistemas operacionais modernos usam memória virtual para gerenciar a memória principal. Memória virtual é uma abstração que permite superar os limites de tamanho da memória física e gerencia o mapeamento entre os endereços de memória lógica e física. Cada processo possui seu próprio espaço de endereço virtual privado, dividido em partes chamadas páginas, que são mapeadas para quadros de página na memória física. O mapeamento entre páginas e quadros de página pode ser encontrado na tabela de páginas (page table). A tabela de páginas também controla se as páginas são residentes na memória ou não.

Como podemos ver neste diagrama abaixo, quando todo o espaço da memória virtual é maior do que as páginas de memória física disponíveis são trocadas para o disco ou um arquivo de página deve uma partição de troca. De acordo com a página é substituído o algoritmo. Por exemplo, o algoritmo menos utilizado recentemente.

IMAGEM: Do Autor

Dessa maneira, um número maior de processos pode residir na memória e executar em um determinado momento, mesmo na RAM física. Quando um processo se refere a um endereço virtual pertencente a uma página alterada, um arquivo de página é gerado e a memória lê a página do disco e a carrega na memória.

A atualização da janela da tabela de páginas alterna a página para o arquivo DOCSIS do arquivo de paginação localizado na unidade principal do sistema. Enquanto o Unix e o Linux usam a análise da partição swap do arquivo de paginação, a partição swap pode ser complementada com a da RAM capturada para obter uma visão completa de toda a memória virtual.

Outra fonte de evidência é o arquivo de hibernação, em que um sistema operacional salva todo o conteúdo da RAM antes de entrar em hibernação no Windows. Este arquivo é um arquivo com DOCSIS e está localizado na unidade principal do sistema. Enquanto o Linux geralmente usa as partições de troca, mas também pode usar o arquivo de troca. Às vezes, os despejos de memória gerados pelo sistema operacional quando um aplicativo falha podem ser de interesse do examinador forense. Eles podem ser despejos de memória completa do kernel ou pequenos despejos que contêm conjuntos de dados mais limitados.

Maiores informações, fica essa web page como dica de pesquisa: https://pt.wikipedia.org/wiki/Mem%C3%B3ria_virtual#:~:text=%20Mem%C3%B3ria%20virtual%20%201%20%28i%29%20realoca%C3%A7%C3%A3o%20%28ou,utilizar%20mais%20mem%C3%B3ria%20do%20que%20a…%20More%20

Simples? Deixe seus comentários e se gostar, deixe um like!


Nesta postagem, apresentei os conceitos fundamentais de memória forense e memória virtual. Na próxima postagem, veremos como adquirir uma imagem de memória com vários métodos e ferramentas de aquisição, e mostrarei exemplos de aquisição de memória.

Até logo!

3 comentários em “ANÁLISE DE MEMÓRIA (pt.1)- ANÁLISE FORENSE

Deixe um comentário