[發(fā)明專利]增強(qiáng)型包過濾器的內(nèi)核態(tài)程序的超級(jí)調(diào)用方法及裝置在審
| 申請?zhí)枺?/td> | 202210249016.0 | 申請日: | 2022-03-14 |
| 公開(公告)號(hào): | CN114691391A | 公開(公告)日: | 2022-07-01 |
| 發(fā)明(設(shè)計(jì))人: | 胡小康 | 申請(專利權(quán))人: | 阿里巴巴(中國)有限公司 |
| 主分類號(hào): | G06F9/54 | 分類號(hào): | G06F9/54;G06F9/455;G06F12/02 |
| 代理公司: | 北京博思佳知識(shí)產(chǎn)權(quán)代理有限公司 11415 | 代理人: | 李威 |
| 地址: | 310052 浙江省杭州市濱江*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 增強(qiáng) 過濾器 內(nèi)核 程序 超級(jí) 調(diào)用 方法 裝置 | ||
本說明書實(shí)施例提供一種增強(qiáng)型包過濾器的內(nèi)核態(tài)程序的超級(jí)調(diào)用方法及裝置。應(yīng)用于虛擬機(jī)監(jiān)控器,包括:響應(yīng)于內(nèi)核態(tài)程序觸發(fā)的虛擬化缺頁,獲取觸發(fā)虛擬化缺頁的內(nèi)存地址;判斷虛擬化缺頁的內(nèi)存地址是否和映射表中的缺頁鍵對應(yīng)的內(nèi)存地址一致;其中,映射表記錄了鍵值對之間的映射關(guān)系,缺頁鍵為內(nèi)核態(tài)程序和虛擬機(jī)監(jiān)控器共同在映射表中確定的鍵,映射表中的每個(gè)鍵唯一對應(yīng)一個(gè)內(nèi)存地址;如果虛擬化缺頁的內(nèi)存地址和缺頁鍵對應(yīng)的內(nèi)存地址一致,從映射表中讀取缺頁鍵映射的缺頁值;其中,缺頁值包括內(nèi)核態(tài)程序在觸發(fā)虛擬化缺頁之前寫入的超級(jí)調(diào)用的功能類型;基于缺頁值指示的功能類型執(zhí)行該功能類型的超級(jí)調(diào)用。
技術(shù)領(lǐng)域
本說明書實(shí)施例涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種增強(qiáng)型包過濾器的內(nèi)核態(tài)程序的超級(jí)調(diào)用方法及裝置。
背景技術(shù)
增強(qiáng)型包過濾器(extended Berkeley Packet Filter,eBPF)是一種通用執(zhí)行引擎。由于增強(qiáng)型包過濾器可以在操作系統(tǒng)內(nèi)核(如Linux內(nèi)核)中運(yùn)行特殊程序(如沙盒程序)而無需更改內(nèi)核源代碼或加載內(nèi)核模塊,因而受到開發(fā)人員的普遍使用。
增強(qiáng)型包過濾器的架構(gòu)至少可以包括用戶態(tài)程序(或稱用戶空間程序)和內(nèi)核態(tài)程序(或稱內(nèi)核程序)兩部分。其中,用戶態(tài)程序用于加載指令碼(如BPF字節(jié)碼)至內(nèi)核,也可以讀取內(nèi)核回傳的信息或事件;而內(nèi)核態(tài)程序用于將指令碼轉(zhuǎn)化為內(nèi)核可執(zhí)行指令,進(jìn)而由內(nèi)核中的指令程序執(zhí)行。
在虛擬化的環(huán)境中(如虛擬機(jī))提供有超級(jí)調(diào)用(Hypercall)機(jī)制,通過調(diào)用Hypercall可以實(shí)現(xiàn)從用戶態(tài)到內(nèi)核態(tài)的狀態(tài)切換,從而獲取內(nèi)核態(tài)下更高的操作權(quán)限。
但是在虛擬化的環(huán)境中運(yùn)行的增強(qiáng)型包過濾器,如果向要獲取更高的操作權(quán)限,則需要從內(nèi)核態(tài)程序切換到虛擬機(jī)中底層的虛擬機(jī)監(jiān)控器(Hypervisor,或virtualmachine monitor,VMM);而現(xiàn)有增強(qiáng)型包過濾器的內(nèi)核態(tài)程序無法調(diào)用Hypercall,也就無法切換到Hypervisor以獲取更高的操作權(quán)限。
發(fā)明內(nèi)容
本說明書實(shí)施例提供的一種增強(qiáng)型包過濾器的內(nèi)核態(tài)程序的超級(jí)調(diào)用方法及裝置:
根據(jù)本說明書實(shí)施例的第一方面,提供一種增強(qiáng)型包過濾器的內(nèi)核態(tài)程序的超級(jí)調(diào)用方法,應(yīng)用于虛擬機(jī)監(jiān)控器,所述方法包括:
響應(yīng)于內(nèi)核態(tài)程序觸發(fā)的虛擬化缺頁,獲取觸發(fā)所述虛擬化缺頁的內(nèi)存地址;
判斷所述虛擬化缺頁的內(nèi)存地址是否和映射表中的缺頁鍵對應(yīng)的內(nèi)存地址一致;其中,所述映射表記錄了鍵值對之間的映射關(guān)系,所述缺頁鍵為所述內(nèi)核態(tài)程序和所述虛擬機(jī)監(jiān)控器共同在所述映射表中確定的鍵,所述映射表中的每個(gè)鍵唯一對應(yīng)一個(gè)內(nèi)存地址;
如果所述虛擬化缺頁的內(nèi)存地址和缺頁鍵對應(yīng)的內(nèi)存地址一致,從所述映射表中讀取所述缺頁鍵映射的缺頁值;其中,所述缺頁值包括所述內(nèi)核態(tài)程序在觸發(fā)所述虛擬化缺頁之前寫入的超級(jí)調(diào)用的功能類型;
基于所述缺頁值指示的功能類型執(zhí)行該功能類型的超級(jí)調(diào)用。
可選的,所述響應(yīng)于內(nèi)核態(tài)程序的觸發(fā)的虛擬化缺頁,包括:
響應(yīng)于內(nèi)核態(tài)程序?qū)⒊?jí)調(diào)用的功能類型寫入映射表中的缺頁鍵映射的缺頁值后觸發(fā)的虛擬化缺頁。
可選的,不同缺頁鍵用于表示不同的參數(shù)個(gè)數(shù);所述方法還包括:
基于所述缺頁鍵表示的參數(shù)個(gè)數(shù),從所述映射表中的第一個(gè)參數(shù)鍵開始依次讀取所述參數(shù)個(gè)數(shù)的參數(shù)鍵,以獲取每個(gè)參數(shù)鍵映射的參數(shù)值;其中,所述參數(shù)值為所述內(nèi)核態(tài)程序?qū)懭氲某?jí)調(diào)用的參數(shù),1個(gè)參數(shù)值對應(yīng)1個(gè)參數(shù);
所述基于所述缺頁鍵指示的功能類型執(zhí)行該功能類型的超級(jí)調(diào)用,包括:
基于所述虛擬機(jī)監(jiān)控器所在的虛擬機(jī)的身份信息,獲取所述虛擬機(jī)中的增強(qiáng)型包過濾器維護(hù)的映射表;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于阿里巴巴(中國)有限公司,未經(jīng)阿里巴巴(中國)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210249016.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 增強(qiáng)片及增強(qiáng)方法
- 圖像增強(qiáng)設(shè)備和圖像增強(qiáng)方法
- 圖像增強(qiáng)裝置、圖像增強(qiáng)方法
- 粉狀增強(qiáng)減水劑及摻有粉狀增強(qiáng)減水劑的增強(qiáng)水泥
- 增強(qiáng)片、增強(qiáng)構(gòu)件、增強(qiáng)套件、增強(qiáng)片的制造方法及增強(qiáng)構(gòu)件的制造方法
- 增強(qiáng)片、增強(qiáng)構(gòu)件、增強(qiáng)套件、增強(qiáng)片的制造方法及增強(qiáng)構(gòu)件的制造方法
- 使用增強(qiáng)模型的增強(qiáng)現(xiàn)實(shí)系統(tǒng)
- 增強(qiáng)片及增強(qiáng)結(jié)構(gòu)體
- 圖像增強(qiáng)方法和圖像增強(qiáng)裝置
- 增強(qiáng)現(xiàn)實(shí)鏡片、增強(qiáng)現(xiàn)實(shí)眼鏡及增強(qiáng)現(xiàn)實(shí)成像方法
- 功能限制程序、安裝程序生成程序和程序存儲(chǔ)介質(zhì)
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序生成系統(tǒng)、程序生成程序和程序生成模塊
- 程序創(chuàng)建裝置,程序創(chuàng)建方法和程序
- 程序生成裝置、程序生產(chǎn)方法及程序
- 程序生成裝置、程序生成程序以及程序生成方法
- 程序生成裝置、程序生成方法及程序生成程序
- 程序開發(fā)支持裝置、程序開發(fā)支持方法以及存儲(chǔ)介質(zhì)
- 程序執(zhí)行輔助裝置、程序執(zhí)行輔助方法及程序執(zhí)行輔助程序
- 程序?qū)φ昭b置、程序?qū)φ辗椒俺绦驅(qū)φ粘绦?/a>





