病毒攻擊原理分析
以引導(dǎo)型病毒為例來(lái)分析病毒的攻擊原理。
想要了解引導(dǎo)型病毒的攻擊原理,首先要了解引導(dǎo)區(qū)的結(jié)構(gòu)。硬盤(pán)有兩個(gè)引導(dǎo)區(qū),在0面0道1扇區(qū)的稱(chēng)為主引導(dǎo)區(qū),內(nèi)有主引導(dǎo)程序和分區(qū)表,主引導(dǎo)程序查找激活分區(qū),該分區(qū)的第一個(gè)扇區(qū)即為DOS BOOT SECTOR。絕大多數(shù)病毒可以感染硬盤(pán)主引導(dǎo)扇區(qū)和軟盤(pán)DOS引導(dǎo)扇區(qū)。
盡管Windows操作系統(tǒng)使用廣泛,但計(jì)算機(jī)在被引導(dǎo)至Windows界面之前,還是需要基于傳統(tǒng)的DOS自舉過(guò)程,從硬盤(pán)引導(dǎo)區(qū)讀取引導(dǎo)程序。圖1和圖2分別描述了正常的DOS自舉過(guò)程和帶病毒的DOS自舉過(guò)程。
圖1 正常的DOS自舉過(guò)程
圖2 帶病毒的DOS自舉過(guò)程
正常的DOS啟動(dòng)過(guò)程如下:
① 通電開(kāi)機(jī)后,進(jìn)入系統(tǒng)的檢測(cè)程序并執(zhí)行該程序,以對(duì)系統(tǒng)的基本設(shè)備進(jìn)行檢測(cè);
② 檢測(cè)正常后,從系統(tǒng)盤(pán)0面0道1扇區(qū)(即邏輯0扇區(qū))讀Boot引導(dǎo)程序到內(nèi)存的0000:7C00處;
③ 轉(zhuǎn)入Boot執(zhí)行;
④ Boot判斷是否為系統(tǒng)盤(pán),如果不是,則給出提示信息;否則,讀入并執(zhí)行兩個(gè)隱含文件,并將COMMAND.com裝入內(nèi)存;
⑤ 系統(tǒng)正常運(yùn)行,DOS啟動(dòng)成功。
如果系統(tǒng)盤(pán)感染了病毒,則DOS的啟動(dòng)將會(huì)是另一種情況,其過(guò)程如下:
① 將Boot區(qū)中的病毒代碼首先讀入內(nèi)存的0000:7C00處;
② 病毒將自身的全部代碼讀入內(nèi)存的某一安全地區(qū),常駐內(nèi)存,并監(jiān)視系統(tǒng)的運(yùn)行;
③ 修改INT 13H中斷服務(wù)處理程序的入口地址,使之指向病毒控制模塊并執(zhí)行;因?yàn)槿魏我环N病毒感染軟盤(pán)或者硬盤(pán)時(shí),都離不開(kāi)對(duì)磁盤(pán)的讀寫(xiě)操作,所以修改INT 13H中斷服務(wù)程序的入口地址是一項(xiàng)必不可少的操作;
④ 病毒程序全部被讀入內(nèi)存后,再讀入正常的Boot內(nèi)容到內(nèi)存的0000:7C00處,并進(jìn)行正常的啟動(dòng)過(guò)程;
⑤ 病毒程序伺機(jī)(準(zhǔn)備隨時(shí))感染新的系統(tǒng)盤(pán)或非系統(tǒng)盤(pán)。
如果發(fā)現(xiàn)有可攻擊的對(duì)象,則病毒要進(jìn)行下列工作:
① 將目標(biāo)盤(pán)的引導(dǎo)扇區(qū)讀入內(nèi)存,并判別該盤(pán)是否感染了病毒;
② 當(dāng)滿足傳染條件時(shí),將病毒的全部或部分寫(xiě)入Boot區(qū),把正常的磁盤(pán)引導(dǎo)區(qū)程序?qū)懭氪疟P(pán)的特定位置;
③ 返回正常的INT 13H中斷服務(wù)處理程序,完成對(duì)目標(biāo)盤(pán)的傳染。
責(zé)編AJX
-
硬盤(pán)
+關(guān)注
關(guān)注
3文章
1308瀏覽量
57282 -
病毒
+關(guān)注
關(guān)注
0文章
100瀏覽量
23689 -
網(wǎng)絡(luò)攻擊
+關(guān)注
關(guān)注
0文章
331瀏覽量
23444
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論