1.5.2 Ensure address space layout randomization (ASLR) is enabled - config

Information

Address space layout randomization (ASLR) is an exploit mitigation technique which randomly arranges the address space of key data areas of a process.

Rationale:

Randomly placing virtual memory regions will make it difficult to write memory page exploits as the memory placement will be consistently shifting.

Solution

Set the following parameter in /etc/sysctl.conf or a /etc/sysctl.d/* file ending in .conf:

kernel.randomize_va_space = 2

Run the following script to comment out entries that override the default setting of kernel.randomize_va_space:

#!/usr/bin/bash

for file in /etc/sysctl.conf /etc/sysctl.d/*.conf /usr/lib/sysctl.d/*.conf /usr/local/lib/sysctl.d/*.conf /run/sysctl.d/*.conf; do
if [ -f '$file' ]; then
grep -Esq '^s*kernel.randomize_va_spaces*=s*([0-1]|[3-9]|[1-9][0-9]+)' '$file' && sed -ri 's/^s*kernel.randomize_va_spaces*=s*([0-1]|[3-9]|[1-9][0-9]+)/# &/gi' '$file'
fi
done

Run the following command to set the active kernel parameter:

# sysctl -w kernel.randomize_va_space=2

Default Value:

kernel.randomize_va_space = 2

See Also

https://workbench.cisecurity.org/files/3208

Item Details

Category: SYSTEM AND INFORMATION INTEGRITY

References: 800-53|SI-16, CSCv6|8.4

Plugin: Unix

Control ID: cb0a5f8ce1916b244d6c5392ea0d48afceda9ba2879f179b601eeb34b17c8f7c