本篇參考Eugene Kaspersky所寫的The contemporary antivirus industry and its problems而成,由於該篇文章年代久遠,因此這篇也加了一些現在所討論的課題。本人才疏學淺,寫得不好還請多多包含並提供意見。
自從電腦病毒誕生以後,網路上就充斥著許多的犯罪活動。不論是政府機關、大型企業、中小企業以及個人電腦,每年因網路犯罪損失的金額都非常可觀。網路犯罪的議題也總是被廣泛討論。
早期駭客為了證明自己有高超的能力,或是為了報復以及政治目的,大多數的犯罪活動多是以惡作劇或破壞為目的;但是近年來,這些攻擊都是以利益(金錢)為目標,例如:
1. 竊取信用卡卡號
2. 竊取銀行帳密
3. 竊取遊戲帳密或社交網站帳密
4. 建立殭屍網路(由一群遭到感染的電腦組成,這些電腦會在一般命令與控制基礎結構下自動執行程式)以獲得大量資料
5. 利用強制綑綁廣告軟體來獲取金錢
6. 自動撥號程式讓手機費用暴增駭客組織所從事的地下經濟早就遠遠超越了防毒軟體公司的產值。即使許多知名的駭客已經被警方瓦解(例如:魯茲安全),但是網路犯罪並沒有因此減少,新的駭客團體還是不斷出現,並威脅著全球企業的安全(例如:Anonymous)。根據研究,2004年因為網路犯罪的損失高達180億美元,並預估每年將以30~40%的比例擴大。
而這些犯罪活動則成了下列三種情況的循環:
1. 駭客散佈惡意程式躲避防毒軟體偵測或找新的漏洞
2. 使用者的電腦及網路遭到駭客攻擊
3. 資訊安全廠商開發解決方案以對付各方威脅
防毒廠商概況以下列出防毒公司的概況,這些公司都有提供完整的防毒解決方案,從網路閘道防毒、伺服器防毒、郵件過濾軟體到個人防毒軟體以及手機防毒。
第一線公司,指的是在全球都設有據點:
公司 年營業額(百萬)
2003 2004
Symantec 1098 1364
McAfee 577 597
Trend Micro 382 508
第二線公司,在特定區域取得領導:
公司 年營業額(百萬)
2003 2004
Sophos 97 116
Panda Software 65 104
Computer Associates 61 74
F-Secure 36 51
Norman 23 31
AhnLab 21 28
第三線公司,雖然市佔率較低但也正快速成長中,包括:Alwil,Arcabit,Doctor Web,ESET,Frisk Software,GriSoft,Avira,Hauri,BitDefender,VirusBuster。
上面的資料是我從尤金的文章中貼來的,我們也可以從2012年3月市場佔有率看出最新的防毒軟體使用率:
http://www.opswat.com/sites/default/files/OP...port-march-2012.pdf每家防毒軟體都在增加產品的新技術,從早期特徵碼比對、啟發式掃瞄,到現在的入侵防禦系統、雲端防毒、檔案信譽評鑑,每家產品也都非常類似。使用者或是網管人員在選購產品時,往往依據各大測試報告(主要是偵測率)、介面友善程度、資源佔用度或是其他人的使用心得來選擇產品。舉個簡單的例子:A、B、C三種防毒軟體的病毒偵測率分別是10%、50%、99%,A防毒軟體介面複雜且消耗大量記憶體,B防毒軟體記憶體消耗量中等且介面普通,C防毒簡潔易懂且記憶體佔用少,消費者理所當然會選擇C產品;如果選擇了A,則電腦將暴露在危險當中,也會導致作業效率變慢,這也是消費者在選購產品上重要的依據。
防毒軟體目前所面對的問題一個良好的防毒解決方案,理論上應該100%不讓病毒入侵,但這是不可能做到的事,這也正是防毒軟體目前所面對的問題。問題一:惡意程式大量爆發惡意程式量以每年倍增的情況成長,即使全球有四十幾家防毒軟體公司,也無法對付如此龐大的威脅,也就是說,任何一個產品都不能抵抗全部的惡意程式。然而,大多數的使用者會還是會因為防毒產品宣稱的功能而去購買。例如:輕巧不佔資源、連續通過VB100測試等等。
從趨勢科技Smart Protection Network可看出每天的惡意程式量非常龐大:
http://go.trendmicro.com/i...attracker/1990年代我們可以說安裝防毒軟體就能保護電腦安全,那時惡意程式多半是惡作劇、或是因為好玩,並沒有強大的破壞性,數量也在防毒廠商所能應付的範圍(還記得趨勢科技當時是用寄磁片的方式替客戶更新病毒碼)。使用者只需針對被感染的文件做隔離、解毒或刪除即可。但是,現在許多惡意程式是由地下組織所設計,網路上也流傳許多惡意程式產生器,平均每4秒就有一個新的惡意程式產生。(說詞來自:
http://www.trendmicro.com...ro/faq.asp)
樣本的捕捉來自於防毒廠商建置的Honeypot(專門誘捕未經授權、非法存取的行為,使分析師能進行偵測或反制)、已被感染的電腦(透過防毒軟體內建的回報系統)、公司網管人員、網友的回報或其他防毒廠商。雖然防毒廠商表面上是互相競爭,但若一個新的惡意程式爆發,第一個偵測到的廠商大部分會將資訊發送給其他對手,各家廠商平常也都會進行技術交流。
假設有一個惡意程式A被防毒軟體偵測到,這表示已經有許多電腦被惡意程式A感染了而且正在散佈,若是利用作業系統的漏洞,則可能已經傳出嚴重的災情。例如conficker(Net-Worm.Win32.Kido系列),利用MS08-067這個漏洞大量散佈。同時,防毒軟體公司必須在最短時間內提供特徵碼,而且在作業系統廠商尚未修補此項漏洞時提供防護,這也將面臨第二個問題。
問題二:特徵碼品質低落為了防範惡意程式的大量散佈,防毒廠商也被迫在最短時間內釋出特徵碼,以減少感染風險。不幸的是,當特徵碼釋出前,早就有許多電腦遭到感染,而快速釋出的特徵碼不一定能「清除」該惡意程式(「偵測到」和「清除」是有差別的)。
由於特徵碼釋出時間要快,許多廠商現在都依賴機器自動分析,雖然速度增快了,但是錯誤率也提升了,因為機器分析終究沒有人工分析來得精準,許多破解文件、序號機或是加殼程式往往並不具有惡意行為,卻被報稱為毒。若惡意程式經過加密(例如SHA-256),機器分析也不一定會去做解密動作,這等於是遺漏了這方面的樣本,而有些防毒廠商命名規則也是很鬆散的,可參考:
不得不公佈!現在還有大廠在使用檔案大小判毒!http://www.avira.com/en/...f-history實際案例:軟體序號機Nero 8 Ultra Edition v8.x Keymaker.exe
將Nero 8軟體序號機送到Threat Expert:
http://www.threatexpert.com/report.aspx?...fc8dbe1f99e97e7dbb從報告得知,這個檔案並不會對系統造成任何損害,但是將它送到Virus Total後......
http://www.virustotal.com/file-scan/report.html?id=3d2f949292c954...f4117878f579236fb84-1312617009AhnLab-V3 2011.08.05.01 2011.08.05 -
AntiVir 7.11.12.233 2011.08.05 -
Antiy-AVL 2.0.3.7 2011.08.06 -
Avast 4.8.1351.0 2011.08.05 -
Avast5 5.0.677.0 2011.08.05 -
AVG 10.0.0.1190 2011.08.06 -
BitDefender 7.2 2011.08.06 -
CAT-QuickHeal 11.00 2011.08.06 Trojan.Agent.IRC
ClamAV 0.97.0.0 2011.08.06 -
Commtouch 5.3.2.6 2011.08.06 -
Comodo 9648 2011.08.06 -
DrWeb 5.0.2.03300 2011.08.06 -
Emsisoft 5.1.0.8 2011.08.06 Riskware.Keygen.Nero!IK
eSafe 7.0.17.0 2011.08.04 Win32.Banker
eTrust-Vet 36.1.8486 2011.08.05 -
F-Prot 4.6.2.117 2011.08.05 -
F-Secure 9.0.16440.0 2011.08.06 -
Fortinet 4.2.257.0 2011.08.06 W32/Turkojan.LWD!tr.bdr
GData 22 2011.08.06 -
Ikarus T3.1.1.104.0 2011.08.06 not-a-virus.Keygen.Nero
Jiangmin 13.0.900 2011.08.05 Backdoor/Turkojan.bvw
K7AntiVirus 9.109.4973 2011.08.02 -
Kaspersky 9.0.0.837 2011.08.06 -
McAfee 5.400.0.1158 2011.08.06 generic!bg.gyj
McAfee-GW-Edition 2010.1D 2011.08.06 generic!bg.gyj
Microsoft 1.7104 2011.08.06 -
NOD32 6354 2011.08.06 -
Norman 6.07.10 2011.08.05 -
nProtect 2011-08-06.01 2011.08.06 -
Panda 10.0.3.5 2011.08.05 -
PCTools 8.0.0.5 2011.08.06 -
Prevx 3.0 2011.08.06 -
Rising 23.69.03.03 2011.08.04 -
Sophos 4.67.0 2011.08.06 -
SUPERAntiSpyware 4.40.0.1006 2011.08.06 -
Symantec 20111.2.0.82 2011.08.06 -
TheHacker 6.7.0.1.272 2011.08.06 -
TrendMicro 9.200.0.1012 2011.08.06 CRCK_KEYGEN.BB
TrendMicro-HouseCall 9.200.0.1012 2011.08.06 CRCK_KEYGEN.BB
VBA32 3.12.16.4 2011.08.06 -
VIPRE 10081 2011.08.06 Trojan.Win32.Generic!BT
ViRobot 2011.8.6.4609 2011.08.06 -
VirusBuster 14.0.154.0 2011.08.05 -
令人驚訝的是,毫無惡意行為可言的樣本竟然被許多防毒軟體廠商偵測出,報not-a-virus或是keygen也就算了,有些甚至顯示為Trojan。
防毒軟體誤報也時有所聞。以前防毒廠商並沒有建立系統檔案白名單,在製作特徵碼時可能會誤刪重要檔案,使得系統崩潰。因此現在的防毒廠商甚至會和合格廠商合作,將他們的程式建立在白名單內。
問題三:防毒軟體佔用資源任何一款軟體使用時都會利用電腦資源,防毒軟體尤甚於此,因為防毒軟體會隨時監控使用者開啟檔案、讀取檔案、上網流量、下載過程、封包傳送,偵測與刪除一個檔案也都會消耗電腦資源。若調高防護品質,則效率就會下降,所以要在兩者之間取得平衡。
這樣的情況其實很難去解決,若防毒軟體提供快速的掃瞄,勢必會遺漏一些可疑的檔案,但掃瞄速度慢不代表能做深入的檢查。
問題四:防毒軟體互不相容在大多數的案例中,安裝兩個不同的防毒軟體在同一部電腦上以增加保護是不可能的,且兩者會互相干擾。有人說這樣會造成不公平競爭,其實這是沒辦法的事,軟體設計師都想讓其產品不會與其他產品互相排斥,包含防毒軟體,可惜在技術層面上是不可行的。
為了能順利掃瞄檔案並提供完整保護,防毒軟體幾乎會寫到系統核心內。若某個檔案被認定是有問題的,由於防毒軟體安裝了中斷點,可以傳回防毒引擎上來中斷這些檔案存取、網路封包或其他可疑行為。然而,有時是無法很輕易地安裝兩個中斷點在核心中,因此造成防毒軟體之間的不相容,使得第二組防毒軟體無法中斷系統事件,或當兩者同時中斷卻造成系統崩潰。
問題五:雲端防毒真如其名抑或是噱頭?近來許多廠商標榜「雲端防毒」,透過網路將龐大的運算處理程序自動分拆成無數個較小的子程序,再交由多部伺服器所組成的龐大系統經搜尋、運算分析之後將處理結果回傳給用戶。
雲端防毒做得比較好的就是趨勢科技的Smart Protection Network(簡稱SPN)。根據趨勢科技表示其特點如下(參考integear所寫
一鳴驚人:TMSPN上市發表會心得整理):
(1)透過SPN蒐集的資料反向追蹤,可以找到惡意程式作者、地下組織,並通知警方。
(2)SPN不是只分析一個威脅,而是34000台以上的伺服器配合1000多位專家進行分析,快速處理大量資料,因此使用者能得到立即的更新。
(3)SPN是透過Host-based Intrusion Prevention(簡稱HIPS,安裝在電腦上,監控所有在電腦上的程序活動)、啟發式、大量而複雜的演算法、異常行為來抓取樣本。並非是使用者中毒之後才回傳樣本。
(4)SPN透過「社群智慧」、「關連性分析」、「整合回報」架構起來;社群智慧包含「Smart Feedback」,它會記錄網路上的可疑行為,再透過演算法過濾,最後以雲端技術達到立即更新的資訊;關連性分析則包含「Monitor And Select」,透過演算法擷取大量資料,並選取必要的資訊,接下來「Incident Trigger」會標記順序先後,之後「Correlate」交叉比對尋找眾多檔案之間的關聯性。最後利用「Intelligent Scoring」給樣本打上分數。
(5)SPN會將類似的網址做關連性分析。因為惡意程式作者可能會為了逃避追蹤而設定亂數網址。
(6)SPN每天處理的資料大於1.2TB,每天分析用戶50億次的查詢。
因此像趨勢科技這樣的雲端,是可以有效達到遏止惡意程式的流竄。然而某些防毒軟體打著「99秒雲鑑定」或是「1秒雲鑑定」,只是將雲端技術拿來分析單一檔案,這樣對於惡意程式的防護能力明顯下降許多。
沒有完美的解決方案很顯然地,大家都希望尋找一個永久的防毒軟體解決方案,但不幸的是,
世界上沒有一個永久的方法可以避免電腦遭受感染。由於惡意程式是人寫的,不是自然演化,因此防毒廠商都是猜測駭客下一步的行動來設計軟體,或是對已經存在的駭客技術來做預防,基本上,防毒廠商都是站在「被動」的一方。
就拿兩個防毒廠商最常用的技術來說,特徵碼比對法就是拿一個被製作成2進位的程式碼,來比對被掃瞄的檔案是否符合,若符合則判定有威脅,若不符合則安全。這個方法的優點就是可以百分之百確定檔案是否有問題,而缺點就是惡意程式越多,儲存於資料庫的資料也就越多,造成防毒公司的負擔。
「啟發式掃瞄法」則會根據一個檔案的後續動作來判定是否有威脅,優點就是可以偵測未知的惡意程式,缺點就是誤判率較高。假設有一個防毒軟體A它寫的啟發規則可以百分之百正確判斷「現有」的檔案,駭客知道了以後,就會想辦法用別的技術來躲避防毒軟體A的啟發規則,而防毒公司知道啟發規則被破解了又會寫新的規則來預防新的威脅,這就會造成無限循環。所以我們才需要每年不斷購買新的防毒產品,或是更新防毒產品的版本,以因應新的威脅。
購買防毒軟體雖然說了許多防毒軟體所面臨的問題,但我們還是需要購買一款好的防毒軟體來保護自己(請參考:
我必須不客氣的說:大部分的End User根本不懂網路安全!),那該如何選購呢?客觀而言,就是參考一些來自世界各地機構的測試報告,這些測試包含了偵測率、0-day漏洞、掃瞄速度、防毒廠商對新威脅的反應速度以及清除率等。然而許多機構並未針對防毒品質做測試,因為進行這樣的測試必須蒐集大量的樣本,並記錄防毒軟體從安裝到移除的過程,費時又費工。
目前有提供完整測試的有AV-test(
http://www.av....org)及AV-Comparatives(
http://www.av-com...es.org),這些機構對於防毒軟體的偵測率、防毒公司對新惡意程式的反應時間、中毒電腦的解毒率、受感染網站防禦率及系統資源使用等,均進行完整的測試。另外,PC Security Labs(
http://www.pcsecu...bs.net)、Virus Bulletin(
http://www.virusb.../index)及WestCoastLabs(
http://www.westc...bs.org)等則主要是針對偵測率做測試。
結論惡意程式與防毒軟體、駭客與資安專家,這兩個善惡面是共存的,使用者收集到越多的資訊,才能避免令人遺憾的後果。
最後廢話:大家好像都知道現實世界要防詐騙集團、小心歹徒,卻在網路世界讓自己處於危險