[發明專利]內核修復方法和裝置有效
| 申請號: | 201910363099.4 | 申請日: | 2016-05-24 |
| 公開(公告)號: | CN110110522B | 公開(公告)日: | 2021-05-07 |
| 發明(設計)人: | 張煜龍;包沉浮;韋韜 | 申請(專利權)人: | 百度在線網絡技術(北京)有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 北京英賽嘉華知識產權代理有限責任公司 11204 | 代理人: | 王達佐;馬曉亞 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內核 修復 方法 裝置 | ||
1.一種內核修復方法,其特征在于,所述方法包括:
加載用于對內核中待修復的目標函數進行修復的補丁,所述補丁是以內存安全語言或非內存安全語言的內存安全語言子集進行編寫的,所述內核中預先植入有熱修補框架;
使用內存安全語言引擎執行所述補丁,所述內存安全語言引擎存在于所述熱修補框架中;
接收執行所述補丁過程中調用修復用接口對所述目標函數進行修復的調用請求,其中,修復用接口是所述內存安全語言引擎所提供的、用于對函數進行修復的接口;
執行所請求的修復用接口以修復所述目標函數。
2.根據權利要求1所述的方法,其特征在于,所述執行所請求的修復用接口以修復所述目標函數,包括:
在所述目標函數的起始位置,插入對所述補丁提供的檢查函數的調用,所述檢查函數用于檢查函數的入口參數是否異常。
3.根據權利要求1所述的方法,其特征在于,所述執行所請求的修復用接口以修復所述目標函數:
對于所述目標函數調用的函數,在函數的起始位置插入對所述補丁提供的檢查函數的調用,所述檢查函數用于檢查執行狀態和/或函數的入口參數是否異常。
4.根據權利要求1所述的方法,其特征在于,所述執行所請求的修復用接口以修復所述目標函數:
對于所述目標函數調用的函數,在函數中返回指令前的位置,插入對所述補丁提供的檢查函數的調用,所述檢查函數用于檢查執行狀態是否異常。
5.根據權利要求3或4所述的方法,其特征在于,在所述插入對所述補丁提供的檢查函數的調用之前,所述執行所請求的修復用接口以修復所述目標函數還包括:
確定所述目標函數調用的函數是返回值為執行結果狀態的函數。
6.根據權利要求1所述的方法,其特征在于,在所述加載用于對內核中待修復的目標函數進行修復的補丁之前,所述方法還包括:
對所述補丁進行簽名驗證,以確定所述補丁的合法性。
7.根據權利要求1所述的方法,其特征在于,所述熱修補框架包括補丁管理模塊、補丁執行模塊和補丁修復模塊;以及
所述補丁管理模塊加載用于對內核中待修復的目標函數進行修復的補丁;
所述補丁執行模塊使用內存安全語言引擎執行上述補丁,以及接收執行補丁過程中調用修復用接口對目標函數進行修復的調用請求;
所述補丁修復模塊執行所請求的修復用接口以修復目標函數。
8.根據權利要求6所述的方法,其特征在于,所述熱修補框架還包括簽名驗證模塊;以及
所述簽名驗證模塊對內核中待修復的目標函數進行修復的補丁之前,對所述補丁進行簽名驗證,以確定所述補丁的合法性。
9.根據權利要求1所述的方法,其特征在于,所述熱修補框架進一步被配置成對補丁執行至少一項功能:
加載、執行、停止、卸載、運行狀態監控、執行日志記錄、限制策略控制。
10.根據權利要求1所述的方法,其特征在于,所述修復用接口通過所述熱修補框架的限制策略控制功能進行維護。
11.根據權利要求1所述的方法,其特征在于,所述熱修補框架通過以下任一方式植入內核:
通過利用已有內核漏洞植入、通過安卓設備廠商預置或動態裝載植入;
其中,內核所在的操作系統安裝于安卓設備廠商生產的設備中,所述設備包括以下至少一項:智能手機、平板電腦、電子書閱讀器、MP3播放器、MP4播放器、膝上型便攜計算機、臺式計算機。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于百度在線網絡技術(北京)有限公司,未經百度在線網絡技術(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910363099.4/1.html,轉載請聲明來源鉆瓜專利網。





