• HeapLocker para Windows Dificulta Injeção de Código Arbitrário

    A ferramenta HeapLocker para Windows, foi projetada para dificultar que um atacante execute um código que poderia ser injetado através de brechas de segurança. A ferramenta foi desenvolvida por Didier Stevens, que anteriormente ganhou uma reputação como um especialista em segurança em arquivos PDF. HeapLocker, em particular, oferece proteção contra um tipo de ataque chamado de heap spraying, que faz com que os atacantes, repetidamente, injetem códigos em uma pilha de aplicações para garantir que eles possam ultrapassá-la. Para produzir este efeito, os atacantes escrevem longas seqüências de no-operation instructions (NOPs), seguido pelo malware atual na memória.

    HeapLocker é projetado para pré-alocar o heap de um processo para garantir que não há espaço para spraying (pulverização). A ferramenta também monitora o quanto de memória virtual está em uso - heap spraying utiliza-se de imensas quantidades. Uma vez que um limite personalizável é atingido, a ferramenta irá emitir um alerta e parar o processo. Além disso, HeapLocker pode detectar alegadamente slides NOP, e oferecer condições para terminar o programa no caso de um ataque.



    Como uma última linha de defesa, a ferramenta pode reconhecer cadeias de caracteres que são normalmente encontradas em exploits - embora isso funcione atualmente apenas com documentos PDF especialmente criados. Quando submetido à testes, HeapLocker bloqueou um exploit para o Adobe Reader depois de detectar uma assinatura mal-intencionada.

    Stevens disse que testou o HeapLocker com o Adobe Reader 8.1.2 e 9.4.3, bem como Foxit Reader 4.1, Excel 2003, o Firefox 3.6.3 e com o Internet Explorer 8 no Windows XP SP3. No entanto, em termos de estabilidade a longo prazo, o desenvolvedor apenas testou no Adobe Reader.

    Com esses recursos, HeapLocker basicamente tem potencial para concorrer com o Microsoft's Enhanced Mitigation Experience Toolkit. No entanto, a ferramenta em sua forma atual não é nada amigável. Para ativar HeapLocker, os usuários precisam carregar o arquivo heaplocker.dll no aplicativo de destino através da tabela de importação. Isso requer novas ferramentas de edição para PE headers, para editar, por exemplo, o arquivo AcroRd32.exe.


    Saiba Mais:

    [1] Didier Stevens: http://blog.didierstevens.com/programs/heaplocker/