Curiosidad con ASLR

Estándar

Hola a tod@s!

Llevo unas semanas poniéndo en orden toda la información disponible que conozco en materia de volcados de memoria RAM para análisis forense. Tengo el blog lleno de post sin terminar sobre este tema, y como promesa de año nuevo (aparte de dejar de beber…) he prometido terminar estos post, así que este Enero tocarán casi todos los post sobre memoria RAM.

Pues haciendo volcados de la memoria RAM en mi Vista, me di cuenta de un comportamiento curioso con ASLR. Esta característica viene de serie y activada en Windows Vista, pero por lo que he podido comprobar, sólo los ejecutables de Windows Vista y algunas aplicaciones compatibles con Windows Vista se «aprovechan» de esta característica.

He tomado como referencia para este post 4 aplicaciones en mi Windows Vista. Internet Explorer, el entorno gráfico del Windows Defender, la barra de herramientas de Google y Adobe reader. Tan sólo Windows Defender e Internet Explorer se ejecutan cada vez en distintos espacios de direcciones. Adobe y la barra de herramientas de Google permanecen en el mismo espacio de direcciones cada vez que se inician.

Como no entendía este comportamiento empecé a informarme sobre el ASLR y de cómo funciona en Windows Vista. Cualquier ejecutable o dll que tenga una cabecera PE puede elegir si quiere o no quiere aprovecharse de esta característica. Y activarlo es bien simple. Basta con añadirle un bit (0X40) en el campo DllCharacteristics en la parte Optional Header.

Y tan fácil es activarlo como fácil es desactivarlo. Bastaría con quitar ese bit (0x40) a cualquier ejecutable que estuviese utilizando la característica ASLR para que éste dejase de utilizarla.

aslr1.png
Ejemplo Windows Defender

Por ejemplo aquí tenéis dos capturas de pantalla correspondientes al proceso de Internet Explorer

iexploreaslr.png
Internet Explorer con ASLR
iexploresinaslr.png

Para el que quiera hacer sus pruebas correspondientes, puede utilizar la herramienta StudPE y algún debugeador. Yo personalmente he utilizado el Windbg de Spectra. Tengo desde hace un mes más o menos el Adobe + la barra de herramientas de Google aprovechándose del ASLR y todavía no se me ha quejado ninguna.

+Info

An Analysis of Address Space Layout Randomization on Windows Vista

Saludos!

 

Un comentario en “Curiosidad con ASLR

  1. Jorge

    Hubo un desbordamiento de buffer en mi ordenador y no se como reparalo.
    Buscando en la web, y con ayuda de los links llegué a leer esto del ASLR, tengo el Windows Vista pero no se como usar esta herramienta. Podrías ayudarme???
    Te lo agradacería muchísimo

Deja un comentario