Ubuntu 有 Exec Shield 缓冲区溢出保护吗?

Ubuntu 有 Exec Shield 缓冲区溢出保护吗?

Ubuntu 有 Exec Shield 缓冲区溢出保护吗?

我尝试使用以下命令在 Ubuntu 12.04 上启用 Exec Shield

sudo sysctl -w kernel.exec-shield=1

但它说

error: "kernel.exec-shield" is an unknown key

如果没有,那么 Ubuntu 的等效解决方案是什么以及如何安装和启用它?

答案1

Ubuntu 默认启用 NX 保护。当 CPU 支持时,它要么使用硬件 NX,要么在内核中使用 NX 模拟(相当于 Red Hat Exec Shield 补丁)。

如需了解更多信息,请访问: https://wiki.ubuntu.com/Security/Features

进一步来说: https://wiki.ubuntu.com/Security/Features#nx

答案2

打开你的 /etc/sysctl.conf 文件:

# sudo gedit /etc/sysctl.conf
#### Add the following lines:

###enable ExecShield protection

kernel.exec-shield = 1

###enable random placement of virtual memory regions protection

kernel.randomize_va_space = 1

  保存并关闭文件。   

要加载 sysctl 而不重新启动,请输入以下命令::
sysctl -p

相关内容