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