2013-10-20 38 views
2

我已經在xv6中定義了一個向上堆棧(它有一個向下的堆棧),並且想知道如何在堆棧和堆之間放置一個防護頁。有沒有可以使用的特定系統調用?另外我怎樣才能保持一個頁面地址空間始終位於堆棧和堆之間?如何在堆和棧之間建立一個保護頁?

+0

另請參閱OSS-Security郵件列表上的[Qualys安全建議 - 堆棧衝突](http://www.openwall.com/lists/oss-security/2017/06/19/1)。它展示了一些巧妙的技巧,以及對守衛頁面的漂亮詛咒。它驚人地發現了多少操作系統。 – jww

回答

0

讓你知道你的堆棧從哪裏開始成長?在那種情況下,你爲什麼不離開一頁,並從下一頁開始。而且你可能需要用一些數據分配和毒化內存,以便可以檢測到它。就像這些內存溢出檢測工具的工作方式一樣。或者您可能需要爲該頁面設置一些自定義標誌,以便在嘗試訪問它們時檢查標誌和錯誤(如果發現不合適)。

我是否正確地得到您的問題,順便說一句?