Shared-Memory

Grsecurity 主題模式 x

  • March 17, 2018

我正在對 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 有什麼好處,它對哪段程式碼有影響?

根據 Brad Spengler 的說法,主題模式 x 僅適用於 System V 共享記憶體,請參閱http://forums.grsecurity.net/viewtopic.php?f=5&t=3935。最重要的是,除非對正在考慮的二進製文件禁用 MPROTECT,否則 PaX 會觸發。

引用自:https://unix.stackexchange.com/questions/123038