1994年2月18日,我國正式頒布實施了《中華人民共和國計算機信息系統安全保護條例》,在《條例》(計算機愛好者,學習計算機基礎,電腦入門,請到本站http://.,我站同時提供計算機基礎知識教程,計算機基礎知識試題供大家學習和使用),第二十八條中明確指出:“計算機病毒,是指編制或者在計算機程序中插入的破壞計算機功能或者毀壞數據,影響計算機使用,並能自我復制的一組計算機指令或者程序代碼。”這是我國對於計算機病毒的正式定義,但是在實際中,所有會對用戶的計算機安全產生威脅的,都被劃入了廣義的病毒范疇。
病毒大致分為以下幾類:傳統病毒,宏病毒,惡意腳本,木馬、黑客、蠕蟲、破壞性程序。
1. 傳統病毒:能夠感染的程序。通過改變文件或者其他東西進行傳播,通常有感染可執行文件的文件型病毒和感染引導扇區的引導型病毒; 2.宏病毒(Macro):利用Word、Excel等的宏腳本功能進行傳播的病毒;
3.惡意腳本(s cript)、:做破壞的腳本程序。包括HTML腳本、批處理腳本、VB、JS腳本等;
4.木馬(Trojan)程序:當病毒程序被激活或啟動後用戶無法終止其運行。廣義上說,所有的網絡服務程序都是木馬,判定是否是木馬病毒的標准不好確定,通常的標准是:在用戶不知情的情況下安裝,隱藏在後台,服務器端一般沒有界面無法配置;
5.黑客(Hack) 程序:利用網絡來攻擊其他計算機的網絡工具,被運行或激活後就象其他正常程序一樣有界面;黑客程序是用來攻擊/破壞別人的計算機,對使用者本身的機器沒有損害;
6.蠕蟲(Worm)程序:蠕蟲病毒是一種可以利用操作系統的漏洞、電子郵件、P2P軟件等自動傳播自身的病毒;
7.破壞性程序(Harm):病毒啟動後,破壞用戶計算機系統,如刪除文件,格式化硬盤等。常見的是bat文件,也有一些是可執行文件,有一部分和惡意網頁結合使用。
病毒與引擎的變遷
簡單特征碼
80年代末期,基於個人電腦病毒的誕生,隨即就有了清除病毒的工具──反病毒軟件。這一時期,病毒所使用的技術還比較簡單,從而檢測相對容易,最廣泛使用的就是特征碼匹配的方法。
特征碼是什麼呢?比如說,“如果在第1034字節處是下面的內容:0xec , 0x99, 0x80,0x99,就表示是大麻病毒。”這就是特征碼,一串表明病毒自身特征的十六進制的字串。特征碼一般都選得很長,有時可達數十字節,一般也會選取多個,以保證正確判斷。殺毒軟件通過利用特征串,可以非常容易的查出病毒。
廣譜特征
為了躲避殺毒軟件的查殺,電腦病毒開始進化。病毒為了躲避殺毒軟件的查殺,逐漸演變為變形的形式,每感染一次,就對自身變一次形,通過對自身的變形來躲避查殺。這樣一來,同一種病毒的變種病毒大量增加,甚至可以到達天文數字的量級。大量的變形病毒不同形態之間甚至可以做到沒有超過三個連續字節是相同的。
為了對付這種情況,首先特征碼的獲取不可能再是簡單的取出一段代碼來,而是分段的,中間可以包含任意的內容(也就是增加了一些不參加比較的“掩碼字節”,在出現“掩碼字節”的地方,出現什麼內容都不參加比較)。這就是曾經提出的廣譜特征碼的概念。這個技術在一段時間內,對於處理某些變形的病毒提供了一種方法,但是也使誤報率大大增加,所以采用廣譜特征碼的技術目前已不能有效的對新病毒進行查殺,並且還可能把正規程序當作病毒誤報給用戶。
啟發式掃描
為了對付病毒的不斷變化和對未知病毒的研究,啟發式掃描方式出現了。啟發式掃描是通過分析指令出現的順序,或特定組合情況等常見病毒的標准特征來決定文件是否感染未知病毒。因為病毒要達到感染和破壞的目的,通常的行為都會有一定的特征,例如非常規讀寫文件,終結自身,非常規切入零環等等。所以可以根據掃描特定的行為或多種行為的組合來判斷一個程序是否是病毒。
這種啟發式掃描比起靜態的特征碼掃描要先進的多,可以達到一定的未知病毒處理能力,但還是會有不准確的時候。特別是因為無法確定一定是病毒,而不可能做未知病毒殺毒。
行為判定
針對變形病毒、未知病毒等復雜的病毒情況,極少數殺毒軟件采用了虛擬機技術,達到了對未知病毒良好的查殺效果。它實際上是一種可控的,由軟件模擬出來的程序虛擬運行環境,就像我們看的電影《黑客帝國》一樣。在這一環境中虛擬執行的程序,就像生活在母體(Matrix)中的人,不論好壞,其一切行為都是受到建築師(architect)控制的。雖然病毒通過各種方式來躲避殺毒軟件,但是當它運行在虛擬機中時,它並不知道自己的一切行為都在被虛擬機所監控,所以當它在虛擬機中脫去偽裝進行傳染時,就會被虛擬機所發現,如此一來,利用虛擬機技術就可以發現大部分的變形病毒和大量的未知病毒。
淺析殺毒軟件技術應用.