La aleatoriedad en la disposición del espacio de direcciones (conocida por las siglas en inglés ASLR) es una técnica de seguridad informática que hace mas complicada la explotación de binarios vulnerables, gracias al ASLR la pila de las funciones de los binarios serán cargadas en direcciones aleatorias de RAM, por lo tanto un desbordamiento de pila no será reproducible en la siguiente ejecución ya que la dirección del payload habrá cambiado.
Si no sabéis de lo que os hablo podéis consultar el siguiente artÃculo:
Inicio al arte del exploiting sobre Linux-x86
El parámetro permite habilitarlo tanto para la ejecución de binarios de 32 bits como de 64, para habilitar esta medida de seguridad en FreeBSD es tan sencillo como modificar el parámetro kern.elf32/64.aslr.enable de sysctl.
Comprobamos si está habilitado, por defecto no deberÃa estarlo:
sysctl kern.elf64.aslr.enable
kern.elf64.aslr.enable: 0
sysctl kern.elf32.aslr.enable
kern.elf32.aslr.enable: 0
Lo habilitamos:
sysctl kern.elf64.aslr.enable=1
kern.elf64.aslr.enable: 0 -> 1
sysctl kern.elf32.aslr.enable=1
kern.elf32.aslr.enable: 0 -> 1
Para que quede habilitado tras un reinicio debemos configurarlo en el fichero loader.conf:
kern.elf64.aslr.enable=1
kern.elf32.aslr.enable=1
Hay algunos programas que no funcionarán correctamente si tenemos el ASLR habilitado, podemos deshabilitarlo especÃficamente para estos: