




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章計?算?機?病?毒2.1病毒的基本概念2.2引導型病毒2.3文件型病毒2.4宏病毒2.5網絡病毒與防護2.6典型病毒原理及防治方法
2.7小結習題
2.1病毒的基本概念計算機病毒的發(fā)源地在美國。1977年夏季,美國的Thomas.J.Ryan出版了一本科幻小說,名叫《TheAdolescenceofP-1》。在這本書中,作者構思出了世界上第一個計算機病毒。這種病毒能從一臺計算機傳播到另一個計算機,最終能控制7000臺計算機的操作系統(tǒng)。事實上,在20世紀60年代初期,美國電報電話公司貝爾研究所里就有一群年輕的研究人員,他們做完工作后,常常留在實驗室里饒有興趣地玩一種他們自己創(chuàng)造的計算機游戲。這種被稱為“達爾文”的游戲很有刺激性。它的玩法是由每個人編一段小程序,輸入到計算機中運行,相互展開攻擊,設法毀滅別人的程序。這種程序就是計算機病毒的雛形,然而當時人們并沒有意識到這一點。真正的計算機病毒,通常認為是1982年首先產生在貝爾研究所,當時是因為工作失誤,無意中造出了計算機病毒。但是,也有人認為,大約在同一時期,首先是施樂公司帕洛阿爾托研究所的研究人員在試驗開發(fā)中制造出了計算機病毒。從那時起,一些軟件開發(fā)人員和一些惡作劇者,為了顯示自己高超的技藝或存心開玩笑,陸續(xù)制造了不少計算機病毒。計算機界真正認識到計算機病毒的存在是在1983年。在這一年的11月3日的計算機安全學術討論會上,美國計算機安全專家弗雷德·科恩博士首次提出了計算機病毒的概念,隨后獲準進行實驗演示。當天,專家們首先在運行Unix操作系統(tǒng)的VAX11/750機上實驗,成功地驗證了第一個計算機病毒,一周后,又演示了另外五個實驗。在5次實驗中,計算機病毒使計算機系統(tǒng)癱瘓所需的時間平均為30分鐘。由此證實了計算機病毒的存在,證明計算機病毒可以在短時間內實現(xiàn)其對計算機系統(tǒng)的破壞,并且可以迅速地向外傳播。實際上,計算機病毒的廣泛傳染始于1987年,到1988年,計算機病毒才開始得到人們的重視。尤其是在1988年11月3日以后,計算機病毒才逐步為計算機界人士所了解。1988年11月3日,美國境內的因特網遭到了計算機病毒的攻擊,該網絡中約有620臺基于Unix系統(tǒng)的VAX系列小型機及SUN工作站都染上了病毒,計算機用戶的損失約9200多萬美元。從此,國際計算機領域掀起了一個研究計算機病毒的高潮。自計算機病毒開始傳播算起,僅三年多的時間,就出現(xiàn)了幾十種病毒(不包括同類病毒的變種),并傳遍了整個世界,世界各地均有受到計算機病毒破壞的惡性事件的報道。早期發(fā)現(xiàn)的計算機病毒,主要是攻擊IBMPC機及其兼容機,大約有幾十種,其中傳播最廣的是小球病毒,這種病毒很快就產生了十余種變種;其次是大麻病毒、黑色星期五病毒、巴基斯坦病毒。另外還發(fā)現(xiàn)了雨點病毒、楊基都督病毒、磁盤殺手病毒、音樂病毒等。在20世紀90年代,隨著反病毒技術的提高和計算機網絡的發(fā)展,計算機病毒也不斷變換新的花樣。1991年,發(fā)現(xiàn)首例專門攻擊計算機網絡的病毒GPI,它突破了NovellNetWare網絡的限制。1992年,又發(fā)現(xiàn)了首例Windows中的病毒。1994年后,采用密碼技術編寫的技巧高超的隱蔽性病毒和多變體型病毒在世界各地接連不斷地被發(fā)現(xiàn),如變形金剛、幽靈王等。20世紀90年代中期,出現(xiàn)了病毒工具包或“病毒生產廠”軟件。1995年8月9日,在美國首次發(fā)現(xiàn)的新型宏病毒(是一種概念病毒,這種病毒的目的是要演示如何利用系統(tǒng)安全漏洞,本身危害性不大)專門攻擊Windows系統(tǒng)。
1996年在北美地區(qū)流行的宏病毒,不但標志著病毒類型變化的多元化新趨勢,而且也說明病毒造成的危害越來越大。1998年6月,世界上發(fā)現(xiàn)首例能夠破壞硬件的病毒——CIH病毒。1999年3月26日發(fā)現(xiàn)的美麗莎病毒僅用12~16個小時就席卷全球互聯(lián)網,在短短幾天之內感染了數(shù)以百萬計的計算機?!懊利惿钡拇罅餍斜环Q為“前所未有的、席卷全球的因特網病毒風暴”。2000年5月4日,“愛蟲”病毒使美國蒙受病毒史上最大的損失,這是第一個能夠侵入機密計算機系統(tǒng)的病毒,僅僅2個小時,就造成10多億美元的損失。其中,美國國防部有4臺機密計算機在防火墻被攻破后遭到“愛蟲”感染。2000年5月,以“愛蟲”病毒為代表的計算機病毒,包括新愛蟲、珍妮特·西蒙斯簡歷等病毒的大爆發(fā),影響了全球數(shù)百萬使用者,其造成的全球損失估計達到67億美元。
2001年,全世界已知的計算機病毒超過60000種,而在三年多以前,只有14000多種。據統(tǒng)計,世界上的計算機病毒以每星期10種的速度遞增。隨著手機的普及,手機病毒也開始出現(xiàn),并且慢慢地滲透進我們的生活。實際上,手機病毒與其它計算機病毒一樣,也是一種特殊的計算機程序,它具有傳染性、潛伏性、觸發(fā)性和破壞性。手機病毒可利用發(fā)送短信、彩信、電子郵件、瀏覽網站、下載鈴聲等方式進行傳播。手機病毒可能會導致用戶手機死機、關機、資料被刪、向外發(fā)送垃圾郵件、自動撥打電話等,甚至還會損毀SIM卡、芯片等硬件。無論手機病毒如何表現(xiàn),其本質與其它計算機病毒沒有差別。之所以會出現(xiàn)手機病毒,是因為手機其實是一套具有嵌入式系統(tǒng)的智能通信設備,這個系統(tǒng)中擁有嵌入式操作系統(tǒng)軟件和通信系統(tǒng)應用軟件,所以會遭受病毒攻擊。手機病毒就是靠軟件系統(tǒng)的漏洞來入侵手機的。手機病毒傳播和運行的必要條件是移動服務商要提供數(shù)據傳輸功能,而且手機需要支持Java等高級程序寫入功能。現(xiàn)在許多具備上網及下載功能的手機都可能會被手機病毒入侵。最早的手機病毒出現(xiàn)在2000年,當時,手機公司Movistar收到大量由計算機發(fā)出的名為“Timofonica”的騷擾短信,該病毒通過西班牙電信公司“Telefonica”的移動系統(tǒng)向系統(tǒng)內的用戶發(fā)送垃圾短信。事實上,該病毒最多只能被算做短信炸彈。真正意義上的手機病毒直到2004年6月才出現(xiàn),就是“Cabir”蠕蟲病毒,這種病毒通過諾基亞60系列手機復制,然后不斷尋找安裝了藍牙的手機。之后,手機病毒開始泛濫。計算機病毒已經成為通信網絡安全的主要威脅。本節(jié)從計算機病毒的本質開始,介紹計算機病毒的特點、類型、存儲方式等基本概念。2.1.1病毒的本質從本質上講,計算機病毒就是一種特殊的計算機程序。因為這種特殊的程序能像微生物學所稱的病毒一樣,在計算機系統(tǒng)中繁殖、生存和傳播,并像微生物病毒對動植物體帶來疾病那樣,這種特殊的計算機程序可以對計算機系統(tǒng)資源造成嚴重的破壞,所以人們就借用了這個微生物學名詞,來形象地描述這種特殊的計算機程序。
1.計算機病毒的定義計算機病毒的定義最早是由美國計算機專家弗雷德·科恩博士給出的,他指出,計算機病毒是一種程序,它用修改其它程序的方法將自己的精確拷貝或者可能深化的形式放入其它程序中,從而感染它們。由于這種感染特性,病毒可在信息交流的途徑中迅速傳播,并且破壞信息的完整性。在1994年2月28日頒布的《中華人民共和國計算機信息系統(tǒng)安全保護條例》中是這樣定義計算機病毒的:“計算機病毒是指在計算機程序中編制或者插入的破壞計算機功能或者毀壞數(shù)據,影響計算機使用,且能自我復制的一組計算機指令或者程序代碼?!庇嬎銠C專家B.W.Burnham認為:計算機病毒是一種能夠使其自身的拷貝插入(通常以非破壞方式)到某個接受拷貝的程序中(或宿主程序中)的指令序列。這些定義都從不同的角度闡述了計算機病毒的概貌,但這似乎還不夠,因為它僅僅是說明了計算機病毒的一些形式。由這些病毒的定義我們可以看出,計算機病毒本質上是一段程序,這段程序具有隱蔽性、傳染性、潛伏性和破壞性。
2.計算機病毒的傳播載體病毒的傳播載體主要有網絡、電磁性介質和光學介質三種。這些病毒傳播的載體,為計算機病毒的廣泛傳播提供了基礎。
(1)網絡傳播載體。在計算機網絡中,每一臺主計算機系統(tǒng)都要與其它主計算機系統(tǒng)之間進行通信,實現(xiàn)系統(tǒng)中的資源共享和數(shù)據傳輸,這個網絡中各主機系統(tǒng)之間的通信線路就構成了病毒傳播的載體,使得病毒能夠從一臺主機傳播到另一臺主機,在網絡中擴散傳播?!叭湎x”就是通過計算機網絡傳播的病毒。現(xiàn)代通信技術的進步,已使得數(shù)據、文件、電子郵件可以很方便地在各個網絡工作站間傳送。計算機病毒可以附著在正常文件中,如果從網絡另一端得到一個被感染的程序,且在用戶的計算機上未加任何防護措施的情況下運行它,病毒就開始傳染。在計算機網絡普及的今天,這種病毒的傳染方式是很常見的。在計算機網絡中,計算機病毒可以通過網絡自動在內存中復制,也可以通過E-mail、FTP甚至WWW網頁的瀏覽進行傳播和傳染。
(2)電磁性介質傳播載體。這種傳播載體主要有硬盤、軟盤、磁帶、移動硬盤、Flash存儲器甚至存儲芯片。早期,由于軟磁盤體積小、便于攜帶、操作方便,因此被廣泛采用。病毒程序如果隱藏在軟盤中,隨著該軟盤被拷貝復制,或在不同的計算機系統(tǒng)中使用,病毒就被傳播出去。近年來,隨著移動硬盤和Flash存儲器的不斷普及,利用這些存儲介質進行傳播的病毒不斷出現(xiàn)。目前,出現(xiàn)了通過存儲芯片傳播的病毒。這種病毒程序具有較強的感染力和破壞力。隱藏在專用芯片中的病毒具有很強的隱蔽性,在沒有收到指令時它靜止地駐留在芯片內,極不容易被發(fā)現(xiàn);一旦接到指令,它便會被觸發(fā),進行擴散和破壞。這種病毒是很難遇到的,但在分析、研究計算機病毒的傳染途徑時,應該重視這樣一條病毒傳染的途徑。目前還沒有檢測手段可以用于這方面的檢查。
(3)光學介質傳播載體。隨著光電技術的發(fā)展,光盤得到了極大的發(fā)展,目前,它成了普遍使用的新型存貯介質,當然也成為傳播計算機病毒的又一種新的載體。隨著計算機無線網絡技術的迅速發(fā)展和普及應用,無線電波也成了計算機病毒傳染的渠道。
3.計算機病毒傳染的基本條件計算機病毒傳染的兩個先決條件是計算機系統(tǒng)的運行和發(fā)生讀寫介質(磁盤)上數(shù)據的操作,沒有這兩個條件,計算機病毒是不會傳染的。如果計算機沒有運行,病毒程序就不會運行,當然也就無法傳播。如果沒有讀寫操作,病毒就不能傳入存儲介質,而只是駐留于內存或者是存儲于設備之中,孤立地存在,不會向其它存儲介質傳播病毒。通常情況下,只要計算機運行,就可能有讀寫操作,而且計算機磁盤的讀寫操作還會很頻繁。所以,計算機病毒傳染的兩個先決條件很容易得到滿足。
4.計算機病毒的傳播步驟計算機病毒主要通過以下三個步驟進行傳播。
(1)駐留內存。病毒要達到傳染的目的,必須駐留在內存之中,這樣才有可能獲得對系統(tǒng)的控制權,所以病毒首先要駐留內存。一般病毒在內存中申請一定的空間,并常駐內存。病毒程序通過其自我保護功能來保證這一空間的相對獨立性,使其不被其它數(shù)據覆蓋掉。通常病毒程序駐留在內存高端,或者駐留在某一特定的內存區(qū)域。
(2)尋找傳染的機會。病毒駐留內存之后,首先尋找可進行攻擊的對象,并判定這一對象是否可被傳染(有些病毒的傳染是無條件的,即不進行任何判別)。
(3)進行傳染。當病毒尋找到傳染的對象并判定傳染條件滿足之后,通過對INT13H磁盤中斷服務程序的修改(修改中斷向量或者中斷服務程序的內容),達到傳染病毒的目的,并將病毒寫入磁盤系統(tǒng)。
5.計算機病毒的傳染方式計算機病毒的傳染方式可以歸為兩大類,一類是引導扇區(qū)(包括硬盤的主引導扇區(qū))傳染,另一類是可執(zhí)行文件傳染。前者是以病毒程序的全部或部分代替原來的正常引導程序,在系統(tǒng)開始執(zhí)行引導程序時,它獲得系統(tǒng)的控制權,將病毒自身引導到內存,達到傳染的目的。當然,病毒自身引導完后,它要把控制權交給正常引導程序。因此,這類病毒叫做引導型病毒。后者是把病毒程序全部鏈接到可執(zhí)行的文件中,當然也存在病毒程序替換原來正常程序中的一個或部分模塊的情況,這種病毒程序傳染的首要任務是在受傳染的正常程序執(zhí)行之前,獲得對系統(tǒng)的控制權,或者說,是在正常的未受傳染的程序運行之前先行對該執(zhí)行文件進行感染。因此,這類病毒叫做文件型病毒。
6.計算機病毒的種類盡管計算機病毒的名稱千奇百怪,但是,從病毒的本質上看,每一種病毒都可劃歸為某一種病毒類型。我們可以按不同的分類標準對病毒進行分類。就計算機病毒破壞性產生的后果而言,一般將計算機病毒分為良性病毒和惡性病毒兩大類。良性病毒是指那些只是為了表現(xiàn)自己而并不破壞系統(tǒng)數(shù)據,只占用系統(tǒng)CPU資源或干擾系統(tǒng)工作的計算機病毒;惡性病毒是指病毒制造者在主觀上故意要對被感染的計算機實施破壞,這類病毒一旦發(fā)作,就會破壞系統(tǒng)的數(shù)據、刪除文件、加密磁盤或格式化系統(tǒng)盤,使系統(tǒng)處于癱瘓狀態(tài)。就計算機病毒的寄生方式來說,一般將計算機病毒分為兩種類型。第一類是系統(tǒng)引導型病毒,這種病毒也稱為操作系統(tǒng)型病毒,其特點是當系統(tǒng)引導時,病毒程序被裝入內存,同時獲得對系統(tǒng)的控制權,對外傳播病毒,并在一定的條件下發(fā)作,實施破壞。第二類是文件型病毒,也叫外殼型病毒,這類病毒是將其自身嵌入到系統(tǒng)可執(zhí)行文件之中,對原來的文件不作修改。運行可執(zhí)行文件時,病毒程序獲得控制權而首先被執(zhí)行,并且進入到系統(tǒng)中,獲得對系統(tǒng)的控制權,再按同樣的方式將病毒程序傳染到其它執(zhí)行的文件中。按照廣義的計算機病毒概念,病毒可以分為5類。
(1)蠕蟲。蠕蟲是一種短小的程序,這種程序使用未定義過的處理器(即網絡上的空閑處理器)來自行完成并行處理。這種程序常駐于一臺或多臺機器中,并有重定位的能力。如果它檢測到網絡中某臺機器未被占用,就把自身的一個拷貝發(fā)送到那臺機器上。
(2)邏輯炸彈。這是一種當滿足某些觸發(fā)條件(如時間、地點、字符串、特定名字等)時就會發(fā)作引起破壞的程序。
(3)特洛伊木馬。它通常是由遠程計算機通過網絡控制本地計算機的程序,為遠程攻擊提供服務。這種病毒遵循TCP/IP協(xié)議,往往出現(xiàn)在網絡的電子告示牌上。
(4)陷門。這是由程序的開發(fā)者有意安排的。當程序進入計算機網絡時,實際運行后只有開發(fā)者自己掌握操作的秘密,使該程序完成某種特定的事情,而其他人則往往進入子程序死循環(huán)。
(5)細菌。這是一種可不斷在系統(tǒng)上復制自己,以占據計算機系統(tǒng)存儲器的程序。這種程序進入網絡后,將不斷繁殖至填滿整個網絡的存儲系統(tǒng),使得用戶必須關機,清除所有由這一程序繁殖的子程序之后,才能使網絡系統(tǒng)恢復正常運行。2.1.2病毒的特點計算機病毒是一段具有特殊性質的程序,其特殊性表現(xiàn)在它的隱蔽性、傳染性、潛伏性、可觸發(fā)性以及表現(xiàn)性(或破壞性)等方面。
1.隱蔽性病毒的隱蔽性是指它隱藏于計算機系統(tǒng)中,不容易被人發(fā)現(xiàn)的特性。隱蔽性是病毒程序得以長期潛伏的首要條件。計算機病毒都是一些可以直接運行或間接運行的程序,它常隱藏在操作系統(tǒng)的引導扇區(qū)、可執(zhí)行程序或數(shù)據文件以及磁盤上某些被標記為壞簇的扇區(qū)中,不易被察覺。
2.傳染性傳染性是指病毒將自身復制到其它程序或系統(tǒng)的特性。病毒程序一進入計算機系統(tǒng)中,就開始尋找感染對象,包括可執(zhí)行程序或存儲信息的媒介,通過自我復制,它很快地傳播到整個系統(tǒng)或其它存儲介質上。病毒可以傳染一個局部網絡、一個大型計算機中心或者一個多用戶系統(tǒng)。病毒的傳染性是計算機病毒的再生機制,是衡量一種程序是否為病毒的首要條件,它是構成計算機病毒的重要條件之一。
3.潛伏性潛伏性是指病毒具有依附于其它介質而寄生的特性。編制巧妙的病毒程序,可以在幾天、幾周、幾個月、甚至幾年內隱蔽在合法文件之中,悄悄地進行傳播和繁殖,而不被人們發(fā)覺。在此期間,只要計算機系統(tǒng)工作,就會傳染病毒,使得編制的程序和數(shù)據文件的備份等可能染上病毒,而成為病毒的“攜帶者”。計算機病毒的潛伏性與傳染性相輔相成,潛伏性越好,它在系統(tǒng)中存在的時間就會越長,病毒的傳染范圍也就會越大,其破壞程度也就越大。4.可觸發(fā)性可觸發(fā)性是指只有達到設定的條件,病毒才開始傳染或者表現(xiàn)的特性。計算機病毒一般都有一個或若干個觸發(fā)條件,比如在一定的條件下激活一個病毒的傳染機制,使之進行傳染,或者是在一定條件下激活計算機病毒的表現(xiàn)部分或破壞部分,表現(xiàn)其自身的存在或破壞系統(tǒng)以及存儲介質上的數(shù)據。觸發(fā)條件可以是外界的,也可以是系統(tǒng)內部的,但對病毒本身而言,觸發(fā)條件都是外部因素。一種病毒只是設置一定的觸發(fā)條件,這個觸發(fā)條件由外部因素提供,通過病毒自身的判斷功能來實現(xiàn)。觸發(fā)的實質是一種條件控制。一個病毒程序可以按照設計者的要求,在某個點上激活,并對系統(tǒng)發(fā)起攻擊。攻擊是否進行,可以與多種情況聯(lián)系起來,比如指定的某個時間、日期、特定的用戶識別標志符的出現(xiàn)、特定文件的出現(xiàn)、某一文件使用的次數(shù)、某些特定的操作、外部命令等等。
5.表現(xiàn)性或破壞性表現(xiàn)性是指當病毒觸發(fā)條件滿足時,病毒在受感染的計算機上開始發(fā)作,表現(xiàn)出特定的行為。如果這種行為是惡意的,以毀壞數(shù)據、干擾系統(tǒng)為目的,則這種表現(xiàn)性就是一種破壞性。病毒程序的最終目的是要干擾系統(tǒng),破壞數(shù)據,因此它一定要表現(xiàn)其自身的存在,這主要體現(xiàn)在占用系統(tǒng)資源(如占用內存空間、占據硬盤空間、消耗系統(tǒng)運行時間等)、破壞系統(tǒng)中的數(shù)據文件、干擾程序的正常運行甚至摧毀整個系統(tǒng)上。病毒程序的表現(xiàn)性或破壞性體現(xiàn)了病毒程序設計者的真正目的,這是構成計算機病毒的第二個重要條件。由于病毒程序的破壞性會帶來嚴重的危害,因此,它成為計算機系統(tǒng)安全的首要威脅。2.1.3病毒的程序結構由于計算機病毒本身是一類可執(zhí)行的程序,因此,它必然要利用現(xiàn)有的計算機系統(tǒng)軟件和硬件資源,作為其生存、繁殖和擴散的保障。現(xiàn)代計算機系統(tǒng)的硬件環(huán)境和軟件環(huán)境決定了計算機病毒的結構。計算機病毒的制造者就是根據計算機系統(tǒng)的軟、硬件環(huán)境,抓住計算機系統(tǒng)的薄弱環(huán)節(jié),來構造其病毒程序的。盡管各類計算機病毒程序的表現(xiàn)千差萬別,但是在結構上它們確實具有一些共性。各類計算機病毒大都由三部分組成,即引導部分、傳播部分和表現(xiàn)部分。個別病毒尚沒有表現(xiàn)部分,比如大麻病毒、巴基斯坦病毒等。駐留在傳播介質上的計算機病毒程序結構如圖2.1所示。圖2.1計算機病毒程序結構計算機病毒的傳播部分和表現(xiàn)部分依附在引導部分上,它們必須由引導部分帶入計算機系統(tǒng)后,才能發(fā)揮其各自的作用。這時的病毒處在靜止狀態(tài),尚不具備向外傳染和破壞的能力。病毒進入到系統(tǒng)后,傳播部分和表現(xiàn)部分均直接與系統(tǒng)打交道,控制或干擾系統(tǒng)的某些工作。這時病毒程序已從靜態(tài)轉變?yōu)閯討B(tài),并開始向外傳播病毒。當滿足觸發(fā)條件后,其表現(xiàn)部分發(fā)作,干擾系統(tǒng)的正常工作,有的甚至刪除操作系統(tǒng)文件。
1.引導部分病毒程序的引導模塊主要是將整個病毒程序送入計算機系統(tǒng)中,完成病毒程序的安裝。對于含有較長代碼的病毒程序(如小球病毒,病毒程序被分成兩部分在介質中存放),則要首先實現(xiàn)幾部分病毒程序的合并,然后再進行安裝。在此之后,引導程序還要修改系統(tǒng)的中斷向量,使之分別指向病毒程序的傳播部分和表現(xiàn)部分。這樣就使病毒程序的這兩部分由靜態(tài)轉變?yōu)閯討B(tài),并脫離引導模塊,直接與計算機系統(tǒng)打交道。最后,引導模塊還要執(zhí)行原來系統(tǒng)正常的引導工作(對操作系統(tǒng)型病毒而言),或執(zhí)行被調入內存的可執(zhí)行文件(對外殼型病毒而言)。這樣,在用戶看來,計算機仍在“正?!钡毓ぷ?,而絲毫覺察不到病毒的入侵。
2.傳播部分病毒程序的傳播模塊完成將病毒程序向其它網絡、硬盤等介質傳染的工作,擔負著向外擴散病毒的任務。該模塊一般包括兩部分:一部分是傳播條件判斷部分,對滿足條件的介質施行傳染;另一部分是傳染部分,將整個病毒程序傳至被攻擊的目標上。一個程序是否具有傳染能力,是判斷它是否為計算機病毒程序的先決條件。正是其傳染性,才使得病毒程序得以生存和繁殖。對于引導型病毒而言,病毒程序的傳播過程只是在讀、寫盤操作瞬間;對于文件型病毒而言,病毒程序的傳播過程是在它所寄生的可執(zhí)行文件啟動運行的瞬間。因此,傳播過程很難被察覺。
3.表現(xiàn)部分病毒程序表現(xiàn)模塊的作用,體現(xiàn)了該病毒設計者的真正目的。惡作劇者所編寫的計算機病毒的表現(xiàn)模塊,只是為了表現(xiàn)病毒自身的存在,并以此來宣揚設計者的才華,顯示自己的編程技巧,或通過這種表現(xiàn)使計算機效率降級,從中求得樂趣。而作為惡毒攻擊者,他所編寫的計算機病毒的表現(xiàn)部分,其主要作用是對系統(tǒng)的數(shù)據進行破壞,干擾系統(tǒng)的運行,甚至致使計算機系統(tǒng)癱瘓。表現(xiàn)模塊也分為兩部分。第一部分為觸發(fā)判斷條件,根據這一部分來確定病毒程序是否對計算機系統(tǒng)進行破壞。這個觸發(fā)條件就像定時炸彈一樣構成了對系統(tǒng)數(shù)據的嚴重威脅。第二部分為表現(xiàn)部分工作段,具體地體現(xiàn)病毒制造者的目地,實施對系統(tǒng)的破壞。2.1.4病毒與存儲結構病毒隱藏在計算機系統(tǒng)中,無論它如何隱秘,必然是存儲在其賴以寄生的介質上。在計算機系統(tǒng)中,無論是系統(tǒng)程序、應用程序還是數(shù)據,都是按著一定的結構進行存儲的,特定的結構形成了特定的存儲文件。一般情況下,病毒程序不以單獨的文件存儲,它要寄生于其它文件或者存儲介質上。因此,病毒程序對這些存儲結構了解得非常清楚,它知道引導程序存放在什么地方,按什么樣的結構進行存儲,位置和結構的改變對系統(tǒng)有什么樣的影響,它也知道文件系統(tǒng)的結構和屬性。病毒就是利用這些存儲信息來寄存自己,實現(xiàn)隱藏和潛伏目的的。對于計算機病毒的存儲結構來說,不同類型的病毒,在磁盤上的存儲結構是不同的。在分析、研究病毒時,首先要研究計算機系統(tǒng)的存儲結構以及病毒的存儲方式。磁盤經過格式化后,包括主引導記錄區(qū)(只有硬盤有)、引導記錄區(qū)、文件分配表(FAT)、目錄區(qū)和數(shù)據區(qū)等分區(qū)。主引導記錄區(qū)和引導記錄區(qū)中存有操作系統(tǒng)啟動時所用的信息。文件分配表(FAT)是反映當前磁盤扇區(qū)使用狀況的表。每張操作系統(tǒng)盤含有兩個完全相同的FAT表,即FAT1和FAT2。FAT2是一張備份表。FAT與目錄一起對磁盤數(shù)據區(qū)進行管理。目錄區(qū)存放磁盤上現(xiàn)有的文件目錄及其大小、存放時間等信息。數(shù)據區(qū)存儲和文件名相對應的文件內容數(shù)據。
1.硬盤空間的分區(qū)結構硬盤由很多盤片組成,每一個盤片的每一面都有一個讀寫磁頭,如果有N個盤片,就有2N個磁頭。每個盤片的每一面被劃分成若干個同心圓,稱為磁道,磁道數(shù)的最大值是1024。所有盤片上具有相同半徑的磁道構成一個柱面。每個盤片的每一條磁道被劃分成若干個扇區(qū),扇區(qū)數(shù)最大值是64,每個扇區(qū)容量是512B。由此可以看出,一塊硬盤的容量計算公式是:硬盤容量=磁頭數(shù)×柱面數(shù)×扇區(qū)數(shù)×512(字節(jié))由上述公式及數(shù)據算出的硬盤容量的最大值是8GB,這是過去硬盤容量的極限?,F(xiàn)代硬盤技術中,采用LBA線性地址尋址方式,結合擴展的INT13H線性尋址方式讀取硬盤,突破了8GB的限制。對于不同類型、不同介質的磁盤,操作系統(tǒng)劃分磁盤的格式是不同的。對于硬盤來說,由于其存儲空間比較大,為了允許多個操作系統(tǒng)分享硬盤空間,并希望能從磁盤啟動系統(tǒng),操作系統(tǒng)在格式化硬盤時,把硬盤劃分為主引導記錄區(qū)和多個系統(tǒng)分區(qū)。硬盤空間的分配由兩個部分組成:第一部分就是整個硬盤的第一扇區(qū),這一扇區(qū)稱為硬盤的主引導程序扇區(qū),第二部分是各個系統(tǒng)分區(qū)。主引導程序扇區(qū)由兩部分內容組成,一是主引導程序,二是分區(qū)信息表。主引導程序是硬盤啟動時首先執(zhí)行的程序,由它裝入執(zhí)行活動分區(qū)的引導程序,從而進一步引導系統(tǒng)。分區(qū)信息表登記各個分區(qū)引導指示符、操作系統(tǒng)指示符以及該分區(qū)占用硬盤空間的位置及其長度。各個系統(tǒng)分區(qū)是提供給各操作系統(tǒng)使用的區(qū)域,每一個區(qū)域只能存放一種操作系統(tǒng),在該區(qū)域中的系統(tǒng)具有自己的引導記錄區(qū)、文件分配表區(qū)、文件目錄區(qū)以及數(shù)據區(qū)。若整個硬盤歸操作系統(tǒng)使用,則硬盤上的信息由5部分構成,即第1扇區(qū)的主引導程序和分區(qū)信息表、分區(qū)引導程序、文件分配表區(qū)、文件根目錄區(qū)以及文件數(shù)據區(qū)。硬盤主引導扇區(qū)很特殊,它不在操作系統(tǒng)的管轄范圍內,所以用操作系統(tǒng)的非常駐命令FORMAT、FDISK、DEBUG都不能觸及它。當該扇區(qū)被損壞時,硬盤不能啟動,用FORMAT、FDISK都不能修復它。DEBUG的L命令和W命令都不能用于主引導扇區(qū),只有在DEBUG下借用INT13H或低級格式化方能修復。
2.磁盤文件存儲結構文件的存儲結構一般也稱為物理結構,是指文件在存儲介質上如何存放以及與文件邏輯結構的關系。它對文件的存取方法有較大的影響。為了有效地利用存儲介質的存儲空間,便于對文件信息進行處理,通常把文件的存儲空間劃分成若干個物理塊,并以物理塊作為分配和傳送信息的單位。塊長一般是固定的,例如以128B為一塊或者以512B、1024B為一塊。在記錄式文件中,允許一塊中存放一個或幾個記錄,也可以一個記錄占用幾塊。根據文件存儲結構分類,文件可以分為連續(xù)文件、串聯(lián)文件和索引文件。
3.引導型病毒的磁盤存儲結構系統(tǒng)引導型病毒是指專門傳染操作系統(tǒng)的引導扇區(qū)的病毒,它主要傳染硬盤主引導扇區(qū)和操作系統(tǒng)引導扇區(qū)。系統(tǒng)引導型病毒在磁盤上存儲被劃分為兩部分,第一部分存放在磁盤引導扇區(qū)中,第二部分則存放在磁盤的其它扇區(qū)中。病毒程序在感染一個磁盤時,首先根據FAT表在磁盤上找到一個空白簇(如果病毒程序的第二部分占用若干個簇,則需要找到一個連續(xù)的空白簇),然后將病毒程序的第二部分以及磁盤原引導扇區(qū)的內容寫入該空白簇,接著將病毒程序的第一部分寫入磁盤引導扇區(qū)。但是,由于磁盤不同,病毒程序第二部分所占用的空白簇的位置就不同,而病毒程序在侵入系統(tǒng)時,又必須將其全部程序裝入內存,在系統(tǒng)啟動時,首先裝入的是磁盤引導扇區(qū)中的病毒程序,該段程序在執(zhí)行時要將其第二部分裝入內存,這樣第一部分必須知道其第二部分所在簇的簇號或邏輯扇區(qū)號。為此,在病毒程序感染一個磁盤時,不僅要將其第一部分寫入磁盤引導扇區(qū),而且必須將病毒程序第二部分所在簇的簇號(或該簇第一扇區(qū)的邏輯扇區(qū)號)記錄在磁盤的某個偏移地址上。另外,操作系統(tǒng)分配磁盤空間時,必須將分配的每一簇與每一個文件相聯(lián)系,但是,系統(tǒng)型病毒程序第二部分所占用的簇沒有對應的文件名,它們是以直接磁盤讀寫的方式被存取的,這樣它們所占用的簇就有可能被操作系統(tǒng)分配給新建立的磁盤文件,從而被覆蓋。為了避免這樣的情況發(fā)生,病毒程序在將其第二部分寫入空白簇后,立即將這些簇在FAT中登記項的內容強制性地標記為壞簇(FF7H),經過這樣的處理,操作系統(tǒng)就不會將這些簇分配給其它新建立的文件。
4.文件型病毒的磁盤存儲結構文件型病毒是指專門感染系統(tǒng)中可執(zhí)行文件的病毒,這些可執(zhí)行文件以?.COM、.EXE為擴展名。對于文件型病毒來說,病毒程序附著在被感染文件的首部、尾部、中部或“空閑”部位,病毒程序沒有獨立占用磁盤上的空白簇。也就是說,病毒程序所占用的磁盤空間依賴于其寄生的程序所占用的磁盤空間。但是,病毒入侵后,一定會使所寄生的程序占用的磁盤空間增加。絕大多數(shù)文件型病毒屬于所謂的外殼病毒。文件外殼簡單地說是計算機軟件的一種層次結構,比方說,計算機軟件公司編制了一種教育軟件,經過設計調試,軟件本身的功能已經很完善,可以作為獨立的磁盤文件提供給用戶。但是為了提高產品的商品化程度,公司決定為軟件加一個漂亮的界面,為此設計人員可以在已經完成的軟件基礎上附加一段顯示界面的程序。通常我們稱軟件本身為內核,而稱附加的顯示界面程序為外殼。雖然在結構上外殼接在內核后面,但運行的順序仍然是先顯示界面后再跳轉去執(zhí)行內核??蓤?zhí)行文件的外殼一般具有相對獨立的功能和結構,去掉外殼將不會影響內核部分的運行。如果我們用“病毒外殼”去替換程序中的“界面外殼”,那么就實現(xiàn)了文件型病毒的基本機理。計算機病毒一般不傳染數(shù)據文件,這是由于數(shù)據文件是不能執(zhí)行的,如果病毒傳染了數(shù)據文件,病毒自身得不到執(zhí)行權,也就不能進行進一步的傳播,所以計算機病毒整體不可能存在于數(shù)據文件中,但它的一部分則有可能插入到數(shù)據文件里,在病毒執(zhí)行過程中,再把這部分調入內存。病毒可能修改和破壞數(shù)據文件,這是它的一個主要的破壞目的。2.1.5中斷的概念及病毒與中斷的關系計算機病毒最基本的特征就是傳染,而病毒傳染最普通的途徑是修改正常的磁盤訪問中斷向量。特別是引導型病毒,幾乎都要修改中斷向量INT13H。因此,中斷的概念是研究計算機病毒必須了解的知識。
1.中斷基本概念中斷是CPU處理外部突發(fā)事件的一個重要技術。它能使CPU在運行過程中對外部事件發(fā)出的中斷請求及時地進行處理,處理完成后又立即返回斷點,繼續(xù)進行CPU原來的工作。引起中斷的原因或者說發(fā)出中斷請求的來源叫做中斷源。根據中斷源的不同,可以把中斷分為硬件中斷和軟件中斷兩大類,而硬件中斷又可以分為外部中斷和內部中斷兩類。外部中斷一般是指由計算機外設發(fā)出的中斷請求,如鍵盤中斷、打印機中斷、定時器中斷等。外部中斷是可以屏蔽的中斷,也就是說,利用中斷控制器可以屏蔽這些外部設備的中斷請求。內部中斷是指因硬件出錯(如突然掉電、奇偶校驗錯等)或運算出錯(除數(shù)為零、運算溢出、單步中斷等)所引起的中斷。內部中斷是不可屏蔽的中斷。軟件中斷其實并不是真正的中斷,它們只是可被調用和執(zhí)行的一般程序。例如,ROMBIOS中的各種外部設備管理中斷服務程序(鍵盤管理中斷、顯示器管理中斷、打印機管理中斷等),以及操作系統(tǒng)的功能調用(INT21H)等都是軟件中斷。
CPU為了處理并發(fā)的中斷請求,解決中斷嵌套問題,規(guī)定了中斷的優(yōu)先權。
2.病毒與中斷的關系計算機操作系統(tǒng)是開放的,用戶可以修改擴充操作系統(tǒng),在計算機上實現(xiàn)新的功能。修改操作系統(tǒng)的主要方式之一是擴充中斷功能。計算機提供很多中斷,合理合法地修改中斷,會給計算機增加非常有用的新功能。如INT10H是屏幕顯示中斷,通常情況下,它只能顯示西文,而在各種漢字系統(tǒng)中都可以通過修改INT10H使計算機能夠顯示中文。另一方面,計算機病毒也可以通過篡改中斷,達到其傳染、觸發(fā)的目的。中斷服務子程序的入口地址存放在計算機內存的最低端,病毒能夠竊取和修改中斷的入口地址來獲得中斷的控制權,在中斷服務過程中插入病毒自身的程序代碼。計算機病毒經常修改和利用的主要中斷如表2.1所示。表2.1計算機病毒經常修改和利用的中斷總之,中斷可以被用戶程序所修改,從而使中斷服務程序被用戶指定的程序所替代。這樣雖然大大地方便了用戶,但也給計算機病毒制造者以可乘之機。病毒正是通過修改中斷,使該中斷指向病毒自身來進行發(fā)作和傳染的。2.1.6病毒的危害與防治計算機病毒的危害表現(xiàn)為病毒的破壞能力。病毒破壞行為的激烈程度取決于病毒作者的主觀愿望和他的技術能力。數(shù)以萬計、不斷發(fā)展的病毒破壞行為千奇百怪,不可窮舉。目前,人們對計算機病毒的預防主要是從管理手段上制定出一些有關的規(guī)定,并輔助以一定的技術措施,采取預防、檢測、清除等多項措施防治計算機病毒。因為計算機病毒的傳染總是通過一定的途徑來實現(xiàn)的,所以采取一定的方法,堵塞這些傳染途徑,是阻止病毒侵入的最好辦法。
1.病毒的危害根據對有關病毒資料的分析,可以發(fā)現(xiàn)計算機病毒的破壞目標和攻擊部位主要有以下幾個方面。
1)攻擊系統(tǒng)數(shù)據區(qū)攻擊部位包括硬盤主引導扇區(qū)、引導記錄扇區(qū)、FAT表和文件目錄。一般來說,攻擊系統(tǒng)數(shù)據區(qū)的病毒是惡性病毒,受損的數(shù)據不易恢復。
2)攻擊文件病毒對文件的攻擊方式很多,如刪除文件、修改文件名、替換內容、丟失簇和對文件加密等。
3)攻擊內存內存是計算機的重要資源,也是病毒攻擊的重要目標。病毒額外地占用和消耗內存資源,可導致一些大程序運行受阻。病毒攻擊內存的方式有大量占用、改變內存總量、禁止分配和蠶食內存等。
4)干擾系統(tǒng)運行病毒可以干擾系統(tǒng)運行,從而使系統(tǒng)運行速度下降。干擾行為花樣繁多,具體表現(xiàn)有計算機不執(zhí)行正常命令、產生虛假警報、無法打開文件、產生內部棧溢出、占用特殊數(shù)據區(qū)、系統(tǒng)時鐘倒轉、系統(tǒng)重啟動、計算機死機、計算機強制運行游戲程序、串并接口無法正常通信等。病毒觸發(fā)時,系統(tǒng)時間延遲程序啟動,在時鐘中納入循環(huán)計數(shù),迫使計算機空轉,從而導致運行速度明顯下降。
5)干擾外部設備病毒會干擾鍵盤顯示器、打印機等外部設備的工作。病毒干擾鍵盤操作的表現(xiàn)有封鎖鍵盤、換字、抹掉緩存區(qū)字符、使輸入紊亂等。許多病毒運行時,會使計算機的喇叭發(fā)出響聲。病毒擾亂顯示的方式很多,如字符跌落、環(huán)繞、倒置、顯示前一屏、光標下跌、滾屏、抖動、亂寫等。病毒干擾打印機主要表現(xiàn)為假報警、間斷性打印、更換字符等。
6)攻擊CMOS在計算機的CMOS中,保存著系統(tǒng)的重要數(shù)據,如系統(tǒng)時鐘、磁盤類型和內存容量等。有的病毒觸發(fā)時,能夠對CMOS進行寫操作,破壞CMOS中的數(shù)據。例如CIH病毒亂寫某些主板的BIOS芯片,使計算機癱瘓。病毒攻擊CMOS可表現(xiàn)為極易對計算機硬件產生破壞,但是,這種破壞不是直接的硬件損壞,而是由于CMOS中的軟件被修改或刪除而不能運行。在受到這種攻擊后,如果能夠重新寫入CMOS的內容,則系統(tǒng)仍然可以正常運行。因此,我們說,計算機病毒對硬件的破壞都是通過軟件間接造成的。
7)破壞網絡系統(tǒng)計算機病毒對網絡的攻擊有兩類形式。一類是針對網絡系統(tǒng)的攻擊,網絡病毒破壞網絡系統(tǒng),非法使用網絡資源,破壞電子郵件,發(fā)送垃圾信息,占用網絡帶寬,甚至使網絡阻塞直至癱瘓;另一類是利用網絡系統(tǒng)對網絡上的其它計算機進行攻擊,通過網絡對其它計算機系統(tǒng)進行控制,實施破壞。
8)破壞計算機控制系統(tǒng)計算機病毒程序可以導致計算機控制的空中交通指揮系統(tǒng)失靈,使衛(wèi)星、導彈失控,使銀行金融系統(tǒng)癱瘓,使自動生產線控制紊亂等。由此可見,計算機病毒的破壞性觸及到計算機及其通信系統(tǒng)的各個方面,已經成為通信網絡系統(tǒng)主要的安全威脅。要盡量降低病毒所造成的損失,就要及早發(fā)現(xiàn)和清除病毒。病毒的傳播和表現(xiàn)都需要花費時間,都有一定的過程。在這些過程中,在病毒實施破壞之前,計算機系統(tǒng)中往往會表現(xiàn)出一些異?,F(xiàn)象。通過觀察這些異常,常常可以發(fā)現(xiàn)病毒的存在。下面給出一些病毒傳播時系統(tǒng)常見的異常表現(xiàn)。(1)程序裝入時間比平時長。(2)磁盤訪問時間比平時長。(3)有規(guī)律地出現(xiàn)異常信息。(4)用戶并沒有訪問的設備出現(xiàn)“忙”的信號。(5)可用的存儲空間比平常小。(6)程序或數(shù)據神秘地丟失。(7)磁盤空間突然變小,而并沒有向其中寫入數(shù)據。(8)可執(zhí)行文件的長度發(fā)生變化。(9)出現(xiàn)莫明其妙的隱藏文件。(10)磁盤并沒有任何損傷,卻發(fā)現(xiàn)有壞簇。(11)機器喇叭不斷發(fā)出蜂鳴聲。(12)屏幕上出現(xiàn)一些無意義的顯示畫面。(13)系統(tǒng)出現(xiàn)異常的重新啟動現(xiàn)象或經常死機。(14)操作系統(tǒng)中斷向量發(fā)生變化。在計算機系統(tǒng)運行過程中,只要細心觀察并不斷積累經驗,就有可能發(fā)現(xiàn)各類病毒傳播時系統(tǒng)出現(xiàn)的異常反應,從而能夠及時地發(fā)現(xiàn)病毒,并及時地進行清除。
2.病毒的預防措施對計算機病毒行之有效的預防措施包括訪問控制、進程監(jiān)視、校驗信息的驗證以及病毒程序掃描。
1)訪問控制建立訪問控制策略不僅是一種良好的安全措施,而且可以防止惡意程序的傳播。真正的訪問需要通過多用戶操作系統(tǒng)實現(xiàn),由系統(tǒng)管理員對各用戶建立文件的許可權限。訪問控制不會刪除甚至不會檢測是否有惡意程序,只是保護用戶系統(tǒng)防止被病毒傳染。例如,多數(shù)病毒程序傳染是依靠擁有對所有文件完全的訪問權限(如WindowsXP系統(tǒng)的默認許可權設置),如果系統(tǒng)管理員修改了這些默認許可權,使用戶只能讀取自己需要的可執(zhí)行程序,則病毒就無法感染這些文件。這種辦法不是對所有可執(zhí)行程序都有效。有些程序需要在運行過程中被修改,用戶需要擁有對這些可執(zhí)行程序的寫入權,而且文件的時間和日期標志也要規(guī)律性地變動。需要對哪些程序擁有寫入權,用戶通常無法全部搞清楚。查看可執(zhí)行程序在未提供寫訪問時,日期和時間標志是否改變,只是了解是否被感染的一個方面。這些自行寫入的可執(zhí)行程序很少,用戶也不會經常碰到。
2)進程監(jiān)視進程監(jiān)視是另一種防止惡意程序侵入系統(tǒng)的方法。進程監(jiān)視觀察不同的系統(tǒng)活動,并且攔截所有可疑行為。例如,多數(shù)現(xiàn)代臺式計算機的BIOS都有一些防病毒設置,當這些設置打開時,允許計算機攔截所有對系統(tǒng)主引導記錄進行寫入的企圖。如果引導型病毒試圖把自身存儲在這一區(qū)域,BIOS會攔截這個請求,并且要求用戶進行確認。
BIOS病毒警報雖然可能是誤報,但用戶實際上很少使用FDISK或其它應用程序向引導扇區(qū)寫入信息。一般情況下,這些活動會在用戶安裝新的操作系統(tǒng)時發(fā)生,誤報的幾率很小。
3)校驗信息的驗證校驗信息也稱為循環(huán)冗余校驗碼CRC,是一種對文件中的數(shù)據進行驗證的數(shù)學方法。如果文件內部有一個字節(jié)發(fā)生變化,校驗信息就會改變,而文件大小可能還是相同的。一般情況下,未被病毒感染的系統(tǒng)首先應該生成一個基準記錄,然后規(guī)律性地使用CRC方式檢查文件的改變情況。
4)病毒掃描程序最流行的病毒檢測方法是使用病毒掃描軟件。病毒掃描程序使用特征文件,在被傳染的文件中查找病毒。特征文件實際上是列出了所有已知病毒和它們的屬性的數(shù)據庫,這些屬性包括各病毒的代碼、傳染文件的類型和有助于查找病毒的其它信息。通過使用獨立的文件存儲這些信息,用戶可以對已有軟件的相應文件進行替代而升級,以查找最新的病毒,而不需要對整個程序進行升級。目前每個月都會有新病毒出現(xiàn),因此這種特點是十分有用的。掃描程序檢查文件的時候,查看文件中是否包含與特征文件匹配的代碼。一旦發(fā)現(xiàn)匹配,程序便通知用戶發(fā)現(xiàn)了病毒,之后,多數(shù)掃描程序會接著運行下一個進程,對病毒進行清除。病毒掃描程序有按需掃描型和內存駐留型兩種基本類型。按需掃描型程序必須手工啟動,或者由一個自動進程啟動運行。這種程序啟動后,一般會在整個驅動器或者選擇的范圍內查找病毒,包括RAM內存、硬盤、U盤等存儲設備。內存駐留型程序是一種在系統(tǒng)后臺運行的程序,它們一般在系統(tǒng)啟動的時候初始化,然后一直在內存中保持激活狀態(tài)。當有文件訪問活動時,內存駐留的掃描程序攔截對文件的調用,查看文件中是否有病毒,然后才允許文件裝入內存。
3.病毒的檢測所謂檢測計算機病毒,就是要到病毒寄生場所去檢查、發(fā)現(xiàn)異常情況,最終確認計算機病毒是否存在。病毒在靜態(tài)時,存儲于磁盤、光盤等外存儲介質中,在激活時駐留在內存中。因此,計算機病毒的檢測分為對內存的檢測和對外存儲介質的檢測兩類。對外存儲介質進行病毒檢測時,要求內存中不帶病毒,因為某些計算機病毒會向檢測者報告假情況,從原始的、未受病毒感染的操作系統(tǒng)啟動,可以保證內存中不帶病毒。啟動必須是上電啟動而不是熱啟動,因為某些病毒通過截取鍵盤中斷,仍然駐留在內存中。檢測磁盤中的病毒可以分為檢測引導型病毒和檢測文件型病毒。這兩種檢測從原理上說基本上是一樣的,但是由于各自的存儲方式不同,檢測方法是有差別的。主要的病毒檢測方法有以下幾種。
1)比較法比較法是用原始備份與被檢測的引導扇區(qū)或被檢測的文件進行比較。比較時可用打印的代碼清單進行比較,或者用程序進行比較。比較法還可以發(fā)現(xiàn)一些不能被現(xiàn)有的查病毒程序發(fā)現(xiàn)的計算機病毒。使用比較法可以發(fā)現(xiàn)異常情況,如文件長度的變化或文件內的程序代碼的變化等。對硬盤主引導區(qū)或對操作系統(tǒng)的引導扇區(qū)進行檢測,通過比較法能夠發(fā)現(xiàn)其中的程序代碼是否發(fā)生了變化。由于需要比較,因此保留原始備份是非常重要的。制作備份時必須在無病毒的環(huán)境里進行,制作的備份必須妥善保管。比較法的優(yōu)點是簡單、方便和不需要專用軟件,缺點是無法確認病毒的種類和名稱,造成被檢測程序與原始備份之間差別的原因尚需進一步驗證,以查明是否真的有病毒。另外,這種方法需要大量的存儲空間和比較運算時間。
2)搜索法絕大部分病毒含有特定字符串或者特征字,搜索法用每種病毒體含有的特定字符串或者特征字,對被檢測的對象進行掃描。若在被檢測對象內部發(fā)現(xiàn)了某種特定字符串或者特征字,表明發(fā)現(xiàn)了該字符串或者特征字所代表的病毒。搜索法所用的軟件叫做病毒掃描軟件,它由兩部分組成:一部分是病毒代碼庫,含有特別選定的各種計算機病毒的代碼串或者特征字;另一部分是利用該代碼庫進行掃描的掃描程序。病毒掃描程序能夠識別多少計算機病毒,完全取決于病毒代碼庫內所含病毒的種類。庫中病毒代碼種類越多,掃描程序能夠辨認的病毒也就越多。病毒代碼串的選擇非常重要。病毒代碼長度可從短的100字節(jié)到長的超過10×210字節(jié)。如果隨意從病毒體內選擇一段代碼作為代表該病毒的特征代碼串,可能在不同的環(huán)境中,該特征串并不真正具有代表性。所以,病毒代碼庫的特征串是不能隨意選擇的。
3)分析法分析法是通過對病毒代碼的分析,確認被檢測的磁盤引導區(qū)和程序中是否真的含有病毒,若有病毒,則需要確認病毒種類,并判斷是否是新病毒,如果是新病毒,則要搞清楚病毒體的大致結構,提取特征識別用的字符串或特征字,增添到病毒代碼庫,供病毒掃描和識別程序用,詳細分析病毒代碼,為制定相應的反病毒措施制定方案。使用分析法需要DEBUG、PROVIEW等分析工具和專用的試驗用計算機。
4)通用解密法基于CPU仿真器的通用解密,是最近幾年新發(fā)展起來的一種對付多態(tài)病毒的有效技術。通用解密方法基于以下假定:第一,被檢測的多態(tài)病毒必須包含至少一小段機器代碼,這些代碼在上一代和下一代之間是一致的,即使這個代碼被加密也是一樣;第二,如果多態(tài)病毒執(zhí)行,病毒的解密例程必須能夠正確地解密,且把控制傳給靜態(tài)的病態(tài)代碼。通用解密方法用以下方式掃描多態(tài)文件病毒:掃描程序在一個完全封閉的虛擬機中執(zhí)行目標文件的機器代碼,這個仿真程序執(zhí)行時好像正常運行在原操作系統(tǒng)下一樣。如果目標文件已經感染病毒,這個仿真程序將繼續(xù)進行,直到病毒自己解密,并且把控制傳給靜態(tài)的病毒體。在這個解密過程完成之后,掃描程序搜索虛擬機中的區(qū)域,確定病毒的種類。
5)數(shù)字免疫數(shù)字免疫技術通過擴展通用解密程序仿真技術,提供一種能夠用于更一般的目的的仿真和病毒檢測系統(tǒng)。這個系統(tǒng)的目標是提供很快的響應速度,以便病毒一進入系統(tǒng)就能夠被消滅。當一個新的病毒進入該系統(tǒng)時,免疫系統(tǒng)就會自動俘獲它、分析它,增加對它的檢測和防御,最后消除它,并且把有關它的一些信息發(fā)送到反病毒系統(tǒng)中。這樣,在這種新的病毒運行之前就可以檢測到它。數(shù)字免疫系統(tǒng)成功與否,取決于病毒分析及檢測新的獨特病毒的能力。通過經常分析和監(jiān)視各種新生的病毒,能夠不斷地升級數(shù)字免疫系統(tǒng)的軟件,對付新病毒的威脅。
4.病毒的清除檢測到病毒后,要立刻把它清除掉。清除病毒的方法很多。對普通用戶來講,最簡單的方法就是使用殺毒軟件,一般專業(yè)人員更喜歡使用手工的清除方法。下面介紹4種基本的病毒清除方法。
1)引導型病毒的清除磁盤格式化是清除引導型病毒的最直接的方法。但是,這種方法有一個缺點,就是磁盤被格式化之后,雖然病毒被殺掉了,但是數(shù)據也被清除了。引導型病毒還可采用不格式化磁盤的方法來清除。用無病毒的操作系統(tǒng)引導軟盤啟動計算機,運行FDISK/MBR重寫無病毒的MBR和分區(qū)表,就可以達到目的。也可以使用DEBUG重寫無毒的引導扇區(qū)內容,將病毒的引導部分覆蓋掉。
2)文件型病毒的清除有些破壞性感染病毒在感染時,是將病毒程序硬性覆蓋掉一部分寄生程序,使寄生程序遭到破壞,即使把病毒殺掉,程序也無法修復,如果沒有備份,將造成損失。如果病毒程序是以插入的方式寄生到文件中的,則可以通過特征碼定位,找到病毒的插入位置,安全地將病毒程序清除掉。
3)宏病毒的清除清除宏病毒最簡單的方法是在Word中只保留自己定義的宏,刪掉其它所有的宏。通常情況下,Word宏病毒編制很簡單,只要用戶學習過簡單的BASIC編程,就可閱讀病毒源程序,找出病毒標志,不僅可以殺病毒,而且可以給文檔“注射”一個疫苗。
4)病毒交叉感染的清除在病毒泛濫的情況下,一臺計算機內可能潛伏著好幾種病毒。當一個健康程序在這臺計算機上運行時,會同時感染上多種病毒,引起交叉感染。在多種病毒對一個程序形成交叉感染的情況下,清除病毒時必須分清病毒感染的先后順序,按照感染的先后次序的逆序清除感染的病毒,否則可能會出現(xiàn)這樣的現(xiàn)象,即雖然病毒被清除了,但同時程序也不能運行了。2.1.7病毒的免疫通常我們所說的生物病毒免疫力是指通過注射疫苗,使生物體對某種病毒具有抵抗能力,而不能被這種病毒所感染。同樣,對計算機病毒的免疫能力,是指計算機系統(tǒng)(包括軟件、存儲介質、數(shù)據等)對某種病毒具有抵抗能力,不能被這種病毒所感染。一般情況下,某種病毒都有其特定的標識,比如小球病毒的特定標識是“1357”。當病毒程序進行傳播時,首先要進行傳染條件的判斷,其中的傳染條件之一是攻擊對象是否被傳染過。例如,在對被傳播介質進行檢測時,如果在固定位置(特定病毒具有特定位置)上已有表示這種病毒的特定標識,則它認為該介質已經被傳染,就不再進行傳染。這樣做是為了防止病毒的重復多次寫入。為了使計算機系統(tǒng)對某一種病毒具有免疫能力,就要利用這種病毒的特殊標識,在存儲介質的固定位置上設置該病毒的特定標識,這樣,如果系統(tǒng)出現(xiàn)了這種病毒,該病毒在檢查傳染對象時,發(fā)現(xiàn)有自己的特定標識,它會認為這是已經被感染過的對象,因此也就不會再感染這個對象,這就達到了病毒免疫的目的。當然,一個計算機系統(tǒng)并不一定能夠對所有的病毒產生免疫能力,其原因有兩個:一個原因是有些病毒不做特定標識的檢查,發(fā)作的時候立即對目標進行傳染,不管這個目標是否被感染過;另一個原因是有些病毒沒有明顯的特定標識。2.2引?導?型?病?毒寄生于磁盤引導扇區(qū)中的病毒通常是引導型病毒。當計算機從帶病毒的磁盤引導時,該病毒就被激活。硬盤中有主引導扇區(qū)和操作系統(tǒng)引導扇區(qū)兩個引導扇區(qū),所以,引導型病毒嚴格說來又分為操作系統(tǒng)引導扇區(qū)病毒(如“小球”病毒)和主引導扇區(qū)病毒(或稱為分區(qū)表病毒,如“大麻”、“Blood”病毒)。本節(jié)詳細剖析引導型病毒的特點、傳播方式以及檢測清除方法。2.2.1引導型病毒的特點從磁盤寄生、內存駐留和傳染途徑等方面來看,引導型病毒的特點主要有以下幾個方面:
(1)引導部分占據磁盤引導區(qū)。
(2)只有在計算機啟動過程中,磁盤被引導時,引導型病毒才被激活。
(3)具有磁盤引導扇區(qū)內容“復原”功能。
(4)修改內存容量,病毒駐留內存。
(5)修改磁盤訪問中斷,在進行磁盤寫操作的時候進行傳播。引導型病毒的這些特點,決定了它的寄生方式、激活方式以及傳染方式。2.2.2引導型病毒的傳播方式為了說明引導型病毒的傳染方式,我們首先介紹計算機的啟動過程。實際上,引導型病毒就是在計算機啟動的過程中獲取系統(tǒng)的控制權,開始自我復制的。
1.正常的操作系統(tǒng)啟動過程正常操作系統(tǒng)的啟動按照下列過程進行:
(1)加電開機后進入系統(tǒng)的檢測程序,并執(zhí)行該程序,對系統(tǒng)的基本設備進行檢測。
(2)檢測正常后,從系統(tǒng)盤0面0道1扇區(qū)(即邏輯0扇區(qū))讀入Boot引導程序到內存的0000:7C00處。
(3)執(zhí)行Boot引導程序。
(4)?Boot判斷是否為系統(tǒng)盤,如果不是系統(tǒng)盤,則提示:non-systemdiskordiskerrorReplaceandstrikeanykeywhenready
(5)否則,讀入BIO.COM和DOS.COM兩個隱含文件。
(6)執(zhí)行BIO.COM和DOS.COM兩個隱含文件,將COMMAND.COM裝入內存。
(7)系統(tǒng)正常運行,操作系統(tǒng)啟動成功。
2.感染引導型病毒的操作系統(tǒng)啟動過程如果系統(tǒng)盤已感染了病毒,操作系統(tǒng)的啟動將按照下列過程進行:
(1)加電開機后進入系統(tǒng)的檢測程序,并執(zhí)行該程序,對系統(tǒng)的基本設備進行檢測。
(2)將Boot區(qū)中病毒代碼首先讀入內存的0000:7C00處。
(3)病毒將自身全部代碼讀入內存的某一安全區(qū),并且常駐內存,監(jiān)視系統(tǒng)的運行。
(4)修改INT13H中斷服務處理程序的入口地址,使之指向病毒控制模塊,并執(zhí)行之。因為任何一種病毒要感染U盤或者硬盤,都離不開對磁盤的讀寫操作,所以修改INT13H中斷服務程序的入口地址是一項少不了的操作。
(5)病毒程序全部被讀入內存后才讀入正常的Boot內容到內存的0000:7C00處,進行正常的啟動過程。
(6)病毒程序伺機等待,隨時準備感染新的系統(tǒng)盤或非系統(tǒng)盤。如果發(fā)現(xiàn)有可攻擊的對象,病毒要進行下列工作:
(1)將目標盤的引導扇區(qū)讀入內存,判別該盤是否傳染了病毒。
(2)當滿足傳染條件時,則將病毒的全部或者一部分寫入Boot區(qū),把正常的磁盤的引導區(qū)程序寫入磁盤特定位置。
(3)返回正常的INT13H中斷服務處理程序,完成對目標盤的傳染。可見,引導型病毒在計算機操作系統(tǒng)中是從引導區(qū)開始傳播的。2.2.3引導型病毒的清除方法對引導型病毒的診斷,如果僅僅從計算機出現(xiàn)的一些表面的異?,F(xiàn)象來觀察是遠遠不夠的,我們必須通過技術手段對病毒進行診治。診治計算機病毒的方式有兩種,即人工診治方式和自動診治方式。引導型病毒的人工診治是利用DEBUG、CHKDSK等一般軟件所具有的功能進行病毒診治。病毒的自動診治是利用一些專用的病毒診治工具(如病毒檢測和清除軟件、防病毒卡等)進行病毒的診治。這兩種診治方式應視具體情況靈活應用,當一種新病毒出現(xiàn)而且又沒有像防病毒卡這樣的廣譜反病毒工具時,人工診治十分必要;而如果已經具有了相應的診治工具,則自動診治顯然是既方便又有效的。
1.病毒診斷通過檢查內存的變化,可以診斷引導型病毒存在與否。系統(tǒng)內存容量分為BIOS報告的系統(tǒng)基本內存容量和操作系統(tǒng)報告的系統(tǒng)內存容量兩種。BIOS報告的基本內存容量是計算機系統(tǒng)在開機后的自檢過程中所檢測到的,其值存放在ROM通信區(qū)0:413~414H兩個字節(jié)單元內,其低位在前,高位在后。而操作系統(tǒng)報告的系統(tǒng)內存容量則是根據內存分配鏈中每一個內存控制塊所擁有的控制塊大小累加而得到的。操作系統(tǒng)在引導過程中通過系統(tǒng)中斷INT12H讀取0:413中的內容作為參數(shù),建立自己的內存控制塊。內存控制塊一旦建立,操作系統(tǒng)也就不再訪問0:413中的內容了。從目前發(fā)現(xiàn)的病毒看,絕大多數(shù)引導型病毒為了使自身的病毒程序能夠在內存中有一席“合法”之地,都采用修改系統(tǒng)內存容量的方法,以欺騙操作系統(tǒng),最終表現(xiàn)為系統(tǒng)報告的內存大小比實際內存容量少1KB或幾KB。根據這一特性,我們可以借用多種工具軟件來診斷當前系統(tǒng)是否染有引導型病毒。
1)用DEBUG診斷在操作系統(tǒng)提示符下,執(zhí)行命令:
C>DEBUG
-DO:413,L2;顯示系統(tǒng)基本內存容量正常情況下(例如用無病毒的系統(tǒng)盤啟動),具有512?KB基本內存的計算機顯示的結果為0002,具有64?KB基本內存的計算機顯示的結果為8002。當感染有引導型病毒時,則顯示結果比實際要小。如:“Bloody”病毒,512?KB基本內存的計算機顯示為FE01,64KB基本內存的計算機顯示為7E02;“2708”病毒,512?KB基本內存的計算機顯示為FF01,64KB基本內存的計算機顯示為7F02。
2)用CHKDSK命令診斷操作系統(tǒng)提供了一種用于檢測磁盤和內存空間的CHKDSK.COM檢測程序,我們可以通過觀察該軟件顯示的由操作系統(tǒng)報告的系統(tǒng)內存空間和用戶可用內存空間的變化,對引導型病毒進行診斷。下面給出的是無毒和有毒兩種情況下CHKDSK的檢測結果。在無病毒情況下,CHKDSK的執(zhí)行結果如下:655360totalbytesmemory579008bytesfree當內存中駐有“Boody”病毒時,CHKDSK的執(zhí)行結果如下:653312totalbytesmemory577040bytesfree
2.手工清除病毒的方法清除引導型病毒的通用方法是設法獲取等同于原扇區(qū)內容的信息,然后直接覆蓋到相應的扇區(qū)中。
1)硬盤主引導扇區(qū)病毒清除在事先沒有備份的情況下,硬盤主引導扇區(qū)病毒的清除方法一般是先具體分析病毒傳染的過程,找到正常主引導扇區(qū)內容的暫存位置,從相應的位置讀取信息,再寫回到主引導扇區(qū)。另外,還有一種廣譜的反病毒方法,其主要思想是將一段健康的主引導程序覆蓋到主引導扇區(qū)中的程序區(qū)。實現(xiàn)這一過程,最方便的方法是利用FDISK程序。用一張系統(tǒng)軟盤,將其插入A驅動器中,重新啟動(主要是清除內存中的病毒),然后執(zhí)行命令:A>FDISK/MBR。這樣,硬盤主引導扇區(qū)中的任何病毒均可被FDISK提供的健康主引導程序所覆蓋,而硬盤中其它位置的數(shù)據仍保持不變。這種方法可用來清除寄生于硬盤主引導扇區(qū)中的一切病毒。需要注意的是:FDISK/MBR命令是FDISK的保留命令格式,一般的操作系統(tǒng)手冊中未能提及此種命令格式,且只是在某些版本中有效;切勿用FDISK重新分區(qū)的辦法進行重新創(chuàng)建,否則硬盤中的文件將會全部丟失。
2)硬盤操作系統(tǒng)引導扇區(qū)病毒清除硬盤操作系統(tǒng)引導扇區(qū)病毒的清除方法也很多,用格式化硬盤的方法可以將病毒清除,但硬盤中的數(shù)據也會隨之丟失。最簡單的方法是采用系統(tǒng)命令SYS。該方法是用同一版本的系統(tǒng)軟盤啟動,然后執(zhí)行命令:A>SYSC。這樣正確的引導程序將自動覆蓋引導扇區(qū)中的病毒程序。如果將上面這兩種清除硬盤主引導扇區(qū)病毒和清除硬盤操作系統(tǒng)引導扇區(qū)病毒的方法結合起來使用,可排除硬盤啟動時死機的故障。2.3文?件?型?病?毒寄生于文件系統(tǒng)上的病毒通常是文件型病毒。它通常感染屬性為?.COM和?.EXE的可執(zhí)行程序文件。還有的文件型病毒,通過將自身的代碼插入到用C語言編制的源文件來感染源代碼文件,一旦被病毒感染的源代碼文件產生的可執(zhí)行的文件被運行,就可以進行病毒的復制。文件型病毒有其自身的特點及診斷、檢測和清除的方法。文件型病毒與其傳染的可執(zhí)行文件的結構有著密切的關系。2.3.1文件格式文件型病毒主要感染可執(zhí)行文件。了解各類可執(zhí)行文件的格式,對于我們解剖計算機病毒、提高反病毒技術非常有意義。在DOS環(huán)境下有4種基本的可執(zhí)行文件:
(1)批處理文件:是以?.BAT結尾的文件,在?.BAT文件中可以包括一些DOS命令,在批處理文件中調用其它的可執(zhí)行文件。批處理文件還有一些簡單的流程控制功能,可以實現(xiàn)循環(huán)、條件判斷等簡單的編程工作。
(2)設備驅動文件:以?.SYS結尾的文件,如Config.SYS和IO.SYS等,是DOS操作系統(tǒng)使用的設備驅動程序。
(3)?.COM文件:以.COM結尾的純代碼文件。沒有文件頭部分,默認情況下總是從0X100H處開始執(zhí)行,沒有重定位項,這也限制了它的所有代碼和數(shù)據必須控制在64?KB以內。
(4)?.EXE文件:以?.EXE結尾的文件,這種文件以英文字母“MZ”開頭,通常稱之為MZ文件。MZ文件有一個文件頭,用來指出每個段的定義,以及重定位表。EXE文件擺脫了代碼大小最多不能超過64KB的限制,是DOS中最主要的文件格式。在Windows中,微軟推出了一種新的可執(zhí)行文件格式,在MZ文件頭之后又有一個以“NE”開始的文件頭,稱為NE文件。由于Windows的可執(zhí)行文件同DOS相比增加了很多內容,如資源、動態(tài)庫等,因此NE格式表現(xiàn)極為復雜,NE格式文件在裝載程序讀取磁盤上的文件后,需要在內存中組裝成一個完全不同的數(shù)據結構才開始運行。在WindowsXP系列中,微軟又推出了一種新的可執(zhí)行文件格式——可移植的可執(zhí)行文件格式,即PE格式。它同NE格式不同的是,在MZ文件頭之后是一個以“PE”開始的文件頭。PE文件格式是從COFF的對象格式發(fā)展而來的,它比NE格式前進了一大步,其文件在磁盤中的格式同內存中的格式區(qū)別不大,裝載程序實現(xiàn)起來相當簡單。下面結合文件型病毒的感染原理,主要討論MZ、PE兩種可執(zhí)行文件格式。
1.MZ文件格式
MZ文件由三部分構成:文件頭、重定位表和二進制代碼(可重定位程序映像)。許多程序常在擴展文件頭中保存版權信息。要了解MZ文件,首先需要了解其文件頭結構,如表2.2所示。表2.2MZ文件頭結構表
MZ文件頭包含MS-DOS用于加載程序的信息,例如程序的大小和寄存器的初始值。文件頭還指向一個重定位表,該表包含指向程序映像中可重定位段地址的指針鏈表。
MZ文件開始的兩個字節(jié)中存儲“MZ”文件標記。計算機病毒要感染MZ文件,首先應判斷這兩個字節(jié)是否是MZ,以判斷是否是?.EXE文件。文件以大小為512B的頁為單位存儲。在偏移02H、04H處的4字節(jié)分別代表了最后一頁的字節(jié)數(shù)和文件的總頁數(shù)。這樣,我們通過這兩個值就可以確定該MZ文件的大小。這兩個字段也是病毒比較感興趣的地方。還有一個比較重要的字段是偏移量為08H的exHeadSize,這對病毒修改MZ文件很有用,可以用來確定?.EXE文件的代碼開始位置。當MZ文件存在堆棧時,它會按照初始的堆棧地址SS和偏移SP設置堆棧。文件頭中的0EH、10H處4個字節(jié)一般由編譯程序設置。偏移量為14H、16H的兩個字段,分別代表了代碼段的偏移和段地址。通過CS:IP指向的地址,系統(tǒng)就可以找到MZ文件的執(zhí)行代碼入口地址,即第一個執(zhí)行語句的位置。病毒通常也會在此插入自己的病毒代碼,以便獲得控制權。
MZ文件的載入模塊包含處理器代碼和程序的初始數(shù)據,它緊接在文件頭之后。操作系統(tǒng)通過把載入模塊直接從文件復制到內存而實現(xiàn)EXE程序的加載,然后調整定位表中說明的和重定位段的地址。重定位表是一個重定位指針數(shù)組,每個指針指向程序映像中的可重定位段地址。
2.PE文件格式
Win32可執(zhí)行文件,如?.EXE、.DLL、.OCX等,都是PE格式。PE的意思是可移植、可執(zhí)行,它意味著此文件格式是跨Win32平臺的。PE文件結構如圖2.2所示。圖2.2PE文件結構
1)?DOS插樁程序
PE結構中緊隨MZ文件頭之后的DOS插樁程序,實際上是一個顯示諸如“ThisprogramcannotberuninDOSmode”之類信息的DOS小程序。這部分也用于自解壓文檔。一般情況下,它是由匯編器/編譯器自動生成的。通常,它簡單調用INT21H9號服務來顯示上述字符。
2)PE文件頭
PE文件頭是PE相關結構IMAGE_NT_HEADERS的簡稱,即NT映像頭,存放PE整個文件信息分布的重要字段,包含了許多PE裝載器用到的重要域。執(zhí)行體在支持PE文件結構的操作系統(tǒng)中執(zhí)行時,PE裝載器將從DOSMZ頭中找到PE文件頭的起始偏移量,從而跳過DOS插樁程序,直接定位PE文件頭。
PE文件最前面緊隨MZ文件頭的是一個DOS可執(zhí)行文件,這使PE文件成為一個合法的MS-DOS可執(zhí)行文件。DOSMZ文件頭后面是一個32位的PE文件標志0X50450000,即PE00。接著就是PE的映像文件頭,包含的信息有該程序的運行平臺、字節(jié)數(shù)、文件的鏈接時間、文件類型等。接下來是一個可選頭部,包含了關于PE文件的邏輯分布信息、程序加載信息、開始地址、保留堆棧數(shù)量、數(shù)據段大小等。還有一個域,稱為“數(shù)據目錄表”的數(shù)組,表中的每一項都是一個指向某一個節(jié)的指針。
PE文件頭由PE文件標志、映像文件頭和可選映像頭等組成。
3)節(jié)表可選頭部下面是“節(jié)表”。節(jié)表是一個結構數(shù)組,其成員的數(shù)目由映像文件頭結構中NumberOfSections域的域值來決定。節(jié)表中每個結構包含了該節(jié)的具體信息。節(jié)表實現(xiàn)節(jié)的索引。
4)節(jié)節(jié)表下面是節(jié),節(jié)的內容是要真正執(zhí)行的程序和相關數(shù)據。每一個節(jié)都有一些有關的標志,例如它包含什么數(shù)據、能否共亨以及數(shù)據特征等。多數(shù)情況下,每個節(jié)會被一個或多個目錄表指向,目錄表可通過可選頭的“數(shù)據目錄表”的入口找到,也存在沒有目錄表指向的節(jié),如可執(zhí)行代碼或者初始化數(shù)據。
2.3.2文件型病毒的特點文件型病毒的主要特點如下:
(1)系統(tǒng)執(zhí)行病毒所寄生的文件時,該病毒才被激活。
(2)有可能直接攻擊目標對象,主要是?.EXE、.COM等可執(zhí)行文件,如果是混合型病毒,則還要攻擊硬盤的主引導扇區(qū)或操作系統(tǒng)引導扇區(qū)。
(3)修改系統(tǒng)內存分配,病毒駐留內存。
(4)修改系統(tǒng)中斷,等待時機進行病毒的發(fā)作或再次傳播。2.3.3文件型病毒的傳播方式文件型病毒寄生在一個文件上,通常是寄生在可執(zhí)行的應用程序(例如一個字處理程序或操作系統(tǒng)程序)上。通常情況下,文件型病毒不會感染數(shù)據文件,然而數(shù)據文件可以包含有嵌入的可執(zhí)行代碼,例如,宏可以被病毒使用或被特洛伊木馬的作者使用,Word特別容易受到宏病毒的威脅。批處理文件以及那些可被其它程序編譯或解釋的含有命令的文件都是病毒潛在的攻擊目標。文件型病毒主要感染的是?.COM和?.EXE文件。下面以?.COM文件的感染為例介紹相應的過程。
.COM文件是操作系統(tǒng)可執(zhí)行文件格式中最簡單的一種,其裝入過程也是最簡單的。操作系統(tǒng)直接把程序讀入內存,然后跳轉到程序的第一條指令,程序完全控制了計算機,并一直到程序執(zhí)行完畢后才將控制權交給操作系統(tǒng)。根據?.COM文件病毒置入的位置,可以把病毒的感染方式分為前置感染、后置感染、覆蓋感染和擴展覆蓋感染等幾種方式。
1.前置感染前置感染是?.COM文件病毒把自己復制到?.COM文件前部,而原來的程序段移到病毒代碼之后,這樣可以確保在該程序再次執(zhí)行時,首先執(zhí)行病毒代碼。
2.后置感染后置感染將
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌策劃外包合同協(xié)議
- 商業(yè)物業(yè)包干合同協(xié)議
- 商業(yè)招商協(xié)議合同協(xié)議
- 2025網約車司機運營任務承包合同樣本
- 模具加工中英文合同協(xié)議
- 商品房防水施工合同協(xié)議
- 咨詢法律顧問合同協(xié)議
- 比亞迪物流倉儲合同協(xié)議
- 毛坯房拆墻合同協(xié)議
- 2025設備租賃合同模板 設備租賃合同(年度)
- 全國賽課一等獎初中統(tǒng)編版七年級道德與法治上冊《樹立正確的人生目標》教學設計
- 《思想政治教育方法論》考研(第3版)鄭永廷配套考試題庫及答案【含名校真題、典型題】
- 初中數(shù)學新課程標準(2024年版)
- UL9540A標準中文版-2019儲能系統(tǒng)UL中文版標準
- 【MOOC】面向對象程序設計-濮陽職業(yè)技術學院 中國大學慕課MOOC答案
- 鋼結構的油漆施工課件
- 子宮平滑肌瘤手術臨床路徑表單
- 2022-2023學年廣東省深圳市南山區(qū)六年級上學期期末英語試卷
- 幼兒園安全隱患舉報獎勵制度范文(二篇)
- 多邊形的內角和的說課稿
- 故宮的課件教學課件
評論
0/150
提交評論