[發明專利]一種棧保護的方法及裝置在審
| 申請號: | 202010179849.5 | 申請日: | 2020-03-13 |
| 公開(公告)號: | CN113392395A | 公開(公告)日: | 2021-09-14 |
| 發明(設計)人: | 顧嘉輝;孫家棟 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F21/52 | 分類號: | G06F21/52 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 保護 方法 裝置 | ||
1.一種棧保護的方法,其特征在于,包括:
獲取請求,所述請求用于觸發處理器從第一工作態切換到第二工作態,所述第二工作態的管理級別高于所述第一工作態的管理級別;
根據所述請求,從所述第一工作態切換到所述第二工作態;
將所述第二工作態下用于保護棧的參數值從第一值更新為第二值;
根據所述第二值對所述棧進行保護。
2.根據權利要求1所述的方法,其特征在于,所述將所述第二工作態下用于保護棧的參數值從第一值更新為第二值,包括:
在運行所述第二工作態的函數執行壓棧操作之前,將所述第二工作態下用于保護棧的參數值從第一值隨機更新為第二值。
3.根據權利要求2所述的方法,其特征在于,所述根據所述第二值對所述棧進行保護,包括:
在運行所述函數執行壓棧操作時,將所述第二值寫入所述棧中作為保護棧的參數值;
在運行所述函數返回時,根據所述棧中的參數值與所述第二值的比較結果對所述棧進行保護。
4.根據權利要求3所述的方法,其特征在于,所述根據所述棧中的參數值與所述第二值的比較結果對所述棧進行保護,包括:
將所述棧中的參數值與所述第二值進行比較:
若所述棧中的參數值與所述第二值相同,則將所述函數返回到所述棧中所述函數的返回地址所指示的位置;或者,
若所述棧中的參數值與所述第二值不相同,則確定所述棧受到攻擊。
5.根據權利要求1-4任一項所述的方法,其特征在于,
所述第一工作態為用戶態,所述第二工作態為內核態;或者,
所述第一工作態為內核態,所述第二工作態為虛擬化監控態;或者,
所述第一工作態為虛擬化監控態,所述第二工作態為安全監控態。
6.一種棧保護的裝置,其特征在于,包括:
獲取單元,用于獲取請求,所述請求用于觸發處理器從第一工作態切換到第二工作態,所述第二工作態的管理級別高于所述第一工作態的管理級別;
切換單元,用于根據所述獲取單元獲取的請求,從所述第一工作態切換到所述第二工作態;
更新單元,用于將所述切換單元切換后的第二工作態下用于保護棧的參數值從第一值更新為第二值;
棧保護單元,用于根據所述更新單元更新的第二值對所述棧進行保護。
7.根據權利要求6所述的裝置,其特征在于,
所述更新單元,用于在運行所述第二工作態的函數執行壓棧操作之前,將所述第二工作態下用于保護棧的參數值從第一值隨機更新為第二值。
8.根據權利要求7所述的裝置,其特征在于,
所述棧保護單元,用于在運行所述函數執行壓棧操作時,將所述第二值寫入所述棧中作為保護棧的參數值;在運行所述函數返回時,根據所述棧中的參數值與所述第二值的比較結果對所述棧進行保護。
9.根據權利要求8所述的裝置,其特征在于,
所述棧保護單元,用于將所述棧中的參數值與所述第二值進行比較;若所述棧中的參數值與所述第二值相同,則將所述函數返回到所述棧中所述函數的返回地址所指示的位置;或者,若所述棧中的參數值與所述第二值不相同,則確定所述棧受到攻擊。
10.根據權利要求6-9任一項所述的裝置,其特征在于,
所述第一工作態為用戶態,所述第二工作態為內核態;或者,
所述第一工作態為內核態,所述第二工作態為虛擬化監控態;或者,
所述第一工作態為虛擬化監控態,所述第二工作態為安全監控態。
11.一種計算設備,其特征在于,包括處理器和存儲有計算機程序的計算機可讀存儲介質;
所述處理器與所述計算機可讀存儲介質耦合,所述計算機程序被所述處理器執行時實現如權利要求1-5任一項所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010179849.5/1.html,轉載請聲明來源鉆瓜專利網。





