惡意代碼原理、技術(shù)與防范 課件 2-引導(dǎo)型惡意代碼_第1頁
惡意代碼原理、技術(shù)與防范 課件 2-引導(dǎo)型惡意代碼_第2頁
惡意代碼原理、技術(shù)與防范 課件 2-引導(dǎo)型惡意代碼_第3頁
惡意代碼原理、技術(shù)與防范 課件 2-引導(dǎo)型惡意代碼_第4頁
惡意代碼原理、技術(shù)與防范 課件 2-引導(dǎo)型惡意代碼_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章引導(dǎo)型惡意代碼引言引導(dǎo)型惡意代碼運(yùn)行在系統(tǒng)的底層,加載時(shí)機(jī)早、抗查殺能力強(qiáng)的特點(diǎn)引得攻擊者們對(duì)其趨之若鶩。當(dāng)前計(jì)算機(jī)的引導(dǎo)方式主要有BIOS固件和UEFI固件兩類,本章重點(diǎn)介紹基于這兩類的引導(dǎo)型惡意代碼。Windows引導(dǎo)過程引導(dǎo)型病毒1Windows引導(dǎo)過程Windows引導(dǎo)過程1.1固件BIOS引導(dǎo)過程BIOS(BasicInputOutputSystem)全稱“基本輸入輸出系統(tǒng)”,它是計(jì)算機(jī)主板ROM芯片上的一組程序,它保存著計(jì)算機(jī)最重要的基本輸入輸出程序、開機(jī)后自檢程序和系統(tǒng)自啟動(dòng)程序,它可以從CMOS中讀寫系統(tǒng)設(shè)置的具體信息,其主要功能是為計(jì)算機(jī)提供最底層的、最直接的硬件設(shè)置和控制。計(jì)算機(jī)加電后,系統(tǒng)首先由上電自檢程序(PowerOnSelfTest,POST)對(duì)各個(gè)硬件設(shè)備檢查,通常包括對(duì)CPU、640K基本內(nèi)存、1M以上擴(kuò)展內(nèi)存、ROM、主板等測(cè)試,若發(fā)現(xiàn)問題,則給出提示信息或鳴笛警告。POST自檢完成后,讀入并執(zhí)行引導(dǎo)扇區(qū)的主引導(dǎo)記錄(MasterBootRecord,MBR),引導(dǎo)記錄找到安裝在操作系統(tǒng)的活動(dòng)分區(qū),將控制權(quán)轉(zhuǎn)交給活動(dòng)分區(qū)的引導(dǎo)記錄PBR,由該引導(dǎo)記錄找到分區(qū)上的操作系統(tǒng)啟動(dòng)文件,從而完成操作系統(tǒng)的啟動(dòng)。1.2固件UEFI引導(dǎo)過程UEFI(UnifiedExtensibleFirmwareInterface)全稱“統(tǒng)一的可擴(kuò)展固件接口”,是一種詳細(xì)描述全新類型接口的標(biāo)準(zhǔn),其主要目的為了提供在操作系統(tǒng)加載之前,面向所有平臺(tái)的一組標(biāo)準(zhǔn)的啟動(dòng)服務(wù)。UEFI與傳統(tǒng)BIOS引導(dǎo)方法有很大區(qū)別,傳統(tǒng)的BIOS是與第一批PC兼容的計(jì)算機(jī)固件一起開發(fā)的,隨著PC硬件復(fù)雜性的增長(zhǎng),需要更復(fù)雜的BIOS代碼來配置它。而UEFI標(biāo)準(zhǔn)被提出后可以用統(tǒng)一的結(jié)構(gòu)控制固件的復(fù)雜性。UEFI固件類似一個(gè)小型操作系統(tǒng),它甚至有自己的網(wǎng)絡(luò)棧。它包含幾百萬行代碼,實(shí)現(xiàn)復(fù)雜,能夠提供比傳統(tǒng)BIOS更多的功能。UEFI具有更好的可編程性、更高的安全性、更強(qiáng)的可擴(kuò)展性,并且更好的適應(yīng)64位平臺(tái)。1.3Windows操作系統(tǒng)引導(dǎo)過程卷引導(dǎo)記錄和初始加載程序bootmgr模塊和引導(dǎo)配置數(shù)據(jù)Windows引導(dǎo)過程視圖Windows引導(dǎo)過程引導(dǎo)型病毒2引導(dǎo)型病毒9DOSWin9x/meWin2000/XP/Win7…OS的變遷什么技術(shù)阻礙了引導(dǎo)型病毒的繼續(xù)擴(kuò)張?引導(dǎo)型病毒采用什么技術(shù)突破了限制?引導(dǎo)型惡意代碼StoneBrainMonkey…PolyBoot

…鬼影系列

TDL系列…回顧--硬盤分區(qū)結(jié)構(gòu)

--系統(tǒng)啟動(dòng)過程10BIOS啟動(dòng)主機(jī)加電OS啟動(dòng)系統(tǒng)啟動(dòng)過程如果用惡意代碼替換引導(dǎo)記錄,那么…11什么是引導(dǎo)型病毒?2引導(dǎo)型病毒引導(dǎo)型病毒是指專門寄生在磁盤引導(dǎo)扇區(qū)或者主分區(qū)的引導(dǎo)扇區(qū)的計(jì)算機(jī)病毒。DOS時(shí)代叫病毒,Windows

NT后稱為引導(dǎo)型惡意代碼,或BootKit。危害:?jiǎn)?dòng)早難清除破壞性大2引導(dǎo)型病毒12MBR的工作流程2引導(dǎo)型病毒病毒傳播:利用軟盤和硬盤的引導(dǎo)區(qū)進(jìn)行自我復(fù)制。PC1(毒)PC2毒毒毒2引導(dǎo)型病毒病毒需解決的問題:病毒代碼必須能正常引導(dǎo)啟動(dòng)計(jì)算機(jī);病毒代碼運(yùn)行后要常駐在內(nèi)存中;病毒代碼要能夠識(shí)別軟盤插入并能夠感染其引導(dǎo)區(qū);2引導(dǎo)型病毒15實(shí)現(xiàn)內(nèi)存駐留常規(guī)內(nèi)存(640KB)高端內(nèi)存(384KB)DOS內(nèi)存管理:實(shí)模式2引導(dǎo)型病毒W(wǎng)indows系統(tǒng)常用“事件觸發(fā)”的消息通知方式;病毒利用DOS系統(tǒng)插入軟盤時(shí)自動(dòng)讀取軟盤引導(dǎo)區(qū)的方式進(jìn)行判斷。實(shí)現(xiàn)軟盤的識(shí)別2引導(dǎo)型病毒17病毒代碼為常駐內(nèi)存開設(shè)空間設(shè)置傳播機(jī)制組合完整代碼,實(shí)現(xiàn)常駐內(nèi)存?引導(dǎo)型病毒的工作流程病毒的激活病毒的存儲(chǔ)病毒的感染2引導(dǎo)型病毒18BIOS(int13h)讀

AH=02h,寫AH=03hAL=扇區(qū)數(shù)CH=柱號(hào)的低8位CL=低6位為起始扇區(qū)號(hào),高2位為柱號(hào)高2位DH:DL=磁頭號(hào):驅(qū)動(dòng)器實(shí)現(xiàn)磁盤讀寫例:讀主引導(dǎo)區(qū)所在1號(hào)扇區(qū)movax,0201hmoval,01hmovcx,0001hmovdx,0h19NT內(nèi)核的操作系統(tǒng)安全改進(jìn)如何對(duì)扇區(qū)進(jìn)行讀寫?1禁止通過BIOS中斷對(duì)硬件直接訪問2由DOS引導(dǎo)啟動(dòng)后交由Windows運(yùn)行,內(nèi)存采用保護(hù)模式管理2引導(dǎo)型病毒Bootkit2引導(dǎo)型病毒20Win2000、XP操作系統(tǒng)(1)應(yīng)用層

hDev=CreateFile("\.\PHYSICALDRIVE0",…);ReadFile(hDev,Buffer,512,&dwRet,0);

(2)驅(qū)動(dòng)層

DeviceIoControl(…,IOCTL_OLS_SET_SECTION,…);

IoGetDeviceObjectPointer(L"http://??//PhysicalDrive0",…);

pIrpS=IoGetCurrentIrpStackLocation(pIrp);

pIrpS->Parameters.Write.ByteOffset=Sections_To_Byte(…);

Windows下如何讀寫扇區(qū)?pIrpSp->Flags

|=

SL_FORCE_DIRECT_WRITE

Bootkit2引導(dǎo)型病毒W(wǎng)in系統(tǒng)下讀寫磁盤引導(dǎo)扇區(qū)問題的解決,標(biāo)志著可以對(duì)引導(dǎo)扇區(qū)進(jìn)行改寫。21如何解決程序從DOS系統(tǒng)到Windows系統(tǒng)的跨越?Bootkit2引導(dǎo)型病毒22Windows引導(dǎo)過程BIOS加電自檢讀主引導(dǎo)扇區(qū)MBR讀激活分區(qū)DBRNTLDR將實(shí)模式轉(zhuǎn)換為保護(hù)模式OS啟動(dòng)讀BOOT.INI文件,顯操作系統(tǒng)菜單加載NTDETECT.COM,檢測(cè)并注冊(cè)硬件信息選擇硬件配置文件進(jìn)行硬件配置裝載內(nèi)核NtOsKrnl.EXE初始化內(nèi)核加載驅(qū)動(dòng)程序啟動(dòng)用戶登錄程序WinLogon.EXEBootkit2引導(dǎo)型病毒回歸初衷:實(shí)現(xiàn)一個(gè)代碼從主機(jī)啟動(dòng)開始就駐留獲得控制權(quán)直到Windows操作系統(tǒng)啟動(dòng)運(yùn)行仍然在活躍在內(nèi)核?23trojan.sys(Win)mbrstart(DOS)從MBR中啟動(dòng),實(shí)現(xiàn)Windows系統(tǒng)加載時(shí)運(yùn)行l(wèi)oadmc具體的木馬功能loadmc(Win)磁盤sec0sec1

sec2

sec3…mbrstartloadmctrojan.sys內(nèi)存trojan.sys組裝、加載及保護(hù)。windows系統(tǒng)是如何加載的?Bootkit2引導(dǎo)型病毒24Windows操作系統(tǒng)啟動(dòng)的三階段MBR-DOS系統(tǒng)DOS-Windows系統(tǒng)Windows系統(tǒng)1.BIOS加電自檢2.讀取并執(zhí)行MBR3.讀激活分區(qū)DBR4.加載NTLDR1.SU初始化物理內(nèi)存,調(diào)用osloader2.初始化保護(hù)模式下的內(nèi)存子系統(tǒng)3.確定啟動(dòng)分區(qū),讀boot.ini并加載NTDETECT.COM4.初始化系統(tǒng)目錄,將ntokrnl.exe加載內(nèi)存Ntoskrnl加載文件系統(tǒng)、注冊(cè)表,設(shè)備驅(qū)動(dòng)程序等mbrstart如何在啟動(dòng)的過程中實(shí)現(xiàn)三階段代碼控制權(quán)的交替?實(shí)質(zhì)是解決代碼進(jìn)入內(nèi)存與激活兩個(gè)問題loadmctrojan.sysBootkit2引導(dǎo)型病毒以“鬼影”Bootkit為例25a.將loadmc代碼直接以新節(jié)patch到NTLDR上,并計(jì)算其在內(nèi)存中應(yīng)被加載的位置xxxx;b.定位Ntldr.callBlLoadBootDrivers,將其下一句改為callxxxx;Bootkit第一步:mbrstartpatchntldr通過hookint13中斷對(duì)讀取的扇區(qū)進(jìn)行過濾,發(fā)現(xiàn)ntldr時(shí)對(duì)其實(shí)現(xiàn)hook,確保ntldr執(zhí)行時(shí)loadmc能夠獲得控制權(quán)。2引導(dǎo)型病毒26a.尋址BlLoaderBlock,通過其LoadOrderListHead結(jié)構(gòu)找到ntoskrnl.exe基址;b.在ntoskrnl.exe的空間中插入loadmc代碼中加載驅(qū)動(dòng)的部分;c.通過ntoskrnl文件結(jié)構(gòu)找到導(dǎo)入函數(shù)OnInitSystem的地址,替換為loadmc的地址。Bootkit第二步:loadmc-hookntoskrnl通過對(duì)ntldr內(nèi)存空間的搜索,找到ntoskrnl.exe的基地址,通過inlinehook將其導(dǎo)入函數(shù)OnInitSystem替換為代碼中的loadmc函數(shù),確保ntoskrnl.exe執(zhí)行時(shí)獲得控制權(quán)。27Bootkit2引導(dǎo)型病毒第三步:trojan.sys木馬的加載loadmc驅(qū)動(dòng)代碼加載時(shí),系統(tǒng)初始化已完成,磁盤驅(qū)動(dòng)、注冊(cè)表以及設(shè)備驅(qū)動(dòng)等都已經(jīng)加載,因此直接可加載trojan.sys到內(nèi)核。思考題281.通過對(duì)磁盤結(jié)構(gòu)和文件系統(tǒng)的學(xué)習(xí)和分析,惡意代碼會(huì)隱蔽駐留在磁盤中的哪些位

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論