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