[發明專利]監測計算機設備中的進程的運行空間的方法以及裝置有效
申請號: | 201610825243.8 | 申請日: | 2016-09-14 |
公開(公告)號: | CN107818034B | 公開(公告)日: | 2021-02-12 |
發明(設計)人: | 劉恒;樊輝;侯承舜 | 申請(專利權)人: | 華為技術有限公司 |
主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F11/07 |
代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 王仲凱 |
地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 監測 計算機 設備 中的 進程 運行 空間 方法 以及 裝置 | ||
1.一種監測計算機設備中的進程的運行空間的方法,應用于所述計算機設備中的操作系統,其特征在于,包括:
確定被監測函數,所述被監測函數為所述進程運行過程中被調用的函數;
獲得所述計算機設備中的處理器執行所述被監測函數前所述進程的運行空間的內容與執行所述被監測函數后所述進程的運行空間的內容;
判斷執行所述被監測函數前所述進程的運行空間的內容與執行所述被監測函數后所述進程的運行空間的內容是否一致,若不一致,則確定所述被監測函數破壞所述進程的運行空間;
所述確定所述被監測函數破壞所述進程運行空間之后,所述方法還包括:
判斷所述被監測函數是否為可重入函數;
若判斷所述被監測函數為不可重入函數,則生成第一警告信息,并向所述計算機設備所處網絡中的監控中心服務器發送所述第一警告信息,所述第一警告信息用于指示所述被監測函數破壞所述進程的運行空間。
2.根據權利要求1所述的方法,其特征在于,所述進程的運行空間的內容包括所述被監測函數的棧空間的內容和/或寄存器組的內容,所述寄存器組包括所述被監測函數執行時所用到的所有寄存器。
3.根據權利要求2所述的方法,其特征在于,所述確定被監測函數包括:
確定所述進程的函數調用軌跡;
按照所述函數調用軌跡依次選取函數作為所述被監測函數。
4.根據權利要求1至3中任一項所述的方法,其特征在于,所述獲得所述計算機設備中的處理器執行所述被監測函數前所述進程的運行空間的內容與執行所述被監測函數后所述進程的運行空間的內容,包括:
將所述被監測函數的入口指令替換為第一trap指令,并記錄所述入口指令以及所述入口指令對應的入口地址;
將所述被監測函數的返回指令替換為第二trap指令,并記錄所述返回指令以及所述返回指令對應的返回地址;
當所述處理器執行到所述第一trap指令時,將當前所述進程的運行空間的內容保存至第一臨時空間,將所述第一trap指令替換回所述入口指令,并執行第一異常返回eret指令跳回所述入口地址;
當所述處理器執行到所述第二trap指令時,將當前所述進程的運行空間的內容保存至第二臨時空間,將所述第二trap指令替換回所述返回指令,并執行第二eret指令跳回所述返回地址;
根據所述第一臨時空間獲得所述處理器執行所述被監測函數前所述進程的運行空間的內容,根據所述第二臨時空間獲得所述處理器執行所述被監測函數后所述進程的運行空間的內容。
5.根據權利要求4所述的方法,其特征在于,
若判斷所述被監測函數為可重入函數,則創建臨時進程,所述臨時進程的入口地址為所述第一臨時空間的入口地址,所述臨時進程的入口函數為所述被監測函數,所述第一臨時空間的頁對齊,所述頁為只讀屬性;
執行所述臨時進程使得觸發TLB異常;
根據所述TLB異常確定觸發所述TLB異常的指令地址;
根據所述指令地址生成第二警告信息,并向所述計算機設備所處網絡中的監控中心服務器發送所述第二警告信息,所述第二警告信息用于指示所述被監測函數的所述指令地址破壞所述進程的運行空間。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610825243.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種緩存分區重構的方法和裝置
- 下一篇:電子系統中日志數據的管理