[發(fā)明專利]檢測進程的方法及設備有效
| 申請?zhí)枺?/td> | 200610165468.1 | 申請日: | 2006-12-20 |
| 公開(公告)號: | CN101206692A | 公開(公告)日: | 2008-06-25 |
| 發(fā)明(設計)人: | 李俊;王凱 | 申請(專利權)人: | 聯(lián)想(北京)有限公司 |
| 主分類號: | G06F21/00 | 分類號: | G06F21/00;G06F9/44;G06F9/46 |
| 代理公司: | 北京集佳知識產(chǎn)權代理有限公司 | 代理人: | 逯長明 |
| 地址: | 100085北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 檢測 進程 方法 設備 | ||
技術領域
本發(fā)明涉及計算機操作系統(tǒng)安全技術領域,尤其涉及一種檢測計算機操作系統(tǒng)內(nèi)核級隱藏進程的方法及設備。
背景技術
rootkit(后門工具包)是計算機攻擊者用來隱藏自己的蹤跡和保留訪問權限的工具。rootkit發(fā)展大致分為三個階段,第一代的rootkit是原始的,他們簡單地替換/修改操作系統(tǒng)上關鍵的系統(tǒng)文件;第二代的rootkit基于掛鉤技術,通過對已加載的應用程序和一些諸如系統(tǒng)調用表的操作系統(tǒng)部件打內(nèi)存補丁,而改變執(zhí)行路徑,將修改方式從磁盤移到已加載程序的內(nèi)存映像;第三代的內(nèi)核rootkit技術通過動態(tài)地修改內(nèi)核對象來實現(xiàn)。
直接內(nèi)核對象操作(DKOM,Direct?Kernel?Object?Manipulation)技術作為第三代內(nèi)核級rootkit的代表,通過直接修改操作系統(tǒng)內(nèi)核對象來實現(xiàn)進程的隱藏、設備驅動隱藏以及進程權限提升等深度隱藏的目的。DKOM較難于檢測,因為它并不修改程序執(zhí)行路徑,而是直接修改操作系統(tǒng)中的內(nèi)核對象。內(nèi)核對象是指核心數(shù)據(jù)結構內(nèi)容,包括進程、線程和設備驅動等。這些內(nèi)核對象是操作系統(tǒng)和上層應用程序直接依賴的內(nèi)容,通過修改它們可以達到rootkit隱藏惡意進程的目的。
在具體執(zhí)行過程中,所有進程都是由一個進程結構體(EPROCESS)描述,而所有進程結構體都由一個雙向循環(huán)鏈表維護。DKOM進程隱藏的一個方法是改變進程結構體的指針,使得鏈表枚舉跳過自身達到進程隱藏的目的?,F(xiàn)有的針對此種進程隱藏的檢測方法,是采用遍歷EPROCESS結構的雙向鏈表來得到進程列表,然后將此進程列表中進程ID(標識符)與API(ApplicationProgramming?Interface,應用編程接口)調用的進程ID進行比較,可以檢測出隱藏的進程。
但是這種檢測方法不夠徹底,當攻擊者也修改了雙向鏈表,這種方法就會失效;而且,為了得到進程名稱、ID和父進程ID,必須獲知EPROCESS結構中偏移地址,而這些偏移地址隨著操作系統(tǒng)類型或版本的變化而不同,例如Windows?2000和Windows?XP,各自對應偏移地址不同,所以這種檢測方法不具有通用性。而且,當攻擊者將要隱藏的EPROCESS雙向指針清空,也就是要隱藏的進程都被從進程鏈表中刪掉了,那么上述遍歷雙向鏈表的方式也就不可能檢測到隱藏的進程了。
發(fā)明內(nèi)容
本發(fā)明公開了一種檢測進程的方法及設備,用于解決現(xiàn)有進程檢測方法檢測不夠徹底、不通用的問題。
為此,本發(fā)明采用如下技術方案:
一種檢測進程的方法,該方法包括步驟:查找操作系統(tǒng)內(nèi)核地址空間,得到上下文切換函數(shù)地址;修改所述上下文切換函數(shù)首部地址內(nèi)容為遠程跳轉指令,通過遠程跳轉,訪問進程結構體,獲取進程信息。
在獲取進程信息之后,所述方法還包括:執(zhí)行被遠程跳轉指令覆蓋的上下文切換函數(shù)首部地址內(nèi)容指令,并將遠程跳轉返回至上下文切換函數(shù)。
在遠程跳轉返回至上下文切換函數(shù)之后,所述方法還包括:將所述獲取的進程信息與調用應用編程接口API進程信息進行比較,若不一致,確定存在內(nèi)核級隱藏進程。
在得到上下文切換函數(shù)地址之后,所述方法還包括:檢測上下文切換函數(shù)首部地址內(nèi)容是否被篡改,若是,立即將其恢復為原始狀態(tài),并記錄報警日志。
所述方法還包括:動態(tài)監(jiān)控上下文切換函數(shù)首部地址內(nèi)容是否被篡改,若是,立即將其恢復為原始狀態(tài),并記錄報警日志。
所述方法是采用搜索算法查找內(nèi)核地址空間得到上下文切換函數(shù)地址;或者,由以下步驟得到上下文切換函數(shù)地址:通過反匯編得到操作系統(tǒng)內(nèi)核調度程序的二進制特征碼,通過所述特征碼查找到上下文切換函數(shù)地址。
一種檢測進程的設備,該設備包括地址查詢單元、跳轉單元和實時監(jiān)控單元;所述地址查詢單元,用于查找操作系統(tǒng)內(nèi)核地址空間,得到上下文切換函數(shù)地址;所述跳轉單元,在所述地址查詢單元得到上下文切換函數(shù)地址時,修改上下文切換函數(shù)首部地址內(nèi)容為遠程跳轉指令,并指示實時監(jiān)控單元對進程結構體進行監(jiān)控;所述實時監(jiān)控單元,得到跳轉單元監(jiān)控指示后,對進程結構體進行訪問,得到進程有關信息。
所述設備還包括進程比較單元,用于將所述實時監(jiān)控單元得到的進程信息,與調用API進程信息進行比較,在比較結果不一致的情況下,確定存在內(nèi)核級隱藏進程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯(lián)想(北京)有限公司,未經(jīng)聯(lián)想(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610165468.1/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:治療高血壓的藥物
- 下一篇:高性能輻向熱壓磁環(huán)及其制備方法





