微軟增強防御體驗工具包(EMET)是一個面向企業的免費工具,可以使其 Windows 計算機和應用對于已知及未知的軟件漏洞擁有更強的防御能力。然而,黑客能夠輕松地讓這一工具無效化。
來自安全廠商火眼的研究人員找到了一種方法,可以通過利用該工具中的某一合法函數,停止 EMET 的加強防御功能。
微軟在2月2日發布的 EMET 5.5 中修補了這一漏洞,然而,由于這一新版本主要增加了對 Windows 10 的兼容性,沒有帶來明顯的安全性能提升,可能還有很多用戶并未升級這一功能。
EMET 最初發布于2009年,它可以對應用執行如數據執行防護(DEP)、地址空間布局隨機化(ASLR)、導出表地址過濾(EAF)等現代化的漏洞防御機制,它對于沒有附帶此類機制的老應用而言尤其有效。通過使用這一工具,黑客將更難利用此類應用中的漏洞,入侵計算機。
近年來,安全研究人員找到了多種繞過特定 EMET 使用的防御機制的方法,但此工具中存在的這類漏洞主要是由設計和實現中的錯誤導致的,比如一些模塊或 API 并未得到保護。過去也曾有完全使 EMET 保護無效化的報道,但它們往往并不直接,需要極大的工作量。
火眼研究人員相信這種利用 EMET 自身漏洞關閉它的方法更加可靠,而且比以往的繞過方式更加容易使用。此外,它能夠針對所有 EMET 現行支持的版本:5.0、5.1和5.2,除了4.1等老版本和 EMET 5.5以外,所有版本都未能幸免。
EMET 將一些 DLL 注入到要保護的第三方應用程序進程中。因此它能夠監控來自這些進程的關鍵系統 API 調用,并確定它們到底是合法調用,還是黑客入侵導致的。
然而,該工具包含的代碼可能讓其輕易卸載掉自身的保護功能,將被保護的進程還原為之前的樣子,而不會造成任何異常或者崩潰。火眼人員發現的一個漏洞正可以利用 EMET 攜帶的這些代碼。
“只需要確定這一函數的位置并進行調用,就能夠使 EMET 完全無效化”。
在 EMET.dll 的5.2.0.1版本中,這一函數的相對地址為 0x65813 。跳到這一函數會引發調用,進而卸載 EMET 已經安裝了的 hook 。
研究人員表示,這是一種重要的新型攻擊向量,比起一個個繞過 EMET 的保護機制而言要方便得多。
由于這一入侵技巧現在已被公開,EMET 用戶應當考慮盡快升級到5.5版本,避免未來出現的此類攻擊。除了增加了 Windows 10 兼容性,EMET 的這一新版本改善了通過組策略配置和管理防御機制的能力,提升了 EAF 和 EAF+ 防御的性能表現。