Move de memória vigiada

Ferramenta de movimento de memória guardada é útil para estudar transbordamentos de buffer e recuperá-los com uma imagem de pilha "boa".
Baixe Agora

Move de memória vigiada Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Davide Libenzi
  • Site do editor:
  • http://www.xmailserver.org/davide.html

Move de memória vigiada Tag


Move de memória vigiada Descrição

A ferramenta de movimento de memória guardada é útil para estudar os transbordamentos de buffer e recuperá-los com uma imagem de pilha "boa". O projeto de movimento de memória guardado fica útil quando você tem que estudar transbordamentos de buffer e você precisa pegá-los junto com uma imagem de "boa" pilha. Quando um estouro de pilha foi explorado, o traço de volta já foi junto com boas informações sobre parâmetros e variáveis locais, que são de vital importância ao tentar entender como o invasor está tentando resolver o explorador. A biblioteca GMM usa a interceptação de chamada de função dinâmica para capturar as funções mais comuns que são usadas pelos atacantes para explorar buffers de pilha. A biblioteca GMM usa a capacidade LD_Preload e oferece dois serviços para o usuário. Primeiro de tudo, evita o estouro do buffer para permitir que o invasor execute o código de shell na sua máquina. Em segundo lugar, no caso de uma exploração ser detectada, o conteúdo da pilha é salvo e uma falha de segmentação é acionada. O dump de núcleo resultante terá todas as informações necessárias para depurar a exploração e corrigir o software. Internamente, a biblioteca se insira entre o aplicativo e a biblioteca GLIBC e as funções de interceptação que podem levar a explorações de transbordamento de buffer. Antes de ligar para a função Core Glibc, a camada GMM salva parte da estrutura de pilha acima do chamador para um local temporário em seu quadro. Também armazena os três endereços de retorno anteriores em seu armazenamento local antes de chamar a função Core Glibc. Quando a função principal retorna, as amostras de código GMM novamente os endereços de retorno gravados anteriormente e, se diferirem, restaura a estrutura de pilha salva anteriormente e emitir uma falha de segmentação. Isso com uma moldura de pilha limpa, de modo que possa ser inspecionada com um depurador. Enquanto outras soluções existem para detectar explorações de estouro do buffer, como por exemplo, Stackguard e Stackshield, aqueles difere do GMM de várias maneiras. Eles vivem como patches GCC e exigem que você reconstrua sua inscrição para usar suas funcionalidades. A boa dessa abordagem é que cada função é protegida contra os arruelas do buffer. O ruim dessa solução é que cada função é protegida contra as transbordamentos do buffer. Isto é, regressão de desempenho em toda a aplicação, mesmo que isso não seja realmente um problema enorme ao caçar transbordamentos de buffer. Outra solução semelhante ao GMM é o libSafe, mas não salva e restaura a estrutura de pilha, tornando-a inutilizável para depuração. Mas vamos ver como a GMM difere das soluções listadas acima. Primeiro de tudo, o GMM funciona em todos os lugares existem quadros de pilha e o GCC e Glibc Duo. Isso significa que não se limita apenas ao i386. E agora a verdadeira razão para a existência do GMM.Que é novo nesta versão: · __Builtin_return_address e __builtin_frame_address parece devolver o lixo em vez de nulo no último quadro. Esta versão corrige o problema.


Move de memória vigiada Software Relacionado

Diota.

Diota é uma ferramenta de instrumentação dinâmica para binários Intel. ...

193

Download

Udis86.

udis86 é um disassor de arquivo binário para x86 / x86-64 com suporte para mmx, x87, 3dnow! etc. ...

282

Download