[發明專利]基于硬件輔助虛擬化技術的進程內存保護方法有效
| 申請號: | 201410215459.3 | 申請日: | 2014-05-21 |
| 公開(公告)號: | CN103955438B | 公開(公告)日: | 2016-11-23 |
| 發明(設計)人: | 黃皓;李佳瑤 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F12/14 | 分類號: | G06F12/14 |
| 代理公司: | 南京君陶專利商標代理有限公司 32215 | 代理人: | 沈根水 |
| 地址: | 210093*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 硬件 輔助 虛擬 技術 進程 內存 保護 方法 | ||
技術領域
本發明涉及內存安全的保護方法,特別是一種有效保護訪問機密文件的受保護進程內存安全的基于硬件輔助虛擬化技術的內存安全保護方法。
背景技術
計算機安全服務包括三個方面的內容:機密性(confidentiality)、完整性(integrity)和可用性(availability)。其中,機密性是指對信息或資源的隱藏,防止被非授權的用戶訪問。完整性指的是數據或資源的可信度,即信息在未經授權的情況下不能被修改。完整性主要包括數據完整性和軟件完整性兩個方面,數據完整性指的是在計算機系統中存儲的數據或在網絡上傳輸中的數據不被非法的篡改或意外的破壞,保證數據整體的完整;而軟件完整性指的是軟件本身不被非法的修改。可用性指的是人們對信息或資源的期望使用能力。
計算機中的機密信息在處理的過程中涉及到兩點安全問題:第一點,是存儲在外部存儲設備中的安全問題;第二點,是加載到內存中的安全問題。通過將機密信息加密存儲在外部存儲設備中可以保障其機密性,但當特定進程訪問并處理外存中的機密信息時,這些信息會被加載到內存,并以明文的方式存在于內存中。由于加密算法的不斷改進,唯密文攻擊的實施難度越來越大,所以攻擊者把目光投向了內存中的明文。
針對操作系統內存的攻擊可以總結為兩類:修改地址攻擊和代碼注入攻擊。修改地址攻擊是指一些惡意程序獲取到目標進程的地址等信息后,通過修改CR3寄存器或修改自身頁表,將自身的地址轉譯過程變成目標進程的地址轉譯過程,從而訪問到目標進程的內存空間。代碼注入攻擊主要是指一些惡意程序將代碼注入到目標進程內部,以實現對目標進程內存的非法訪問,按照注入的代碼所處的特權模式,可將代碼注入攻擊分為用戶態代碼注入和內核態代碼注入兩種。
針對現有的內存管理機制中存在的漏洞,已有一些防護方法被提出。例如SP3模型提出了保護域的概念,通過設置保護域對指定的物理頁的訪問權限,并結合加密技術,來對受保護應用程序的內存進行保護,該方法的問題是:進程可以在運行時通過動態附加的方式臨時將自身所處的線程附加到目標進程中,那么當前線程就具有了目標進程內存空間的完全訪問權限。Cherub模型通過在對應用程序運行期間對其內存頁面進行動態加解密來提供保護,該方法雖然能夠保護應用程序內存,但動態加解密的開銷會對系統性能造成一定的影響。
發明內容
本發明提出的是一種基于硬件輔助虛擬化技術的進程內存保護方法,其目的旨在克服現有技術所存在的上述不足,對計算機中訪問機密文件的進程的內存安全進行保護。
本發明的技術解決方案,基于硬件輔助虛擬化的進程內存安全保護方法,包括以下步驟:
步驟1:加載進程內存監控模塊,使其運行于根模式(Root),并將操作系統作為客戶機系統置于非根模式(Non-Root),設置VMCS控制域,使監控模塊能夠捕獲到CR3寄存器的改寫和頁錯誤異常;
步驟2:受保護進程在啟動時通知監控模塊,監控模塊驗證發送通知的進程是否為受保護的進程;
步驟3:為受保護進程的受保護內存空間創建加密拷貝,并為受保護進程創建一份用戶模式影子頁表和一份內核模式影子頁表,分別指向受保護內存的明文和密文;
步驟4:利用影子頁表機制實現對虛擬機系統的內存虛擬,設置系統中所有進程的影子頁表中頁目錄項的只讀屬性,并將受保護進程用戶模式影子頁表中指向數據頁的頁表項的不可執行屬性設置為1,即該數據頁不可被執行;
步驟5:捕獲CR3寄存器改寫操作和頁錯誤異常,通過捕獲CR3寄存器的改寫,判斷要寫入的值是否為受保護進程頁目錄基地址,是則向CR3寄存器寫入受保護進程內核模式影子頁表的頁目錄基地址,通過捕獲頁錯誤異常,監控受保護進程用戶模式與內核模式的切換以及其他進程的頁表改寫操作。
本發明的有益效果及顯著優點是:本發明公開了一種基于硬件輔助虛擬化技術的進程內存保護方法,通過監控CR3寄存器和頁表的修改防御修改地址攻擊,并利用影子頁表機制和數據執行保護技術防御代碼注入攻擊。能夠有效的保護指定進程的內存空間,阻止系統中的其他進程、甚至具有高特權級的內核代碼訪問受保護的內存空間。并且無需對現有的操作系統進行修改,也無需重新部署操作系統。
附圖說明
圖1為基于硬件輔助虛擬化技術的進程內存保護方法的架構圖。
圖2為基于硬件輔助虛擬化技術的進程內存保護方法的基本流程圖。
圖3為PE文件結構圖。
圖4為影子頁表機制圖。
圖5為32位PAE模式下地址轉譯過程圖。
具體實施方式
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410215459.3/2.html,轉載請聲明來源鉆瓜專利網。





