安全公司CyberArk的安全專家發現一種方法,能繞過Windows PatchGuard保護,并將惡意代碼置入Windows內核。借助這種方法,攻擊者可以在此前被認為堅不可摧的系統上植入Rootkit。
Hook技術
Hook技術可以讓攻擊者控制操作系統或軟件的運行方式。一些利用Hook的軟件包括:安全解決方案應用程序、系統實用程序、編程工具(例如攔截、調試、擴展軟件等)、惡意軟件(例如Rootkit)等等。
但這種技術不屬于提權或漏洞利用技術。該技術主要用于利用后場景,攻擊者在這種場景中對資產具有控制權。因為惡意內核代碼(Rootkit)通常希望在目標內創建并維持持久性,而隱秘技術發揮了重要作用。
Windows PatchGuard
PatchGuard官方的名稱為內核補丁保護(KPP),是64位Windows系統的安全功能,旨在阻止第三方代碼使用其它程序修改Windows內核。微軟于2005年推出PatchGuard功能,該功能已經阻止了大多數Rootkit在64位Windows系統上運行。
“鬼鉤”攻擊利用英特爾PT功能
安全研究人員發布的 “鬼鉤”(GhostHook)新技術能使用英特爾CPU的一項功能繞過PatchGuard。“鬼鉤”技術可以為惡意攻擊者或信息安全產品提供支持,從而控制設備上運行的任何代碼。
研究人員表示,“鬼鉤”僅針對運行英特爾Processor Trace(PT)的系統。PT是使用專用硬件捕獲當前軟件執行相關信息的英特爾CPU功能,以幫助調試操作,并檢測惡意代碼。
正常情況下,進入英特爾PT操作需要攻擊者將惡意功能置入內核級代碼,而PatchGuard一般會立即發現并阻止這種操作。
CyberArk的研究人員稱,分配非常小的緩沖區處理英特爾PT數據包會導致CPU耗盡緩沖空間,并打開PMI處理器(PMI Handler)來管理溢出代碼。但問題在于,PatchGuard不會監控PMI處理器,攻擊者可能會趁機通過PMI處理器利用惡意代碼修改內核操作。
攻擊者通過這種方法神不知鬼不覺地修改Windows內核,并在64位Windows上嵌入RootKit。 “鬼鉤”甚至會影響Windows 10。自微軟2015年夏季推出Windows 10 以來,被證明有效的Rootkit其實很少。
微軟拒絕修復“鬼鉤”攻擊媒介
CyberArk公司稱已經向微軟報告了“鬼鉤”攻擊,但微軟拒絕發布安全更新。微軟表示,可能會在定期漏洞修復周期內發布補丁,但不會將“鬼鉤”作為漏洞看待。
微軟表示,攻擊者需要獲得被感染設備的內核級訪問權限才能執行“鬼鉤”攻擊。如果攻擊者具備內核級訪問權也可以執行其它惡意活動,用戶首先應該防止攻擊者獲取內核級權限。
對于微軟給予的答復,CyberArk反復強調,這種技術會繞過PatchGuard功能,為Rootkit打開一扇窗進入64位Windows系統,而不一定需要攻擊者取得內核級訪問權限。
真正的問題在于,攻擊者可以利用這種技術在過去數年無法進入的平臺上植入Rooktkit。
目前,從整個惡意軟件市場來看,由于有PatchGuard為64位系統的安全保駕護航,針對64位Windows系統的惡意軟件所占比例不到1%。