我正在对Gentoo上的Grsecurity进行一些研究,参见http://en.wikibooks.org/wiki/Grsecurity。更具体地说,我试图找到一个例子,其中的主题模式x是一个不同的。
正如wiki: subject模式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是否是活动的,如果是的话,是否设置了subject模式x并不重要--内核只是不允许共享内存,即(或曾经)可写和可执行的。
因此: subject模式x的好处是什么?对于哪一段代码,它会产生不同的效果吗?
发布于 2014-04-08 22:46:30
根据Brad的说法,subject模式x只适用于System共享内存,参见http://forums.grsecurity.net/viewtopic.php?f=5&t=3935。最重要的是,PaX罢工,除非MPROTECT是禁用的二进制文件正在考虑。
https://unix.stackexchange.com/questions/123038
复制相似问题