[发明专利]一种rootkit检测方法、装置及服务器有效
申请号: | 201810706457.2 | 申请日: | 2018-06-30 |
公开(公告)号: | CN108959915B | 公开(公告)日: | 2022-07-22 |
发明(设计)人: | 郑彪 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/56;G06F21/57 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 rootkit 检测 方法 装置 服务器 | ||
1.一种恶意软件rootkit检测方法,其特征在于,该方法应用于linux系统,所述linux系统包括预先备份有系统调用表和比较程序的安全备份区,所述linux系统分为用户态ring3态和内核态ring0态,包括:
在检测到所述linux系统运行时,加载预先部署在所述linux系统中的内核模块;
在检测到所述内核模块加载完成的情况下,触发所述内核模块中的获取程序获取所述ring0态中的当前系统调用表;
从所述安全备份区获取预先备份的所述系统调用表,并获取所述ring3态中的比较程序,以及所述安全备份区中预先备份的所述比较程序;
比较所述ring3态中的比较程序和所述安全备份区中的比较程序是否一致;
若所述ring3态中的比较程序和所述安全备份区中的比较程序不一致,确定所述ring3态中的比较程序被篡改;
若所述ring3态中的比较程序和所述安全备份区中的比较程序一致,调用所述ring3态中的比较程序确定所述安全备份区中预先备份的所述系统调用表与获取的所述当前系统调用表是否一致;
若预先备份的所述系统调用表与获取的所述当前系统调用表不一致,则确定所述linux系统的所述ring0态被rootkit攻击。
2.根据权利要求1所述的方法,其特征在于,所述确定所述linux系统的所述ring0态被rootkit攻击之后,所述方法还包括:
确定所述ring0态中的所述当前系统调用表的内存地址;
根据所述内存地址查找到所述当前系统调用表,并利用所述预先备份的所述系统调用表替换所述当前系统调用表。
3.根据权利要求2所述的方法,其特征在于,所述确定所述ring0态中的所述当前系统调用表的内存地址,包括:
获取所述linux系统中的系统调用表地址文件,所述文件记录了所述ring0态中的所述当前系统调用表的内存地址与预先备份的所述系统调用表的映射关系;
根据所述映射关系和所述预先备份的所述系统调用表,从所述系统调用表地址文件中确定出所述当前系统调用表的内存地址。
4.根据权利要求2所述的方法,其特征在于,所述确定所述ring0态的所述当前系统调用表的内存地址,包括:
获取所述linux系统中的中断描述符表IDT,并根据所述IDT确定出中断int0×80的入口点;
将从所述入口点往后移三个字节所在的地址确定为所述ring0态中的所述当前系统调用表的内存地址。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述加载预先部署在所述linux系统中的内核模块,包括:
调用所述linux系统的驱动程序启动加载过程;
在所述加载过程启动后,调用模块加载函数将预先部署的内核模块嵌入所述ring0态。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述确定所述安全备份区中预先备份的所述系统调用表与获取的所述当前系统调用表不一致后,所述方法还包括:
获取所述当前系统调用表的函数地址,并输出告警信息,所述告警信息用于提示用户位于所述函数地址的所述当前系统调用表已被篡改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810706457.2/1.html,转载请声明来源钻瓜专利网。