[發明專利]一種基于硬件虛擬化技術的應用程序安全保護方法有效
| 申請號: | 201810384703.7 | 申請日: | 2018-04-26 |
| 公開(公告)號: | CN108874500B | 公開(公告)日: | 2022-10-18 |
| 發明(設計)人: | 曾慶凱;梁誠偉 | 申請(專利權)人: | 南京大學 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F21/52 |
| 代理公司: | 南京鐘山專利代理有限公司 32252 | 代理人: | 戴朝榮 |
| 地址: | 210000 江*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 硬件 虛擬 技術 應用程序 安全 保護 方法 | ||
一種基于硬件虛擬化技術的應用程序安全保護方法,可以防御針對應用程序可用性的攻擊。通過對轉接器的內容與結構進行修改,使得該類方案的結構特征得以隱藏,不易被攻擊者識別、發起針對性的可用性攻擊。本發明可以消除保護機構在結構上的典型特征,從而避免針對應用程序的可用性攻擊威脅。而且,修改過的轉接器僅僅是內容與結構上的改變,對系統性能幾乎沒有影響。因此,本發明可以在不影響系統性能的條件下,減緩應用程序的可用性攻擊威脅,提高系統可用性和應用程序的可用性與安全性。
技術領域
本發明屬于應用程序安全保護領域,具體涉及一種基于硬件虛擬化技術的應用程序安全保護方法,可實施對應用程序系統調用的安全驗證,防御針對應用程序的可用性攻擊。
背景技術
現有的基于硬件虛擬化技術的對系統調用進行驗證的保護方案,可以保護應用程序的控制流完整性、地址空間完整性與私密性和系統調用的安全性等。但是由于存在結構上的缺陷,攻擊者可以通過識別其中轉接器的特征進而對應用程序發起針對性的可用性攻擊,從而使得應用程序無法正常運行。針對被保護應用程序的可用性攻擊是一種現實的威脅。
發明內容
本發明針對現有技術中的不足,提供一種基于硬件虛擬化技術的應用程序安全保護方法,能夠有效地防止攻擊者的針對應用程序的可用性攻擊。
為實現上述目的,本發明采用以下技術方案:
一種基于硬件虛擬化技術的應用程序安全保護方法,涉及的組件包括虛擬機監控器、轉接器、參數緩存和自定義庫,其特征在于,包括以下步驟:
步驟一、虛擬機監控器初始化:在保護方法保護應用程序之前進行虛擬機監控器的初始化,包括配置VMCS、配置EPT頁表、切換EPT;
步驟二、保護應用保護機構初始化:在應用程序成為保護應用之前進行的初始化,包括轉接器與參數緩存地址空間分配、填充轉接器內容、發起hypercall;
步驟三、系統調用的準備:對于保護應用請求的系統調用,在自定義庫中進行系統調用的準備,包括系統調用參數準備、hypercall發起、系統調用結果返回保護應用;
步驟四、系統調用的驗證:對于系統調用的請求,在虛擬機監控器中進行系統調用的安全驗證,包括地址空間切換、rip通用寄存器賦值、將系統調用結果返回給自定義庫;
步驟五、系統調用的實施:經系統調用驗證后,轉接器進行系統調用的實施,包括發起系統調用、發起hypercall將系統調用結果返回虛擬機監控器;
步驟六、中斷事件的截獲處理:在保護應用執行過程中發生的中斷,由虛擬機監控器進行中斷的截獲和處理,包括中斷截獲、rip通用寄存器賦值、從中斷返回到保護應用;
步驟七、中斷返回的轉接:經虛擬機監控器驗證屬于保護應用中發生的中斷事件,由不可信內核的中斷處理結束后,由轉接器進行中斷返回的處理,包括等待中斷返回、發起hypercall陷入虛擬機監控器。
為優化上述技術方案,采取的具體措施還包括:
所述步驟一具體包括:
步驟11、配置VMCS的中斷異常的自動轉發的標志位,允許虛擬機監控器獲得中斷截獲的能力;
步驟12、將VMCS中的Enable EPT位置為1,使得虛擬機監控器以及在其上運行的虛擬機使用EPT頁表;
步驟13、創建兩張EPT,分別放置在KVM中的KVM_MMU結構體的root_hpa和root_hpa_shadow中,保護方案復用了KVM中的創建EPT的函數,創建了兩張EPT頁表,其中root_hpa中存儲指向不可信內核所在地址空間的EPTP,而root_hpa_shadow中存儲指向保護應用所在地址空間的EPTP;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京大學,未經南京大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810384703.7/2.html,轉載請聲明來源鉆瓜專利網。





