[發明專利]一種Windows操作系統下鉤子的防御方法無效
| 申請號: | 200910090179.3 | 申請日: | 2009-07-31 |
| 公開(公告)號: | CN101620660A | 公開(公告)日: | 2010-01-06 |
| 發明(設計)人: | 陳向群;白光冬;趙霞;郭耀 | 申請(專利權)人: | 北京大學 |
| 主分類號: | G06F21/22 | 分類號: | G06F21/22 |
| 代理公司: | 北京君尚知識產權代理事務所(普通合伙) | 代理人: | 馮藝東 |
| 地址: | 100871北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 windows 操作系統 鉤子 防御 方法 | ||
技術領域
本發明涉及惡意軟件,具體涉及一種針對Windows操作系統下的用戶級及內核級鉤子 的防御方法,屬于信息安全技術領域。
背景技術
Windows操作系統是目前使用最為廣泛的計算機操作系統,根據調查,世界上有超過 90%的個人計算機以及大約66%的服務器使用的是Windows操作系統,由于Windows的 廣泛使用,使得它成為遭受黑客和病毒攻擊最嚴重的操作系統,也使得它的安全問題成為 用戶及計算機安全研究人員關注的焦點。最新的Windows操作系統為Windows?Vista,該 操作系統由微軟公司于2006年11月發布,在之后的一年多時間里,微軟公司致力于Vista 系統的推廣,Vista系統的使用人數正在并將持續增長。但是,盡管微軟公司對包括Vista 在內的眾多操作系統的安全進行改進,但這些操作系統仍然存在著較大的安全隱患。目前 我國計算機用戶基本上使用的是Windows操作系統,以XP系統最為普遍,Vista系統在我 國的使用量也將會大幅度增加,所以更應對其安全問題足夠重視。
惡意軟件最常采用的技術是鉤子技術。“鉤子技術”指惡意程序通過篡改操作系統提供 的系統服務函數地址入口,使得當正常程序調用這些系統服務時,被迫去執行惡意程序設 置的函數,改變操作系統的執行路徑,從而使惡意軟件達到破壞系統和竊取用戶信息的目 的。這些惡意程序所設置的系統服務函數的入口地址,稱為“鉤子”。在惡意軟件rootkit(一 種惡意軟件使用的具有“隱形”能力的工具包、庫或者程序代碼,用來隱藏或偽裝惡意軟件 使用的文件、目錄和進程)中,更是大量地使用了鉤子技術,達到隱藏惡意軟件和攻擊者 蹤跡的效果。
在Windows操作系統中,根據運行環境的不同,鉤子可以分為用戶級鉤子和內核級鉤 子。
1.用戶級鉤子
在Windows系統中,大多數進程都依賴于三個子系統:Win32、POSIX和OS/2子系 統,這些子系統由一些文件組成,它們以地址表的形式提供了一組應用程序編程接口 (API),用戶進程可以通過地址表中的函數入口地址調用API請求操作系統的服務,所以 這些地址表所在的文件是惡意軟件攻擊的極佳目標。根據地址表的不同,惡意軟件使用的 鉤子可以分為導入地址表鉤子、導出地址表鉤子、內聯函數鉤子、系統可執行文件及DLL 鉤子等,惡意軟件一般在用戶態下替換或修改包含這些地址表的文件來設置這些鉤子。如 果能保證這些文件不被修改或替換,就可以達到防御用戶級鉤子的目的。
2.內核級鉤子
當用戶進程調用API進入Windows內核后,通過系統服務描述符表(System?Service Descriptor?Table,SSDT),中斷描述符表(Interrupt?Descriptor?Table,IDT)等跳轉表進一 步調用不同的內核系統服務函數,所以惡意程序通過修改內核中的這些跳轉表來設置不同 種類的內核鉤子。在Windows內核中,惡意軟件使用的鉤子主要有:
●IDT鉤子
IDT中包含了異常和中斷處理函數的入口地址,惡意軟件修改IDT,把系統的處理程 序替換為其提供的非法程序。
●SSDT鉤子
SSDT記錄著所有內核系統服務函數的入口地址,惡意軟件通過修改SSDT表項而改 變內核系統服務函數的處理過程。
●IRP函數表鉤子
IRP函數是驅動程序用來處理用戶各種請求的,例如讀、寫、查詢等。IRP函數表里 記錄這IRP函數的入口地址,攻擊者也可以替換IRP函數表的一些表項達到惡意目的。
在Windows操作系統中,攻擊者需要在操作系統的內核態(即Windows?ring0級別) 執行設置內核級鉤子的操作,一般會將惡意程序實現成驅動程序和某些服務的形式,通過 Windows提供的LoadDriver等系統服務將這些惡意程序以內核模塊的形式加載到Windows 內核中運行。這些惡意程序在內核態獲得運行機會之后,修改跳轉表來完成設置鉤子的操 作。如果能夠保證這些惡意軟件不被加載到內核中執行,就可以達到防御內核級鉤子的目 的。
目前防范惡意軟件的基本方法是事后檢測,即在惡意軟件安裝到系統甚至造成危害之 后再進行檢測,而缺乏對于惡意軟件的事先防御,即能夠察覺惡意軟件進入系統,并阻止 其進一步的行為。本發明則針對這個不足,提出一種主動防御的解決的方法。
發明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京大學,未經北京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910090179.3/2.html,轉載請聲明來源鉆瓜專利網。





