**這篇文章是發表在今年三月資安人雜誌**
為什麼我要寫「如何測試與選擇防毒軟體和反間諜軟體」這篇文章呢?其實,最主要的目的是要向各位說明國外的測試機構或資安雜誌如何測試或評比防毒軟體和反間諜軟體,以及比較國外與國內的測試機構 (Malware-Test Lab) 對防毒軟體和反間諜軟體的測試方法有何差異。如果各位了解這些內容,想必對各位在選擇防毒軟體和反間諜軟體有莫大的幫助。
測試方法有哪些
一般在對防毒軟體和反間諜軟體的測試上,可分為軟體和硬體兩部份;軟體部分可分為用戶端、伺服器端、閘道端等等,硬體部分可分為用戶端、閘道端、電信用戶端等等。測試方法大概有下列幾種:
一、即時掃描測試 (On-Access Scan)
- 大部分的防毒軟體都有即時掃描,當對檔案進行存取時,它們就會發生作用,而且,它們都是實作在系統核心模式 (Kernel Mode)下。這個測試主要是在測試防毒軟體是否可以即時偵測到入侵的病毒樣本。
- 幾乎所有的間諜軟體都有即時防護,但與防毒軟體的即時掃描有極大的差異,因為反間諜軟體的即時防護是行為偵測或監控 (Behavior-Based Detection or Monitor)。當執行一個檔案時,系統發生改變 (如檔案、註冊碼等等),反間諜軟體會彈出一個視窗警告使用者是否允許或拒絕改變,決定權在於使用者。反間諜軟體的即時防護都是實作在系統使用者模式 (User Mode),如果間諜軟體執行的夠快的話,間諜軟體是極可能可以成功地感染系統。
- 對防毒軟體而言,大部分的測試機構都會做這項測試,因為只要有樣本即可做此項測試,但對間諜軟體而言,大部分的測試機構都不會做此項測試,因為它們即時防護應該都偵測不到。
二、手動掃描測試 (On-Demand Scan)
- 所有的防毒軟體手動掃描測試都是針對檔案。這個測試是將病毒樣本放置在某個檔案夾,然後,開啟防毒軟體針對那個檔案夾進行掃描,等待掃描完成之後,再計算多少檔案被偵測為病毒。事實上,即時掃描與手動掃描的測試結果必須一致,否則,就必須檢查是測試有問題,還是防毒軟體有問題。
- 反間諜軟體手動掃描測試比較特別,它可以針對檔案、註冊碼、Cookies等進行掃描,所以,做起來比較麻煩,大部分的測試機構還是針對檔案進行測試。
- 大部分的測試機構都會做此項測試,因為只要有樣本即可。
三、啟發式掃描測試 (Heuristic Scan)
- 防毒軟體掃瞄引擎幾乎都有一個處理器的模擬器,會根據一些規則來判斷是否為惡意程式,但有些正常的軟體也會有這些規則,因此,導致誤判,所以,這項測試都會與誤判掃描測試一起進行。這個測試主要是要測試防毒軟體對未知病毒的偵測能力。
- 反間諜軟體幾乎都沒有此項功能。
- 對防毒軟體而言,大部分測試機構都不會做此項測試,最主要原因是此項測試需要花費比較長的時間,而且,也必須對防毒軟體引擎有相當了解的人才有能力做此項測試。對反間諜軟體而言,則不需做此項測試。
四、誤判掃描測試 (False-Positive Scan)
- 防毒軟體引擎是依據病毒庫的病毒特徵來做比對,如果在病毒庫找到此項特徵,就視為病毒,但有時候病毒特徵設計不好,就會產生將正常檔案視為病毒的情形,這就稱為誤判。這個測試主要是測試防毒軟體的可靠度,通常會與啟發式掃描一起做測試。
- 大部分的測試機構都不會做此項測試。
五、檔案清除測試 (File-Clean Test)
- 有些病毒會感染系統的正常檔案,必須將這些受感染的檔案收集起來,再使用防毒軟體引擎對其做清除的動作,然後,檢查清除的檔案是否還包含惡意程式碼以及是否能正常的開啟。這個測試主要是在測試防毒軟體引擎對受感染檔案的清除能力。
- 大部分防毒軟體引擎都支援此項功能,但大部分的反間諜軟體都不支援此項功能,不過,它們藉著加入防毒軟體引擎達成此項功能。
- 對防毒軟體而言,大部分的測試機構不會做此項測試,因為需要花費大量時間,而且,還必須要有分析病毒的能力。對反間諜軟體而言,都沒有做此項測試,因為以前的間諜軟體都不會感染系統檔案,不過,現在有些間諜軟體則會感染系統檔案。
六、系統清除測試 (System-Clean Test)
- 在執行病毒或間諜軟體檔案之後,大部分的病毒會建立或修改系統的執行程序、檔案、註冊碼等地方,所以,防毒軟體引擎必須針對這些行為進行修復動作。這個測試主要是在測試防毒軟體引擎對已感染的系統的清除能力。有時候防毒軟體或反間諜軟體會刪掉一些不該刪除的檔案或註冊碼,所以,必須特別小心。
- 所有的反間諜軟體都支援此項功能。
- 對防毒軟體而言,大部分都沒有整合此項功能。防毒軟體廠商是根據病毒熱門程度,單獨提供修復程式。對反間諜軟體而言,只有少數的測試機構會做此項測試,因為必須要有相當的技術能力,才能做此項測試,而且,需要花費大量時間。為了節省時間,有些測試機構沒有實際安裝樣本,不過,這樣的測試結果就不能算是公正。
七、穩定度測試 (Stability Test)
- 大部分的防毒軟體都有驅動程式 (Driver),有時候會因為某些因素造成系統不太穩定,對於反間諜軟體來說,以前大部分都沒有驅動程式,但因為為了有效攔截間諜軟體或惡意程式,現在已經有越來越多的趨勢。這個測試主要是在測試當使用防毒軟體或反間諜軟體時,系統是否會常常當機或不穩定。
- 大部分的測試機構都不會做此項測試。
八、壓力測試 (Stress Test)
- 當系統在高度缺乏資源 (如很高的處理器使用量等) 下所做的測試。這個測試主要是在測試防毒軟體或反間諜軟體是否會有異常狀況。
- 大部分的測試機構都不會做此項測試。
九、效能測試 (Performance Test)
- 這個測試主要是在測試防毒軟體或反間諜軟體是否會對系統產生效能瓶頸。有些防毒軟體或反間諜軟體掃瞄速度非常的慢,有時候會拖垮系統效能,以致影響其他的應用程式執行。
- 大部分的測試機構都不會做此項測試。
十、記憶體使用量測試 (Memory-Usage Test)
- 這個測試主要是在測試防毒軟體或反間諜軟體是否會使用大量記憶體。有些防毒軟體或反間諜軟體會使用大量記憶體,以至於系統其他應用程式無法取的足夠的記憶體或是影響系統效能。
- 大部分的測試機構都不會做此項測試。
十一、硬碟使用量測試 (Disk-Usage Test)
- 這個測試主要是在測試防毒軟體或反間諜軟體是否會使用大量的硬碟空間。
- 大部分的測試機構都不會做此項測試。
十二、反安裝測試 (Uninstallation Test)
- 這個測試主要是在測試防毒軟體或反間諜軟體是否能完全反安裝。有些防毒軟體或反間諜軟體在反安裝之後,常常會殘留一些檔案或程式在系統裡,因而,出現一些奇怪的問題。
- 關於掃描速度,有些防毒軟體非常快就完成掃描工作,有些則花費非常久的時間。例如,有十萬隻病毒檔案,有些防毒軟體只需花費一到二個小時左右就能完成掃描,有些則需花費二十四小時左右才能完成,差異非常的大。本人認為這可能與啟發性掃描 (Heuristic Scan) 有關。
- 關於啟發式掃描,有些防毒軟體的誤判率很高,不過,需要進一步測試。
- 關於即時掃描,大部分防毒軟體只針對檔案,其他的如註冊碼等就不管了,導致無法有效防禦未知病毒。
- 關於加殼程式 (Packer Program),其主要的功能就是透過某些方法將一個較大的檔案壓縮成較小的檔案,而且,當執行壓縮過的檔案,會直接被載入記憶體中執行,而不會先將檔案解壓縮暫存於硬碟中。很多病毒樣本其實是同一隻病毒,但它被很多不同的加殼程式壓縮過,導致很多防毒軟體無法偵測它。大部分防毒軟體對於加殼的病毒,其偵測率皆很低。
- 關於效能問題,很多系統在安裝某些防毒軟體之後,效能很明顯下降許多。大部份原因是佔用太多系統資源,導致其他應用程式無法獲得系統資源。
- 關於系統清除,大部分的防毒軟體都不直接支援此項功能,而是發生中毒現象後,才可能提供修復程式給使用者。
- 關於反安裝問題,很多防毒軟體反安裝之後,都會殘留一些檔案於系統中,無法完全移除。
- 關於間諜軟體清除問題,大部分的反間諜軟體都不是很好,最好的大概也只有百分之八十左右。
- 關於註冊碼誤判問題,它們不像檔案,可以檢查其內容,所以,大部分反間諜軟體常常會把正確的註冊碼當成不正常的註冊碼,導致系統產生不穩定現象。
- 關於檔案辨識問題,因為大部分的反間諜軟體都是用MD5的演算法對整個檔案進行掃描,但間諜軟體的作者知道這點,所以,常常會對檔案內容作手腳,導致反間諜軟體很難以偵測它們。
- 關於註冊碼辨識問題,因為大部分的反間諜軟體都是用常規表示法 (Regular Express) 來做比對,間諜軟體常常隨意產生一些註冊碼,而且,每次都不相同,導致反間諜軟體很難偵測它們。
- 關於自動更新問題,很多間諜軟體都有此功能,常常做自我更新,導致反間諜軟體很難偵測及清除它們。
- 關於即時防護問題,大部分的反間諜軟體都是實作在使用者模式 (User Mode), 有時候間諜軟體已經執行完畢後,反間諜軟體才顯示警告視窗,其實,間諜軟體已經感染系統了。
- 如果有即時防護存在,一個作業系統只能安裝一套防毒軟體 (Windows XP SP2以後,微軟提出了一個 Mini Filter架構,允許安裝多個防毒軟體),但可以安裝多套反間諜軟體,主要原因是防毒軟體的即時防護是實作在核心模式 (Kernel Mode)以監控檔案的存取動作,如果同時安裝其他的防毒軟體,可能會造成系統死當 (Deadlock)、不穩定或競爭條件 (Race Condition) ,但大部分的反間諜軟體是實作在使用者模式 (User Mode),即使發生問題,也不致影響系統運作。
- 大部分的防毒軟體都是依賴特徵碼對檔案進行偵測,然後,採取刪除或隔離動作,但大部分間諜軟體是對整個系統做清除的動作,差別在於間諜軟體已經感染系統,然後,才執行清除動作。
- 防毒軟體的即時防護是對整個檔案系統的存取動作進行掃描,但反間諜軟體的即時防護是對局部的系統做監控動作,無法保護整個系統。
- 選擇售後服務好的廠商,否則,有時候發生問題,還不知要找誰來解決。
- 對可疑檔案、未知病毒或間諜軟體,選擇反應時間與解決問題快的廠商,否則,別的防毒軟體或反間諜軟體已經可以偵測到了,你還在癡癡的等待。
- 選擇偵測率較高的產品。各位要知道一個觀念,現在的測試機構都是針對已知病毒或間諜軟體去做測試,但未知的東西遠大於已知的東西。
- 選擇防護力較佳的產品,不過,各位很難去評估,如果有經費的話,還是請專業的測試機構幫忙做評估。
- 選擇清除病毒或間諜軟體能力佳的產品。
- 選擇不會影響系統效能及穩定度的產品。
- 如果可以的話,只安裝一家防毒軟體的即時防護為主,再安裝二至三家其他家的防毒軟體 (沒有即時防護) 為輔,之後,再安裝二至三家反間諜軟體,然後,定期做系統掃瞄,以確保安全。
- 最後一點是一定要試用,然後,觀察其他的同事有什麼反應或意見。
文章標籤
全站熱搜

COMMENT: 個人覺得只要多看你們的測試報告就對啦! 還有,引用文章: ..再安裝二至三家其他家的防毒軟體(沒有即時防護)為輔... 但是目前有一定水準卻沒有即時防護的防毒軟體不多吧?有時關掉它們的即時防護還不太容易,時間到了又自動開啟!! -----
COMMENT: 網路安全已經是現代人上網最大的問題,一般人我想還是沒辦法很專業的去判斷這些防護軟體的好壞! 如果不方便公開推薦的話,可以方便email告訴我嗎?
COMMENT: 選擇排名在前十名比較好,另外,看你自己喜歡那個品牌最重要囉。
COMMENT: 不知道閣下對Winpooch(免費軟體)是否有研究? 它適不適合一般user阻擋奇怪的程序....
COMMENT: 我知道這個軟體,但尚未測試過,找時間測試,再把結果 post 上來囉。
COMMENT: 公司是用T牌,但我還有裝AVG_free在電腦中.. 結果是若沒裝AVG, T牌遇到病毒時完全不會動作. 但是裝了AVG,T牌就會ALARM.. 若只裝AVG,AVG會ALARM... 所以我現在都是以AVG為主,T牌為輔(不過T牌好耗資源,不怎想用) PS:僅用T牌的其他電腦3不5時就中毒,我的還好好的..YA!!!
COMMENT: 請問一台電腦可以裝兩種防毒軟體嗎?(因為我家有人使用電腦的習慣不好就是喜歡用關鍵字搜尋網頁看.還有就是別人提共的網址都會去按..講也講不聽..欸..) 我用的是avast!因該搭配哪種防火牆比較好呢?
COMMENT: 如果有即時防護的功能,基本上是不可以的,因為有時候系統會死當。兌於一般使用者的系統,如果沒有重要的資料,系統使用一段時間後,就利用還原光碟還原整個系統,這樣比較容易。至於防火牆 (Kerio,Outpost, ZoneAlarm),都差不多吧!
COMMENT: 請問: 每天掃毒會傷害硬碟嗎? (我每天都會掃毒耶~~不掃不安心-.-)
COMMENT: 硬碟沒有這麼容易壞啦,所以,請放心囉。
COMMENT: 在Outpost Pro版的licence到期後,我調查並試用了下面2款還不錯,又免費的個人用防火牆,提供參考: Comodo Firewall ZoneAlarm Free 另Outpost的免費版因很久沒更新了,不建議使用,現在本人用Comodo的防火牆。
COMMENT: 請問一下 ,我用AVG_FREE + T牌的防毒.. 只是速度有點慢(原本只裝T牌的就會慢) 還沒當掉ㄚ... 因為家裏用的通常掛掉比較沒關係,公司的一些報告資料如果 中毒被刪就掛了...>_
COMMENT: 那就繼續用囉。