10.3 計算機病毒及防治 在目前網(wǎng)絡十分普及的情況下,幾乎所有的計算機用戶都遇到過病毒的侵襲,以致影響學習、生活和工作。所以,即使是一個普通的用戶,學會病毒的防治,也具有很重要的價值。 10.3.1什么是計算機病毒 “計算機病毒”為什么叫做病毒?首先,與醫(yī)學上的“病毒”不同,它不是天然存在的,是某些人利用計算機軟、硬件所固有的脆弱性,編制具有特殊功能的程序。其次,由于它與生物醫(yī)學上的“病毒”同樣有傳染和破壞的特性,因此這一名詞是由生物醫(yī)學上的“病毒”概念引申而來。 在國內(nèi),專家和研究者對計算機病毒也做過許多不盡相同的定義。1994年2月18日,我國正式頒布實施了《中華人民共和國計算機信息系統(tǒng)安全保護條例》,在《條例》第二十八條中明確指出:“計算機病毒,是指編制或者在計算機程序中插入的破壞計算機功能或者毀壞數(shù)據(jù),影響計算機使用,并能自我復制的一組計算機指令或者程序代碼。”此定義具有法律性、權威性。 自從Internet盛行以來,含有Java和ActiveX技術的網(wǎng)頁逐漸被廣泛使用,一些別有用心的人于是利用Java和ActiveX的特性來撰寫病毒。以Java病毒為例,Java病毒并不能破壞儲存媒介上的資料,但若你使用瀏覽器來瀏覽含有Java病毒的網(wǎng)頁,Java病毒就可以強迫你的Windows不斷的開啟新窗口,直到系統(tǒng)資源被耗盡,而你也只有重新啟動。所以在Internet出現(xiàn)后,計算機病毒就應加入只要是對使用者造成不便的程序代碼,就可以被歸類為計算機病毒。 10.3.2 計算機病毒分類 計算機病毒有許多不同的種類,可以根據(jù)不同的準則來對病毒進行分類: (1)根據(jù)病毒存在的媒體,病毒可以劃分為網(wǎng)絡病毒,文件病毒,引導型病毒。 (2)根據(jù)病毒傳染的方法可分為駐留型病毒和非駐留型病毒。 (3)根據(jù)病毒破壞的能力可劃分為無害型,無危險型,危險型,非常危險型。 (4)根據(jù)病毒特有的算法,病毒可以劃分為伴隨型病毒,“蠕蟲”型病毒,寄生型病毒,練習型病毒,詭秘型病毒,變型病毒(又稱幽靈病毒)。 下面介紹兩個比較常見的名詞:特洛伊木馬和蠕蟲
(1)特洛伊木馬程序 正如其名稱所暗示,一個特洛伊木馬程序隱藏著編寫者的某種企圖而絲毫不為用戶所知。特洛伊木馬程序通常被用于進行破壞或者對某個系統(tǒng)進行惡意操作,但是表面上偽裝成良性的程序,它們同樣能對計算機造成嚴重損害。與一般病毒不同的是,特洛伊木馬不對自身進行復制。 (2)蠕蟲程序 蠕蟲程序和病毒一樣復制自身。但是,與病毒在文件之間進行傳播不同,它們是從一臺計算機傳播到另一臺計算機,從而感染整個系統(tǒng)。蠕蟲程序比計算機病毒更加陰險,因為它們在計算機之間進行傳播時很少依賴(或者完全不依賴)人的行為。計算機蠕蟲程序是一種通過某種網(wǎng)絡媒介——電子郵件,TCP/IP協(xié)議等——自身從一臺計算機復制到其他計算機的程序。蠕蟲程序傾向于在網(wǎng)絡上感染盡可能多的計算機,而不是在一臺計算上盡可能多地復制自身(像計算機病毒那樣)。典型的蠕蟲病毒只需感染目標系統(tǒng)(或運行其代碼)一次;在最初的感染之后,蠕蟲程序就會通過網(wǎng)絡自動向其他計算機傳播。 10.3.3 計算機病毒的發(fā)展過程 在計算機病毒的發(fā)展史上,病毒的出現(xiàn)是有規(guī)律的,一般情況下一種新的病毒技術出現(xiàn)后,病毒迅速發(fā)展,接著反病毒技術的發(fā)展會抑制其流傳。操作系統(tǒng)進行升級時,病毒也會調(diào)整為新的方式,產(chǎn)生新的病毒技術。具體來說,計算機病毒的發(fā)展可分成以下幾個階段,這幾個階段并不是按嚴格的時間順序的。 1. DOS引導階段 1980年代中后期,計算機病毒主要是引導型病毒,具有代表性的是“小球”和“石頭”病毒。 當時的計算機硬件較少,功能簡單,一般需要通過軟盤啟動后使用。引導型病毒利用軟盤的啟動原理工作,它們修改系統(tǒng)啟動扇區(qū),在計算機啟動時首先取得控制權,減少系統(tǒng)內(nèi)存,修改磁盤讀寫中斷,影響系統(tǒng)工作效率,在系統(tǒng)存取磁盤時進行傳播。 1989年,引導型病毒發(fā)展為可以感染硬盤,典型的代表有“石頭2”病毒。 2. DOS可執(zhí)行階段 1989年,可執(zhí)行文件型病毒出現(xiàn),它們利用DOS系統(tǒng)加載執(zhí)行文件的機制工作,代表性的病毒有“耶路撒冷”,“星期天”等。病毒代碼在系統(tǒng)執(zhí)行文件時取得控制權,修改DOS中斷,在系統(tǒng)調(diào)用時進行傳染,并將自己附加在可執(zhí)行文件中,使文件長度增加。 后來,可執(zhí)行文件型病毒發(fā)展為復合型病毒,可感染COM和EXE文件。 3. 伴隨、批次型階段 伴隨型病毒是利用DOS加載文件的優(yōu)先順序進行工作的。具有代表性的是“金蟬”病毒,它感染EXE文件時生成一個和EXE同名的擴展名為COM伴隨體;它感染COM文件時,改為原來的COM文件為同名的EXE文件,在產(chǎn)生一個原名的伴隨體,文件擴展名為COM。這樣,在DOS加載文件時,病毒就取得控制權。這類病毒的特點是不改變原來的文件內(nèi)容,日期及屬性,解除病毒時只要將其伴隨體刪除即可。在非DOS操作系統(tǒng)中,一些伴隨型病毒利用操作系統(tǒng)的描述語言進行工作,較典型的是“海盜旗”病毒,它在得到機會執(zhí)行時,詢問用戶名稱和口令,然后返回一個出錯信息,將自身刪除。批次型病毒是工作在DOS下的,和“海盜旗”病毒類似的一類病毒。 4. 幽靈、多形階段 隨著匯編語言的發(fā)展,實現(xiàn)同一功能可以用不同的方式進行完成,這些方式的組合使一段看似隨機的代碼產(chǎn)生相同的運算結(jié)果。幽靈病毒就是利用這個特點,每感染一次就產(chǎn)生不同的代碼。例如,“一半”病毒就是產(chǎn)生一段有上億種可能的解碼運算程序,病毒體被隱藏在解碼前的數(shù)據(jù)中,查解這類病毒就必須能對這段數(shù)據(jù)進行解碼,加大了查毒的難度。多形型病毒是一種綜合性病毒,它既能感染引導區(qū)又能感染程序區(qū),多數(shù)具有解碼算法,一種病毒往往要兩段以上的子程序方能解除。 5. 生成器、變體機階段 在匯編語言中,一些數(shù)據(jù)的運算放在不同的通用寄存器中,可運算出同樣的結(jié)果,隨機的插入一些空操作和無關指令,也不影響運算的結(jié)果,這樣,一段解碼算法就可以由生成器生成。當生成的是病毒時,這種復雜的稱之為病毒生成器和變體機就產(chǎn)生了。具有典型代表的是“病毒制造機”VCL,它可以在瞬間制造出成千上萬種不同的病毒,查解時就不能使用傳統(tǒng)的特征識別法,需要在宏觀上分析指令,解碼后查解病毒。變體機就是增加解碼復雜程度的指令生成機制。 6. 網(wǎng)絡、蠕蟲階段 隨著網(wǎng)絡的普及,病毒開始利用網(wǎng)絡進行傳播,它們只是以上幾代病毒的改進。在非DOS操作系統(tǒng)中,“蠕蟲”是典型的代表,它不占用除內(nèi)存以外的任何資源,不修改磁盤文件,利用網(wǎng)絡功能搜索網(wǎng)絡地址,將自身向下一地址進行傳播,有時也在網(wǎng)絡服務器和啟動文件中存在。 7. Windows階段 隨著Windows操作系統(tǒng)的日益普及,利用Windows進行工作的病毒開始發(fā)展,它們修改系統(tǒng)文件,典型的代表是DS.3873,這類病毒的機制更為復雜,它們利用保護模式和API調(diào)用接口工作,解除方法也比較復雜。 8. 宏病毒階段 隨著Microsoft Word功能的增強,使用Word宏語言也可以編制病毒。這種病毒使用類Basic語言,編寫容易,感染Word文檔文件。在Excel和AmiPro出現(xiàn)的相同工作機制的病毒也歸為此類。 9. 互聯(lián)網(wǎng)階段 隨著因特網(wǎng)的發(fā)展,各種病毒也開始利用因特網(wǎng)進行傳播,攜帶病毒的郵件越來越多,如果不小心打開了這些郵件,機器就有可能中毒。隨著因特網(wǎng)上Java的普及,利用Java語言進行傳播和資料獲取的病毒開始出現(xiàn),典型的代表是JavaSnake病毒。還有利用郵件服務器進行傳播和破壞的病毒,例如Mail-Bomb病毒,它就嚴重影響因特網(wǎng)的效率。 10.3.4 幾種計算機流行病毒介紹 在現(xiàn)今的網(wǎng)絡時代,計算機病毒具有快速產(chǎn)生和流行的特點,每隔一段時間,都會有一些新的、危害能力更強的病毒出現(xiàn)。下面介紹的幾種病毒是最近兩、三年比較著名的病毒。 1. 紅色代碼病毒 “紅色代碼”病毒是一種新型網(wǎng)絡病毒,其傳播所使用的技術可以充分體現(xiàn)網(wǎng)絡技術與病毒的巧妙結(jié)合,開創(chuàng)了網(wǎng)絡病毒傳播的新路,可稱之為劃時代的病毒。稍加改造,就是非常致命的病毒,可以完全取得所攻破計算機的所有權限??梢詾樗麨?,盜走機密數(shù)據(jù),嚴重威脅網(wǎng)絡安全。 該病毒采用了一種叫做“緩存區(qū)溢出”的黑客技術,通過微軟公司IIS系統(tǒng)漏洞進行感染,它使IIS服務程序處理請求數(shù)據(jù)包時溢出,導致把此“數(shù)據(jù)包”當作代碼運行,病毒駐留后再次通過此漏洞感染其它服務器。這個蠕蟲病毒使用服務器的端口80進行傳播,而這個端口正是Web服務器與瀏覽器進行信息交流的渠道。 與其它病毒不同的是,“紅色代碼”病毒并不將病毒信息寫入被攻擊服務器的硬盤。它只存在于內(nèi)存,傳染時不通過文件這一常規(guī)載體,而是借助這個服務器的網(wǎng)絡連接攻擊其它的服務器,直接從一臺計算機內(nèi)存?zhèn)鞯搅硪慌_計算機內(nèi)存。當本地IIS服務程序收到某個來自“紅色代碼”發(fā)送的請求數(shù)據(jù)包時,由于存在漏洞,導致處理函數(shù)的堆棧溢出。當函數(shù)返回時,原返回地址已被病毒數(shù)據(jù)包覆蓋,程序運行線程跑到病毒數(shù)據(jù)包中,此時病毒被激活,并運行在IIS服務程序的堆棧中。 而“紅色代碼II”是“紅色代碼”的變種病毒,該病毒代碼首先會判斷內(nèi)存中是否已注冊了一個名為CodeRedII的Atom(系統(tǒng)用于對象識別),如果已存在此對象,表示此機器已被感染,病毒進入無限休眠狀態(tài);未感染則% |
|