病毒的邏輯結(jié)構(gòu)與基本機(jī)制_第1頁
病毒的邏輯結(jié)構(gòu)與基本機(jī)制_第2頁
病毒的邏輯結(jié)構(gòu)與基本機(jī)制_第3頁
病毒的邏輯結(jié)構(gòu)與基本機(jī)制_第4頁
病毒的邏輯結(jié)構(gòu)與基本機(jī)制_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

本講內(nèi)容計(jì)算機(jī)病毒程序結(jié)構(gòu)DOS病毒簡介計(jì)算機(jī)病毒的感染機(jī)制文件型病毒的感染方式計(jì)算機(jī)病毒的觸發(fā)機(jī)制計(jì)算機(jī)病毒的破壞機(jī)制計(jì)算機(jī)病毒的發(fā)展趨勢計(jì)算機(jī)病毒程序結(jié)構(gòu)計(jì)算機(jī)病毒之所以具有寄生能力和破壞能力,與病毒程序的結(jié)構(gòu)有關(guān)絕大多數(shù)病毒都具有相同的邏輯程序結(jié)構(gòu),一般包含三大模塊:引導(dǎo)模塊、感染模塊和表現(xiàn)(破壞)模塊后兩個(gè)模塊都包括一段觸發(fā)條件檢查程序段,分別檢查是否滿足觸發(fā)條件和表現(xiàn)(破壞)條件。一旦相應(yīng)條件得到滿足,病毒就會感染和表現(xiàn)(破壞)計(jì)算機(jī)病毒程序結(jié)構(gòu)注:并不是所有的病毒都有這三大功能模塊,有的病毒在三個(gè)模塊之間沒有明顯的界線計(jì)算機(jī)病毒程序結(jié)構(gòu)演示一個(gè)簡單的DOS批處理病毒源程序autoexec.bat引導(dǎo)機(jī)制:(假設(shè)該程序在軟盤,并且機(jī)器從軟盤啟動(dòng))利用DOS系統(tǒng)的引導(dǎo)機(jī)制,啟動(dòng)時(shí)自動(dòng)執(zhí)行autoexec.bat文件感染模塊:替換機(jī)器硬盤上的該文件表現(xiàn)模塊:顯示字符串進(jìn)度計(jì)算機(jī)病毒程序結(jié)構(gòu)DOS病毒簡介引導(dǎo)部分感染部分表現(xiàn)部分文件型病毒的感染方式計(jì)算機(jī)病毒的發(fā)展趨勢引導(dǎo)模塊及引導(dǎo)機(jī)制病毒引導(dǎo)模塊的主要作用是將靜態(tài)病毒激活,使之成為動(dòng)態(tài)病毒(加載)病毒程序的加載受到操作系統(tǒng)的制約。DOS系統(tǒng)下,病毒程序的加載有3種方式:參與系統(tǒng)啟動(dòng)過程。系統(tǒng)啟動(dòng)時(shí)病毒進(jìn)入內(nèi)存,搶奪系統(tǒng)的控制權(quán)依附正常文件加載。當(dāng)某個(gè)被感染的文件執(zhí)行時(shí)病毒進(jìn)入內(nèi)存,定位并修改系統(tǒng)功能或覆蓋系統(tǒng)功能,同時(shí)奪取系統(tǒng)控制權(quán)直接運(yùn)行病毒程序。由于用戶好奇或無意識的運(yùn)行了一個(gè)病毒程序,就可能直接將一個(gè)破壞力很強(qiáng)的病毒程序加載到內(nèi)存引導(dǎo)模塊及引導(dǎo)機(jī)制DOS系統(tǒng)下,病毒的加載過程主要由3個(gè)步驟組成:1.開辟內(nèi)存空間2.病毒體重定位和駐留駐留內(nèi)存的方法有以下幾種:減少DOS系統(tǒng)可分配空間利用系統(tǒng)模塊間的空隙和DOS空隙利用功能調(diào)用駐留內(nèi)存占用系統(tǒng)程序使用空間(程序覆蓋方法)3.恢復(fù)系統(tǒng)功能引導(dǎo)機(jī)制程序舉例“小球”病毒的引導(dǎo)部分用被小球病毒傳染的磁盤啟動(dòng),則病毒程序的引導(dǎo)部分被讀到內(nèi)存0000:7C00H處病毒的引導(dǎo)程序主要進(jìn)行以下操作:修改內(nèi)存可用空間的大小,病毒先在內(nèi)存的最高端預(yù)留出2kB存儲空間;將病毒的引導(dǎo)程序模塊及有關(guān)參數(shù)從0000:7C00H處移到該2kB區(qū)域中,然后把控制轉(zhuǎn)向該區(qū)域的病毒程序處開始執(zhí)行;在標(biāo)為“壞”磁盤扇區(qū)中裝有病毒程序的另一部分,將其裝入并連接到病毒引導(dǎo)模塊之后;將原DOS的正常引導(dǎo)程序讀入內(nèi)存中病毒程序引導(dǎo)模塊騰出來的0000:7C00H處;初始化參數(shù),修改INTl3H中斷向量,使它指向病毒的傳染模塊的入口;將控制權(quán)還給DOS引導(dǎo)程序,開始執(zhí)行真正的系統(tǒng)引導(dǎo)。正常情況下,系統(tǒng)BIOS初始化之后,讀取DBR至內(nèi)存固定位置0:7C00H處病毒的感染部分病毒的感染模塊病毒的感染標(biāo)記病毒的感染目標(biāo)病毒的感染機(jī)制感染部分程序舉例病毒的感染模塊

感染模塊主要完成病毒的動(dòng)態(tài)感染,是各種病毒必不可少的模塊。病毒在取得對系統(tǒng)的控制權(quán)后,先執(zhí)行它的感染操作中的條件判斷模塊,判斷感染條件是否滿足,如果滿足感染條件,進(jìn)行感染,將病毒代碼放入宿主程序;然后再執(zhí)行其他的操作(如執(zhí)行病毒的表現(xiàn)(破壞)模塊),最后再執(zhí)行系統(tǒng)正確的處理,這是病毒感染經(jīng)常采取的手段之一。感染標(biāo)記又稱病毒簽名,表明了某種病毒的存在特性,往往是病毒的一個(gè)重要的感染條件感染標(biāo)記是一些具有唯一不變性的數(shù)字或字符串,它們以ASCII碼方式存放在程序里的特定位置如“小球”病毒感染標(biāo)記為偏移1FCH、1FDH處的“1357H”感染標(biāo)記可以存在于病毒程序的任何一點(diǎn),也有可能是組合在程序中的代碼感染標(biāo)記是由病毒制造者有意設(shè)置的,但也可以不設(shè)置標(biāo)記不同病毒的感染標(biāo)記位置不同、內(nèi)容不同病毒程序感染宿主程序時(shí),要把感染標(biāo)記寫入宿主程序,作為該程序已被感染的標(biāo)記病毒在感染健康程序以前,先要對感染對象進(jìn)行搜索,查看它是否帶有感染標(biāo)記。如果有,說明它已被感染過,就不會再被感染;如果沒有,病毒就會感染該程序病毒的感染標(biāo)記病毒的感染目標(biāo)就出現(xiàn)的各種計(jì)算機(jī)病毒來看,其寄生目標(biāo)有兩種:一種是寄生在磁盤(主)引導(dǎo)扇區(qū)(利用轉(zhuǎn)儲或直接存取扇區(qū)的方法,此方法還可將病毒駐入磁盤的文件分配表、文件目錄區(qū)和數(shù)據(jù)存儲區(qū)等,常利用INT13H中斷)另一種是寄生在可執(zhí)行文件(如.EXE,.COM,.BAT,.SYS,.OVL,.DLL,.VXD文件等)中病毒的感染機(jī)制病毒在不同的載體上感染的機(jī)制不同網(wǎng)絡(luò)上或系統(tǒng)上的感染是利用網(wǎng)絡(luò)間或系統(tǒng)間的通信或數(shù)據(jù)共享機(jī)制實(shí)現(xiàn)的存儲介質(zhì)(軟盤、硬盤或磁帶等)或文件間的感染一般利用內(nèi)存作為中間媒介,病毒先由帶毒介質(zhì)或文件進(jìn)入內(nèi)存,再由內(nèi)存侵入無毒介質(zhì)或文件病毒從內(nèi)存侵入無毒介質(zhì),經(jīng)常利用操作系統(tǒng)的讀寫磁盤中斷向量入口地址或修改加載機(jī)制(例如INTl3H或INT21H),使該中斷向量指向病毒程序感染模塊內(nèi)存中的病毒時(shí)刻監(jiān)視著操作系統(tǒng)的每一個(gè)操作,這樣,一旦系統(tǒng)執(zhí)行磁盤讀寫操作或系統(tǒng)功能調(diào)用,病毒感染模塊就會被激活,感染模塊在判斷感染條件滿足的條件下,把病毒自身感染給被讀寫的磁盤或被加載的程序,實(shí)施病毒的感染,病毒被按照病毒的磁盤儲存結(jié)構(gòu)存放在磁盤上,然后再轉(zhuǎn)移到原中斷服務(wù)程序執(zhí)行原有的操作感染機(jī)制舉例“小球”病毒的傳染部分讀入目標(biāo)磁盤的第一扇區(qū),并判斷是何種類型磁盤、是否已被小球病毒感染(病毒標(biāo)志為1357H),符合條件時(shí)進(jìn)行感染若符合條件,則首先在FAT表中找出一個(gè)未用簇,并將它標(biāo)為壞簇,然后將病毒程序的感染部分寫入該簇第一扇區(qū),把原磁盤的引導(dǎo)記錄寫入第二扇區(qū),并把病毒程序的引導(dǎo)部分寫入被傳染目標(biāo)盤的引導(dǎo)扇區(qū)完成小球病毒對一個(gè)新磁盤的傳染小球病毒傳染模塊執(zhí)行流程引導(dǎo)型病毒13H中斷程序的表現(xiàn)(破壞)部分表現(xiàn)(破壞)模塊主要完成病毒的表現(xiàn)或破壞功能

它的發(fā)作部分應(yīng)具備兩個(gè)特征程序要有一定的隱蔽性及潛伏性病毒發(fā)作的條件性和多樣性

計(jì)算機(jī)病毒的破壞和表現(xiàn)模塊一般分為兩個(gè)部分破壞模塊的觸發(fā)條件的判斷部分破壞功能的實(shí)施部分

和病毒的感染模塊一樣,破壞模塊可能在病毒程序第一次加載時(shí)就運(yùn)行,也可能在第一次加載時(shí)只將引導(dǎo)模塊引入內(nèi)存,以后再通過某些中斷機(jī)制觸發(fā)才運(yùn)行破壞機(jī)制在設(shè)計(jì)原則上與感染機(jī)制基本相同小球病毒破壞條件是系統(tǒng)調(diào)用13H號中斷時(shí),就先執(zhí)行病毒主體程序,而后執(zhí)行真正的13H號磁盤中斷進(jìn)度計(jì)算機(jī)病毒程序結(jié)構(gòu)DOS病毒簡介文件型病毒的感染方式寄生感染無入口點(diǎn)感染滋生感染鏈?zhǔn)礁腥綩BJ、LIB和源碼感染計(jì)算機(jī)病毒的發(fā)展趨勢寄生感染寄生感染是最常見的感染方式。主要分為兩類:替代法:病毒程序用自己的部分或全部指令代碼,替代磁盤引導(dǎo)扇區(qū)或文件中的全部或部分內(nèi)容鏈接法:病毒程序?qū)⒆陨泶a作為正常程序的一部分與宿主程序鏈接在一起,病毒的位置可能在首部、尾部或中間寄生在引導(dǎo)扇區(qū)的病毒一般采用替代法,寄生在可執(zhí)行文件中的病毒一般采用鏈接法寄生感染文件頭部寄生將HOST的文件頭拷貝到程序的最后,然后將文件頭用病毒代碼覆蓋生成一個(gè)新的文件,再用新的文件替換原來的文件從而完成感染文件尾部寄生將病毒代碼附加到文件的尾部寄生感染插入感染:病毒將自己插入到被感染的程序中,可以整段插入,也可以分段。有時(shí)需要通過壓縮原來的代碼方法保持被感染文件的大小不變寄生感染逆插入感染:將病毒代碼分割為頭、尾兩大塊,感染宿主程序時(shí),將宿主程序插入病毒代碼中間寄生感染利用空洞——零長度感染病毒查找宿主程序中的空洞(足夠長度的全部為零的數(shù)據(jù)區(qū)或堆棧區(qū)),并將病毒代碼放入空洞中,改變宿主程序開始處代碼或入口地址以優(yōu)先執(zhí)行病毒代碼無入口點(diǎn)感染(1)采用入口點(diǎn)模糊(EntryPointObscuring,EPO)技術(shù),即病毒在不修改宿主原入口點(diǎn)的前提下,通過在宿主代碼體內(nèi)某處插入跳轉(zhuǎn)指令來使病毒獲得控制權(quán)在被感染程序啟動(dòng)的時(shí)候,沒有立刻跳轉(zhuǎn)到病毒的代碼處開始執(zhí)行。病毒代碼無聲無息的潛伏在被感染的程序中,可能在非常偶然的條件下才會被觸發(fā)執(zhí)行無入口點(diǎn)的感染方式一無入口點(diǎn)感染(2)無入口點(diǎn)的感染方式二無入口點(diǎn)感染(3)無入口點(diǎn)感染(4)采用TSR病毒技術(shù)TSR(TerminalStillResident,中止仍然駐留)程序,程序執(zhí)行完畢之后仍然部分駐留在內(nèi)存中,駐留的部分基本都是中斷服務(wù)程序病毒修改TSR程序的中斷服務(wù)代碼,這樣當(dāng)操作系統(tǒng)執(zhí)行中斷的時(shí)候就會跳轉(zhuǎn)到病毒代碼中滋生感染又稱伴隨型病毒鏈?zhǔn)礁腥静《驹诟腥緯r(shí)完全不改動(dòng)宿主程序本體,而是改動(dòng)或利用與宿主程序相關(guān)的信息,將病毒程序與宿主程序連成一體,當(dāng)宿主程序欲運(yùn)行時(shí),利用相關(guān)關(guān)系使病毒部分首先運(yùn)行OBJ、LIB和源碼感染病毒感染編譯器生成的中間對象文件(.OBJ文件),或者編譯器使用的庫文件(.LIB)文件,由于這些文件不是直接的可執(zhí)行文件,所以病毒感染這些文件之后并不能直接的傳染,必須使用被感染的.OBJ或者.LIB鏈接生成.EXE(.COM)程序之后才能實(shí)際的完成感染過程,所生成的文件中包含了病毒源代碼病毒直接對源代碼進(jìn)行修改,在源代碼文件中增加病毒的內(nèi)容,例如搜索所有后綴名是.C的文件,如果在里面找到“main(”形式的字符串,則在這一行的后面加上病毒代碼,這樣編譯出來的文件就包括了病毒計(jì)算機(jī)病毒的發(fā)展趨勢當(dāng)前流行病毒更加呈現(xiàn)綜合性的特點(diǎn),功能越來越強(qiáng)大感染引導(dǎo)區(qū)、可執(zhí)行文件與網(wǎng)絡(luò)結(jié)合,通過電子郵件、局域網(wǎng)、聊天軟件、甚至瀏覽網(wǎng)頁、圖片等多種途徑進(jìn)行傳播兼有黑客后門功能,進(jìn)行密碼猜測,實(shí)施遠(yuǎn)程控制終止反病毒軟件和防火墻的運(yùn)行利用操作系統(tǒng)的漏洞進(jìn)行感染和破壞病毒的欺騙性也有所增強(qiáng),常利用郵件、qq,手機(jī)、信使服務(wù)和BBS等通訊方式發(fā)送含有病毒的網(wǎng)址,以各種吸引人的話題和內(nèi)容誘騙用戶上當(dāng)本講小結(jié)計(jì)算機(jī)病毒程序結(jié)構(gòu)DOS病毒簡介文件型病毒的感染方式計(jì)算機(jī)病毒的發(fā)展趨勢病毒為什么需要重定位病毒不可避免要用到變量(常量),當(dāng)病毒感染HOST程序后,由于其依附到不同HOST程序中的位置各有不同,病毒隨著HOST載入內(nèi)存后,病毒中的各個(gè)變量(常量)在內(nèi)存中的位置自然也會隨著發(fā)生變化病毒在感染前的Var2位置病毒感染HOST后Var2的位置病毒如何重定位calldelta;這條語句執(zhí)行之后,堆棧頂端為delta在內(nèi)存中的真正地址delta:popebp;這條語句將delta在內(nèi)存中的真正地址存放在ebp寄存器中

……leaeax,[ebp+(offsetvar1-offsetdelta)]

;這時(shí)eax中存放著var2在內(nèi)存中的真實(shí)地址如果病毒程序中有一個(gè)變量var1,那么該變量實(shí)際在內(nèi)存中的地址應(yīng)該是ebp+(offsetvar1-offsetdelta),即參考量delta在內(nèi)存中的地址+其它變量與參考量之間的距離=其它變量在內(nèi)存中的真正地址引導(dǎo)型病毒基本原理恢復(fù)系統(tǒng)功能對于寄生在磁盤引導(dǎo)扇區(qū)的病毒來說病毒引導(dǎo)程序占有了原系統(tǒng)引導(dǎo)程序的位置,并把原系統(tǒng)引導(dǎo)程序搬移到一個(gè)特定的地方系統(tǒng)一啟動(dòng),病毒引導(dǎo)模塊就會被自動(dòng)地裝入內(nèi)存并獲得執(zhí)行權(quán),然后該引導(dǎo)程序負(fù)責(zé)將病毒程序的感染模塊和表現(xiàn)(破壞)模塊裝入內(nèi)存的適當(dāng)位置,并采取常駐內(nèi)存技術(shù)以保證這兩個(gè)模塊不會被覆蓋接著對該兩個(gè)模塊設(shè)定

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論