US-CERT 表示 Windows 系統中的 ASLR 實現存在缺陷
美國計算機應急準備小組(US-CERT)警告說,微軟在實現地址空間佈局隨機化(ASLR)方案上存在缺陷,Windows 8、Windows 8.1 和 Windows 10 系統都受到了影響,該錯誤可能允許攻擊者遠端控制受影響的系統,目前微軟正在處理這件事情。
ASLR 保護是大多數主流作業系統中使用的漏洞利用防護措施,它能緩解基於記憶體的程式碼執行攻擊,在 iOS、Android、Windows、MacOS 和 Linux 中都使用此技術來保護系統的安全。多年來如何繞過 ASLR 保護一直是攻擊者所關注的,而最新的這個 ASLR 問題卻與 Windows 系統中的 ASLR 實現有關。
按照 CERT 高階漏洞研究員 Will Dormann 的說法,微軟在 2012 年釋出 Windows 8 系統時引入了一個 ASLR 實現方面的錯誤。從那時起這個錯誤就一直存在,並影響到了後續的 Windows 10 系統。
Dormann 寫道:“如果使用者是透過 EMET 或 Windows Defender Exploit Guard 來啟用 system-wide 的強制 ASLR 保護,那麼 Windows 8 及更高版本的系統將無法正確地對每個程式的地址空間進行隨機化處理。” 在特定條件下,一個錯誤的實現可能會為攻擊者提供一個很好的攻擊機會。
“US-CERT 報告的這個問題不能算漏洞,作業系統實現了 ASLR 保護所預設的功能,且執行在 Windows 預設配置下的使用者不會面臨更高的漏洞利用風險。 US-CERT 是在 Windows Defender Exploit Guard 和 EMET 下進行非預設 ASLR 配置時發現的該問題並提供瞭解決方案。我們正在做有關調查,並將解決相應配置產生的問題。” 微軟解釋道。
這個問題實際上與 ASLR 如何防護攻擊有關係,它是透過隨機化程式的地址空間來實現的,使得惡意者不能在可預見的記憶體地址處執行程式碼。但 Dormann 發現,微軟在實現 ASLR 時的缺陷會導致程式每次都被重定位到可預測的地址上。
“EMET 和 Windows Defender Exploit Guard 在啟用 system-wide ASLR 時沒有同時啟用 system-wide bottom-up ASLR 的選項。儘管 Windows Defender Exploit Guard 包含 system-wide bottom-up ASLR 的選項,但 GUI 介面中對該選項的設定並不改變相應登錄檔中的鍵值(預設為未設定),這就導致程式在重新定位時沒有設定 /DYNAMICBASE 選項,因此,程式在每次重新啟動時都會被重定位到相同的地址處。” Dormann 在 US-CERT 的報告中寫道。
原文連結:https://threatpost.com/us-cert-warns-of-aslr-implementation-flaw-in-windows/128948/
本文由看雪翻譯小組 BDomne 編譯