999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于關(guān)聯(lián)技術(shù)檢測Rootkits的方法與實現(xiàn)

2012-08-06 12:51:14徐敏王玲芬王鵬杰
關(guān)鍵詞:程序檢測信息

徐敏 王玲芬 王鵬杰

大連民族學院計算機科學與工程學院 遼寧 116600

0 引言

Rootkits最早是一組用于UNIX操作系統(tǒng)的工具集,黑客使用它們隱藏入侵活動的痕跡,它能在操作系統(tǒng)中隱藏惡意程序,進而達到某種不可告人的目的。隨著互聯(lián)網(wǎng)和個人電腦的普及和廣泛的使用,Rootkits也在不斷的演化和發(fā)展中,許多功能更強,技術(shù)更新,破壞更大的Rootkits程序應運而生,它從之前較簡單的對信息的隱藏發(fā)展到通過獲取用戶的隱私信息來謀取私利,給用戶帶來了直接或者間接的經(jīng)濟財產(chǎn)上的損失。

針對上述情況,開發(fā)出一款能夠?qū)π滦蚏ootkits進行檢測的安全軟件就尤為重要了。本文提出了一種基于關(guān)聯(lián)檢測技術(shù)對惡意Rootkits進行有效檢測的方法,為清除Rootkits提供了重要的信息。

1 Rootkits一般檢測方法及缺陷

當前,國內(nèi)外在對Rootkits的檢測方面主要提出了以下幾種方法:

(1) 基于特征碼的匹配技術(shù):該檢測方法依賴于病毒分析人員取得病毒樣本后,首先分析其在內(nèi)存中惟一特征碼,然后利用特征碼去匹配內(nèi)存塊來檢測Rootkits,但是,這種方法無法檢測出新Rootkits程序,因為檢測技術(shù)通常滯后于Rootkits的發(fā)展。

(2) 基于交叉視圖的檢測技術(shù):該檢測方法是通過對比兩種不同系統(tǒng)調(diào)用獲取到的系統(tǒng)信息進行對比,進而判斷是否存在Rootkits程序。例如:當要檢測系統(tǒng)是否存在隱藏的進程時,可以通過在應用層獲取一張快照的方式得到當前的進程信息,進而與直接使用內(nèi)核程序接口獲取的當前進程信息進行對比。該檢測方法的缺點是當Rootkits程序運行比檢測驅(qū)動更低層時,該檢測方法就無效了,同時,此方法只能檢測系統(tǒng)是否存在Rootkits程序,并不能直接找出Rootkits程序。

(3) 基于程序完整性檢測技術(shù):該檢測方法是通過解析磁盤文件,獲取文件的相關(guān)信息,利用獲取到的信息與當前內(nèi)存中的信息進行對比。它的缺點是無法檢測通過內(nèi)嵌鉤子的方式修改系統(tǒng)執(zhí)行流程的Rootkits程序。

2 Windows Rootkits的實現(xiàn)技術(shù)

2.1 修改系統(tǒng)服務描述表中相關(guān)函數(shù)地址

圖1 SSDT的表項

如圖1所示,Rootkits可通過修改系統(tǒng)服務描述表(System Service Descriptor Table,SSDT)中的對應的函數(shù)地址達到更改系統(tǒng)服務執(zhí)行流程的目的。這里以NtQueryDirectoryFile函數(shù)為例進行說明。如圖2所示,當應用層調(diào)用FindNextFile的時候,它最終會在內(nèi)核中調(diào)用NtQueryDirectoryFile,而NtQuery DirectoryFile的地址存放在系統(tǒng)服務描述表中。假如,它被替換為Rootkits的函數(shù)地址,Rootkits就可以隱藏掉某些文件的相關(guān)信息,當應用層執(zhí)行文件查詢時,就不能查詢到被隱藏的文件。

圖2 替換NtQueryDirectoryFile函數(shù)

2.2 修改中斷描述表中斷函數(shù)的入口地址

獲取到修改中斷描述表( Interrupt Descriptor Table,IDT )入口地址后,可以替換掉相應的中斷處理函數(shù),改變系統(tǒng)中斷的處理流程。比如,修改響應鍵盤中斷處理的函數(shù)地址,就可以攔截下用戶的輸入信息。

2.3 修改Windows下的相關(guān)驅(qū)動程序的分發(fā)函數(shù)的指針

驅(qū)動的分發(fā)函數(shù)總是用來處理發(fā)給這個驅(qū)動程序的各種I/O請求包(I/O Request Package,IRP)。當有IRP發(fā)給這個驅(qū)動時,Windows總是調(diào)用DRIVER_OBJECT下的分發(fā)函數(shù)來處理這些請求。DRIVER_OBJECT下的分發(fā)函數(shù)指針被保存在一個數(shù)組中。Rootkits可以通過替換這個數(shù)組中的函數(shù)地址,進而能在驅(qū)動響應這個IRP前,提前攔截下這個IRP,執(zhí)行相關(guān)操作。

這里以Hook鍵盤的分發(fā)函數(shù)的指針進行說明。首先,可以通過鍵盤名獲取到鍵盤類驅(qū)動對象,然后,利用鍵盤類驅(qū)動對象修改驅(qū)動中分發(fā)函數(shù)的指針,進而替換為Rootkits的函數(shù)地址,從而達到了攔截鍵盤信息的目的。

2.4 編寫獨立的驅(qū)動模塊

如圖3中左邊是一個設備對象棧,設備對象是操作系統(tǒng)為幫助軟件管理而創(chuàng)建的數(shù)據(jù)結(jié)構(gòu)。它為每個硬件至少創(chuàng)建一個物理設備對象(PDO)和功能設備對象(FDO),它們中間會存在一些過濾設備對象(FIDO)。驅(qū)動程序?qū)ο蟀艘唤M處理IRP的例程。分層結(jié)構(gòu)使IRP的過程更加清晰,影響到設備的每個操作都使用IRP,每個IRP均有I/O管理器發(fā)出,并且依次從相應設備棧的棧頂向下傳遞。每一層的對應的驅(qū)動程序?qū)ο蠖伎梢哉{(diào)用相應的例程來處理IRP。

圖3 Windows驅(qū)動模型的分層結(jié)構(gòu)

這種分層結(jié)構(gòu)非常利于第三方的驅(qū)動程序加載到操作系統(tǒng)中的對應層次中,Rootkits同樣也可以創(chuàng)建自己的設備對象掛載到相應的設備棧的棧頂,并對所有發(fā)往此設備棧的IRP進行攔截,執(zhí)行其某些特定的功能。

3 基于關(guān)聯(lián)檢測的Windows Rootkits的原理和實現(xiàn)

當前的Windows Rootkits結(jié)構(gòu)具有多樣化的特點,單一的檢測方法很難對其進行有效檢測。本文提出了一種基于關(guān)聯(lián)檢測的方法,它能有效對當前絕大部分的Windows檢測。基于關(guān)聯(lián)檢測技術(shù)主要由三部分構(gòu)成:完整性檢測、流程結(jié)構(gòu)檢測和模塊特征檢測。此三部分不僅具有自身獨特的檢測特點,而且能夠相互補充,使三種不同檢測方式可以有效被整合在一起,最大程度發(fā)揮三種不同檢測技術(shù)對Windows Rootkits檢測方面的優(yōu)勢。

3.1 完整性檢測

Rootkits在執(zhí)行Hook時,都會修改相關(guān)信息,進而破壞原始數(shù)據(jù)結(jié)構(gòu),可通過重新將磁盤中原始文件加載到內(nèi)存中,獲取要檢測數(shù)據(jù)在程序中的偏移地址,將獲取到的偏移地址與當前數(shù)據(jù)的偏移地址進行比較,假如數(shù)據(jù)與獲取到偏移地址不一致,則可以斷定數(shù)據(jù)被修改了。

如圖4所示,這里以ntoskrnl.exe的導出表中導出函數(shù)為例進行說明。首先,重新加載ntoskrnl.exe到內(nèi)存中,解析其PE文件結(jié)構(gòu),記錄獲取到的導出表中導出函數(shù)的偏移地址,然后,將其與當前SSDT中的函數(shù)地址進行對比,就可以實現(xiàn)對當前SSDT中相關(guān)地址進行檢測。

圖4 ntoskrnl.exe導出函數(shù)的信息

3.2 流程結(jié)構(gòu)檢測

使用完整性檢測對Rootkits進行檢測的方法具有實現(xiàn)簡單、檢測結(jié)果準確、穩(wěn)定性好等特點。然而,對于當前的一些功能比較強大,技術(shù)比較隱秘的Rootkits程序而言,它的缺點就暴露了出來。例如,Rootkits不直接替換原始的函數(shù)地址,而是替換掉這個函數(shù)執(zhí)行前的某些指令,轉(zhuǎn)而去執(zhí)行Rootkits的功能函數(shù)時。由于Rootkits沒有修改當前函數(shù)的地址,那么,使用完整性檢測的方法對相關(guān)函數(shù)的地址進行檢測就不能夠發(fā)現(xiàn)Rootkits了,但是,當這個函數(shù)被外界調(diào)用時,Rootkits同樣會先于這個函數(shù)攔截到這個操作,轉(zhuǎn)而去執(zhí)行相關(guān)的操作。

如圖5所示,Inline Hook就是一種不能利用完整性檢測來發(fā)現(xiàn)Rootkits的技術(shù)。它的實現(xiàn)原理如圖5中所示。通過修改相關(guān)執(zhí)行函數(shù)指令前的指令代碼,轉(zhuǎn)而去執(zhí)行Rootkits的功能函數(shù)代碼,達到Rootkits的相關(guān)目的。對于這種隱蔽性極強的Inline Hook技術(shù),通過使用反匯編引擎對相關(guān)指令進行分析,根據(jù)反匯編引擎對代碼進行反匯編后的結(jié)果,分析其結(jié)構(gòu)來判斷是否存在Inline Hook。

圖5 Inline Hook內(nèi)核函數(shù)流程示意圖

3.3 模塊特征檢測

無論內(nèi)核級Rootkits使用什么樣的Hook技術(shù),它都必須作為一個模塊加載到內(nèi)存中,而模塊中的相關(guān)函數(shù)地址必須滿足于一定的要求。具體來說,假設可疑的轉(zhuǎn)移地址為u1,當前的模塊地址和模塊大小為u2和u3。假如u2

利用這種特征,可以通過遍歷當前系統(tǒng)中所有加載的模塊,獲取它們的完整信息。通過與可疑地址進行比對,確定出可疑地址的真實來源,進而判斷是否是Rootkits。

4 檢測結(jié)果及分析

Rootkit Revealer V1.71是一款著名反Rootkits的工具,用戶通過它可檢測當前隱藏進程、文件、注冊表、SSDT、IDT等重要系統(tǒng)部件的信息,為用戶查找Rootkits提供了極大的幫助。

如圖6所示,RegHook.sys是一種能夠隱藏注冊表啟動項的Rootkits程序,它能夠?qū)⒚Q:My,類型:REG_SZ,數(shù)據(jù):C:WINDOWSUM.exe的注冊表項給隱藏,從而達到隱藏開機啟動程序的目的。通過利用這款國外的反Rootkits工具與基于關(guān)聯(lián)技術(shù)進行檢測所得到的結(jié)果對比分析。

圖6 利用Rootkit Revealer V1.71進行檢測得到的結(jié)果

當執(zhí)行RegHook.sys后,運行RootkitRevealer.exe進行檢測,并不能發(fā)現(xiàn)被Rootkits程序隱藏的注冊表鍵值,如圖7所示,利用基于關(guān)聯(lián)檢測的方法卻能成功檢測和恢復出被隱藏的注冊表鍵值信息。

圖7 利用關(guān)聯(lián)檢測技術(shù)進行檢測得到的結(jié)果

圖8是清除掉Rootkits程序后,注冊表顯示出被隱藏的相關(guān)信息情況。

圖8 清除Rootkits后注冊表的情況

5 結(jié)語

基于關(guān)聯(lián)技術(shù)檢測Rootkits惡意程序的方法能夠準確的檢測出針對內(nèi)核態(tài)的Rootkits程序,并且能夠提供完整的Rootkits的種類、路徑、相關(guān)模塊的當前地址和原始地址等相關(guān)的詳細信息,幫助我們發(fā)現(xiàn)和清除Rootkits提供了重要的信息來源。

基于關(guān)聯(lián)技術(shù)的方法采用大量Windows內(nèi)核技術(shù)對Rootkits進行檢測,程序的兼容性和穩(wěn)定性將是下一步工作的重點。

[1] Greg H,James B.Rootkits:Subverting the Windows kernel[J].Addison Wesley Professional.2005.

[2] Levine J,Grizzard J,Owen H.Detecting and categorizing kernel-level Rootkits to aid future detection[J].IEEE Security&Privacy.2006.

[3] Kruegel C,Robertson W,Vigna G.Detecting kernel-level Rootkits through binary analysis[C].Tucson,AZ,USA:20th Annual Computer Security Applications Conference.2004.

[4] 陳曉蘇,黃文超,肖道舉.一種基于交叉視圖的Windows Rootkit檢測方法[J].計算機工程與科學.2007.

[5] Pankaj Gupta, Nick McKeown. Design and implementation of a fast crossbar scheduler[J].IEEE Micro Magazine.1999.

[6] 顏仁仲,鐘錫昌,張倪.一種自動檢瀏內(nèi)核級 Rootkit 并恢復系統(tǒng)的方法[J].計算機工程.2006.

[7] 龍海,郝東白,黃皓.Windows下系統(tǒng)服務Rootkits的檢測與恢復[J].計算機工程與設計.2008.

[8] 易宇,金然.基于符號執(zhí)行的內(nèi)核級Rootkit 靜態(tài)檢測[J].計算機工程與設計.2006.

[9] 梁升榮,范明鈺,王光衛(wèi),鄭秀林.一種新的內(nèi)核級 Rootkit的檢測方法[J].計算機應用研究.2009.

[10] 王建華,張煥生,侯麗坤等譯.Richter J.Windows 核心編程[M].北京:機械工業(yè)出版社.2006.

猜你喜歡
程序檢測信息
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
英國與歐盟正式啟動“離婚”程序程序
小波變換在PCB缺陷檢測中的應用
創(chuàng)衛(wèi)暗訪程序有待改進
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 思思热在线视频精品| 国产性生大片免费观看性欧美| 国产黄色视频综合| 婷婷色在线视频| 91视频国产高清| 国产成人亚洲日韩欧美电影| 中文字幕在线永久在线视频2020| 久久精品国产亚洲麻豆| 国产地址二永久伊甸园| 午夜限制老子影院888| 在线观看国产黄色| 国产日韩欧美在线播放| 成人在线观看不卡| 麻豆AV网站免费进入| 92午夜福利影院一区二区三区| 日韩国产精品无码一区二区三区| 欧美精品伊人久久| 高潮爽到爆的喷水女主播视频| 欧美三级自拍| 国产手机在线观看| 中文字幕在线日韩91| 欧美精品啪啪一区二区三区| 粉嫩国产白浆在线观看| 97se亚洲综合| 免费在线一区| 成人无码区免费视频网站蜜臀| 99成人在线观看| 超清无码一区二区三区| 91毛片网| 777国产精品永久免费观看| 国产第八页| 伊人无码视屏| 91福利免费视频| 国产一级小视频| 成年人国产网站| 国产女人在线| 制服丝袜 91视频| 欧美第九页| 国产精品一区二区不卡的视频| 久久公开视频| 四虎成人免费毛片| 中文字幕天无码久久精品视频免费| 欧美精品二区| 亚洲Va中文字幕久久一区| 永久天堂网Av| 欧美三级自拍| 99久久国产精品无码| 国产一级无码不卡视频| 亚洲日本韩在线观看| 亚洲男人的天堂久久香蕉 | 呦系列视频一区二区三区| 日本人又色又爽的视频| A级毛片高清免费视频就| 国产欧美日本在线观看| 在线不卡免费视频| 青草精品视频| 特级做a爰片毛片免费69| 欧美成在线视频| 伊人久综合| 国产久操视频| 日韩无码白| 久草国产在线观看| 亚洲妓女综合网995久久| 欧美a级完整在线观看| a毛片免费观看| 中日韩一区二区三区中文免费视频 | 亚洲有码在线播放| 国产欧美日韩va另类在线播放| 日本亚洲国产一区二区三区| 欧美成人区| 久久这里只有精品8| 97国内精品久久久久不卡| 中文字幕久久精品波多野结| 最新痴汉在线无码AV| 国产本道久久一区二区三区| 老司国产精品视频91| 国产永久在线视频| 日韩av高清无码一区二区三区| 亚洲福利视频网址| 免费在线国产一区二区三区精品| 国产精品页| 精品少妇人妻av无码久久|