[發明專利]防止windows系統服務描述表被篡改的系統和方法在審
| 申請號: | 201611169593.X | 申請日: | 2016-12-16 |
| 公開(公告)號: | CN106650463A | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 邢希雙 | 申請(專利權)人: | 鄭州云海信息技術有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F21/53;G06F21/55 |
| 代理公司: | 濟南舜源專利事務所有限公司37205 | 代理人: | 劉曉政 |
| 地址: | 450000 河南省鄭州市*** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 防止 windows 系統 服務 描述 篡改 方法 | ||
技術領域
本發明涉及計算機硬件虛擬化領域和操作系統安全領域,具體涉及一種硬件虛擬化(簡稱HEV)在AMD CPU下的支持技術,防止windows系統下的Windows系統服務描述表的被篡改的系統和方法。
背景技術
在現有技術中,公知的技術是隨著云計算、大數據等新型技術的發展,對云服務器和PC終端的安全性要求越來越高。操作系統是云服務器和PC終端的核心,一旦操作系統被黑客或非法用戶控制及利用,后果將不堪設想。SSDT是Windows操作系統的關鍵部件,是所有應用層API的統一入口,所以SSDT的安全就特別重要。事實上,黑客經常使用自己編寫的Rootkit后門程序來篡改SSDT,以達到隱藏自身、破壞系統正常行為的目的。在目前已有的黑客攻擊統計中,篡改SSDT的方式占了大多數。所以如何有效的保證SSDT的安全性和完整性就成為急需解決的技術問題。操作系統廠商已經意識到了這個問題,目前64位Windows操作系統自身已經有了PatchGuard機制,在操作系統運行期間這個機制會檢查SSDT是否被篡改,如果被篡改操作系統馬上報錯、宕機。Windows操作系統的PatchGuard機制具有很大的局限性, 1、32位Windows操作系統沒有該機制,且目前32位操作系統有大量用戶在使用;2、這種事后檢查機制有漏洞,因為在檢查之前Rootkit后門程序可能已經完成了自己要做的事情;3、宕機的后果是用戶接受不了的,尤其是關鍵的業務服務器;4、高級的黑客會在Rootkit程序中將Windows操作系統的運行模式置于調試模式,在調試模式下PatchGuard機制是不生效的。因此,要想防止Windows操作系統的SSDT被篡改,在硬件虛擬化層面采取措施是一勞永逸的手段,一種通過硬件虛擬化(簡稱HEV)在AMD CPU下的支持技術(簡稱Pacifica技術)的Windows系統服務描述表的防篡改方法應運而生。
發明內容
本發明的目的就是針對現有技術所存在的不足,而提供一種防止windows系統服務描述表被篡改的系統和方法,使通過修改系統服務描述表隱藏自己、進行破壞的Rootkit后門程序完全失效,使Windows操作系統上的各種程序安全運行,充分確保系統服務描述表的安全性和完整性,進而使通過修改系統服務描述表進行破壞的黑客程序完全失效,有效的提高了Windows操作系統的安全性、穩定性。
本方案是通過如下技術措施來實現的:一種防止windows操作系統下系統服務描述表被篡改的系統,其特征是包括如下模塊:
CPU虛擬化驅動模塊,用于分配硬件虛擬化數據結構所需的內存,設置CPU寄存器(EFER)的標志位、填充虛擬機控制塊指明攔截內存操作、從通信驅動模塊獲取系統服務描述表SSDT的內存地址空間范圍、讓當前操作系統作為虛擬機運行在虛擬CPU上;攔截寫入系統服務描述表地址范圍的內存指令,讓該內存寫入失敗;所述的硬件虛擬化數據結構包括最高特權進入區(簡稱HSA區域)和虛擬機控制塊(簡稱VMCB控制塊)。
通信驅動模塊,用于獲取當前操作系統的系統服務描述表的起始內存地址和內存地址范圍,然后保存該地址,啟動CPU虛擬化驅動模塊和主服務進程模塊的請求消息監聽;所述的通信驅動模塊啟動CPU虛擬化驅動模塊和主服務進程模塊的請求消息監聽后,一面等待CPU虛擬化模塊發來的請求消息,包括獲取系統服務描述表地址消息和已攔截日志消息,一面等待主服務進程模塊發來的獲取攔截日志消息。如果是CPU虛擬化模塊發來的已攔截日志消息,它將消息緩存在日志鏈表中。
主服務進程模塊,用于安裝CPU虛擬化驅動模塊和通信驅動模塊,卸載兩個模塊和自身,與通信驅動模塊進行通信獲取篡改系統服務描述表的攔截日志,先安裝CPU虛擬化驅動模塊,再安裝通信驅動模塊,卸載時先卸載CPU虛擬化驅動模塊,再卸載通信驅動模塊。
一種防止windows操作系統下系統服務描述表被篡改的方法,其特征是在于包括如下步驟:
1)主服務進程模塊初始化時加載通信驅動模塊和CPU虛擬化驅動模塊;
2)通信驅動模塊運行后,獲取當前操作系統的系統服務描述表的起始內存地址和內存地址范圍,然后保存該地址;啟動CPU虛擬化驅動模塊和主服務進程模塊的請求消息監聽;
3)CPU虛擬化驅動模塊運行后,依次執行分配硬件虛擬化數據結構所需的內存,設置CPU寄存器的標志位、填充虛擬機控制塊指明攔截內存操作、從通信驅動模塊獲取系統服務描述表的內存地址空間范圍、讓當前操作系統作為虛擬機運行在虛擬CPU上;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于鄭州云海信息技術有限公司,未經鄭州云海信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611169593.X/2.html,轉載請聲明來源鉆瓜專利網。





