[發明專利]一種基于ftrace技術的Linux系統保護方法有效
| 申請號: | 202111344516.4 | 申請日: | 2021-11-15 |
| 公開(公告)號: | CN113792299B | 公開(公告)日: | 2022-02-15 |
| 發明(設計)人: | 吳陽;鄭宗義;杜宇 | 申請(專利權)人: | 南京鼎巖信息科技有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57 |
| 代理公司: | 南京源古知識產權代理事務所(普通合伙) 32300 | 代理人: | 馬曉輝 |
| 地址: | 210000 江蘇*** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 ftrace 技術 linux 系統 保護 方法 | ||
1.一種基于ftrace技術的Linux系統保護方法,包括以下步驟:步驟S01:ftrace注冊:開機時,內核驅動內核模塊mreblk.ko加載,然后通過kallsyms查找目標函數submit_bio在內核中地址,然后初始化ftrace_ops結構,然后使用ftrace_set_filter_ip設置原始目標函數submit_bio的跟蹤函數new_submit_bio,最后使用register_ftrace_function向內核注冊回調站點;步驟S02:在所述內核模塊mreblk.ko首次加載執行時,分析出當前硬盤布局,統計已使用空間和未使用空間,建立表格,命名為MRE_TABLE;步驟S03:new_submit_bio響應到系統讀寫后,解析bio參數,獲取扇區偏移offset、扇區數量、是否讀寫;步驟S04:查找表格MRE_TABLE,判斷offset是不是受保護扇區,offset不是受保護扇區進入步驟S06;offset是受保護扇區,進入步驟S05;步驟S05:查找表格MRE_TABLE,計算出映射后的新扇區位置,用新扇區偏移重新構造讀寫請求,調用原始目標函數submit_bio讀寫新扇區位置,實現讀寫重定向;重新構造讀請求的方法為:步驟S51:在表格MRE_TABLE中查找當前硬盤未使用的空間,分配給當前待請求扇區使用,計算出映射后的扇區偏移offset2;步驟S52:使用bio_alloc申請一個新的塊結構bio2;步驟S53:填充new_bio結構;步驟S54:調用原始函數submit_bio,讀取出新位置offset2的扇區內容buffer2,填充到讀寫緩沖區buffer,完成讀請求;重新構造寫請求的方法為:步驟S61:在表格MRE_TABLE中查找當前硬盤未使用的空間,分配給當前待請求扇區使用,計算出映射后的扇區偏移offset2;步驟S62:使用bio_alloc申請一個新的塊結構bio2;步驟S63:使用alloc_page申請新的內存頁,用于存儲數據內容;步驟S64:填充bio2結構;步驟S65:為bio2添加內存頁,完成數據內容拷貝;步驟S66:調用原始函數submit_bio,將原本要寫入offset位置的內容,寫到offset2位置,完成寫請求;步驟S06:讀寫硬盤指定扇區內容。
2.如權利要求1所述的方法,其特征在于:在步驟S03中,系統發生硬盤讀寫,塊設備層驅動模塊響應submit_bio函數執行設備讀寫請求,內核ftrace框架模塊自動判斷submit_bio函數是否被Hook,沒有Hook則直接讀寫物理設備,如果submit_bio已經被Hook,則會跳轉到內核驅動mreblk.ko中注冊的跟蹤函數new_submit_bio執行。
3.如權利要求1所述的方法,其特征在于:所述硬盤指定扇區,在讀請求或寫請求不是保護扇區的情況下為原始位置;在讀請求或寫請求需要重定向的情況下為映射后的位置。
4.如權利要求1-3任一項權利要求所述的方法,其特征在于:在步驟S04中,判斷offset是不是受保護扇區的判斷方法為:在表格MRE_TABLE中查找,offset是屬于未使用空間內則為扇區不在受保護區間內;offset是屬于已使用空間內,則扇區在受保護區間內。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南京鼎巖信息科技有限公司,未經南京鼎巖信息科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111344516.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:快速大規模人臉識別方法及系統
- 下一篇:光譜重建方法、裝置及電子設備





