Linux平台的ASLR

Linux平台ASLR分为0、1、2三级,用户可以通过一个内核参数randomize_va_space进行控制,他们对应的效果如下:

0:不开启ASLR

1:运行栈和共享库以及部分堆的随机化

2:在1的基础上包括所有堆的随机化

注:ALSR不负责代码段和数据段和地址随机化,这项工作PIE负责,但是只有ASLR开启的情况下,PIE才会生效。

查看、开启、关闭ASLR

1、查看 cat /proc/sys/kernel/randomize_va_space

2、更改

0:关闭ASLR

sudo bash -c "echo 0 > /proc/sys/kernel/randomize_va_space"

    1:保留的ASLR

sudo bash -c "echo 1 > /proc/sys/kernel/randomize_va_space"

    2:完全的ASLR

sudo bash -c "echo 2 > /proc/sys/kernel/randomize_va_space"

你可能感兴趣的:(Linux平台的ASLR)