官术网_书友最值得收藏!

第一篇 認(rèn)識(shí)計(jì)算機(jī)病毒

第1章 什么是計(jì)算機(jī)病毒

1.1 計(jì)算機(jī)病毒的定義

我們知道,生物界的“病毒”(Virus)是一種沒有細(xì)胞結(jié)構(gòu)、只有由蛋白質(zhì)的外殼和被包裹著的一小段遺傳物質(zhì)兩部分組成的比細(xì)菌還要小的病原體生物。如H5N1、O-157大腸桿菌、HIV(艾滋病毒)、口蹄疫病毒、狂犬病毒、天花病毒、肺結(jié)核病毒、禽流感病毒、埃博拉病毒等。絕大多數(shù)病毒只有在電子顯微鏡下才能看得到,而且不能獨(dú)立生存,必須寄生在其他生物的活細(xì)胞里才能生存。由于病毒利用寄主細(xì)胞的營(yíng)養(yǎng)生長(zhǎng)和繁殖后代,因此給寄主生物造成極大的危害。在人類或動(dòng)物的傳染性疾病中,有許多是由病毒感染引起的,如人類所患的病毒性肝炎、流行性感冒、艾滋病、脊髓灰質(zhì)炎、SARS等疾病,動(dòng)物中的豬瘟、雞瘟、牛瘟等瘟疫。

我們通常所說的“計(jì)算機(jī)病毒”(Computer Virus),實(shí)際上應(yīng)該被稱做“為達(dá)到特殊目的而制作和傳播的計(jì)算機(jī)代碼或程序”,或者被稱為“惡意代碼”。這些程序之所以被稱做病毒,主要是由于它們與生物醫(yī)學(xué)上的病毒有著很多的相同點(diǎn)(如圖1-1所示)。例如,它們都具有寄生性、傳染性和破壞性。有些惡意代碼會(huì)像生物病毒隱藏和寄生在其他生物細(xì)胞中那樣寄生在計(jì)算機(jī)用戶的正常文件中,而且會(huì)伺機(jī)發(fā)作,并大量地復(fù)制病毒體,感染本機(jī)的其他文件和網(wǎng)絡(luò)中的計(jì)算機(jī)。而且絕大多數(shù)的惡意代碼都會(huì)對(duì)人類社會(huì)生活造成不利的影響,造成的經(jīng)濟(jì)損失數(shù)以億計(jì)。由此可見,“計(jì)算機(jī)病毒”這一名詞是由生物醫(yī)學(xué)上的病毒概念引申而來的。與生物病毒不同的是,計(jì)算機(jī)病毒并不是天然存在的,它們是別有用心的人利用計(jì)算機(jī)軟、硬件所固有的安全上的缺陷有目的地編制而成的。

圖1-1 計(jì)算機(jī)病毒的結(jié)構(gòu)

從廣義上講,凡是人為編制的,干擾計(jì)算機(jī)正常運(yùn)行并造成計(jì)算機(jī)軟硬件故障,甚至破壞計(jì)算機(jī)數(shù)據(jù)的可自我復(fù)制的計(jì)算機(jī)程序或指令集合都是計(jì)算機(jī)病毒。依據(jù)此定義,諸如邏輯炸彈、蠕蟲、木馬程序等均可稱為計(jì)算機(jī)病毒。按照目前信息安全領(lǐng)域的普遍觀點(diǎn),我們可以總結(jié)出計(jì)算機(jī)病毒的十大特征,即非法性、隱藏性、潛伏性、可觸發(fā)性、表現(xiàn)性、破壞性、傳染性、針對(duì)性、變異性及不可預(yù)見性。為了使讀者進(jìn)一步了解計(jì)算機(jī)病毒,我們將在下一節(jié)對(duì)計(jì)算機(jī)病毒的十大特征進(jìn)行詳細(xì)論述。

需要指出的是,單獨(dú)根據(jù)以上某一個(gè)特征是不能判斷某個(gè)程序是否是病毒的。拿“破壞性”來講,例如DOS操作系統(tǒng)中的“Format”程序,雖然能消除磁盤上數(shù)據(jù),造成對(duì)數(shù)據(jù)的破壞,但它顯然不是病毒,因?yàn)樗瞬痪邆洳《镜膫魅拘赃@個(gè)根本特征以外,也不具有其他大部分特征。

在1994年中華人民共和國(guó)國(guó)務(wù)院頒布的《中華人民共和國(guó)計(jì)算機(jī)信息系統(tǒng)安全保護(hù)條例》中,計(jì)算機(jī)病毒被明確定義為:“指編制或者在計(jì)算機(jī)程序中插入的破壞計(jì)算機(jī)功能或者破壞數(shù)據(jù),影響計(jì)算機(jī)使用并且能夠自我復(fù)制的一組計(jì)算機(jī)指令或者程序代碼”。

1.2 計(jì)算機(jī)病毒的特征

1.非法性

正常情況下,計(jì)算機(jī)用戶調(diào)用執(zhí)行一個(gè)合法程序時(shí),把系統(tǒng)控制權(quán)交給這個(gè)程序,并給其分配相應(yīng)的系統(tǒng)資源,如內(nèi)存,從而使之能夠運(yùn)行以達(dá)到用戶的目的,程序執(zhí)行的過程對(duì)用戶是透明和可知的,因此,這種程序是“合法”的。

而計(jì)算機(jī)病毒是非法程序,計(jì)算機(jī)用戶不會(huì)明知是病毒程序而故意去執(zhí)行它。但由于計(jì)算機(jī)病毒具有正常程序的一切特性,它會(huì)將自己隱藏在合法的程序或數(shù)據(jù)中,當(dāng)用戶運(yùn)行正常合法程序時(shí),病毒伺機(jī)竊取到系統(tǒng)的控制權(quán),得以搶先運(yùn)行,然而此時(shí)用戶還認(rèn)為在執(zhí)行正常程序。由此可見,病毒的行為都是在未獲得計(jì)算機(jī)用戶的允許下“悄悄地”進(jìn)行的,而病毒所進(jìn)行的操作,絕大多數(shù)都是違背用戶意愿和利益的。從這種意義上來講,計(jì)算機(jī)病毒具有“非法性”。

例如我們將在第6章講到的木馬病毒,有些木馬病毒會(huì)將自己加載到啟動(dòng)項(xiàng)中,用戶每一次啟動(dòng)計(jì)算機(jī)或運(yùn)行某些常用程序時(shí)都會(huì)“順便”激活病毒,一般的計(jì)算機(jī)使用者很難察覺。

2.隱藏性

隱藏性是計(jì)算機(jī)病毒最基本的特征,正像我們上面講到的,計(jì)算機(jī)病毒是“非法”的程序,不可能正大光明地運(yùn)行。換句話說,如果計(jì)算機(jī)病毒不具備隱藏性,也就失去了“生命力”,從而也就不能達(dá)到其傳播和破壞的目的。另一方面,經(jīng)過偽裝的病毒還可能被用戶當(dāng)做正常的程序而運(yùn)行,這也是病毒觸發(fā)的一種手段。

從病毒程序本身來講,計(jì)算機(jī)病毒是一種具有很高編程技巧、短小精悍的可執(zhí)行程序。一般只有幾百字節(jié)或幾千字節(jié),而PC機(jī)對(duì)DOS文件的存取速度可達(dá)每秒幾百千字節(jié)以上,所以病毒轉(zhuǎn)瞬之間便可將這短短的幾百字節(jié)附著到正常程序之中,使之非常不易被察覺,從而更好地隱藏自己。

從病毒隱藏的位置來看,有些病毒將自己隱藏在磁盤上標(biāo)為“壞簇”的扇區(qū)中,以及一些空閑概率較大的扇區(qū)中;也有個(gè)別的病毒以隱含文件的形式出現(xiàn);還有一種比較常見的隱藏方式是將病毒文件放在Windows等系統(tǒng)目錄下,并將文件命名為類似Windows系統(tǒng)文件的名稱,使對(duì)計(jì)算機(jī)操作系統(tǒng)不熟悉的人不敢輕易刪除它。

不同類型的病毒的隱藏方式也是多種多樣的。引導(dǎo)型病毒通常將自己隱藏在引導(dǎo)扇區(qū)中,在系統(tǒng)啟動(dòng)前就發(fā)作。一些蠕蟲病毒非常注重隱藏和偽裝自己,它們不但偽造郵件的主題和正文,利用社會(huì)工程學(xué)引誘用戶打開郵件,并且可以使用雙擴(kuò)展名的病毒文件作為附件,例如將病毒體命名為ABC.jpg.exe,使用戶以為是一個(gè)圖片文件,從而喪失警惕。還有些借助系統(tǒng)漏洞傳播的病毒利用漏洞來隱藏和傳播病毒體,如果用戶沒有對(duì)操作系統(tǒng)添加或安裝相應(yīng)的補(bǔ)丁程序,病毒便無法被徹底清除。

另一種隱藏方式比較特別的病毒是“兄弟病毒”。這種病毒的隱藏方式只在早期的DOS類病毒中出現(xiàn)過。它將病毒體放在一個(gè)已有的文件夾中,并且把病毒的名稱命名為和可執(zhí)行文件同名的.com文件,它利用.com文件的執(zhí)行優(yōu)先級(jí)高于.exe文件的特性來運(yùn)行病毒文件。比如,某個(gè)游戲程序的運(yùn)行文件是play.exe,那么病毒便會(huì)把自己命名為play.com,而大多數(shù)人在DOS下不會(huì)輸入文件的全名,而僅僅輸入play,用戶自以為執(zhí)行的是play.exe,其實(shí)真正運(yùn)行的是paly.com這個(gè)病毒體文件,從而使病毒得以觸發(fā)。

如果不經(jīng)過代碼分析,病毒程序與正常程序是不容易區(qū)別開來的。一般在沒有防護(hù)措施的情況下,計(jì)算機(jī)病毒程序取得系統(tǒng)控制權(quán)后,可以在很短的時(shí)間里傳染大量程序。而且受到傳染后,計(jì)算機(jī)系統(tǒng)通常仍能正常運(yùn)行,使用戶不會(huì)感到任何異常。總之,病毒會(huì)使用更巧妙的方法隱藏自己,使之不容易被發(fā)現(xiàn)。正是由于具有隱蔽性,計(jì)算機(jī)病毒得以在用戶沒有察覺的情況下擴(kuò)散到上百萬(wàn)臺(tái)計(jì)算機(jī)中。計(jì)算機(jī)用戶如果掌握了這些病毒的隱藏方式,加強(qiáng)對(duì)日常文件的管理,計(jì)算機(jī)病毒便無處藏身了。

3.潛伏性

計(jì)算機(jī)病毒具有依附于其他媒體而寄生的能力,我們把這種媒體稱為計(jì)算機(jī)病毒的宿主。依靠病毒的寄生能力,病毒傳染合法的程序和系統(tǒng)后,不立即發(fā)作,而是悄悄隱藏起來,然后在用戶不察覺的情況下進(jìn)行傳染。這樣,病毒的潛伏性越好,它在系統(tǒng)中存在的時(shí)間也就越長(zhǎng),病毒傳染的范圍也越廣,其危害性也越大。

計(jì)算機(jī)病毒在傳染計(jì)算機(jī)系統(tǒng)后,其觸發(fā)是由發(fā)作條件來確定的。在發(fā)作條件滿足前,病毒可能在系統(tǒng)中沒有表現(xiàn)癥狀,從而不影響系統(tǒng)的正常運(yùn)行。

大部分病毒感染系統(tǒng)之后一般不會(huì)馬上發(fā)作,它可長(zhǎng)期隱藏在系統(tǒng)中,只有在滿足其特定條件時(shí)才啟動(dòng)其表現(xiàn)(破壞)模塊。只有這樣它才可進(jìn)行廣泛傳播。如“PETER-2”在每年2月27日會(huì)提三個(gè)問題,答錯(cuò)后會(huì)將硬盤加密。著名的“黑色星期五”在逢13號(hào)的星期五發(fā)作。中國(guó)的“上海一號(hào)”會(huì)在每年三月、六月及九月的13日發(fā)作。當(dāng)然,最令人難忘的便是26日發(fā)作的CIH。這些病毒在平時(shí)會(huì)隱藏得很好,只有在發(fā)作日才會(huì)露出本來面目。

4.可觸發(fā)性

計(jì)算機(jī)病毒一般都有一個(gè)或者幾個(gè)觸發(fā)條件。滿足其觸發(fā)條件或者激活病毒的傳染機(jī)制就會(huì)使之進(jìn)行傳染或者激活病毒的表現(xiàn)部分或破壞部分。觸發(fā)的實(shí)質(zhì)是一種條件的控制,病毒程序可以依據(jù)設(shè)計(jì)者的要求,在一定條件下實(shí)施攻擊。這個(gè)條件可以是鍵入特定字符,使用特定文件、某個(gè)特定日期或特定時(shí)刻,或者病毒內(nèi)置的計(jì)數(shù)器達(dá)到一定次數(shù)等。

在一定的條件之下,通過外界刺激可以使計(jì)算機(jī)病毒程序活躍起來。激發(fā)的本質(zhì)是一種條件控制。根據(jù)病毒炮制者的設(shè)定,使病毒體激活并發(fā)起攻擊。病毒被激發(fā)的條件可以與多種情況聯(lián)系起來,如滿足特定的時(shí)間或日期,期待特定用戶識(shí)別符出現(xiàn),特定文件的出現(xiàn)或使用,一個(gè)文件使用的次數(shù)超過設(shè)定數(shù)等。

按照時(shí)間來觸發(fā)的病毒很多,比如CIH病毒。它的v1.2版本的發(fā)作日期是每年的4月26日,這個(gè)時(shí)間指的是計(jì)算機(jī)的系統(tǒng)時(shí)間;而CIH病毒的v1.3版本的發(fā)作日期是每年的6月26日;v1.4版本的發(fā)作日期是每月的26日。很多人都有一個(gè)錯(cuò)誤的想法,以為只要將系統(tǒng)時(shí)間調(diào)整到其他的日期,就可以避免病毒的發(fā)作。其實(shí)按照時(shí)間發(fā)作只是病毒觸發(fā)的條件之一,而且系統(tǒng)時(shí)間沒有及時(shí)調(diào)整回來,或者滿足病毒的其他觸發(fā)條件時(shí),病毒還是會(huì)被觸發(fā)的。調(diào)整時(shí)間只是應(yīng)急的辦法,根本的解決辦法還是徹底清除病毒體。

按照一定條件觸發(fā)的病毒也很多,比如,當(dāng)你試圖更改或運(yùn)行某些文件時(shí)病毒就發(fā)作等。而“Happy time”(歡樂時(shí)光)病毒發(fā)作的條件是:“月份+日期=13”,這是按照一定的邏輯條件來發(fā)作的病毒。另外,“求職信”病毒在單月的6日和13日發(fā)作等。但絕大多數(shù)病毒是隨機(jī)發(fā)作或者運(yùn)行后發(fā)作的。

要注意的是,病毒的傳播和發(fā)作是兩個(gè)完全不同的問題,我們?cè)谄綍r(shí)所遇到的大多數(shù)問題是由病毒發(fā)作引起的,因?yàn)椴《景l(fā)作的現(xiàn)象比較明顯,比如文件被刪除或計(jì)算機(jī)無法使用。而病毒傳播時(shí)由于其所具有的隱蔽性和潛伏性,通常不被人們注意,但其一旦發(fā)作就會(huì)造成重大的損失。所以我們要盡可能在病毒傳播時(shí)及時(shí)清除病毒,等到病毒發(fā)作時(shí)才意識(shí)到,可能為時(shí)已晚了。

5.表現(xiàn)性

無論何種病毒程序一旦侵入系統(tǒng)都會(huì)對(duì)操作系統(tǒng)的運(yùn)行造成不同程度的影響。即使不直接產(chǎn)生破壞作用的病毒程序也要占用系統(tǒng)資源(如占用內(nèi)存空間,占用磁盤存儲(chǔ)空間和系統(tǒng)運(yùn)行時(shí)間等)。而絕大多數(shù)病毒程序要顯示一些文字或圖像,影響系統(tǒng)的正常運(yùn)行;還有一些病毒程序刪除文件,加密磁盤中的數(shù)據(jù),甚至摧毀整個(gè)系統(tǒng)和數(shù)據(jù),使之無法恢復(fù),從而造成無可挽回的損失。因此,病毒程序的副作用輕則降低系統(tǒng)工作效率,重則導(dǎo)致系統(tǒng)崩潰、數(shù)據(jù)丟失。病毒程序的表現(xiàn)性或破壞性體現(xiàn)了病毒設(shè)計(jì)者的真正意圖。

一般來講,帶有個(gè)人情緒或者政治目的的病毒往往表現(xiàn)力比較強(qiáng),例如比較著名的“中國(guó)黑客”病毒,病毒會(huì)利用聊天工具OICQ發(fā)送即時(shí)信息,循環(huán)發(fā)送以下信息中的一條:“反對(duì)邪教,崇尚科學(xué)!”、“打倒本·拉登!”、“向英雄王偉致意!”、“反對(duì)霸權(quán)主義!”、“世界需要和平!”、“社會(huì)主義好!”等,如圖1-2所示。

圖1-2 中國(guó)黑客發(fā)作現(xiàn)象

6.破壞性

計(jì)算機(jī)病毒造成的最顯著的后果是破壞計(jì)算機(jī)系統(tǒng),并使之無法正常工作或刪除用戶保存的數(shù)據(jù)。無論是占用大量系統(tǒng)資源導(dǎo)致計(jì)算機(jī)無法正常使用,還是破壞文件,甚至毀壞計(jì)算機(jī)硬件,都會(huì)影響用戶正常使用計(jì)算機(jī)。

病毒根據(jù)其破壞性可分為良性病毒和惡性病毒。

絕大多數(shù)被認(rèn)定為病毒的程序都具有惡意破壞性的特征,但也有一些病毒程序并不具有惡意破壞性。我們把沒有惡意破壞性的程序稱之為良性病毒。良性病毒是指不會(huì)直接對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行破壞的病毒。比如,某些良性病毒運(yùn)行后會(huì)在屏幕上出現(xiàn)一些可愛的卡通形象,或演奏一段音樂。編寫這類小程序也許僅僅是因?yàn)楹猛妫蜷_個(gè)玩笑,甚至可以和某些小游戲看做是一類。但是,這并不代表其沒有危害性。這類病毒有可能占用大量的系統(tǒng)資源,導(dǎo)致系統(tǒng)無法正常使用。

除了良性病毒以外,絕大多數(shù)病毒是惡性病毒。這類惡性病毒對(duì)計(jì)算機(jī)系統(tǒng)來說是很危險(xiǎn)的。比如WYX病毒,該病毒是典型的引導(dǎo)區(qū)病毒,其發(fā)作時(shí)會(huì)改寫計(jì)算機(jī)硬盤引導(dǎo)扇區(qū)的信息,使系統(tǒng)無法找到硬盤上的分區(qū)。由于硬盤上的所有數(shù)據(jù)都是通過硬盤分區(qū)表和文件分配表來確定的,所以如果計(jì)算機(jī)硬盤上的這些重要信息丟失或發(fā)生錯(cuò)誤,不但用戶會(huì)無法正常訪問硬盤上的所有數(shù)據(jù),甚至在開機(jī)時(shí),計(jì)算機(jī)會(huì)顯示找不到引導(dǎo)信息,出現(xiàn)硬盤沒有分區(qū)等錯(cuò)誤信息提示,給我們的工作、生活造成很大的損失。

病毒的破壞方式是多種多樣的。例如,“Happy Time”(歡樂時(shí)光)病毒在發(fā)作時(shí)會(huì)刪除文件,并啟動(dòng)大量的病毒進(jìn)程,導(dǎo)致計(jì)算機(jī)系統(tǒng)資源的嚴(yán)重缺乏直至計(jì)算機(jī)無法工作。還有破壞并且覆蓋文件的CIH和“求職信”病毒,發(fā)作時(shí)會(huì)用垃圾代碼來覆蓋用戶的文件,這種破壞造成的危害比簡(jiǎn)單的刪除或格式化硬盤更為嚴(yán)重,往往可以造成不可修復(fù)的破壞。這也反映出病毒編制者的險(xiǎn)惡用心。還有的病毒以惡作劇的形式破壞系統(tǒng),如“旋轉(zhuǎn)”病毒(如圖1-3所示),病毒在發(fā)作時(shí)會(huì)高速的橫向或縱向旋轉(zhuǎn)用戶的電腦桌面,使計(jì)算機(jī)使用者無法進(jìn)行任何操作。

圖1-3 “旋轉(zhuǎn)”病毒發(fā)作現(xiàn)象

7.傳染性

傳染性是計(jì)算機(jī)病毒最重要的特征,是判斷一段程序代碼是否為計(jì)算機(jī)病毒的依據(jù)。病毒程序一旦侵入計(jì)算機(jī)系統(tǒng)就開始搜索可以傳染的程序或者磁介質(zhì),然后通過自我復(fù)制迅速傳播。由于目前計(jì)算機(jī)網(wǎng)絡(luò)日益發(fā)達(dá),計(jì)算機(jī)病毒可以在極短的時(shí)間內(nèi)通過像Internet這樣的網(wǎng)絡(luò)傳遍世界。

計(jì)算機(jī)病毒可以從一個(gè)程序傳染到另一個(gè)程序,從一臺(tái)計(jì)算機(jī)傳染到另一臺(tái)計(jì)算機(jī),從一個(gè)計(jì)算機(jī)網(wǎng)絡(luò)傳染到另一個(gè)計(jì)算機(jī)網(wǎng)絡(luò),從而在各個(gè)系統(tǒng)上傳染、蔓延,同時(shí)使被傳染的計(jì)算機(jī)程序、計(jì)算機(jī)、計(jì)算機(jī)網(wǎng)絡(luò)成為計(jì)算機(jī)病毒的生存環(huán)境及新的傳染源。

在生物界,病毒通過傳染從一個(gè)生物體擴(kuò)散到另一個(gè)生物體。在適當(dāng)?shù)臈l件下,它可得到大量繁殖,并使被感染的生物體表現(xiàn)出病癥甚至死亡。同樣,計(jì)算機(jī)病毒也會(huì)通過各種渠道從已被感染的計(jì)算機(jī)擴(kuò)散到未被感染的計(jì)算機(jī),在某些情況下造成被感染的計(jì)算機(jī)工作失常甚至癱瘓。與生物病毒不同的是,計(jì)算機(jī)病毒是一段人為編制的計(jì)算機(jī)程序代碼,這段程序代碼一旦進(jìn)入計(jì)算機(jī)并得以執(zhí)行,就會(huì)搜尋其他符合其傳染條件的程序或存儲(chǔ)介質(zhì),確定目標(biāo)后再將自身代碼插入其中,達(dá)到自我繁殖的目的。只要一臺(tái)計(jì)算機(jī)染毒,如不及時(shí)處理,那么病毒會(huì)在這臺(tái)計(jì)算機(jī)上迅速擴(kuò)散,其中的大量文件(一般是可執(zhí)行文件)會(huì)被感染。而被感染的文件又成了新的傳染源,再與其他機(jī)器進(jìn)行數(shù)據(jù)交換或通過網(wǎng)絡(luò)接觸,病毒會(huì)繼續(xù)進(jìn)行傳染。

正常的計(jì)算機(jī)程序一般是不會(huì)將自身的代碼強(qiáng)行連接到其他程序之上的,而病毒卻能使自身的代碼強(qiáng)行傳染到一切符合其傳染條件的未受到傳染的程序之上。計(jì)算機(jī)病毒可通過各種可能的渠道,如軟盤、計(jì)算機(jī)網(wǎng)絡(luò)去傳染其他的計(jì)算機(jī)。當(dāng)你在一臺(tái)機(jī)器上發(fā)現(xiàn)了病毒時(shí),曾在這臺(tái)計(jì)算機(jī)上用過的軟盤往往已經(jīng)感染上了病毒,而與這臺(tái)機(jī)器聯(lián)網(wǎng)的其他計(jì)算機(jī)也許也被感染上了該病毒。是否具有傳染性是判別一個(gè)程序是否為計(jì)算機(jī)病毒的最重要條件。

一般來說,正常的程序是由用戶調(diào)用,再由系統(tǒng)分配資源,從而完成用戶交給的任務(wù)。其目的對(duì)用戶來說是可見的、透明的。而病毒具有正常程序的一切特性,它隱藏在正常程序中,當(dāng)用戶調(diào)用正常程序時(shí)竊取到系統(tǒng)的控制權(quán),先于正常程序執(zhí)行,病毒的動(dòng)作、目的對(duì)用戶來說是未知的,是未經(jīng)用戶允許的。

近一段時(shí)期,蠕蟲類病毒可以說是傳播速度最快、傳播范圍最廣的病毒了。近年來隨著互聯(lián)網(wǎng)的迅速發(fā)展,人們?cè)诠ぷ骱蜕钪幸苍絹碓揭蕾嚲W(wǎng)絡(luò),E-mail這種聯(lián)系方式也因其方便快捷的優(yōu)點(diǎn)被人們廣泛采用。不僅是個(gè)人用戶使用,很多正式的商業(yè)聯(lián)系和各類組織、政府機(jī)構(gòu)的信息傳遞也是通過E-mail完成的。因此病毒的編制者就利用了電子郵件的這個(gè)特點(diǎn),使所編制的病毒通過E-mail的方式來傳播,這種傳播方式不僅傳播范圍廣,而且傳播的速度也非常快。而且此類病毒通常會(huì)盜取計(jì)算機(jī)中所保存的郵件地址信息,通過這些信息大量復(fù)制自身并向這些地址發(fā)送帶毒郵件。所以,蠕蟲病毒有時(shí)也被稱為“E-mail”病毒。

“美麗莎”、“SirCam”、“Nimda”、“求職信”等病毒就是通過這種方式傳播的,它們的傳播速度和范圍是非常驚人的,24小時(shí)之內(nèi)便可通過E-mail傳遍全世界。而且“Nimda”和“求職信”病毒不僅通過郵件傳播,還可以通過局域網(wǎng)文件共享和操作系統(tǒng)的漏洞等多種方式進(jìn)行傳播,傳播能力更強(qiáng)。

8.針對(duì)性

一種計(jì)算機(jī)病毒(版本)并不能感染所有的計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)程序。有的病毒是感染Apple公司的Macintosh機(jī)的,有的病毒是感染IBM PC機(jī)的,有的病毒感染磁盤引導(dǎo)區(qū),有的病毒感染可執(zhí)行文件,等等。

9.變異性

計(jì)算機(jī)病毒在發(fā)展、演化過程中可以產(chǎn)生變種。有些病毒能夠產(chǎn)生幾十種甚至上百種變種。

10 .不可預(yù)見性

從對(duì)病毒的檢測(cè)方面來看,病毒還有不可預(yù)見性。不同種類病毒的代碼千差萬(wàn)別,但有些操作是共有的(如駐留內(nèi)存,修改中斷)。有些人利用病毒的這種共性,制作了聲稱可檢查所有病毒的程序。這種程序的確可以查出一些新病毒,但由于目前的軟件種類極其豐富,且某些正常程序也使用了類似病毒的操作甚至借鑒了某些病毒的技術(shù)。使用這種方法對(duì)病毒進(jìn)行檢測(cè)勢(shì)必會(huì)造成較多的誤報(bào)情況。而且病毒的制作技術(shù)也在不斷提高,病毒對(duì)反病毒軟件來說永遠(yuǎn)是超前的。

1.3 計(jì)算機(jī)病毒的結(jié)構(gòu)

1.3.1 計(jì)算機(jī)病毒的程序結(jié)構(gòu)

前面已經(jīng)談到了計(jì)算機(jī)病毒的特征,一般來講,事物的特征往往是由事物自身的結(jié)構(gòu)決定的。計(jì)算機(jī)病毒也是這樣,病毒本身的特征也是由其結(jié)構(gòu)決定的。計(jì)算機(jī)病毒的種類雖多,但對(duì)病毒代碼進(jìn)行分析和比較可以看出,它們的主要結(jié)構(gòu)是類似的,有其共同特點(diǎn)。計(jì)算機(jī)病毒程序雖然長(zhǎng)短不同、大小各異,但一般來講都包含三個(gè)部分:引導(dǎo)部分、傳染部分、表現(xiàn)或破壞部分。

引導(dǎo)部分的作用是將病毒主體加載到內(nèi)存,為傳染部分做準(zhǔn)備(如駐留內(nèi)存、修改中斷、修改高端內(nèi)存、保存原中斷向量、修改注冊(cè)表等操作)。

傳染部分的作用是將病毒代碼復(fù)制到傳染目標(biāo)上去。不同類型的病毒在傳染方式、傳染條件以及傳播所借助的媒體上各有不同。

表現(xiàn)部分是病毒間差異最大的部分,前兩個(gè)部分也是為這部分服務(wù)的。大部分的病毒都要滿足一定條件才會(huì)觸發(fā)其表現(xiàn)部分,如以計(jì)算機(jī)時(shí)鐘、計(jì)數(shù)器作為觸發(fā)條件或用鍵盤輸入特定字符來觸發(fā)。這一部分也是最為靈活的部分,這部分根據(jù)編制者的不同目的而千差萬(wàn)別,或者根本沒有這部分。

后兩個(gè)部分各包含一段觸發(fā)條件驗(yàn)證代碼,當(dāng)各段驗(yàn)證代碼分別驗(yàn)證出傳染和表現(xiàn)或破壞的觸發(fā)條件滿足時(shí),病毒就會(huì)進(jìn)行傳染和表現(xiàn)或破壞。必須指出的是,不是任何病毒都包含這三個(gè)部分。

1.3.2 計(jì)算機(jī)病毒的存儲(chǔ)結(jié)構(gòu)

計(jì)算機(jī)病毒大部分都是存儲(chǔ)在磁盤中的,我們現(xiàn)在先來介紹一下磁盤的存儲(chǔ)結(jié)構(gòu)。

1.磁盤空間的總體劃分

經(jīng)過格式化后的磁盤包括:主引導(dǎo)記錄區(qū)(只有硬盤有)、引導(dǎo)記錄區(qū)、文件分配表(FAT)、目錄區(qū)和數(shù)據(jù)區(qū)。主引導(dǎo)記錄區(qū)和引導(dǎo)記錄區(qū)中存有操作系統(tǒng)啟動(dòng)時(shí)所用的信息。FAT是反映當(dāng)前磁盤扇區(qū)使用狀況的表,它與目錄一起對(duì)磁盤數(shù)據(jù)區(qū)進(jìn)行管理。目錄區(qū)存放磁盤上現(xiàn)有的文件目錄及其大小、存放時(shí)間等信息。數(shù)據(jù)區(qū)存儲(chǔ)和文件名相對(duì)應(yīng)的文件內(nèi)容數(shù)據(jù)。

(1)軟盤空間的總體劃分

當(dāng)格式化一張軟盤后,不僅把磁盤劃分為若干磁道,每一磁道劃分為若干扇區(qū),而且同時(shí)把劃分的扇區(qū)分為五大區(qū)域,它們分別是引導(dǎo)記錄區(qū)、文件分配表1、文件分配表2、根目錄區(qū)以及數(shù)據(jù)區(qū)。

對(duì)于軟盤只有一個(gè)引導(dǎo)區(qū),引導(dǎo)區(qū)在磁盤的0面0道1扇區(qū),它的作用是在系統(tǒng)啟動(dòng)時(shí)負(fù)責(zé)把系統(tǒng)的兩個(gè)隱含文件IO.SYS和MSDOS.SYS裝入內(nèi)存,并給DOS提供進(jìn)行磁盤讀寫所必需的磁盤I/O參數(shù)表。FAT是反映磁盤上所有文件各自占用的扇區(qū)的一個(gè)登記表,此表非常重要,一旦被破壞,將無法查找文件的內(nèi)容。即使對(duì)精通DOS的人來說,要修復(fù)FAT表?yè)p壞的磁盤文件亦非易事。為此系統(tǒng)在劃分磁盤區(qū)域時(shí),保留了兩份完全相同的文件分配表。根目錄區(qū)是記載磁盤上所有文件的一張目錄登記表。主要記載每個(gè)文件的文件名、擴(kuò)展名、文件屬性、文件長(zhǎng)度、文件建立日期、文件建立時(shí)間以及其他一些重要信息。

(2)硬盤空間的總體劃分

對(duì)于不同類型、不同介質(zhì)的磁盤,DOS劃分磁盤的格式是不同的。對(duì)于硬盤來說,由于其存儲(chǔ)空間比較大,為了允許多個(gè)操作系統(tǒng)分享硬盤空間,并希望能從磁盤啟動(dòng)系統(tǒng),DOS在格式化硬盤時(shí),把硬盤劃分為主引導(dǎo)記錄區(qū)和多個(gè)系統(tǒng)分區(qū)。

對(duì)于硬盤空間的分配由兩個(gè)部分組成:第一部分就是整個(gè)硬盤的第一扇區(qū),這一扇區(qū)稱之為硬盤的主引導(dǎo)程序扇區(qū),它由兩部分內(nèi)容組成:一是主引導(dǎo)程序,二是分區(qū)信息表。主引導(dǎo)程序是硬盤啟動(dòng)時(shí)首先執(zhí)行的程序,由它裝入執(zhí)行活動(dòng)分區(qū)(活動(dòng)分區(qū))引導(dǎo)程序,從而進(jìn)一步引導(dǎo)系統(tǒng)。分區(qū)信息表登記各個(gè)分區(qū)引導(dǎo)指示符、操作系統(tǒng)指示符以及該分區(qū)占用硬盤空間的位置及其長(zhǎng)度;第二部分是各個(gè)系統(tǒng)分區(qū)。各個(gè)系統(tǒng)分區(qū)是提供給各操作系統(tǒng)使用的區(qū)域,每一區(qū)域只能存放一種操作系統(tǒng),在該區(qū)域中的系統(tǒng)具有自己的引導(dǎo)記錄、文件分配表區(qū)、文件目錄區(qū)以及數(shù)據(jù)區(qū)。若整個(gè)硬盤歸DOS使用,硬盤上的信息包括5個(gè)部分,即第1扇區(qū)的主引導(dǎo)程序和分區(qū)信息表、分區(qū)引導(dǎo)程序、文件分配表區(qū)、文件根目錄區(qū)、文件數(shù)據(jù)區(qū)。

硬盤主引導(dǎo)扇區(qū)很特殊,它不在DOS的管轄范圍內(nèi),所以用DOS的非常駐命令FORMAT、FDISK、DEBUG都不能觸及它。當(dāng)該扇區(qū)損壞時(shí),硬盤不能啟動(dòng)。用FORMAT、FDISK都不能修復(fù)它。DEBUG的L命令和W命令都不能用于主引導(dǎo)扇區(qū)。只有 在DEBUG下借用INT 13H或低級(jí)格式化方法才能修復(fù)。

2.系統(tǒng)型病毒的磁盤存儲(chǔ)結(jié)構(gòu)

系統(tǒng)型病毒是指專門傳染操作系統(tǒng)的啟動(dòng)扇區(qū),主要指?jìng)魅居脖P主引導(dǎo)扇區(qū)和DOS引導(dǎo)扇區(qū)的病毒。下面簡(jiǎn)單介紹一下系統(tǒng)型病毒在磁盤上的存儲(chǔ)結(jié)構(gòu)。

病毒程序被劃分為兩部分,第一部分存放在磁盤引導(dǎo)扇區(qū)中,第二部分則存放在磁盤的其他扇區(qū)中。病毒程序在感染一塊磁盤時(shí),首先根據(jù)FAT表在磁盤上找到一個(gè)空白簇(如果病毒程序的第二部分占用若干個(gè)簇,則需要找到一個(gè)連續(xù)的空白簇),然后將病毒程序的第二部分以及磁盤原引導(dǎo)扇區(qū)的內(nèi)容寫入該空白簇,接著將病毒程序的第一部分寫入磁盤引導(dǎo)扇區(qū)。

但是,由于磁盤的型號(hào)不同,病毒程序第二部分所占用的空白簇的位置就不同,而病毒程序在侵入系統(tǒng)時(shí),又必須將其全部程序裝入內(nèi)存,在系統(tǒng)啟動(dòng)時(shí)裝入的是磁盤引導(dǎo)扇區(qū)中的病毒程序,該段程序在執(zhí)行時(shí)要將其第二部分裝入內(nèi)存,這樣第一部分必須知道其第二部分所在簇的簇號(hào)或邏輯扇區(qū)號(hào)。為此,在病毒程序感染一個(gè)磁盤時(shí),不僅要將其第一部分寫入磁盤引導(dǎo)扇區(qū),而且必須將病毒程序第二部分所在簇的簇號(hào)(或該簇第一扇區(qū)的邏輯扇區(qū)號(hào))記錄在磁盤的偏移地址01F9處,存放其第二部分所在簇的第一扇區(qū)的邏輯扇區(qū)號(hào)。

另外,由于DOS分配磁盤空間時(shí)必須將分配的每一個(gè)簇與一個(gè)文件相聯(lián)系,但是系統(tǒng)型病毒程序第二部分所占用的簇沒有對(duì)應(yīng)的文件名,它們是以直接磁盤讀寫的方式被存取的,這樣它們所占用的簇就有可能被DOS分配給新建立的磁盤文件,從而被覆蓋。為了避免這樣的情況發(fā)生,病毒程序在將其第二部分寫入空白簇后,立即將這些簇在FAT中登記項(xiàng)的內(nèi)容強(qiáng)制地標(biāo)記為壞簇(FF7H),經(jīng)過這樣的處理后,DOS就不會(huì)將這些簇分配給其他新建立的文件了。

3.文件型病毒的磁盤存儲(chǔ)結(jié)構(gòu)

文件型病毒是指專門感染系統(tǒng)中的可執(zhí)行文件,即擴(kuò)展名為.COM、.EXE的文件或依賴于文件而發(fā)作的病毒。對(duì)于文件型病毒來說,病毒程序附著在被感染文件的首部、尾部、中部或“空閑”部位,病毒程序沒有獨(dú)立占用磁盤上的空白簇。也就是說,病毒程序所占用的磁盤空間依賴于其宿主程序所占用的磁盤空間。但是,病毒入侵后一定會(huì)使宿主程序占用的磁盤空間增加。

絕大多數(shù)文件型病毒屬于所謂的外殼病毒。什么是文件外殼呢?簡(jiǎn)單地說是計(jì)算機(jī)軟件的一種層次結(jié)構(gòu)。比方說計(jì)算機(jī)軟件公司編制了一種教育軟件,經(jīng)過設(shè)計(jì)調(diào)試,軟件本身的功能已經(jīng)很完善,可以作為獨(dú)立的磁盤文件提供給用戶。但為了提高產(chǎn)品的商品化程序,公司決定為軟件加一個(gè)漂亮的封面,為此設(shè)計(jì)人員可以在已經(jīng)完成的軟件的基礎(chǔ)上附加一段顯示封面的程序。通常我們稱軟件本身為內(nèi)核,而附加的顯示封面的程序稱為外殼。

盡管在結(jié)構(gòu)上外殼接在內(nèi)核后面,但運(yùn)行的順序仍然是先顯示封面然后再跳轉(zhuǎn)去執(zhí)行內(nèi)核。可執(zhí)行文件的外殼一般具有相對(duì)獨(dú)立的功能和結(jié)構(gòu),去掉外殼將不會(huì)影響內(nèi)核部分的運(yùn)行。如果我們用“病毒外殼”去替換“封面外殼”,那么就已經(jīng)說明了文件型病毒的基本機(jī)理。計(jì)算機(jī)病毒一般不傳染數(shù)據(jù)文件,這是由于數(shù)據(jù)文件是不能執(zhí)行的,如果病毒傳染了數(shù)據(jù)文件以后,病毒自身得不到執(zhí)行權(quán),也就不能進(jìn)行進(jìn)一步的傳播,所以計(jì)算機(jī)病毒不可能存在于數(shù)據(jù)文件中,但可能修改和破壞數(shù)據(jù)文件。

1.4 計(jì)算機(jī)病毒的分類及命名

從第一個(gè)病毒問世以來,病毒的數(shù)量在不斷增加。根據(jù)每年從計(jì)算機(jī)用戶反饋的有關(guān)病毒的信息分析,計(jì)算機(jī)病毒數(shù)量的增長(zhǎng),已經(jīng)從20世紀(jì)90年代初的每月幾種達(dá)到了現(xiàn)在的每天200種以上。

從已經(jīng)發(fā)現(xiàn)的計(jì)算機(jī)病毒來看,小的病毒程序只有幾十條指令,不到上百個(gè)字節(jié),而大的病毒程序簡(jiǎn)直像個(gè)操作系統(tǒng),由上萬(wàn)條指令組成。有些病毒傳播速度很快,并且一旦侵入計(jì)算機(jī)就會(huì)立即摧毀系統(tǒng);而另外一些病毒則有較長(zhǎng)的潛伏期,感染后需要經(jīng)過二至三年甚至更長(zhǎng)時(shí)間才發(fā)作;有些病毒感染系統(tǒng)內(nèi)所有的程序和數(shù)據(jù);有些病毒只對(duì)某些特定的程序或數(shù)據(jù)感興趣;而有的病毒則對(duì)程序或數(shù)據(jù)毫無興趣,只是不斷自身繁衍,搶占磁盤空間,其他什么都不干。

由于計(jì)算機(jī)病毒及其所處環(huán)境的復(fù)雜性,以某種方式遵循單一標(biāo)準(zhǔn)為病毒分類無法達(dá)到對(duì)病毒的準(zhǔn)確認(rèn)識(shí),也不利于對(duì)病毒的分析與防治。因此在本節(jié)中,我們將從多個(gè)角度對(duì)計(jì)算機(jī)病毒進(jìn)行詳細(xì)分類。

需要說明的是,按照計(jì)算機(jī)病毒的特點(diǎn)及特性,其分類方法有許多種。由于同一種病毒可能同時(shí)具備多種特征,因此在分類隸屬關(guān)系上會(huì)產(chǎn)生交叉。

1.4.1 根據(jù)寄生的數(shù)據(jù)存儲(chǔ)方式劃分

根據(jù)寄生的數(shù)據(jù)存儲(chǔ)方式可劃分為三種類型:引導(dǎo)區(qū)型、文件型和混合型。

1.引導(dǎo)型病毒

直到20世紀(jì)90年代中期,引導(dǎo)型病毒一直是最流行的病毒類型,主要通過軟盤在DOS操作系統(tǒng)里傳播。引導(dǎo)型病毒感染軟盤中的引導(dǎo)區(qū),蔓延到用戶硬盤,并能感染到用戶盤中的“主引導(dǎo)記錄”。一旦硬盤中的引導(dǎo)區(qū)被病毒感染,病毒就試圖感染每一個(gè)插入計(jì)算機(jī)的軟盤的引導(dǎo)區(qū)。

引導(dǎo)型病毒是這樣工作的:磁盤引導(dǎo)區(qū)傳染的病毒主要用病毒的全部或部分邏輯取代正常的引導(dǎo)記錄,而將正常的引導(dǎo)記錄隱藏在磁盤的其他地方。由于引導(dǎo)區(qū)是磁盤能夠正常使用的先決條件,因此,這種病毒在運(yùn)行的一開始(如系統(tǒng)啟動(dòng))就能獲得控制權(quán),其傳染性較大。由于病毒隱藏在磁盤的第一扇區(qū),使它可以在系統(tǒng)文件裝入內(nèi)存之前先進(jìn)入內(nèi)存,從而使它獲得對(duì)DOS的完全控制,這就使它可以傳播并造成危害。由于在磁盤的引導(dǎo)區(qū)內(nèi)存儲(chǔ)著許多重要信息,如果對(duì)磁盤上被移走的正常引導(dǎo)記錄不進(jìn)行保護(hù),則在運(yùn)行過程中就會(huì)導(dǎo)致引導(dǎo)記錄的破壞。引導(dǎo)區(qū)傳染的計(jì)算機(jī)病毒較多,例如,“大麻”和“小球”病毒就是這類病毒。

引導(dǎo)型病毒會(huì)改寫(即一般所說的“感染”)磁盤上的引導(dǎo)扇區(qū)(Boot Sector)的內(nèi)容,軟盤或硬盤都有可能感染病毒,再不然就是改寫硬盤上的分區(qū)表(FAT)。如果用已感染病毒的軟盤來啟動(dòng)的話,則會(huì)感染硬盤。

引導(dǎo)型病毒是一種在ROM BIOS之后,系統(tǒng)引導(dǎo)時(shí)出現(xiàn)的病毒,它先于操作系統(tǒng)的運(yùn)行,依托的環(huán)境是BIOS中斷服務(wù)程序。

引導(dǎo)型病毒利用操作系統(tǒng)的引導(dǎo)模塊被放在某個(gè)固定的位置,并且其控制權(quán)的轉(zhuǎn)交方式以物理地址為依據(jù),而不是以操作系統(tǒng)引導(dǎo)區(qū)的內(nèi)容為依據(jù),因而病毒占據(jù)該物理位置即可獲得控制權(quán),而將真正的引導(dǎo)區(qū)內(nèi)容搬家轉(zhuǎn)移或替換,待病毒程序被執(zhí)行后,將控制權(quán)交給真正的引導(dǎo)區(qū)內(nèi)容,使得這個(gè)帶病毒的系統(tǒng)看似正常運(yùn)轉(zhuǎn),而實(shí)際上病毒已隱藏在系統(tǒng)中伺機(jī)傳染和發(fā)作。

引導(dǎo)型病毒按其寄生對(duì)象的不同又可分為兩類,即MBR(主引導(dǎo)區(qū))病毒和BR(引導(dǎo)區(qū))病毒。MBR病毒也稱為分區(qū)病毒,將病毒寄生在硬盤分區(qū)主引導(dǎo)程序所占據(jù)的硬盤0頭0柱面第1個(gè)扇區(qū)中。典型的病毒有大麻(Stoned)、2708等。BR病毒是將病毒寄生在硬盤邏輯0扇區(qū)或軟盤邏輯0扇區(qū)(即0面0道第1個(gè)扇區(qū))。典型的病毒有“Brain”、“小球”病毒等。

顧名思義,文件型病毒主要以感染文件擴(kuò)展名為 .COM、.EXE及.OVL等可執(zhí)行程序?yàn)橹鳌K陌惭b必須借助于病毒的載體程序,即要運(yùn)行病毒的載體程序,方能把文件型病毒引入內(nèi)存。已感染病毒的文件執(zhí)行速度會(huì)減緩,甚至完全無法執(zhí)行。有些文件遭感染后,一執(zhí)行就會(huì)被刪除。大多數(shù)文件型病毒都會(huì)把它們自己的程序碼復(fù)制到其宿主的開頭或結(jié)尾處。這會(huì)使已感染病毒文件長(zhǎng)度變長(zhǎng),但用戶不一定能用DIR命令列出其感染病毒前的長(zhǎng)度。也有部分病毒是直接改寫“受害文件”的程序碼,因此感染病毒后文件的長(zhǎng)度仍然維持不變。

2.文件型病毒

文件型病毒是文件感染者,它運(yùn)行在計(jì)算機(jī)存儲(chǔ)器里,通常感染擴(kuò)展名為COM、EXE、DRV、DLL、BIN、OVL、SYS、DOC、DOT、EXL的文件。每一次激活時(shí),感染文件把自身復(fù)制到其他文件中,并能在存儲(chǔ)器里保存很長(zhǎng)時(shí)間,并在特定條件下進(jìn)行表現(xiàn)或破壞。

與引導(dǎo)型病毒不同的是,文件病毒不但可以感染DOS系統(tǒng)文件,還可以感染W(wǎng)indows系統(tǒng)、IBM OS/2系統(tǒng)和Macintosh系統(tǒng)的文件。

隨著計(jì)算機(jī)操作系統(tǒng)的不斷更新?lián)Q代和互聯(lián)網(wǎng)在社會(huì)生活中的不斷普及,文件型病毒有了更多的生存空間。即使在當(dāng)前的計(jì)算機(jī)病毒多樣性傳播的大環(huán)境下,文件感染仍然是很多主流病毒所保留的“必要手段”。

文件型病毒分為源碼型病毒、嵌入型病毒和外殼型病毒。源碼型病毒是用高級(jí)語(yǔ)言編寫的,若不進(jìn)行匯編、鏈接則無法傳染擴(kuò)散。嵌入型病毒是嵌入在程序中的,它只針對(duì)某個(gè)具體程序起作用,如dBASE病毒。由于受環(huán)境限制,這兩類病毒尚不多見。目前流行的文件型病毒幾乎都是外殼型病毒,這類病毒寄生在宿主程序的前面或后面,并修改程序的第一個(gè)執(zhí)行指令,使病毒先于宿主程序執(zhí)行,從而隨著宿主程序的使用而傳染擴(kuò)散。

3.混合型病毒

混合型病毒同時(shí)具備引導(dǎo)型和文件型兩類病毒特征,又稱綜合型或復(fù)合型病毒。這類病毒既感染磁盤引導(dǎo)區(qū),又感染可執(zhí)行文件。這類病毒有極強(qiáng)的傳染性,清除難度更大,并且常常因?yàn)闅⒍静粡氐锥斐伞安《練⒉凰馈钡募傧螅钇胀ㄓ?jì)算機(jī)用戶談毒色變。

對(duì)染有混合型病毒的計(jì)算機(jī),如果只清除了文件上的病毒而沒有清除硬盤引導(dǎo)區(qū)的病毒,系統(tǒng)引導(dǎo)時(shí)還會(huì)將病毒調(diào)入內(nèi)存,從而重新感染文件;如果只清除了引導(dǎo)區(qū)的病毒,而沒有清除可執(zhí)行文件上的病毒,那么當(dāng)執(zhí)行帶毒文件時(shí),就又會(huì)感染硬盤引導(dǎo)區(qū)。

1.4.2 根據(jù)感染文件類型劃分

保守地講,計(jì)算機(jī)系統(tǒng)文件類型在300種以上。若按擴(kuò)展名來說,截止目前能被病毒感染的文件包括EXE、COM、DLL、SYS、VXD、DRV、BIN、OVL、386、HTM、FON、DOC、DOT、XLS、XLT、VBS、VBE、JS、JSE、CSS、WSH、SCT、HTA、HTT、ASP、ZIP、ARJ、CAB、RAR、ZOO、ARC、LZH、PKZIP、GZIP、PKPAK、ACE等文件。雖然被感染的對(duì)象文件的表現(xiàn)形式不一樣,但從本質(zhì)上講,病毒都是感染文件的程序指令代碼部分的。

1.4.3 根據(jù)傳播途徑分類

1.單機(jī)病毒

單機(jī)病毒的載體是磁盤、光盤和U盤等可移動(dòng)存儲(chǔ)介質(zhì),常見的是病毒從軟盤、光盤等傳入硬盤,感染操作系統(tǒng)及已安裝的軟件或程序,然后再通過存儲(chǔ)介質(zhì)的轉(zhuǎn)移又傳染其他系統(tǒng)。

2.網(wǎng)絡(luò)病毒

網(wǎng)絡(luò)病毒的傳播媒介不再是移動(dòng)式載體,而是網(wǎng)絡(luò)數(shù)據(jù)通道。這種病毒的傳染能力更強(qiáng),破壞力更大。

1.4.4 列舉幾種具有代表性的病毒類型

1.宏病毒

隨著微軟公司Office軟件應(yīng)用的不斷普及,1996年出現(xiàn)了感染W(wǎng)ord、Excel文件的病毒。直到20世紀(jì)90年代中期,文件型病毒還是最流行的病毒。但隨后幾年情形有所變化,宏病毒變得越來越流行。與當(dāng)時(shí)已經(jīng)流行十幾年的病毒類型相比,宏病毒作為“后起之秀”,在短短兩年左右就占了全部病毒數(shù)量的80%以上。另外,宏病毒還可衍生出各種變形變種病毒,這種“父生子,子生孫”的傳播方式令許多系統(tǒng)防不勝防,這也使宏病毒成為威脅計(jì)算機(jī)系統(tǒng)的又一“殺手”。

宏病毒是一種寄存于文檔或模板的宏中的計(jì)算機(jī)病毒。一旦打開這樣的文檔,宏病毒就會(huì)被激活并轉(zhuǎn)移到計(jì)算機(jī)上,然后駐留在Normal模板上。此后,所有自動(dòng)保存的文檔都會(huì)“感染”上這種宏病毒,而且如果其他用戶打開了感染了病毒的文檔,宏病毒也會(huì)轉(zhuǎn)移到他的計(jì)算機(jī)上。

宏病毒一般指的是用BASIC編寫的病毒程序,是寄存在Microsoft Office文檔上的宏代碼。它影響對(duì)文檔的各種操作,如打開、存儲(chǔ)、關(guān)閉或清除等。當(dāng)打開Office文檔時(shí),宏病毒程序就會(huì)被執(zhí)行,即宏病毒處于活動(dòng)狀態(tài),當(dāng)觸發(fā)條件滿足時(shí),宏病毒就會(huì)開始傳染、表現(xiàn)和破壞。

2.蠕蟲病毒

提起蠕蟲病毒,讀者可能不大能說清楚它到底是一個(gè)什么樣的病毒,但是一提起“紅色代碼”、“尼姆達(dá)”、“愛情后門”、“2003蠕蟲王”、“沖擊波”、“震蕩波”等臭名昭著的病毒,我想大家一定記憶猶新,這些病毒一旦暴發(fā),便會(huì)在全球泛濫,引起整個(gè)網(wǎng)絡(luò)的動(dòng)蕩。如果你經(jīng)常上網(wǎng)的話,很可能遭遇過它們的侵害。

作為對(duì)互聯(lián)網(wǎng)危害嚴(yán)重的一種計(jì)算機(jī)程序,網(wǎng)絡(luò)中的蠕蟲病毒的破壞力和傳染性不容忽視。與傳統(tǒng)病毒不同,蠕蟲病毒以計(jì)算機(jī)為載體,以網(wǎng)絡(luò)為攻擊對(duì)象,而且具有自身復(fù)制的功能。蠕蟲的傳播無需用戶操作,也不必通過“宿主”程序或文件,因此可潛入用戶的系統(tǒng)并允許其他人遠(yuǎn)程控制用戶的計(jì)算機(jī)。蠕蟲病毒可自動(dòng)向電子郵件地址簿中的所有聯(lián)系人發(fā)送自己的副本,那些聯(lián)系人的計(jì)算機(jī)也將執(zhí)行同樣的操作,結(jié)果會(huì)造成多米諾效應(yīng),消耗內(nèi)存或網(wǎng)絡(luò)帶寬,導(dǎo)致用戶計(jì)算機(jī)系統(tǒng)崩潰,使商業(yè)網(wǎng)絡(luò)和整個(gè)Internet的速度減慢。

計(jì)算機(jī)病毒自出現(xiàn)之日起,就成為計(jì)算機(jī)的一個(gè)巨大威脅。而當(dāng)網(wǎng)絡(luò)迅速發(fā)展的時(shí)候,蠕蟲病毒引起的危害開始顯現(xiàn)。蠕蟲病毒和一般的病毒有著很大區(qū)別。對(duì)于蠕蟲病毒,現(xiàn)在還沒有一個(gè)完整的理論體系。一般認(rèn)為,蠕蟲是一種通過網(wǎng)絡(luò)傳播的惡性病毒,它具有病毒的一些共性,如傳播性、隱蔽性及破壞性等。與此同時(shí),它還具有自己的一些特征,如不利用文件寄生(有的只存在于內(nèi)存中),對(duì)網(wǎng)絡(luò)造成拒絕服務(wù),以及和黑客技術(shù)相結(jié)合等。在產(chǎn)生的破壞性上,蠕蟲病毒也不是普通病毒所能比擬的,特別是網(wǎng)絡(luò)的發(fā)展使得蠕蟲病毒可以在短短的時(shí)間內(nèi)蔓延整個(gè)網(wǎng)絡(luò),造成網(wǎng)絡(luò)癱瘓。

蠕蟲病毒的傳播方式是多種多樣的。有一些蠕蟲病毒(如“紅色代碼”和“尼姆達(dá)”等)利用操作系統(tǒng)的漏洞主動(dòng)進(jìn)行攻擊。有一些蠕蟲病毒通過電子郵件、惡意網(wǎng)頁(yè)的形式迅速傳播,如“愛蟲”病毒和“求職信”病毒等。這類病毒自從2001年大規(guī)模出現(xiàn)并迅速充斥人們的視野后就已經(jīng)被所有反病毒產(chǎn)品生產(chǎn)廠商所重視,但直到2011年,對(duì)于我們的計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)而言,蠕蟲病毒仍然是僅次于木馬病毒的第二大威脅因素。

3.特洛伊木馬病毒

在神話傳說中,特洛伊木馬表面上是“禮物”,但實(shí)際上藏匿了襲擊特洛伊城的希臘士兵。現(xiàn)在,特洛伊木馬是指表面上是有用的軟件、實(shí)際目的卻是危害計(jì)算機(jī)安全并導(dǎo)致嚴(yán)重破壞的計(jì)算機(jī)程序。最近的特洛伊木馬以電子郵件的形式出現(xiàn),電子郵件包含的附件聲稱是微軟的安全更新程序,但實(shí)際上是一些試圖禁用防病毒軟件和防火墻軟件的病毒。

一旦用戶經(jīng)不起誘惑從而打開了以為來自合法來源的程序,特洛伊木馬便趁機(jī)傳播。為了更好地保護(hù)用戶,微軟公司常通過電子郵件發(fā)出安全公告,但這些郵件從不包含附件。在用電子郵件將安全警報(bào)發(fā)送給客戶之前,他們也會(huì)在安全網(wǎng)站上公布所有安全警報(bào)。

特洛伊木馬也可能包含在免費(fèi)下載軟件中,因此切勿從不信任的來源下載軟件。

1.5 計(jì)算機(jī)病毒的命名規(guī)則

通常病毒名是由以下6字段組成的:主行為類型.子行為類型.宿主文件類型.主名稱.版本信息.主名稱變種號(hào),其中字段之間使用“.”分隔。

1.主行為類型與病毒子行為類型

主行為類型:主行為類型標(biāo)識(shí)某種病毒的最顯著的行為特征,病毒可能包含多個(gè)主行為類型特征,這種情況可以根據(jù)每種主行為類型的危害級(jí)別,確定危害級(jí)別最高的作為病毒的主行為類型。其中危害級(jí)別是指對(duì)病毒所在計(jì)算機(jī)的危害程度。

下面列舉了幾種常見的病毒主行為類型。

(1)Backdoor危害級(jí)別:1

說明:中文名稱——“后門”,是指在用戶不知道、不允許的情況下,在被感染的系統(tǒng)上以隱蔽的方式運(yùn)行,可以對(duì)被感染的系統(tǒng)進(jìn)行遠(yuǎn)程控制,而且用戶無法通過正常的方法禁止其運(yùn)行。“后門”其實(shí)是木馬的一種特例,它與木馬之間的區(qū)別在于“后門”可以對(duì)被感染的系統(tǒng)進(jìn)行遠(yuǎn)程控制(如:文件管理、進(jìn)程控制等)。

(2)Worm危害級(jí)別:2

說明:中文名稱——“蠕蟲”,是指利用系統(tǒng)的漏洞、外發(fā)郵件、共享目錄、可傳輸文件的軟件(如:MSN、QQ、Fetion等)、可移動(dòng)存儲(chǔ)介質(zhì)(如:U盤、移動(dòng)硬盤)等方式傳播自己的病毒。

(3)Trojan危害級(jí)別:3

說明:中文名稱——“木馬”,是指在用戶不知道、不允許的情況下,在被感染的系統(tǒng)上以隱蔽的方式運(yùn)行,而且用戶無法通過正常的方法禁止其運(yùn)行,這種病毒通常都含有利益目的。

(4)Virus危害級(jí)別:4

說明:中文名稱——“感染型病毒”,是指將病毒代碼附加到被感染的宿主文件(如:PE文件、DOS下的COM文件、VBS文件、具有可運(yùn)行宏的文件)中,使病毒代碼在被感染宿主文件運(yùn)行時(shí)取得運(yùn)行權(quán)的病毒。

(5)Harm危害級(jí)別:5

說明:中文名稱——“破壞性程序”,是指那些既不會(huì)傳播也不感染,但運(yùn)行后直接破壞本地計(jì)算機(jī),(如:格式化硬盤、大量刪除文件等)導(dǎo)致本地計(jì)算機(jī)無法正常使用的程序。

(6)Dropper危害級(jí)別:6

說明:中文名稱——“釋放病毒的程序”,是指不屬于正常的安裝或自解壓程序,其運(yùn)行后會(huì)釋放病毒并將它們運(yùn)行。

(7)Hack危害級(jí)別:無定義

說明:中文名稱——“黑客工具”,是指可以在本地計(jì)算機(jī)通過網(wǎng)絡(luò)攻擊其他計(jì)算機(jī)的工具。

(8)Binder危害級(jí)別:無定義

說明:捆綁病毒的工具。

子行為類型:同樣的,病毒也可能包含多個(gè)子行為類型,這種情況可以根據(jù)每種主行為類型的危害級(jí)別確定危害級(jí)別最高的作為病毒的子行為類型。

標(biāo)識(shí)病毒傳播途徑的子行為類型字段,例如:

(1)Mail危害級(jí)別:1

說明:通過郵件傳播。

(2)MSN危害級(jí)別:3

說明:通過MSN傳播。

(3)QQ危害級(jí)別:4

說明:通過OICQ傳播。

(4)DL危害級(jí)別:3

說明:下載病毒并將其運(yùn)行。

● 判定條款:

沒有可調(diào)出的任何界面,邏輯功能為:從某網(wǎng)站上下載文件,然后加載或運(yùn)行。

● 邏輯條件引發(fā)的事件:

事件1:不能正常下載或下載失敗的文件不能判定為病毒。

操作準(zhǔn)則:不符合正常軟件功能組件標(biāo)識(shí)條款的文件,確定為:Trojan.DL

事件2:下載的文件是病毒

操作準(zhǔn)則:下載的文件是病毒,確定為:Trojan.DL

標(biāo)識(shí)病毒行為目的的子行為類型字段,例如:

(5)Spy危害級(jí)別:1

說明:竊取用戶信息(如:文件等)。

(6)PSW危害級(jí)別:2

說明:具有竊取密碼的行為。

(7)Proxy危害級(jí)別:9

說明:將被感染的計(jì)算機(jī)作為代理服務(wù)器。

(8)Clicker危害級(jí)別:10

說明:點(diǎn)擊指定的網(wǎng)頁(yè)。

● 判定條款:

沒有可調(diào)出的任何界面,邏輯功能為:點(diǎn)擊某網(wǎng)頁(yè)。

操作準(zhǔn)則:該文件不符合正常軟件功能組件標(biāo)識(shí)條款的,確定為:Trojan.Clicker。(若該文件符合正常軟件功能組件標(biāo)識(shí)條款,就參考流氓軟件判定規(guī)則進(jìn)行判定)

(9)Dialer危害級(jí)別:12

說明:通過撥號(hào)來騙取Money的程序。

(10)Exploit

說明:漏洞探測(cè)攻擊工具。

(11)Ddoser

說明:拒絕服務(wù)攻擊工具。

(12)Flooder

說明:洪水攻擊工具。

(13)Spam

說明:垃圾郵件。

(14)Anti

說明:免殺的黑客工具。

2.宿主文件字段

宿主文件是指病毒所使用的文件類型,是否有顯示的屬性。目前的宿主文件有以下幾種。

(1)JS

說明:JavaScript腳本文件。

(2)VBS

說明:VBScript腳本文件。

(3)HTML

說明:HTML文件。

(4)Java

說明:Java的Class文件。

(5)COM

說明:Dos下的COM文件。

(6)EXE

說明:Dos下的EXE文件。

(7)Boot

說明:硬盤或軟盤引導(dǎo)區(qū)。

(8)Word

說明:MS公司的Word文件。

(9)Excel

說明:MS公司的Excel文件。

(10)PE

說明:PE文件。

(11)Winreg

說明:注冊(cè)表文件。

(12)Ruby

說明:一種腳本。

(13)Python

說明:一種腳本。

(14)BAT

說明:BAT腳本文件。

(15)IRC

說明:IRC腳本。

3.主名稱

病毒的主名稱是由分析員根據(jù)病毒體的特征字符串、特定行為或者所使用的編譯平臺(tái)來定的,如果無法確定則可以用字符串“Agent”來代替主名稱,小于10k大小的文件可以命名為“Small”。

4.版本信息

版本信息只允許為數(shù)字,對(duì)于版本信息不明確的可不加版本信息。

5.主名稱變種號(hào)

如果病毒的主行為類型、行為類型、宿主文件類型、主名稱均相同,則可認(rèn)為是同一家族的病毒,這時(shí)需要變種號(hào)來區(qū)分不同的病毒記錄。如果一位版本號(hào)不夠用則最多可以擴(kuò)展3位,并且均為小寫字母a~z,如:aa、ab、aaa、aab以此類推,由系統(tǒng)自動(dòng)計(jì)算,不需要人工輸入或選擇。

1.6 計(jì)算機(jī)病毒的入侵方式

由于病毒是由很多無聯(lián)系的個(gè)人或組織分別編寫的,他們采用的技術(shù)各不相同,因此入侵方式也多種多樣。

1.源代碼嵌入攻擊

病毒在源程序編譯之前插入病毒代碼,最后隨源程序一起被編譯成可執(zhí)行文件,因此剛生成的文件就是帶毒文件。這類軟件并不多,因?yàn)檫@些病毒開發(fā)者不可能輕易得到那些軟件開發(fā)公司編譯前的源程序,況且這種入侵方式的難度較大,病毒制造者需要具備非常專業(yè)的編程水平。

2.代碼取代攻擊

這類病毒主要用自身的病毒代碼取代宿主程序的整個(gè)或部分模塊,這類病毒在早期的DOS時(shí)代非常普遍,清除起來也比較困難。

3.外殼寄生入侵

這類病毒通常將病毒代碼附加在正常程序的頭部或尾部,即相當(dāng)于給程序添加了一個(gè)外殼。在被感染的程序執(zhí)行時(shí),病毒代碼先被執(zhí)行,然后才將正常程序調(diào)入內(nèi)存。有很多病毒采用此類入侵方式。

4.系統(tǒng)修改入侵

這類病毒主要用自身程序覆蓋或修改系統(tǒng)中的某些文件來達(dá)到調(diào)用或替代操作系統(tǒng)中部分功能的目的。由于是直接感染系統(tǒng),因此危害較大,這是病毒目前的主流入侵方式。

1.7 計(jì)算機(jī)病毒的生命周期

計(jì)算機(jī)病毒的產(chǎn)生過程包括:設(shè)計(jì)—編寫—傳播—潛伏—觸發(fā)—攻擊。計(jì)算機(jī)病毒有一個(gè)生命周期,即從生成到完全根除。下面我們將介紹病毒生命周期的各個(gè)時(shí)期。

1.開發(fā)期

在幾年前,制造一個(gè)病毒需要計(jì)算機(jī)編程語(yǔ)言的知識(shí)。但是今天有一點(diǎn)計(jì)算機(jī)編程知識(shí)的人都可以制造一個(gè)病毒。通常,計(jì)算機(jī)病毒是一些試圖傳播計(jì)算機(jī)病毒和破壞計(jì)算機(jī)的個(gè)人或組織制造的。

2.傳染期

在一個(gè)病毒制造出來后,病毒的編寫者將其復(fù)制并確認(rèn)其已被傳播出去。通常的辦法是感染一個(gè)流行的程序,然后再將其放到BBS站點(diǎn)、校園網(wǎng)和其他大型組織當(dāng)中以達(dá)到分發(fā)其復(fù)制物的目的。

3.潛伏期

病毒是自然復(fù)制的。一個(gè)設(shè)計(jì)良好的病毒可以在活化前的很長(zhǎng)一個(gè)時(shí)期里被復(fù)制。這就給了它充裕的傳播時(shí)間。這時(shí)病毒的危害在于暗中占據(jù)存儲(chǔ)空間。

4.發(fā)作期

帶有破壞機(jī)制的病毒會(huì)在滿足某一特定條件時(shí)發(fā)作。一旦遇上某種條件,比如遇到某個(gè)日期或用戶采取的某種特定行為,病毒就被活化了。沒有感染程序的病毒處于沒有活化的狀態(tài),這時(shí)病毒的危害在于暗中占據(jù)存儲(chǔ)空間。

5.發(fā)現(xiàn)期

通常情況下,當(dāng)一個(gè)病毒被檢測(cè)到并被隔離出來后,它會(huì)被送到計(jì)算機(jī)安全協(xié)會(huì)或反病毒廠家,在那里病毒被通報(bào)和描述給反病毒研究工作者。通常,發(fā)現(xiàn)病毒是在病毒成為計(jì)算機(jī)界的災(zāi)難之前完成的。

6.分析期

在這一階段,反病毒開發(fā)人員修改他們的軟件以使其可以檢測(cè)到新發(fā)現(xiàn)的病毒。這個(gè)階段的長(zhǎng)短取決于開發(fā)人員的素質(zhì)和病毒的類型。

7.消亡期

若是所有用戶安裝了最新版的殺毒軟件,那么任何病毒都將被掃除,因此沒有什么病毒可以廣泛地傳播。但有一些病毒在消失之前有一個(gè)很長(zhǎng)的消亡期。至今,還沒有哪種病毒已經(jīng)完全消失,但是某些病毒已經(jīng)在很長(zhǎng)時(shí)間里不再是一個(gè)重要的威脅了。

1.8 計(jì)算機(jī)病毒的傳播

計(jì)算機(jī)病毒的傳播主要是通過復(fù)制文件、傳送文件、運(yùn)行程序等方式進(jìn)行的。而主要的傳播途徑有以下幾種。

1.移動(dòng)存儲(chǔ)介質(zhì)

通過使用被感染的軟盤、光盤、U盤、存儲(chǔ)卡等使計(jì)算機(jī)感染病毒。軟盤和U盤主要是攜帶方便,在網(wǎng)絡(luò)還不普及時(shí),為了計(jì)算機(jī)之間互相傳遞文件,經(jīng)常使用軟盤,這樣,通過軟盤也會(huì)將一臺(tái)計(jì)算機(jī)的病毒傳播到另一臺(tái)計(jì)算機(jī)。隨著數(shù)碼消費(fèi)產(chǎn)品市場(chǎng)的成熟,U盤、CF、SD等各類存儲(chǔ)卡成為了病毒傳播的移動(dòng)存儲(chǔ)介質(zhì)。

2.硬盤

在人們互相借用或維修硬盤時(shí)可將病毒傳播到其他的硬盤或軟盤上。

3.光盤

光盤的存儲(chǔ)容量大,所以大多數(shù)軟件都刻錄在光盤上,以便于保存或互相傳遞。盜版軟件主要是刻錄在光盤上的,因其是只讀的,所以一旦把帶毒的軟件刻錄在光盤上,則不能清除,從而使得病毒無法永遠(yuǎn)去除。

4.網(wǎng)絡(luò)

在計(jì)算機(jī)和網(wǎng)絡(luò)日益普及的今天,人們通過計(jì)算機(jī)局域網(wǎng)、互聯(lián)網(wǎng)以電子郵件、即時(shí)通信工具互相傳遞文件和信件,從而使病毒的傳播速度更快了。因?yàn)橘Y源共享,人們經(jīng)常在網(wǎng)上下載免費(fèi)及共享軟件,病毒也難免會(huì)夾雜在其中。

5.點(diǎn)對(duì)點(diǎn)通信系統(tǒng)和無線通道

目前,這種傳播途徑還不是十分廣泛,但預(yù)計(jì)在未來的信息時(shí)代,這種途徑很可能與網(wǎng)絡(luò)傳播途徑一起成為病毒擴(kuò)散的兩大“時(shí)尚渠道”。

主站蜘蛛池模板: 嘉义市| 新乡县| 长治县| 婺源县| 巨野县| 嘉定区| 宣汉县| 阳谷县| 石泉县| 呼伦贝尔市| 新蔡县| 大渡口区| 济宁市| 扎兰屯市| 黄骅市| 革吉县| 绥滨县| 大悟县| 安顺市| 进贤县| 上饶市| 德兴市| 宜丰县| 晋城| 新昌县| 修文县| 秀山| 大关县| 贵南县| 青海省| 南京市| 琼中| 东台市| 丹棱县| 理塘县| 平陆县| 五台县| 内江市| 南陵县| 祁东县| 叙永县|