|
||||
在80年代末期,誕生了第一個電腦病毒。然後隨即就有了清除病毒的工具──反病毒軟件。這一時期,病毒所使用的技術還比較簡單,從而檢測相對容易,最廣泛使用的就是特征碼匹配的方法。然而為了躲避殺毒軟件的查殺,病毒開始了進化,逐漸演變為變形的形式,每感染一次,就對自身變一次形,通過對自身的變形來躲避查殺。
這樣一來,同一種病毒的變種病毒大量增加,殺毒軟件單純依靠病毒庫和特征碼技術已經不能適應如今的網絡安全。於是,便出現了廣譜特征碼的概念,這個技術在一段時間內,對於處理某些變形的病毒提供了一種方法,但是也使誤報率大大增加,所以采用廣譜特征碼的技術目前也不能有效的對新病毒和未知病毒進行查殺,那麼,現如今種類繁多的殺毒軟件都有哪些新技術和新特征來適應當前的病毒威脅,又是如何實現的呢?
主動防御技術由於傳統的基於病毒庫掃描的反病毒軟件都是很被動的,只能在新病毒出現之後纔能有應付措施,一個病毒制造者所編寫的病毒很有可能在被殺毒軟件廠商截獲並添加到產品病毒庫之前進入用戶電腦。此時,由於該病毒的特征碼還未添加到殺毒軟件病毒庫中,殺毒軟件會將病毒認為是正常文件而放過,使得用戶電腦被病毒所感染。因此,業界將能夠主動檢測和攔截未知威脅的防御方法稱為『主動防御』。
殺毒軟件具有滯後性,這是業界公認的一個殺毒軟件弊端,而主動防御卻很好的解決了這個問題。主動防御技術主要是針對未知病毒提出來的病毒防殺技術,在沒有病毒樣本的情況下,對病毒進行全面而有效的全面防護,阻止病毒的運作,從技術層面上有效應對未知病毒的肆虐。
一是在未知病毒和未知程序方面,通過『行為判斷』技術識別大部分未被截獲的未知病毒和變種。另一方面,通過對漏洞攻擊行為進行監測,這樣可防止病毒利用系統漏洞對其它計算機進行攻擊,從而阻止病毒的爆發。
然而由於主動防御概念,各廠商技術水平不同,其效果懸殊也較大,最顯著的弊端就是常常出現大量的誤報或誤殺,或是將行為監控和病毒特征碼監測結合的方式等同於主動防御,雖然病毒運行時其行為監控有警報提示,但就算用戶選擇『拒絕』操作也無法阻止病毒的運行。
啟發式查毒技術說到主動防御,不得不提起啟發式查毒技術,啟發式查毒技術屬於主動防御的一種,是當前對付未知病毒的主要手段,從工作原理上可分為靜態啟發和動態啟發兩種。
啟發式指『自我發現的能力』或『運用某種方式或方法去判定事物的知識和技能』,是殺毒軟件能夠分析文件代碼的邏輯結構是否含有惡意程序特征,或者通過在一個虛擬的安全環境中前攝性的執行代碼來判斷其是否有惡意行為。在業界前者被稱為靜態代碼分析,後者被成為動態虛擬機。
靜態啟發技術指的是在靜止狀態下通過病毒的典型指令特征識別病毒的方法,是對傳統特征碼掃描的一種補充。由於病毒程序與正常的應用程序在啟動時有很多區別。
通常一個應用程序在最初的指令,是檢查命令行輸入有無參數項、清屏和保存原來屏幕顯示等,而病毒程序則通常是最初的指令是直接寫盤操作、解碼指令,或搜索某路徑下的可執行程序等相關操作指令序列。靜態啟發式就是通過簡單的反編譯,在不運行病毒程序的情況下,核對病毒頭靜態指令從而確定病毒的一種技術。
而相比靜態啟發技術,動態啟發技術要復雜和先進很多。動態啟發式通過殺軟內置的虛擬機技術,給病毒構建一個仿真的運行環境,誘使病毒在殺軟的模擬緩衝區中運行,如運行過程中檢測到可疑的動作,則判定為危險程序並進行攔截。這種方法更有助於識別未知病毒,對加殼病毒依然有效,但如果控制得不好,會出現較多誤報的情況。
動態啟發因為考慮資源佔用的問題,因此目前只能使用比較保守的虛擬機技術。盡管如此,由於動態啟發式判斷技術具有許多不可替代的優勢,因此仍然是目前檢測未知病毒最有效、最可靠的方法之一,並在各大殺軟產品中得到了廣泛的應用。
由於諸多傳統技術無法企及的強大優勢,必將得到普遍的應用和迅速的發展。純粹的啟發式代碼分析技術的應用(不借助任何事先的對於被測目標病毒樣本的研究和了解),已能達到80%以上的病毒檢出率,而其誤報率極易控制在0.1%之下,這對於僅僅使用傳統的基於對已知病毒的研究而抽取『特征字串』的特征掃描技術的查毒軟件來說,是不可想象的.
啟發式殺毒技術代表著未來反病毒技術發展的必然趨勢,具備某種人工智能特點的反毒技術,向我們展示了一種通用的、不依賴於昇級的病毒檢測技術和產品的可能性。