Linux关闭KASLR

0. 环境准备

Ubuntu 16.04 Desktop x86_64
Centos 7

1. 查看默认是否开启了KASLR

sudo cat /proc/kallsyms > kallsyms.txt

查看kallsyms.txt文件,找到startup_64一行,如果首列值为ffffffff81000000,则基本确定KASLR关闭,否则开启

2. 修改/etc/default/grub文件

Ubuntu16中找到下行

GRUB_CMDLINE_LINUX_DEFAULT

Centos7中找到下行

GRUB_CMDLINE_LINUX

默认上述行中会有quiet选项,在其后添加nokaslr选项

3. 刷新grub

Ubuntu16

sudo update-grub

Centos7

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

4. 查看KASLR是否关闭成功

  • 开机时可以明显看到kaslr disabled......的命令,则关闭成功
  • 多次重复步骤1,如果startup_64的值均为ffffffff81000000则关闭成功。