反病毒產品兼容沖突問題 |
發布時間: 2012/7/4 14:11:19 |
反病毒產品之間的兼容性沖突問題,絕大多數情況下,都是技術與協調的問題,有其工作機理上的必然性,并往往具有一定的不可避免性。反病毒產品從最開始的行命令掃描工具發展至今,已經形成了帶有文件、注冊表、內存等多種本地監控機制。
瀏覽器、郵件客戶端等多種保護環節;以及整合了主機防火墻、入侵檢測機制、主動防御機制的綜合型產品。而其核心價值早在上世紀末,就已經從最開始的靜態的文件掃描檢測,變成實時化的主機防護。而實時化的防護推動了反病毒產品使用更多的服務、驅動等底層技術,運行于更接近系統內核的位置,這也為反病毒產品產生相互兼容性問題打下了伏筆。 隨著操作系統的復雜化,威脅的不斷離散化等影響,反病毒的監控保護點也日趨復雜,又加之反病毒廠商數量也在增加,而操作系統廠商并沒提供比較標準的技術規范,因此反病毒產品因互不兼容,發生共存沖突等問題越來越多,并間接影響了用戶對反病毒產品的信任。 目前己經發現并被報道過的兼容性問題包括: 造成系統崩潰和其他嚴重故障: 從2000年以來,根據公開報道,已經出現多起因反病毒產品之間相互沖突,而導致系統藍屏、死鎖等事件。 資源占用: 反病毒掃描、監控和其他防護機制,都會帶來系統資源的占用。如病毒庫的內存展開對內存的資源使用,文件監控、定時掃描可能導致更多的I/O開銷、以及各種保護機制對CPU時間片的占用等等。 這些對用戶操作有一定影響,如系統延遲、文件復制操作時間變長等等。而由于消息傳遞等機制,有可能在多種反病毒產品共存時,其對資源和時間的影響不是簡單的線性疊加,而是出現明顯的性能惡化。 失效: 由于監控機制之間的沖突,多種監控機制共存時,有可能造成其中之一失效,或者部分機制雙雙失效的風險。上述后果,可以在兼容性測試中被復現。 相互誤報: 由于廠商之間互信互通機制尚不夠通暢,以及少數惡意的“誤報構造”攻擊的存在,廠商之間出現相互誤報的情況,也時常發現。由于被報警為病毒而嚴重地影響了用戶對產品的信心,因此,各廠商對被誤報的問題也均比較敏感。 但需要指出的是,絕大多數情況下,反病毒產品之間的兼容性沖突問題,都是技術與協調的問題,有其工作機理上的必然性,并往往具有一定的不可避免性。相關問題多數并不是由商業競爭引發的,商業競爭也不是反病毒產品兼容沖突問題的本質。本文主要介紹當前反病毒產品沖突的主因,以澄清公眾誤解。 由于此類技術也多被惡意軟件使用,一些安全軟件不會在執行完自己的代碼后執行修改前的自己,而是采用從原始文件中讀取、分析、執行的方式,導致多個安全軟件同時監控一個API時,只有一個生效。 出于性能考慮,不傳遞給原API處理而采用自己實現的代碼完成該API的相應功能,那么也不會將相關信息傳遞給其他軟件。 部分軟件在執行完自己的函數后會把修改后的字節還原,然后調用原系統API完成功能后再次修改、掛鉤。兩個使用此實現的軟件同時工作則可能造成互相調用導致死鎖,程序沒有響應。 (b) Ring0文件監控。與ring3的情況類似,但是后果更加嚴重。 由于inline hook不同實現造成的不兼容性很可能導致系統API無法正常工作,導致系統藍屏。 例如:安天客戶端產品(Antiy Ghostbusters4.0)早期版本采用大量inline hook,后因與其他產品嚴重沖突放棄;360安全衛士中inline hook有幾種不同實現方式共存的現象,并且與360安全瀏覽器有重合的監控點; 掛鉤之間相互調用,會導致死鎖,系統死機; 采用替換SSDT的方式,則只有自己的掛鉤有效,其他軟件的掛鉤均無效。 例如:360安全衛士等產品采用替換SSDT的方式,與其共存的安全軟件通過標準方法獲取的SSDT是無效的,導致其他安全軟件功能出現缺失; Vista以后微軟對內核進行保護,部分對內核函數的修改會導致系統藍屏。 例如:多個產品在內測和對外版本都出現過對關鍵內核函數進行修改,但是并沒有仔細判斷版本,導致兼容性出現問題而使系統藍屏。 反病毒產品兼容沖突問題的討論就到此為止,希望大家已經有所收獲了,我們還會更多的關注這方面的內容的。 本文出自:億恩科技【www.laynepeng.cn】 |