《我是超級工具人》11-防毒產業所面對的問題

《我是超級工具人》06《我是超級工具人》07、和《我是超級工具人》10,我們談到勒索病毒,與找到未知威脅的方法。現在我們來談談防毒產業所面對的問題,為何防毒軟體會失效?為何不能同時裝兩套防毒?我們該如何挑選適合的解決方案?

自從電腦病毒誕生以後,網路上就充斥著許多的犯罪活動。不論是政府機關、大型企業、中小企業以及個人電腦,每年因網路犯罪損失的金額非常可觀。網路犯罪的議題也總是被廣泛討論

早期駭客為了證明自己有高超的能力,或是為了報復以及政治目的,大多數的犯罪活動多是以惡作劇或破壞為目的;但是近年來,這些攻擊都是以利益(金錢)為目標,例如:

  1. 竊取信用卡卡號
  2. 竊取銀行帳密
  3. 竊取遊戲帳密或社交網站帳密
  4. 建立殭屍網路(由一群遭到感染的電腦組成,這些電腦會在一般命令與控制基礎結構下自動執行程式)以獲得大量資料
  5. 利用強制綑綁廣告軟體來獲取金錢
  6. 自動撥號程式讓手機費用暴增
  7. 利用勒索病毒鎖定檔案,逼使用者交錢

駭客組織所從事的地下經濟早就遠遠超越了防毒軟體公司的產值。即使許多知名的駭客已經被警方瓦解(例如:REvil),但是網路犯罪並沒有因此減少,新的駭客團體還是不斷出現,並威脅著全球企業的安全(例如:APT29(Cozy Bear))。根據手上過去資料顯示,2004年因為網路犯罪的損失高達180億美元,並預估每年將以30~40%的比例擴大

而這些犯罪活動則成了下列三種情況的循環:

  1. 駭客散佈惡意程式躲避防毒軟體偵測或找新的漏洞
  2. 使用者的電腦及網路遭到駭客攻擊
  3. 資訊安全廠商開發解決方案以對付各方威脅

防毒廠商概況
以下列出防毒公司的概況,這些公司都有提供完整的防毒解決方案,從網路閘道防毒、伺服器防毒、郵件過濾軟體到個人防毒軟體以及手機防毒
第一線公司,指的是在全球都設有據點:
Broadcom(Symantec)
Trellix(McAfee + Fireeye)
Trend Micro

第二線公司,在特定區域取得領導:
Kaspersky
Sophos
Panda Software
WithSecure(F-Secure)
AhnLab

第三線公司,雖然市佔率較低但也正快速成長中,包括:
Avast!
Arcabit
Doctor Web
ESET
Cyren
BitDefender

後起新秀:
CrowdStrike
SentinelOne

每家防毒軟體都在增加產品的新技術,從早期特徵碼比對、啟發式掃瞄,到現在的入侵防禦系統、雲端防毒、檔案信譽評鑑,每家產品也都非常類似。資訊單位在選購產品時,往往依據偵測綠、介面友善程度、資源佔用度或是其他使用者心得來選擇產品。舉個簡單的例子:A、B、C三種防毒軟體的病毒偵測率分別是10%、50%、99%,A防毒軟體介面複雜且消耗大量記憶體,B防毒軟體記憶體消耗量中等且介面普通,C防毒簡潔易懂且記憶體佔用少,消費者理所當然會選擇C產品;如果選擇了A,則電腦將暴露在危險當中,也會導致作業效率變慢,這也是消費者在選購產品上重要的依據

防毒軟體目前所面對的問題
一個良好的防毒解決方案,理論上應該100%不讓病毒入侵,但這是不可能做到的事,這也正是防毒軟體目前所面對的問題

問題一:惡意程式大量爆發
惡意程式量以每年倍增的情況成長,2022年卡巴斯基每天偵測到約40萬隻惡意程式,即使全球有四十幾家防毒軟體公司,也無法對付如此龐大的威脅,也就是說,任何一個產品都不能抵抗全部的惡意程式。然而,大多數的使用者會還是會因為防毒產品宣稱的功能而去購買。例如:輕巧不佔資源、連續通過VB100測試等等

卡巴斯基Cybermap看到網路世界非常危險,時時刻刻都有攻擊

1990年代我們可以說安裝防毒軟體就能保護電腦安全,那時惡意程式多半是惡作劇、或是因為好玩,並沒有強大的破壞性,數量也在防毒廠商所能應付的範圍(台灣防毒廠商當時是用寄磁片的方式替客戶更新病毒碼)。使用者只需針對被感染的文件做隔離、解毒或刪除即可。但是,現在許多惡意程式是由地下組織所設計,網路上也流傳許多惡意程式產生器,平均每秒就有四個新的惡意程式產生

樣本的捕捉來自於防毒廠商建置的Honeypot(專門誘捕未經授權、非法存取的行為,使分析師能進行偵測或反制)、已被感染的電腦(透過防毒軟體內建的回報系統)、公司資訊人員、網友的回報或其他防毒廠商。雖然防毒廠商表面上是互相競爭,但若一個新的惡意程式爆發,第一個偵測到的廠商大部分會將資訊發送給其他對手,或是上傳到VirusTotal,各家廠商平常也都會進行技術交流

假設有一個惡意程式A被防毒軟體偵測到,這表示已經有許多電腦被惡意程式A感染了而且正在散佈,若是利用作業系統的漏洞,則可能已經傳出嚴重的災情。例如conficker(Net-Worm.Win32.Kido系列),利用MS08-067這個漏洞大量散佈。同時,防毒軟體公司必須在最短時間內提供特徵碼,而且在作業系統廠商尚未修補此項漏洞時提供防護,這也將面臨第二個問題

問題二:特徵碼品質低落
為了防範惡意程式的大量散佈,防毒廠商也被迫在最短時間內釋出特徵碼,以減少感染風險。不幸的是,當特徵碼釋出前,早就有許多電腦遭到感染,而快速釋出的特徵碼不一定能「清除」該惡意程式(「偵測到」和「清除」有差,例如2017年美國國安局武器EquationDrug有許多防毒軟體只能偵測,無法刪除,卡巴斯基是少數可以刪除的廠商)

由於特徵碼釋出時間要快,許多廠商現在都依賴機器自動分析,雖然速度增快了,但是錯誤率也提升了,因為機器分析終究沒有人工分析來得精準,許多破解文件、序號機或是加殼程式往往並不具有惡意行為,卻被報稱為毒。若惡意程式經過加密(例如SHA-256),機器分析也不一定會去做解密動作,這等於是遺漏了這方面的樣本,而有些防毒廠商命名規則也是很鬆散

例如軟體序號產生器,這個檔案並不會對系統造成任何損害,但是將它送到VirusTotal後,可發現有些廠商會報木馬程式,實際上應該報Keygen

防毒軟體誤報也時有所聞。以前防毒廠商並沒有建立系統檔案白名單,在製作特徵碼時可能會誤刪重要檔案,使得系統崩潰。因此現在的防毒廠商甚至會和合格廠商合作,將他們的程式建立在白名單內

問題三:防毒軟體佔用資源
任何一款軟體使用時都會利用電腦資源,防毒軟體尤甚於此,因為防毒軟體會隨時監控使用者開啟檔案、讀取檔案、上網流量、下載過程、封包傳送,偵測與刪除一個檔案也都會消耗電腦資源。若調高防護品質,則效率就會下降,所以要在兩者之間取得平衡。這樣的情況其實很難去解決,若防毒軟體提供快速的掃瞄,勢必會遺漏一些可疑的檔案,但掃瞄速度慢不代表能做深入的檢查

問題四:防毒軟體互不相容
在大多數的案例中,安裝兩個不同的防毒軟體在同一部電腦上以增加保護是不可能的,且兩者會互相干擾。有人說這樣會造成不公平競爭,其實這是沒辦法的事,軟體設計師都想讓其產品不會與其他產品互相排斥,包含防毒軟體,可惜在技術層面上不可行

為了能順利掃瞄檔案並提供完整保護,防毒軟體會寫到系統核心底層架構。若某個檔案被認定是有問題的,由於防毒軟體安裝了中斷點,可以傳回防毒引擎上來中斷這些檔案存取、網路封包或其他可疑行為。然而,有時是無法很輕易地安裝兩個中斷點在核心中,因此造成防毒軟體之間的不相容,使得第二組防毒軟體無法中斷系統事件,或當兩者同時中斷卻造成系統崩潰。

問題五:雲端防毒真如其名抑或是噱頭?
近來許多廠商標榜雲端防毒、AI分析,透過網路將龐大的運算處理程序自動分拆成無數個較小的子程序,再交由多部伺服器所組成的龐大系統經搜尋、運算分析之後將處理結果回傳給用戶

雲端防毒做得比較好的是趨勢科技的Smart Protection Network(簡稱SPN):

  1. 透過SPN蒐集的資料反向追蹤,可以找到惡意程式作者、地下組織,並通知警方
  2. SPN不是只分析一個威脅,而是數萬台以上的伺服器配合高達幾千位專家進行分析,快速處理大量資料,因此使用者能得到立即的更新
  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億次的查詢

只有像這樣大量分析,進而封鎖惡意程式關聯的任何訊息,才能有效阻止現在大量爆發的網路威脅

沒有完美的解決方案
很顯然地,大家都希望尋找一個永久的防毒軟體解決方案,但不幸的是,世界上沒有一個永久的方法可以避免電腦遭受感染。由於惡意程式是人寫的,不是自然演化,因此防毒廠商都是猜測駭客下一步的行動來設計軟體,或是對已經存在的駭客技術來做預防,基本上,防毒廠商都是站在「被動」的一方

就拿兩個防毒廠商最常用的技術來說,特徵碼比對法就是拿一個被製作成二進位的程式碼,來比對被掃瞄的檔案是否符合,若符合則判定有威脅,若不符合則安全。這個方法的優點就是可以百分之百確定檔案是否有問題,而缺點就是惡意程式越多,儲存於資料庫的資料也就越多,造成防毒公司的負擔

「啟發式掃瞄法」則會根據一個檔案的後續動作來判定是否有威脅,優點就是可以偵測未知的惡意程式,缺點就是誤判率較高。假設有一個防毒軟體A它寫的啟發規則可以百分之百正確判斷「現有」的檔案,駭客知道了以後,就會想辦法用別的技術來躲避防毒軟體A的啟發規則,而防毒公司知道啟發規則被破解了又會寫新的規則來預防新的威脅,這就會造成無限循環。所以我們才需要每年不斷購買新的防毒產品,或是更新防毒產品的版本,以因應新的威脅

購買防毒軟體
雖然說了許多防毒軟體所面臨的問題,但我們還是需要購買一款好的防毒軟體來保護自己,畢竟大部分的使用者根本不懂網路安全。那該如何選購呢?客觀而言,就是參考一些來自世界各地機構的測試報告,這些測試包含了偵測率、0-day漏洞、掃瞄速度、防毒廠商對新威脅的反應速度以及清除率等。然而許多機構並未針對防毒品質做測試,因為進行這樣的測試必須蒐集大量的樣本,並記錄防毒軟體從安裝到移除的過程,費時又費工

目前有提供完整測試的有AV-testAV-Comparatives,這些機構對於防毒軟體的偵測率、防毒公司對新惡意程式的反應時間、中毒電腦的解毒率、受感染網站防禦率及系統資源使用等,均進行完整的測試。近年來,MITRE ATT&CK® Evaluations則是用真實駭客入侵方式,完整評估產品防禦力

結論
惡意程式與防毒軟體、駭客與資安專家,這兩個善惡面是共存的,使用者收集到越多的資訊,才能避免令人遺憾的後果

參考文章:The contemporary antivirus industry and its problems

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料