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