Linux kernel 在Linux中如何禁止代码在堆中执行

Linux kernel 在Linux中如何禁止代码在堆中执行,linux-kernel,malloc,Linux Kernel,Malloc,想象一下入侵Linux的方式:1。一个空间。2.将二进制代码写入此区域。3.跳转到此代码 我想禁止以这种方式运行代码。仅在.text节中运行代码。我应该对Linux内核做什么?谢谢大家! linux的PaX安全补丁通过确保RAM中没有既可写又可执行的内存来解决这个问题。这确保了人们不能将内存分配到RAM中,向其写入代码,然后执行它(这似乎正是您试图阻止的) 请注意,您可能需要编译一个自定义内核来安装此修补程序。或者,尝试查看您的发行版是否提供安装了补丁的linux内核。(搜索linux grs

想象一下入侵Linux的方式:1。一个空间。2.将二进制代码写入此区域。3.跳转到此代码


我想禁止以这种方式运行代码。仅在.text节中运行代码。我应该对Linux内核做什么?谢谢大家!

linux的PaX安全补丁通过确保RAM中没有既可写又可执行的内存来解决这个问题。这确保了人们不能将内存分配到RAM中,向其写入代码,然后执行它(这似乎正是您试图阻止的)

请注意,您可能需要编译一个自定义内核来安装此修补程序。或者,尝试查看您的发行版是否提供安装了补丁的linux内核。(搜索linux grsec或linux pax)。

我认为malloc(在大多数情况下)应该返回没有exec权限的内存区域。你检查过了吗?