第2章 計(jì)算機(jī)病毒結(jié)構(gòu)及分析_第1頁
第2章 計(jì)算機(jī)病毒結(jié)構(gòu)及分析_第2頁
第2章 計(jì)算機(jī)病毒結(jié)構(gòu)及分析_第3頁
第2章 計(jì)算機(jī)病毒結(jié)構(gòu)及分析_第4頁
第2章 計(jì)算機(jī)病毒結(jié)構(gòu)及分析_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章計(jì)算機(jī)病毒結(jié)構(gòu)分析,本章學(xué)習(xí)目標(biāo),掌握計(jì)算機(jī)病毒的結(jié)構(gòu)掌握計(jì)算機(jī)病毒的工作機(jī)制了解各種計(jì)算機(jī)病毒技術(shù),一、計(jì)算機(jī)病毒的結(jié)構(gòu)和工作機(jī)制,四大模塊:感染模塊觸發(fā)模塊破壞模塊(表現(xiàn)模塊)引導(dǎo)模塊(主控模塊)兩個(gè)狀態(tài):靜態(tài)動態(tài),圖2-1:病毒程序的生命周期,圖2-2:病毒程序的典型組成示意圖,工作機(jī)制,圖2-3:病毒的工作機(jī)制,引導(dǎo)模塊,引導(dǎo)前寄生寄生位置:引導(dǎo)區(qū)可執(zhí)行文件寄生手段:替代法(寄生在引導(dǎo)區(qū)中的病毒常用該法)鏈接法(寄生在文件中的病毒常用該法),圖2-4替代法,圖2-5鏈接法,引導(dǎo)過程駐留內(nèi)存竊取系統(tǒng)控制權(quán)恢復(fù)系統(tǒng)功能引導(dǎo)區(qū)病毒引導(dǎo)過程搬遷系統(tǒng)引導(dǎo)程序-替代為病毒引導(dǎo)程序啟動時(shí)-病毒引導(dǎo)模塊-加載傳染、破壞和觸發(fā)模塊到內(nèi)存-使用常駐技術(shù)最后,轉(zhuǎn)向系統(tǒng)引導(dǎo)程序-引導(dǎo)系統(tǒng),文件型病毒引導(dǎo)過程修改入口指令-替代為跳轉(zhuǎn)到病毒模塊的指令執(zhí)行時(shí)-跳轉(zhuǎn)到病毒引導(dǎo)模塊-病毒引導(dǎo)模塊-加載傳染、破壞和觸發(fā)模塊到內(nèi)存-使用常駐技術(shù)最后,轉(zhuǎn)向程序的正常執(zhí)行指令-執(zhí)行程序,感染模塊,病毒傳染的條件被動傳染(靜態(tài)時(shí))用戶在進(jìn)行拷貝磁盤或文件時(shí),把一個(gè)病毒由一個(gè)載體復(fù)制到另一個(gè)載體上?;蛘呤峭ㄟ^網(wǎng)絡(luò)上的信息傳遞,把一個(gè)病毒程序從一方傳遞到另一方。這種傳染方式叫做計(jì)算機(jī)病毒的被動傳染。主動傳染(動態(tài)時(shí))以計(jì)算機(jī)系統(tǒng)的運(yùn)行以及病毒程序處于激活狀態(tài)為先決條件。在病毒處于激活的狀態(tài)下,只要傳染條件滿足,病毒程序能主動地把病毒自身傳染給另一個(gè)載體或另一個(gè)系統(tǒng)。這種傳染方式叫做計(jì)算機(jī)病毒的主動傳染。,傳染過程系統(tǒng)(程序)運(yùn)行-各種模塊進(jìn)入內(nèi)存-按多種傳染方式傳染傳染方式立即傳染,即病毒在被執(zhí)行的瞬間,搶在宿主程序開始執(zhí)行前,立即感染磁盤上的其他程序,然后再執(zhí)行宿主程序。駐留內(nèi)存并伺機(jī)傳染,內(nèi)存中的病毒檢查當(dāng)前系統(tǒng)環(huán)境,在執(zhí)行一個(gè)程序、瀏覽一個(gè)網(wǎng)頁時(shí)傳染磁盤上的程序,駐留在系統(tǒng)內(nèi)存中的病毒程序在宿主程序運(yùn)行結(jié)束后,仍可活動,直至關(guān)閉計(jì)算機(jī)。,文件型病毒傳染機(jī)理首先根據(jù)病毒自己的特定標(biāo)識來判斷該文件是否已感染了該病毒;當(dāng)條件滿足時(shí),利用INT13H將病毒鏈接到文件的特定部位,并存入磁盤中;完成傳染后,繼續(xù)監(jiān)視系統(tǒng)的運(yùn)行,試圖尋找新的攻擊目標(biāo)。文件型病毒傳染途徑加載執(zhí)行文件文件型計(jì)算機(jī)病毒駐內(nèi)存后,通過其所截獲的INT21中斷檢查每一個(gè)加載運(yùn)行可執(zhí)行文件進(jìn)行傳染。傳染不到那些用戶沒有使用的文件。瀏覽目錄過程創(chuàng)建文件過程,破壞模塊,破壞模塊的功能破壞、破壞、還是破壞破壞對象系統(tǒng)數(shù)據(jù)區(qū)、文件、內(nèi)存、系統(tǒng)運(yùn)行速度、磁盤、CMOS、主板和網(wǎng)絡(luò)等。破壞的程度,觸發(fā)模塊,觸發(fā)條件計(jì)算機(jī)病毒在傳染和發(fā)作之前,往往要判斷某些特定條件是否滿足,滿足則傳染或發(fā)作,否則不傳染或不發(fā)作或只傳染不發(fā)作,這個(gè)條件就是計(jì)算機(jī)病毒的觸發(fā)條件。觸發(fā)模塊的目的是調(diào)節(jié)病毒的攻擊性和潛伏性之間的平衡大范圍的感染行為、頻繁的破壞行為可能給用戶以重創(chuàng),但是,它們總是使系統(tǒng)或多或少地出現(xiàn)異常,容易使病毒暴露。而不破壞、不感染又會使病毒失去其特性??捎|發(fā)性是病毒的攻擊性和潛伏性之間的調(diào)整杠桿,可以控制病毒感染和破壞的頻度,兼顧殺傷力和潛伏性。,病毒常用的觸發(fā)條件,日期觸發(fā)時(shí)間觸發(fā)鍵盤觸發(fā)感染觸發(fā)例如,運(yùn)行感染文件個(gè)數(shù)觸發(fā)、感染序數(shù)觸發(fā)、感染磁盤數(shù)觸發(fā)、感染失敗觸發(fā)等。啟動觸發(fā)訪問磁盤次數(shù)觸發(fā)CPU型號/主板型號觸發(fā),二、常見計(jì)算機(jī)病毒的技術(shù)特征,駐留內(nèi)存病毒變種EPO(EntryPointObscuring-隱藏)技術(shù)抗分析技術(shù)(加密、反跟蹤)隱蔽性病毒技術(shù)多態(tài)性病毒技術(shù)插入型病毒技術(shù)超級病毒技術(shù)破壞性感染技術(shù)網(wǎng)絡(luò)病毒技術(shù),1駐留內(nèi)存:DOSTSR(TerminateandStayResident,DOS實(shí)現(xiàn)多任務(wù)的編程方法),圖2-6DOS病毒駐留內(nèi)存位置示意圖,已感染了計(jì)算機(jī)病毒系統(tǒng)的啟動過程如下。(1)將Boot區(qū)中的計(jì)算機(jī)病毒代碼首先讀入內(nèi)存的0000:7C00處。(2)計(jì)算機(jī)病毒將自身全部代碼讀入內(nèi)存的某一安全地區(qū)、常駐內(nèi)存,監(jiān)視系統(tǒng)的運(yùn)行。(3)修改INT13H中斷服務(wù)處理程序的入口地址,使之指向計(jì)算機(jī)病毒控制模塊并執(zhí)行之。因?yàn)槿魏我环N計(jì)算機(jī)病毒要感染軟盤或者硬盤,都離不開對磁盤的讀寫操作,修改INT13H中斷服務(wù)程序的入口地址是一項(xiàng)少不了的操作。(4)計(jì)算機(jī)病毒程序全部被讀入內(nèi)存后才讀入正常的Boot內(nèi)容到內(nèi)存的0000:7C00處,進(jìn)行正常的啟動過程。(5)計(jì)算機(jī)病毒程序伺機(jī)等待隨時(shí)準(zhǔn)備感染新的系統(tǒng)盤或非系統(tǒng)盤。如果發(fā)現(xiàn)有可攻擊的對象,計(jì)算機(jī)病毒還要進(jìn)行下列的工作。(1)將目標(biāo)盤的引導(dǎo)扇區(qū)讀入內(nèi)存,對該盤進(jìn)行判別是否傳染了計(jì)算機(jī)病毒。(2)當(dāng)滿足傳染條件時(shí),則將計(jì)算機(jī)病毒的全部或者一部分寫入Boot區(qū),把正常的磁盤的引導(dǎo)區(qū)程序?qū)懭氪疟P特寫位置。(3)返回正常的INT13H中斷服務(wù)處理程序,完成對目標(biāo)盤的傳染。,1駐留內(nèi)存:引導(dǎo)區(qū)病毒的內(nèi)存駐留,大小在1K或者幾K為了避免用戶可以很容易的覺察到系統(tǒng)可用內(nèi)存的減少,一些病毒會等待DOS完全啟動成功,然后使用DOS自己的功能分配內(nèi)存。不用考慮重載。,1駐留內(nèi)存:Windows環(huán)境下病毒的內(nèi)存駐留,三種駐留內(nèi)存的方法由于Windows操作系統(tǒng)本身就是多任務(wù)的,所以最簡單的內(nèi)存駐留方法是將病毒作為一個(gè)應(yīng)用程序,病毒擁有自己的窗口(可能是隱藏的)、擁有自己的消息處理函數(shù);另外一種方法是使用DPMI申請一塊系統(tǒng)內(nèi)存,然后將病毒代碼放到這塊內(nèi)存中;第三種方法是將病毒作為一個(gè)VXD(Win3.x或者Win9x環(huán)境下的設(shè)備驅(qū)動程序)或者在WinNTWin2000下的設(shè)備驅(qū)動程序WDM加載到內(nèi)存中運(yùn)行。,防止重載的方法傳統(tǒng)的防止重入方法禁止啟動兩個(gè)實(shí)例對于VXD病毒靜態(tài)加載時(shí),病毒會在“SYSTEM.INI”文件中包含加載設(shè)備驅(qū)動程序的一行信息;動態(tài)加載時(shí),可能使用某些英特爾CPU的一些特殊狀態(tài)位來表示病毒是否存在于內(nèi)存中(CIH病毒就采用了這種方法)。,1駐留內(nèi)存:宏病毒的內(nèi)存駐留方法,病毒隨著宿主程序而被加載并且一直存在于系統(tǒng)中,所以從某種意義上,宏病毒都是內(nèi)存駐留病毒。宏病毒通過檢測自己的特征防止重入。,2病毒變種,變形變種新品種兩種方式:手工變種自動變種(MutationEngine:變形機(jī))保加利亞DarkAvenger的變形機(jī)VCS(病毒構(gòu)造工具箱,VirusConstructionSet)GenVirVCL(病毒制造實(shí)驗(yàn)室,VirusCreationLaboratory)PS-MPC(Phalcon-SkismMass-ProducedCodeGenerator)NGVCK(下一代病毒機(jī),NextGenerationVirusCreationKit)VBS蠕蟲孵化器,變種分類,第一類,具備普通病毒所具有的基本特性,然而,病毒每感染一個(gè)目標(biāo)后,其自身代碼與前一被感染目標(biāo)中的病毒代碼幾乎沒有三個(gè)連續(xù)的字節(jié)是相同的,但這些代碼及其相對空間的排列位置是不變動的。這里稱其為一維變形病毒。第二類,除了具備一維變形病毒的特性外,并且那些變化的代碼相互間的排列距離(相對空間位置)也是變化的,有的感染文件的字節(jié)數(shù)不定。這里稱其為二維變形病毒。,第三類,具備二維變形病毒的特性,并且能分裂后分別潛藏在幾處,隨便某一處的子病毒被激發(fā)后都能自我恢復(fù)成一個(gè)完整的病毒。病毒在附著體上的空間位置是變化的,即潛藏的位置不定。例如,在某臺機(jī)器中,病毒的一部分可能藏在機(jī)器硬盤的主引導(dǎo)區(qū)中,另外幾部分也可能潛藏在可執(zhí)行文件中,也可能潛藏在覆蓋文件中,也可能潛藏在系統(tǒng)引導(dǎo)區(qū),也可能另開墾一塊區(qū)域潛藏等等。在另一臺被感染的機(jī)器內(nèi),病毒可能又改變了其潛藏的位置。這里稱其為三維變形病毒。第四類,具備三維變形病毒的特性,并且,這些特性隨時(shí)間動態(tài)變化。例如,在染毒的機(jī)器中,剛開機(jī)時(shí)病毒在內(nèi)存里變化為一個(gè)樣子,一段時(shí)間后又變成了另一個(gè)樣子,再次開機(jī)后病毒在內(nèi)存里又是一個(gè)不同的樣子。這里稱其為四維變形病毒。,3EPO(EntryPointObscuring)技術(shù),為什么要采用EPO技術(shù)呢?殺毒技術(shù)提高-防止被發(fā)現(xiàn)-EPO實(shí)現(xiàn)方法:最早的EPO通過改變程序入口處的代碼實(shí)現(xiàn)的。簡單但無用把宿主程序的任意位置的指令替換為跳轉(zhuǎn)語句。難點(diǎn)在于定位一個(gè)完整的指令(類似于一個(gè)反編譯器),如果在一段代碼中有一條指令:228738fdff15eb0f107dcall7d100febh把它替換成新的指令CallAddressofvirus在病毒體內(nèi)還要再次調(diào)用Call7d100febh來完成宿主程序的功能。代碼如下:dwff15h;ff15eb0f107d的前綴backaddrdd0;存放ff15eb0f107d的后綴,這個(gè)后綴是變化的在病毒代碼中,把backaddr的值動態(tài)的改為Call7d100febh指令編譯后的后綴。,4抗分析技術(shù),加密技術(shù):這是一種防止靜態(tài)分析的技術(shù),使得分析者無法在不執(zhí)行病毒的情況下,閱讀加密過的病毒程序。反跟蹤技術(shù):使得分析者無法動態(tài)跟蹤病毒程序的運(yùn)行。,4抗分析技術(shù):自加密技術(shù),數(shù)據(jù)加密(信息加密)例如:文件型病毒6.4就是這樣處理的,計(jì)算機(jī)病毒發(fā)作時(shí)將在屏幕上顯示的字符串被用異或操作的方式加密存儲。1575病毒加密數(shù)據(jù)文件。加密文件名COMMAND.COM病毒代碼加密ChineseBomb把宿主程序前6個(gè)字節(jié)加密并轉(zhuǎn)移位置。1701/1704用宿主程序的長度作為密鑰加密代碼。,4抗分析技術(shù):反跟蹤技術(shù),DOS下,修改int0-3中斷Int0:除零中斷Int1:單步中斷,用于程序調(diào)試Int2:不可屏蔽中斷NMIInt3:斷點(diǎn)中斷,用于程序調(diào)試Windows下:封鎖鍵盤輸入關(guān)閉屏幕顯示修改堆棧指令程序運(yùn)行計(jì)時(shí)動態(tài)地生成指令代碼,5隱蔽性病毒技術(shù),引導(dǎo)型隱藏方法一感染時(shí),修改中斷服務(wù)程序使用時(shí),截獲INT13調(diào)用,引導(dǎo)型隱藏方法二針對殺毒軟件對磁盤直接讀寫的特點(diǎn)。截獲INT21H,然后恢復(fù)感染區(qū)最后,再進(jìn)行感染,文件型病毒的隱藏技術(shù),攔截(API,INT調(diào)用)訪問恢復(fù)再感染。例如,改變文件大小病毒,dir病毒等,宏病毒的隱藏技術(shù),刪除相關(guān)的菜單項(xiàng):“文件模板”或者“工具宏”使用宏病毒自己的FileTemplates和ToolsMacro宏替代系統(tǒng)缺省的宏,6多態(tài)性病毒技術(shù),多態(tài)病毒就是沒有特殊特征碼的病毒,這種病毒無法(或極難)用特征碼掃描法檢測到。方法:使用不固定的密鑰或者隨機(jī)數(shù)加密病毒代碼運(yùn)行的過程中改變病毒代碼通過一些奇怪的指令序列實(shí)現(xiàn)多態(tài)性BASIC,Shell等解釋性語言可以在一行包括很多語句。,使用加密技術(shù)的多態(tài)性,改變可執(zhí)行代碼技術(shù)的多態(tài)病毒,基本上都使用在宏病毒中,其他病毒少見。宏語言都是以BASIC為基礎(chǔ)的。引導(dǎo)型病毒在引導(dǎo)區(qū)或者分區(qū)表中,包含了一小段代碼來加載實(shí)際的病毒代碼,這段代碼在運(yùn)行的過程中是可以改變的。文件型病毒“厚度”(Ply)病毒“TMC”病毒,多態(tài)病毒的級別,半多態(tài):病毒擁有一組解密算法,感染的時(shí)候從中間隨機(jī)的選擇一種算法進(jìn)行加密和感染。具有不動點(diǎn)的多態(tài):病毒有一條或者幾條語句是不變的(我們把這些不變的語句叫做不動點(diǎn)),其他病毒指令都是可變的。帶有填充物的多態(tài):解密代碼中包含一些沒有實(shí)際用途的代碼來干擾分析者的視線。算法固定的多態(tài):解密代碼所使用的算法是固定的,但是實(shí)現(xiàn)這個(gè)算法的指令和指令的次序是可變的。算法可變的多態(tài):使用了上述所有的技術(shù),同時(shí)解密算法也是可以部分或者全部改變的。完全多態(tài):算法多態(tài),同時(shí)病毒體可以隨機(jī)的分布在感染文件的各個(gè)位置,但是在運(yùn)行的時(shí)候能夠進(jìn)行拼裝,并且可以正常工作。,查殺技術(shù),對于前面3種多態(tài)病毒,可以使用病毒特征碼或者改進(jìn)后的病毒特征碼對于第4種多態(tài)病毒,可以增加多種情況的改進(jìn)后的特征碼至于第5和第6種多態(tài)病毒,依靠傳統(tǒng)的特征碼技術(shù)是完全無能為力的。最好的辦法是虛擬執(zhí)行技術(shù)。,7超級病毒技術(shù),超級病毒技術(shù)就是在計(jì)算機(jī)病毒進(jìn)行感染、破壞時(shí),使得病毒預(yù)防工具無法獲得運(yùn)

溫馨提示

  • 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

提交評論