• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Anti MBR-Rootkit技術(shù)研究

      2013-04-16 12:38:42吉首大學(xué)信息科學(xué)與工程學(xué)院陳頌頌李必云
      電子世界 2013年21期
      關(guān)鍵詞:鬼影驅(qū)動程序扇區(qū)

      吉首大學(xué)信息科學(xué)與工程學(xué)院 陳頌頌 李必云

      1.前言

      基于Windows啟動過程的Rootkit作為目前最前沿的Rootkit技術(shù),把存放地由傳統(tǒng)的操作系統(tǒng)磁盤文件擴展到了硬盤主引導(dǎo)扇區(qū)等位置,同時將自身的啟動提前到了Windows系統(tǒng)內(nèi)核啟動相同的級別,甚至還要更早的階段。這樣基于Windows啟動過程的Rootkit就能較早的取得對計算機的控制權(quán),從而實現(xiàn)較強的隱藏和控制功能[1]?;贛BR的Rootkit技術(shù)是通過感染MBR實現(xiàn)的,這種Rootkit會在操作系統(tǒng)還沒運行的時候先獲得控制權(quán),這種技術(shù)在磁盤中會留下感染痕跡,通常安全軟件也是利用這個弱點,首先檢測MBR是否被篡改了,如果是則修復(fù)這個被篡改的MBR,當(dāng)修復(fù)成功后,下次計算機重啟過程中Rootkit失去作用。

      2.磁盤主引導(dǎo)記錄MBR

      MBR(Master Boot Record),即主引導(dǎo)記錄,它是由FDISK等磁盤分區(qū)命令寫在硬盤絕對0扇區(qū)的一段數(shù)據(jù),它由主引導(dǎo)程序、硬盤分區(qū)表及扇區(qū)結(jié)束標(biāo)志字(55AA)這3個部分組成。位于整個硬盤的0柱面0磁道1扇區(qū),共占用63個扇區(qū),但實際只使用1個扇區(qū)(512字節(jié))。在總共512字節(jié)的主引導(dǎo)記錄中,引導(dǎo)代碼占用446字節(jié),分區(qū)表占用64字節(jié),結(jié)束標(biāo)志55AA占用兩個字節(jié)。引導(dǎo)代碼的作用是讓硬盤具備可以引導(dǎo)的功能,如果引導(dǎo)代碼丟失,分區(qū)表還在,那么這個硬盤作為從盤所有分區(qū)數(shù)據(jù)都還在,只是這個硬盤自己不能夠用來啟動進系統(tǒng)。如果要恢復(fù)引導(dǎo)代碼,可用DOS下命令:FDISK/MBR;這個命令只是用來恢復(fù)引導(dǎo)代碼,不會引起分區(qū)改變丟失數(shù)據(jù)[2]。此外,可用工具軟件如DISKGEN、WINHEX等。但分區(qū)表如果丟失,后果就是整個硬盤一個分區(qū)沒有,就好象剛買來一個新硬盤沒有分過區(qū)一樣。是很多病毒喜歡破壞的區(qū)域。因為主引導(dǎo)記錄MBR最多只能描述4個分區(qū)項,如果想要在一個硬盤上分多于4個區(qū),就要采用擴展MBR的辦法EBR(Extended MBR)。MBR、EBR是分區(qū)產(chǎn)生的。比如MBR和EBR各都占用63個扇區(qū),C盤占用143532個扇區(qū)等,則硬盤分區(qū)結(jié)構(gòu)如表1所示:

      表1 硬盤分區(qū)結(jié)構(gòu)示例

      例主引導(dǎo)記錄(部分?jǐn)?shù)據(jù))”80 01 01 00 0B FE BF FC 3F 00 00 00 7E 86 BB 00”,“80”是一個分區(qū)的激活標(biāo)志,表示系統(tǒng)可引導(dǎo);“01 01 00”表示分區(qū)開始的磁頭號為01,開始的扇區(qū)號為01,開始的柱面號為00;“0B”表示分區(qū)的系統(tǒng)類型是FAT32,其他比較常用的有04(FAT16)、07(NTFS);“FE BF FC”表示分區(qū)結(jié)束的磁頭號為254,分區(qū)結(jié)束的扇區(qū)號為63、分區(qū)結(jié)束的柱面號為764;“3F 00 00 00”表示首扇區(qū)的相對扇區(qū)號為63;“7E 86 BB 00”表示總扇區(qū)數(shù)為12289622。

      3.Windows操作系統(tǒng)啟動過程

      Windows操作系統(tǒng)啟動過程是一個復(fù)雜的過程,可簡單的分為預(yù)啟動、NTLDR引導(dǎo)、內(nèi)核裝載和初始化以及用戶登錄五個階段。預(yù)啟動首先是通電自檢,由BIOS(即基本輸入輸出系統(tǒng))完成基本硬件配置,然后讀取MBR(主引導(dǎo)記錄)檢查硬盤分區(qū)表以確定引導(dǎo)分區(qū),并將引導(dǎo)分區(qū)上的操作系統(tǒng)引導(dǎo)扇區(qū)調(diào)入內(nèi)存中執(zhí)行,此處即執(zhí)行NTLDR(操作系統(tǒng)加載器)文件。Windows2000/XP支持多重啟動,在安裝時會首先將已存在的其它操作系統(tǒng)引導(dǎo)扇區(qū)保存為BOOTSECT.DOS文件,并修改系統(tǒng)引導(dǎo)扇區(qū),以便系統(tǒng)啟動時加載NTLDR文件,從而達(dá)到多重啟動的目的。NTLDR引導(dǎo)過程中NTLDR把CPU從實模式轉(zhuǎn)換為32位保護模式,并讀取BOOT.INI文件,它的作用是使系統(tǒng)在啟動過程中出現(xiàn)選擇菜單,由用戶選擇要啟動system。如果選擇Windows2000/XP,NTLDR會繼續(xù)引導(dǎo)進行以下過程;如果選擇為非Windows2000/XP,NTLDR則會讀取BOTSECT.DOS轉(zhuǎn)入啟動相應(yīng)系統(tǒng)。內(nèi)核裝載和初始化由OSloader模塊裝載位于System32文件夾中Windows2000/XP的內(nèi)核NTOSKRNL.EXE。隨后,HAL(硬件抽象層)被加載,啟動會話管理器Smss.exe創(chuàng)建系統(tǒng)環(huán)境變量和虛擬內(nèi)存頁面文件。啟動過程的最后一個階段是開始登錄進程。由WIN32子系統(tǒng)啟動Winlogon.exe,并由它啟動LSASS.EXE(LOCAL SECURITY AUTHORITY)顯示登錄對話框。

      4.MBR-Rootkit技術(shù)

      4.1 Rootkit技術(shù)

      Rootkit的定義是能夠持久地、可靠地、并且無法檢測地存在于計算機系統(tǒng)上的一組程序和代碼,其強大的無法檢測的隱藏特性,己成為研究熱點,并且發(fā)展迅速。Rootkit源于UNIX系統(tǒng)中的超級用戶賬號,UNIX系統(tǒng)是Rootkit工具最初的攻擊目標(biāo)?,F(xiàn)在,Rootkit可用于多種操作系統(tǒng),包括UNIX、Linux和Windows。Rootkit常常被惡意代碼作者用于隱藏他們的代碼而不被發(fā)現(xiàn),它通過監(jiān)聽系統(tǒng)功能,用合法的數(shù)值代替返回的數(shù)據(jù),從而達(dá)到隱藏目的[3]。

      4.2 MBR-Rootkit技術(shù)

      MBR-Rootkit技術(shù)通過感染MBR的方式把Rootkit的代碼放在原來MBR的位置,然后在MBR加載到內(nèi)存的時候獲得控制權(quán),然后采用運行時補丁技術(shù)修改windows啟動過程的NTLDR和NDIS文件,通過邏輯修改函數(shù)的執(zhí)行,把原函數(shù)的執(zhí)行轉(zhuǎn)向Rootkit自己的代碼中,實現(xiàn)對該函數(shù)的劫持修改,最后在操作系統(tǒng)的啟動過程中得以順利加載并運行。成功繞過Windows操作系統(tǒng)安全防御,最后在NDIS驅(qū)動中留下后門。由于WinXP系統(tǒng)的限制,一般手法改寫MBR會被系統(tǒng)判定為非法,這種繞過Winxp的安全限制,直接改寫MBR的技術(shù)一般稱之為MBR-Rootkit[4]。

      MBR-Rootkit的技術(shù)特點有:1)在操作系統(tǒng)啟動之前完全控制機器引導(dǎo)過程中代碼的執(zhí)行;2)Rootkit不需要文件,代碼能存在于磁盤的某些扇區(qū)中,不會被當(dāng)作普通文件刪除;3)Rootkit不需要注冊表入口,因為它是由MBR加載的;4)Rootkit只要控制很少的一些扇區(qū)就能隱藏自己。

      典型MBR-Rootkit包括:安裝程序、MBR加載程序、內(nèi)核修改程序、驅(qū)動加載程序、扇區(qū)隱藏/保護程序和內(nèi)核驅(qū)動程序。

      安裝程序:rootkit的安裝程序把惡意內(nèi)核驅(qū)動程序(244 736字節(jié))的內(nèi)容寫到磁盤的最后幾個扇區(qū)(offset:2 142 830 592),然后修改扇區(qū)0,扇區(qū)60,扇區(qū)61和扇區(qū)62。所隱藏扇區(qū)的內(nèi)容:0扇區(qū),MBR rootkit加載程序;61扇區(qū),加載程序的內(nèi)核部分;62扇區(qū),原始MBR的副本。

      MBR加載程序:Rootkit重寫原始MBR代碼,并把原始MBR的副本保存在62扇區(qū)。Rootkit的作者大多數(shù)使用eEye研究者開發(fā)的MBR加載程序,只不過修改了源代碼使Rootkit用來修改windows內(nèi)核,而不是NDIS驅(qū)動程序。

      內(nèi)核修改程序:MBR rootkit加載程序勾住了13號中斷用來控制NTLDR所加載的扇區(qū)。它修改了內(nèi)核的兩處區(qū)域:第一個是NT!IoInitSystem函數(shù)調(diào)用,第二個是內(nèi)核映像的最后一頁。在開始的時候Rootkit調(diào)用原始nt!IoInitSystem函數(shù)并且加載它自己的驅(qū)動程序。

      內(nèi)核驅(qū)動加載程序:Rootkit加載程序的主要部分打開”??PhysicalDrive0”設(shè)備,把惡意驅(qū)動程序的內(nèi)容從磁盤里讀取出來,Rootkit用它自己的代碼把映像加載到內(nèi)存里,最后加載程序轉(zhuǎn)到入口點執(zhí)行。

      扇區(qū)隱藏/保護程序:為了隱藏MBR和其他扇區(qū)的真實內(nèi)容,Rootkit Hook”DriverDisk”的IRP_MJ_READ請求。通常情況下,當(dāng)API讀取0扇區(qū)(也就是MBR)時,Rootkit修改磁盤IRP_MJ_READ調(diào)用并返回62扇區(qū)的原始MBR副本。第二個鉤子(IRP_MJ_WRITE)保護自身不被刪除或覆蓋。

      內(nèi)核驅(qū)動程序:Rootkit的內(nèi)核驅(qū)動程序在引導(dǎo)過程的最后一步被加載。驅(qū)動程序是rootkit的主要部分,主要負(fù)責(zé)網(wǎng)絡(luò)通訊和隱藏被感染扇區(qū)的真實內(nèi)容。

      4.3 MBR-Rootkit實例“鬼影病毒”

      2010年3月15日,金山安全實驗室捕獲一種被命名為“鬼影”的電腦病毒,該病毒寄生在MBR,病毒釋放的驅(qū)動程序,能夠破壞大多數(shù)安全工具和系統(tǒng)輔助工具。當(dāng)系統(tǒng)再次重啟時,該病毒會早于操作系統(tǒng)內(nèi)核先行加載。而當(dāng)病毒成功運行后,在進程中、系統(tǒng)啟動加載項里找不到任何異常。即使格式化重裝系統(tǒng),也無法將該病毒清除。2011年9月2日,捕獲鬼影病毒最新變種,該變種會改寫特定型號的主板BIOS芯片。若改寫成功,鬼影病毒破壞的MBR(硬盤主引導(dǎo)記錄)就被保護,殺毒軟件修復(fù)受損MBR的操作會失敗。該病毒只針對WinXP系統(tǒng),尚不能破壞Vista和Win7系統(tǒng)。

      鬼影病毒的主要代碼是寄生在硬盤MBR,即使受害者格式化硬盤重裝系統(tǒng),鬼影病毒也無法清除。鬼影病毒是中國內(nèi)地首個引導(dǎo)區(qū)下載者病毒,它具備“三無”特征——無文件、無系統(tǒng)啟動項、無進程模塊,而且即使用戶重格式硬盤和重裝系統(tǒng)也依然無效。

      病毒作者將存放在磁盤第5扇區(qū)的病毒的主要代碼插入NTLDR文件中,這樣就解決了自身代碼在WINDOWS下的加載問題,這一思路也為真正的BIOS病毒提供了一個非常好的實現(xiàn)方法。

      鬼影病毒具體行為有以下幾點:

      1)該病毒偽裝為某共享軟件,欺騙用戶下載安裝。病毒文件中包含3部分文件:A、原正常的共享軟件。B、“鬼影”病毒,修改系統(tǒng)引導(dǎo)區(qū)(mbr),結(jié)束殺軟,下載AV終結(jié)者病毒。C、捆綁IE首頁篡改器,修改用戶瀏覽器首頁,桌面添加多余的快捷方式。

      2)“鬼影”病毒運行后,會釋放2個驅(qū)動到用戶電腦中,并加載。

      3)驅(qū)動會修改系統(tǒng)的引導(dǎo)區(qū)(mbr),并將b驅(qū)動寫入磁盤,保證病毒是優(yōu)先于系統(tǒng)啟動,且病毒文件保存在系統(tǒng)之外。這樣進入系統(tǒng)后,病毒加載入內(nèi)存,但找不到任何啟動項、找不到病毒文件、在進程中找不到任何進程模塊。

      4)病毒母體自刪除。

      5)重啟系統(tǒng)后,存在在引導(dǎo)區(qū)中的惡意代碼會對windows系統(tǒng)的整個啟動過程進行監(jiān)控,發(fā)現(xiàn)系統(tǒng)加載ntldr文件時,插入惡意代碼,使其加載寫入引導(dǎo)區(qū)第五個扇區(qū)的b驅(qū)動。

      6)b驅(qū)動加載起來后,會監(jiān)視系統(tǒng)中的所有進程模塊,若存在安全軟件的進程,直接結(jié)束。

      7)b驅(qū)動會下載av終結(jié)者到電腦中,并運行。

      8)av終結(jié)者會修改系統(tǒng)文件,對安全軟件進程添加大量的映像劫持,下載大量的盜號木馬病毒。進一步盜取用戶的虛擬財產(chǎn)。

      4.4 MBR-Rootkit檢測

      基于MBR的Rootkit技術(shù)是通過感染MBR實現(xiàn)的,這種Bootkit會在操作系統(tǒng)還沒運行的時候先獲得控制權(quán),但這種技術(shù)的弱點則是在磁盤中留下了感染的痕跡,通常安全軟件也是利用了這個弱點,首先去檢測MBR是否被篡改,如果是則會修復(fù)這個被篡改的MBR,當(dāng)修復(fù)成功以后,在下次計算機重啟的過程中MBR-Rootkit就失去作用。

      檢測的方法基于MBR扇區(qū)的比較。用戶模式用Windows API函數(shù)讀取一份假的MBR內(nèi)容:

      hFile=CreateFile("\

      PHYSICALDRIVE0",GENERIC_READ,.

      ReadFile(hFile,Buffer,512,..

      掃描程序的內(nèi)核部分可以用“DriverDisk”設(shè)備的原始指針

      MajorFunction[IRP_MJ_READ]=CLASSPNP!ClassReadWrite讀取真實MBR的內(nèi)容。

      如果兩份MBR的內(nèi)容不一樣,機器就是被感染了。

      4.5 鬼影病毒清除

      1)使用各大電腦安全廠商推出的相應(yīng)的鬼影病毒專殺工具;

      2)MBR有做過備份的,直接還原MBR備份即可;

      3)MBR沒做過備份的,用XP系統(tǒng)安裝盤進入故障恢復(fù)控制臺,在命令提示符下輸入Fixmbr,然后系統(tǒng)提示是否更新MBR主引導(dǎo)記錄,選擇是,并且再輸入Fixboot,修復(fù)boot區(qū)引導(dǎo)即可;

      4)DOS引導(dǎo)盤啟動,運行磁盤分區(qū)命令fdisk/mbr重建MBR代碼;

      注意:有些病毒可能會使得分區(qū)表和指針出現(xiàn)偏移,此時使用fdisk/mbr命令,指向分區(qū)表的指針會丟失,這樣的結(jié)果是,引導(dǎo)能力丟失,無法啟動系統(tǒng)。

      5)DEBUG下運行以下代碼和命令,將MRB清零,再重新分區(qū)。

      A /MOV AX,0301 /MOV BX,1000 /MOV CX,1/MOV DX,80 /INT 13 /INT 3 /F 1000 FFFF 0/G /Q

      修復(fù)MBR后,還必須進行殺毒。目前,金山毒霸可查殺傳播“鬼影”病毒的母體文件,金山網(wǎng)盾也已將傳播該病毒的惡意URL加入阻止訪問的列表。

      5.結(jié)束語

      Windows 操作系統(tǒng)存在很多的漏洞,Windows Rootkit正是利用了這些漏洞進入操作系統(tǒng)或計算機硬件部位,所以對操作系統(tǒng)未知漏洞的發(fā)掘和對已知漏洞的保護工作值得研究。從Windows操作系統(tǒng)的引導(dǎo)與啟動過程可以看出,不僅BIOS、MBR、NTLDR、boot.ini這些位置可以被修改以達(dá)到Bootkit的目的,還有很多諸如BootSector,Ntoskrnl.exe,Bootvid.dll,Hal.dll,Ntdetect.com等,都可以加以利用,如何有效的保護這些關(guān)鍵位置;對于Windows Bootkit檢測及防御的研究具有重大意義。

      [1]侯春明,劉林.基于文件系統(tǒng)過濾驅(qū)動的內(nèi)核Rootkit隱藏技術(shù)[J].吉首大學(xué)學(xué)報(自然科學(xué)版),2010,31(3):44-46.

      [2]胡和君,范明鈺,王光衛(wèi).基于MBR的Windows bootkit隱藏技術(shù)[J].計算機應(yīng)用,2009,29(6):83-85.

      [3]梁冰.Windows Rootkit實現(xiàn)及其檢測技術(shù)分析[J].電子世界,2013,9:13-15.

      [4]高勇.Windows下Bootkit檢測及防御技術(shù)研究[D].成都:電子科技大學(xué),2010.

      猜你喜歡
      鬼影驅(qū)動程序扇區(qū)
      神秘鬼影
      分階段調(diào)整增加扇區(qū)通行能力策略
      南北橋(2022年2期)2022-05-31 04:28:07
      U盤故障排除經(jīng)驗談
      如何消除膠印“鬼影”?
      基于貝葉斯估計的短時空域扇區(qū)交通流量預(yù)測
      重建分區(qū)表與FAT32_DBR研究與實現(xiàn)
      實時的靜止目標(biāo)與鬼影檢測及判別方法
      老房子里的鬼影
      驅(qū)動程序更新與推薦
      驅(qū)動程序更新與推薦
      新安县| 本溪| 资兴市| 新河县| 延川县| 巩义市| 府谷县| 曲阳县| 新巴尔虎右旗| 田林县| 三原县| 马公市| 徐水县| 黄龙县| 通道| 洛川县| 宁乡县| 华容县| 平顶山市| 烟台市| 潜山县| 柘荣县| 象山县| 长海县| 隆林| 喜德县| 大田县| 法库县| 昭通市| 蓬安县| 修水县| 亚东县| 巴中市| 灌云县| 竹山县| 泊头市| 佛冈县| 通化县| 富顺县| 托克托县| 泸州市|