[發明專利]一種棧保護的方法及裝置在審
| 申請號: | 202010179849.5 | 申請日: | 2020-03-13 |
| 公開(公告)號: | CN113392395A | 公開(公告)日: | 2021-09-14 |
| 發明(設計)人: | 顧嘉輝;孫家棟 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06F21/52 | 分類號: | G06F21/52 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 王仲凱 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 保護 方法 裝置 | ||
本申請公開了一種棧保護的方法,可應用于任何包含操作系統的設備或系統中,該方法包括:獲取請求,該請求用于觸發處理器從用戶態切換到內核態,處理器根據該請求,從用戶態切換到內核態;將內核態下用于保護棧的參數值從第一值隨機更新為第二值;根據第二值對棧進行保護。本申請技術方案由于在從用戶態切換到內核態之后,才隨機更新canary值,就會讓攻擊者無法預先獲取到該隨機更新的canary值,從而無法攻擊高特權的內核態的棧,從而保證了高管理級別工作態中棧保護的安全性。
技術領域
本申請涉及計算機技術領域,具體涉及一種棧保護的方法及裝置。
背景技術
棧保護(stack canary),也叫stack cookie,是一種針對棧緩沖區溢出(stackbuffer overflow)攻擊的保護技術。棧緩沖區溢出攻擊即通過越界訪問保存在棧中的緩沖區,實現對棧中關鍵信息的修改。舉例來說,攻擊者可以通過修改保存在棧緩沖區中的函數返回地址,實現對函數行為的修改,使得原本應該返回第一地址的函數返回到了攻擊者修改后的第二地址,這樣攻擊者就可以利用該函數盜取數據或者攻擊該計算機系統。
Stack canary是針對這種非法修改行為的一種保護機制。Stack canary保護機制是在運行函數執行壓棧操作時從用于存放canary值的結構體中獲取一個canary值寫入棧(stack)中。壓棧操作完成后,在運行函數返回時,通過比對棧中的canary值和結構體中的canary值是否一致,來判斷棧是否被攻擊。
Stack canary被廣泛部署在各類軟件中,是應用最廣泛的棧保護技術。Stackcanary機制有效的前提是攻擊者無法知道canary值。然而,當前攻擊手段愈發多樣,攻擊者可以通過多種方法獲取到canary值,從而使得stack canary機制失效。
發明內容
本申請實施例提供一種棧保護的方法,用于保證了高管理級別的工作態中棧保護的安全性。本申請實施例還提供了相應的裝置。
本申請第一方面提供一種棧保護的方法,該方法可以應用于各種類型的處理器中,如:中央處理器(central processing unit,CPU)和圖形處理器(graphics processingunit,GPU)等,該處理器可以包含于例如:手機、平板電腦、個人計算機(personalcomputer,PC)等終端設備,以及其他服務器類的設備中。該方法包括:獲取請求,請求用于觸發處理器從第一工作態切換到第二工作態,第二工作態的管理級別高于第一工作態的管理級別;根據請求,從第一工作態切換到第二工作態;將第二工作態下用于保護棧的參數值從第一值更新為第二值;根據第二值對棧進行保護。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010179849.5/2.html,轉載請聲明來源鉆瓜專利網。





