Grsecurity主题模式x

Grsecurity主题模式x

我正在 Hardened Gentoo 上对 Grsecurity 进行一些研究,请参阅http://en.wikibooks.org/wiki/Grsecurity。更具体地说,我试图找到一个主题模式 x 产生影响的例子。

正如 wiki 中所述:主题模式 x:允许该主题的可执行匿名共享内存。

现在,内核拒绝

mem = mmap(NULL, MAP_SIZE, PROT_WRITE|PROT_EXEC, MAP_ANONYMOUS | MAP_SHARED, -1, 0);

mem = mmap(NULL, MAP_SIZE, PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0);
mprotect(mem, MAP_SIZE, PROT_EXEC);

或相反亦然。另一方面

mem = mmap(NULL, MAP_SIZE, PROT_READ|PROT_EXEC, MAP_ANONYMOUS | MAP_SHARED, -1, 0);

工作正常。

对于上述所有内容,grsec 是否处于活动状态并不重要,如果是,则主题模式 x 是否设置也并不重要 - 内核根本不允许共享内存是(或曾经)可写的,并且可执行的。

因此:主题模式 x 有什么用处,以及它会对哪段代码产生影响?

答案1

根据 Brad Spengler 的说法,主题模式 x 仅适用于 System V 共享内存,请参阅http://forums.grsecurity.net/viewtopic.php?f=5&t=3935。最重要的是,除非对所考虑的二进制文件禁用 MPROTECT,否则 PaX 会发生攻击。

相关内容