反病毒軟件江湖:排斥與兼容的戰(zhàn)爭(2) |
發(fā)布時間: 2012/7/4 13:47:27 |
防火墻的潛在兼容性問題
目前反病毒產(chǎn)品普遍使用單機防火墻技術(shù)來過濾出入數(shù)據(jù),應(yīng)對來自網(wǎng)絡(luò)的威脅。
目前防火墻的實現(xiàn)方式包括:TDI 、NDIS 、IP Filter 、Windows Filtering Platform 、Winsock Kernel
在以Windows XP為主的時期,多數(shù)防火墻選擇前三者中的某一種或者某兩種結(jié)合的方式。在實際應(yīng)用的過程中,同樣存在多個共存無法同時生效的現(xiàn)象。其原因有:
1.過濾時出于效率考慮,直接將允許通過的包交給下層驅(qū)動處理,而不是后續(xù)的防火墻驅(qū)動。
2.由于NDIS和IP Filter比TDI更接近底層,前兩者實現(xiàn)的防火墻會對TDI層造成影響。
3.XP自帶的IP Filter存在誰先設(shè)置誰先生效的問題。安天盾防火墻與金山防火墻某版本同時使用該方式,如果同時安裝在用戶的機器中,則出現(xiàn)誰先啟動誰先生效的現(xiàn)象。
WFP和Winsock Kernel是自Vista之后引入的方式,兼容性相對而言更好,只要實現(xiàn)得當(dāng),一般沒有兼容性的問題。特別是WFP針對防火墻和IDS類軟件做了設(shè)計上的考慮,兼容性問題得到了較好的解決。這也說明,操作系統(tǒng)提供相對規(guī)范的接口是解決安全產(chǎn)品沖突的較好方式。
瀏覽器防護的潛在兼容性問題
瀏覽器防護多使用ring3 API HOOK。下面結(jié)合網(wǎng)頁防護類的主流產(chǎn)品分析其潛在的兼容性問題。
使用ring3 api hook實現(xiàn)的瀏覽器保護,不可避免的要遇到和文件監(jiān)控一樣的問題。在實際對抗中,網(wǎng)馬不斷發(fā)展升級,已經(jīng)開始將瀏覽器中的ring3 hook摘除,為了對抗此類威脅,主流軟件多會采取不斷檢測自己的hook是否存在,發(fā)現(xiàn)不存在則重新將函數(shù)掛鉤。造成多款軟件爭搶一個API的現(xiàn)象,導(dǎo)致瀏覽器無響應(yīng)或者響應(yīng)緩慢。特別是與CreateProcesss相關(guān)的。
在瀏覽器防護軟件進行行為分析的時候,由于其他瀏覽器防護軟件的參與會對瀏覽器的行為造成一定影響,這些影響可能是對堆棧的影響(由于多了一層Hook,實際調(diào)用的堆?赡軙黾右粚樱。以某瀏覽器防護軟件為例,其堆棧檢測只會向上追溯5層,如果同時共存3個軟件,那么其想要檢測的那層調(diào)用,則會由原來的第5層變?yōu)榈?層,原來的檢測方式就失效了。
例如:360和金山網(wǎng)盾共存時,網(wǎng)馬在創(chuàng)建進程時360進行檢測。如果放行則會通過360的函數(shù)調(diào)用系統(tǒng)API,進而再次調(diào)用金山的進程創(chuàng)建檢測,此時金山追溯堆棧會發(fā)現(xiàn)是360的模塊調(diào)用,而不是JS腳本解釋引擎調(diào)用,予以放行。
即使不考慮對堆棧的影響,由于不同瀏覽器防火軟件都進行了攔截,對瀏覽器的行為也就產(chǎn)生了影響,造成相互的行為分析干擾,無法正確分析惡意行為,進而出現(xiàn)漏報或者誤報的現(xiàn)象。
例如:金山網(wǎng)盾在腳本解釋層根據(jù)特征檢出了惡意腳本,構(gòu)筑在其上層的其他防護的行為分析就無法發(fā)現(xiàn)該惡意腳本的行為。
再例如:360網(wǎng)盾會不斷檢測監(jiān)控點是否存在,而檢測的機制是基于二進制比較的,如果發(fā)現(xiàn)其他軟件進行了HOOK,則用自己的進行替換,導(dǎo)致其他軟件失效。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |