[發明專利]一種虛擬化環境中服務調用監控方法和系統有效
| 申請號: | 201811471745.0 | 申請日: | 2018-12-04 |
| 公開(公告)號: | CN109684829B | 公開(公告)日: | 2020-12-04 |
| 發明(設計)人: | 蔡權偉;林璟鏘;江芳杰;王瓊霄 | 申請(專利權)人: | 中國科學院數據與通信保護研究教育中心;中國科學院信息工程研究所 |
| 主分類號: | G06F21/53 | 分類號: | G06F21/53 |
| 代理公司: | 北京君尚知識產權代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 虛擬 環境 服務 調用 監控 方法 系統 | ||
1.一種虛擬化環境中服務調用監控方法,其步驟包括:
1)租戶設置被授權訪問服務的程序,并通過網絡傳輸將被授權訪問服務的程序源文件傳輸到云端;云端根據租戶設置的被授權訪問服務程序及相關的源文件生成被監控客戶虛擬機中的關鍵代碼段的哈希庫,該哈希庫用于供服務調用監控器校驗關鍵代碼段的完整性;
2)該被監控客戶虛擬機啟動后,服務調用監控器利用嵌套頁表技術對該被監控客戶虛擬機加載的內存頁權限位進行設置,使內存頁上的代碼在執行前,對內存中關鍵代碼段的完整性進行校驗,并維護一個白名單進程鏈表,該白名單進程鏈表中存放白名單進程的頁目錄地址;其中,白名單進程為被授權的且代碼段完整性經過校驗的進程;
3)服務調用監控器檢測到服務調用發生時,調用虛擬機狀態檢測模塊,根據該服務調用的特征獲取調用進程的頁目錄地址,當該調用進程的頁目錄地址在該白名單進程鏈表中時,允許執行該服務調用;
4)對于有返回結果的服務調用,服務調用監控器對該服務調用的返回結果事件進行檢測,當檢測到該服務調用的返回結果事件發生時,調用虛擬機狀態檢測模塊,根據該返回結果事件的特征獲取調用進程的信息,當該調用進程在白名單進程鏈表中時,允許該服務調用的返回結果通過;
其中,對內存中關鍵代碼段的完整性進行校驗的方法為:
21)將客戶虛擬機加載的所有內存頁的可執行權限位設置為不可執行;
22)如果發生頁錯誤異常,且該頁錯誤異常為取指錯誤,則執行步驟23);如果發生頁錯誤異常,且該頁錯誤異常為寫錯誤,則執行步驟24);
23)對導致取指異常的內存進行完整性校驗,并根據校驗結果維護白名單進程列表;對于校驗通過的內存頁,并將其頁權限設置為可執行,不可寫;對于校驗不通過的內存頁,將發生頁錯誤異常的內存頁的權限設置為可執行,可寫;
24)將發生頁錯誤異常的內存頁的可寫權限位設置為可寫,同時將可執行權限位設置為不可執行;
其中所述步驟23)中,對導致取值錯誤的內存頁進行完整性校驗,并根據校驗結果維護白名單進程列表的方法為:
a)檢查引發取指錯誤的被監控客戶虛擬機的虛擬地址,若該虛擬地址為內核空間地址,則執行步驟b);若該虛擬地址為用戶空間地址,則執行步驟g);
b)檢查該虛擬地址是否為已知的內核地址區間,若為已知的內核地址空間則執行步驟c);否則執行步驟d);
c)計算取指錯誤的內存頁上的代碼段的哈希值,并將該哈希值與哈希庫中對應的哈希值進行比較,若比較結果不相同則執行步驟d);
d)計算該內存頁上的代碼段的哈希值,并將該哈希值與所有內核模塊的入口點所在的代碼頁的哈希值進行比較,若比較結果相同執行步驟e);否則執行步驟f);
e)記錄該內核模塊的地址區間;
f)清空白名單進程列表,并將被監控客戶虛擬機的狀態標記為可疑狀態;
g)檢查當前進程的頁目錄地址是否在白名單進程鏈表中,如果存在,則執行步驟h);否則執行步驟i);
h)計算觸發了取值錯誤的內存頁上的代碼段的哈希值,并與哈希庫中對應的代碼頁的哈希值進行比較,若比較結果不相同,執行步驟j);
i)計算觸發了取值錯誤的內存頁上的代碼段的哈希值,并與所有被授權訪問服務程序的入口點所在的代碼頁的哈希值進行比較,如果相同,且該內存頁的地址和入口點所在內存頁的地址相同,則執行步驟k);
j)將當前進程的頁目錄地址從白名單進程列表中刪除,并執行步驟i);
k)將當前進程的頁目錄地址插入到白名單進程列表中。
2.如權利要求1所述的方法,其特征在于,服務調用監控器在VMM中檢測到服務調用發生時,則根據被監控虛擬機的指紋信息提取被監控虛擬機的內存,構建出高層語義獲取與調用服務相關的進程信息,并在調用進程的內存區域中獲取調用服務進程的頁目錄地址信息,然后檢查該頁目錄地址是否存在于所述白名單進程表中,若存在,則允許該服務調用執行;若不存在,則拒絕該服務調用。
3.如權利要求1所述的方法,其特征在于,所述哈希庫中包含關鍵代碼段的入口點信息、關鍵代碼段的偏移量、關鍵代碼段加載到內存中的虛擬地址及關鍵代碼段中以頁為單位計算的哈希值。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院數據與通信保護研究教育中心;中國科學院信息工程研究所,未經中國科學院數據與通信保護研究教育中心;中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811471745.0/1.html,轉載請聲明來源鉆瓜專利網。





