安全研究公司Matousec發(fā)布報(bào)告,詳細(xì)說(shuō)明黑客如何用一種攻擊技巧,成功躲避 Windows安全軟件的偵測(cè),包括McAfee和趨勢(shì)科技(Trend Micro)知名的殺毒軟件。
不過(guò),Matousec承認(rèn),這種攻擊技 術(shù)有重大的限制,例如必須先取得在一部系統(tǒng)上執(zhí)行程序代碼的能力。換句話說(shuō),這套方法必須同時(shí)搭配另一種攻擊手法(attack vector),或是由具有某部系統(tǒng)本機(jī)存取權(quán)限的黑客來(lái)執(zhí)行。
這套方法稱為"argument-switch"攻擊,可用來(lái)攻擊采用SSDT(System Service Descriptor Table) hooking技術(shù)的Windows安全程序。Matousec測(cè)試的35種應(yīng)用軟件都采用這種技術(shù),包括BitDefender、F-Secure、 Kaspersky、Sophos、McAfee和趨勢(shì)科技的產(chǎn)品在內(nèi)。
Matousec在公布的一份研究報(bào)告中說(shuō):我們測(cè)試了普遍使用的安全軟件,發(fā)現(xiàn)它們?nèi)加新┒?。今天大多?shù)受歡迎的安全解決方案根本不管用。
SSDT hooking被眾多殺毒軟件采用,作為偵測(cè)和攔阻攻擊機(jī)制的一部分。此技巧涉及修改SSDT的目錄。本公司的研究聚焦于核心(kernel)模式的 hook,不過(guò),這種攻擊對(duì)使用者模式的hook也有效。
Matousec說(shuō):結(jié)果可用一句話總結(jié):如果某項(xiàng)產(chǎn)品使用SSDT hook,或在類似層級(jí)采用另一種核心模式的hook,來(lái)落實(shí)安全功能,那么它就有漏洞。
該公司研究員指出,有些殺毒產(chǎn)品并不使用上述的技巧,例如Immunet。
Matousec說(shuō),攻擊者利用一種稱為競(jìng)賽情況(race condition)的軟件瑕疵(bug);在這種情況下,兩條執(zhí)行緒(thread)爭(zhēng)相存取共用的資源,造成程序邏輯出錯(cuò)。攻擊者利用這種瑕疵,讓殺毒軟件誤以為它允許執(zhí)行的是無(wú)害的程序代碼,但其實(shí)卻是惡意程序。
這種回避手法的成功率并非百分之百。不過(guò),Matousec指出,如果某部系統(tǒng)跑多重處理器或多核心處理器,那么這種攻擊就更容易成功。
該公司表示,今天,多重處理器或多核心處理器在臺(tái)式機(jī)很常見(jiàn),而攻擊即使通過(guò)有限的使用者帳號(hào)權(quán)限,也能得逞。
測(cè)試是在采用32位硬件的Windows XP SP3和Windows Vista SP1系統(tǒng)上執(zhí)行。但Matousec說(shuō),所有的Windows版本都可能有漏洞,連Windows 7也不例外。
Matousec呼吁殺毒軟件公司改善運(yùn)用kernel hook的方式,并自稱已研究出怎么做的方法,但這套方法尚未公開(kāi)發(fā)表。
該公司說(shuō):改善kernel hook的安全性,對(duì)安全軟件廠商可能是相當(dāng)復(fù)雜的任務(wù),特別是對(duì)軟件運(yùn)用大量SSDT和其他類型hook的廠商而言。