反病毒軟件江湖:排斥與兼容的戰爭(3) |
發布時間: 2012/7/4 13:47:52 |
反病毒產品的兼容性問題
除了文件監控、防火墻、瀏覽器防護的潛在兼容性問題之外,在多款軟件共存的情況下,主動防御的兼容性問題尤為嚴重。主動防御主要可以分為兩個方面來看待:
1. 自我保護
多款安全軟件都保護自己的監控點不被修改,特別是使用了inline hook或者對系統設備、內核對象、SSDT進行了hook的產品。類似安天Atool等Rootkit檢查工具曾使用過替換進程SSDT保證自己的hook不被修改,但也導致使用SSDT hook的主動防御完全失效的副作用。360安全衛士曾使用替換SSDT的技術對自己的監控點進行保護,導致與其共存的安全軟件主動防御功能中關于SSDT的部分完全失效。
一旦發現自己的監控點被修改,則會對監控點進行修復,也就是重新hook。這就有可能導致多款安全軟件反復爭奪監控點,或者hook直接互相調用造成死鎖,最終耗盡系統資源,導致機器死機。
由于自我保護的存在,病毒感染安全軟件后,依然會被安全軟件的自我保護所保護,其他安全軟件可能無法讀取其內容進行檢測,或者可以檢測,但是無法結束相應的進程。
2. 惡意行為分析
一款軟件出于安全角度考慮,不調用被hook的原始API,則會導致其他軟件在分析惡意行為時,無法檢測到該行為,進而造成程序的行為序列發生改變,最終導致行為分析誤報或者漏報。
由于安全軟件的某些行為和惡意軟件具有相似性,例如:對API進行的某些hook,在多款安全軟件共存的情況下,很有可能一款安全軟件被另一款報為病毒,這也是一種誤報。
為了保證自身進程的行為不被重復記錄或者對行為分析產生影響,安全軟件可能會對特殊API的調用參數含義進行修改,增加自身需要的標識,而這些標識可能會造成后續的監控產生不可預知的行為,最糟糕的情況就是導致系統藍屏。
對于ring3與ring0結合判斷的主動防御,處于二者中間的其他安全軟件對數據的修改可能會造成ring0緩沖區的溢出(例如:ring3的API掛鉤通知ring0的驅動,需要26字節實際數據可能由于中間沙箱軟件的路徑重定向被改為27字節或者更多)或者被截斷,導致系統藍屏或者漏報。
以上僅僅是主動防御潛在兼容性問題的一部分,由于主動防御技術本身的復雜度,在多款實用主動防御技術的安全軟件共存的情況下,兼容性問題就更容易出現,也更加嚴重,這里說明的僅僅是一部分,不是全部。
兼容性問題對反病毒廠商的影響
兼容性是反病毒廠商的核心困擾之一,由于反病毒使用大量的內核技術、驅動等,一旦出現兼容性的后果,其所造成的影響,要遠嚴重于其他應用軟件。同時反病毒產品為了對抗病毒的一些自我防護機制,也會使問題的處置變得比較復雜。因此,多種反病毒軟件之間沖突引發的問題要比其他軟件沖突問題后果更加嚴重。
兼容性沖突問題使反病毒廠商技術支持的難度增大,由于環境的復雜性,問題變得更加難以排查和處理。
特別是企業版產品,廠商承擔著更大的責任和支持義務,如果由于沖突性問題,帶來問題,對于問題的責任、后果的認定等方面都帶來較大壓力。
同時,有的沖突問題由于需要廠商間相互溝通才能解決,因此增加了支持壓力和解決用戶問題的周期。 本文出自:億恩科技【www.laynepeng.cn】 |