[发明专利]一种基于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.vipzhuanli.com/pat/books/202111344516.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:快速大规模人脸识别方法及系统
- 下一篇:光谱重建方法、装置及电子设备





