Windows 8 和 10 有 ASLR 缺陷,修復方法如下
2分鐘讀
發表於
請閱讀我們的揭露頁面,了解如何幫助 MSPoweruser 維持編輯團隊的發展 阅读更多
在 Windows 8 及更高版本上發現了一個新的安全漏洞,這使得 ASLR 無用。 該漏洞是由一位名叫 Will Dormann 的安全研究員發現的。 他在 CERT 上的詳細帖子中解釋了這個問題:
EMET 和 Windows Defender Exploit Guard 都啟用了系統範圍的 ASLR,但同時也啟用了系統範圍的自下而上 ASLR。 儘管 Windows Defender Exploit 防護確實為系統範圍的自下而上 ASLR 提供了一個系統範圍的選項,但“默認開啟”的默認 GUI 值並不反映底層註冊表值(未設置)。 這會導致沒有 /DYNAMICBASE 的程序被重新定位,但沒有任何熵。 這樣做的結果是此類程序將被重新定位,但每次重新啟動甚至跨不同系統時都會重新定位到相同的地址。
對於那些不知道的人,微軟首先在 Windows Vista 中實現了 ASLR(地址空間佈局隨機化),有助於防止代碼重用攻擊。 ASLR 使用隨機內存地址來執行代碼,但在 Windows 8、Windows 8.1 和 Windows 10 中,該功能並不總是正確應用。 在 Windows 8、8.1 和 Windows 10 中,ASLR 不使用隨機內存地址,本質上使其無用。
實際上,對於 Windows 7 和 EMET 系統範圍的 ASLR,eqnedt32.exe 的加載地址在每次重啟時都是不同的。 但是對於帶有 EMET 或 WDEG 的 Windows 10,eqnedt32.exe 的基礎每次都是 0x10000。
結論:Win10不能像Win7一樣強制ASLR! pic.twitter.com/Jp10nqk1NQ-Will Dormann(@wdormann) 2017 年 11 月 15 日
好消息是,Will 共享了一個手動註冊表編輯來解決這個問題。 為此,您需要執行以下操作。
- 使用以下內容創建文本文件:Windows 註冊表編輯器版本 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\kernel]
“緩解選項”=十六進制:00,01,01,00,00,00,00,00,00,00,00,00,00,00,00,00 - 使用註冊表擴展名 (.reg) 保存文件
- 在開始菜單中輸入“regedit”打開註冊表編輯器
- 選擇 File>Import 並選擇您剛剛創建的 .reg 文件。
這應該能夠解決問題,直到 Microsoft 發送更新以完全修復它。
街道: 比特科技