[發明專利]一種云平臺中檢測DPDK應用程序內存越界訪問的方法有效
| 申請號: | 201911267320.2 | 申請日: | 2019-12-11 |
| 公開(公告)號: | CN111143199B | 公開(公告)日: | 2022-08-05 |
| 發明(設計)人: | 段炯;胡衛文 | 申請(專利權)人: | 烽火通信科技股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 武漢東喻專利代理事務所(普通合伙) 42224 | 代理人: | 李佑宏 |
| 地址: | 430000 湖*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 平臺 檢測 dpdk 應用程序 內存 越界 訪問 方法 | ||
1.一種云平臺中檢測DPDK應用程序內存越界訪問的方法,其特征在于,包括如下步驟:
在DPDK鏈接庫的內存訪問指令中插入檢測代碼,以實現訪問內存前核實該內存狀態是否可訪問;
對ASAN增加DPDK初始化函數的插樁,虛擬機調用DPDK鏈接庫對目標應用程序進行初始化時,通過截獲DPDK初始化函數獲取初始化的內存虛擬地址范圍,利用ASAN的影子內存區標記所述內存虛擬地址范圍;
在ASAN生成的libasan.so庫中增加DPDK中特有的內存管理庫函數,目標應用程序運行時,通過截獲所述內存管理庫函數管理ASAN的影子內存區;
運行內存訪問指令時,通過上述檢測代碼標記檢測內存是否標記于ASAN的影子內存區,內存已標記時不可訪問。
2.根據權利要求1所述的一種云平臺中檢測DPDK應用程序內存越界訪問的方法,其特征在于,在DPDK鏈接庫的內存訪問指令中插入檢測代碼具體為:
在目標應用程序的代碼編譯階段利用編譯器中間語言對ASAN PASS進行優化。
3.根據權利要求2所述的一種云平臺中檢測DPDK應用程序內存越界訪問的方法,其特征在于,對ASAN PASS進行優化的具體優化方式為:
針對所述目標應用程序進行多種等價交換以生成占用存儲空間更小的目標代碼。
4.根據權利要求1所述的一種云平臺中檢測DPDK應用程序內存越界訪問的方法,其特征在于,所述“通過截獲DPDK初始化函數獲取初始化的內存虛擬地址范圍,利用ASAN的影子內存區標記該內存虛擬地址范圍”具體為:
通過ASAN截獲DPDK初始化函數rte_eal_init,以獲取初始化的內存虛擬地址范圍,通過ASAN的影子內存區將內存虛擬地址范圍標記為poison。
5.根據權利要求1-4中任一項所述的一種云平臺中檢測DPDK應用程序內存越界訪問的方法,其特征在于,通過截獲DPDK內存管理庫函數,對所述目標應用程序分配的內存去除在ASAN的影子內存區標記。
6.根據權利要求5所述的一種云平臺中檢測DPDK應用程序內存越界訪問的方法,其特征在于,對所述目標應用程序分配后又釋放的內存在ASAN的影子內存區標記。
7.一種終端設備,其特征在于,包括至少一個處理單元、以及至少一個存儲單元,其中,所述存儲單元存儲有計算機程序,當所述程序被所述處理單元執行時,使得所述處理單元執行權利要求1~6任一權利要求所述方法的步驟。
8.一種計算機可讀介質,其特征在于,其存儲有可由終端設備執行的計算機程序,當所述程序在終端設備上運行時,使得所述終端設備執行權利要求1~6任一權利要求所述方法的步驟。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于烽火通信科技股份有限公司,未經烽火通信科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911267320.2/1.html,轉載請聲明來源鉆瓜專利網。





