概述
最近這幾年,已經很少看見大規模的惡意程式感染或傳播,取而代之的是目標式攻擊(Target Attack)的惡意程式,而且大部分是以賺取金錢為目的。那惡意程式的數量減少了嗎?其實並沒有,反而增加了非常多,多到令防毒軟體公司疲於更新惡意程 式特徵碼,但也無法有效地或即時地保護他們的客戶免於中毒。
各位會發現今年新版本的防毒軟體多了一個主要的功能 — 行為偵測防護。大約四、五年前,就有人提出這個構想,但防毒軟體公司認為這個技術太容易造成誤判和干擾使用者行為,但為什麼四、五年後,防毒軟體公司會將此技術加入防毒軟體中呢?因為傳統偵測方式已經無法有效處理大量的惡意程式樣本和未知惡意程式樣本。
現今防毒軟體的困境現今防毒軟體有下面幾個主要的難題,使得防毒軟體都無法有效地偵測到這些惡意程式:
- 惡意檔案被一種或多種加殼程式(Packer Program)壓縮過
- 惡意程式產生器所生成的檔案
- 惡意程式使用隱匿技術 (Rootkit Technique)
- 惡意程式使用DLL injection的技術
- 目標式攻擊的惡意程式樣本收集不易
- 無法有效清除已感染惡意程式的系統 (大部分的防毒軟體都無法有效清除惡意程式)
- 編過碼的惡意Script (如JavaScript, VBScript等)
- 傳統的偵測方式(特徵碼)已無法有效處理每日收集到的惡意程式樣本數量(亦即很多樣本都沒有時間建立特徵碼)
防毒軟體偵測率的迷思
大部分的人應該都認為防毒軟體的偵測率越高越好,所以,當選擇防毒軟體時,只看此項目,而忽視了其他項目(或其背後所隱藏的含意),其實,這是種迷思:
- 所有防毒軟體測試機構所使用的測試樣本都是已知的惡意程式(除非有一種比較好的方法),其中包含許多N年前的老舊樣本或Zoo病毒。我們無法估計 到底有多少未知的惡意程式存在網際網路上,所以,這裡所說的偵測率只能當成一種參考(或是說防毒軟體公司提供惡意程式特徵碼的速度,也許有人會反對此說 法)。
- 到底是被特徵碼偵測到的,還是被啟發式掃瞄的特徵碼偵測到的呢?這很重要,因為它所隱含的意義是高或低誤判率。如果是被啟發式掃瞄偵測到的,根據其設定值,會出現不同的誤判率(誤判率不可能為零)。
- 防毒軟體測試機構技術能力不足,所以,只能提供此測試報告。只要能收集到大量的惡意程式樣本,任何人便可以進行此項測試。
惡意程式感染生命週期
傳統惡意程式偵測方式,往往必須收集到樣本,才能建立特徵碼,然後,經由病毒碼更新後,才能保護客戶系統或網路之安全,但從收集樣本至病毒碼更新期間是一段空窗期,亦即,你的系統或網路無法有效防禦此惡意程式的攻擊,所以,如何縮短此空窗期,也是一個很重要的課題。
什麼是行為偵測技術
簡單地說,就是監控系統任何活動,包含檔案/註冊碼/系統服務之新增/刪除/修改、執行程序之新增/終止等等。當惡意程式/正常應用程式執行時,使得系統產生變化,防毒軟體行為偵測防護就會根據其預設規則做相對應之處理動作(下圖是一個例子)。
行為偵測技術可以實作在系統使用者模式或核心模式,其中以系統核心模式的防護功效較佳,相對地,如果所撰寫的程式碼品質不佳,很容易造成系統死當或出現死亡的藍色畫面(BSOD),通常必須經過一段很長時間的測試驗證,才能穩定其程式碼品質。
大部分的防毒軟體行為偵測技術皆實作在系統核心模式(這也就是為什麼防毒軟體公司不敢隨便提供此技術給他們客戶的原因,因為必須確保其品質),但大部分的反間諜軟體皆實作在系統使用者模式(已經有些反間諜軟體變更至系統核心模式),這也就是為什麼防毒軟體的防護能力比反間諜軟體較佳的原因之一。
惡意程式攔截點及服務產業分佈情形
根據趨勢科技的統計(期間:7/31/2006~6/30/2007,地區:台灣,電腦數目:35萬台,病毒記錄:123,050,171 筆),大部分惡意程式攔截點發生在用戶端及伺服器端,佔了96%,此數字讓人覺得驚訝,難道,他們都沒有安裝閘道端的防毒軟體嗎?
行為偵測技術適合哪類的防毒軟體
基本上,行為偵測技術較適合加入用戶端的防毒軟體,因為行為偵測技術是根據惡意程式/正常應用程式執行時,對系統產生的變化做相對應之處理動
轉自大砲開講
0 意見: