[发明专利]基于Xen虚拟化环境的内核级rootkit检测和处理方法有效
申请号: | 201410103002.3 | 申请日: | 2014-03-19 |
公开(公告)号: | CN103886259A | 公开(公告)日: | 2014-06-25 |
发明(设计)人: | 陈兴蜀;任益;张磊;陈林;曾雪梅 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 成都信博专利代理有限责任公司 51200 | 代理人: | 卓仲阳 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 基于Xen虚拟化环境的内核级rootkit检测和处理方法,所述Xen虚拟化环境包括管理域、虚拟机监控器和半虚拟化的客户机;管理域包括控制模块,虚拟机监控器包括安全链表维护模块、检测模块和敏感信息备份模块,客户机包括运行时维护模块和rootkit处理模块。还包括客户机启动过程中敏感信息备份、内核模块加载时安全链表更新、内核模块加载成功后交叉对比检测rootkit、内核敏感信息攻击性检测和在管理域对客户机中的rootkit进行处理的步骤。本发明同步构建用户视图并与内核视图和虚拟机监控器层视图进行交叉对比,避免误检与漏检;准确地提供内核态rootkit的数量与其在内存中的位置并对检测到的rootkit的攻击行为及时恢复避免扩散;还提供了在管理域统一处理检测到的内核态rootkit的方法。 | ||
搜索关键词: | 基于 xen 虚拟 环境 内核 rootkit 检测 处理 方法 | ||
【主权项】:
一种基于Xen虚拟化环境的内核级rootkit检测和处理方法,所述Xen虚拟化环境包括管理域、虚拟机监控器和半虚拟化的客户机,其特征在于,管理域包括控制模块,虚拟机监控器包括安全链表维护模块、检测模块和敏感信息备份模块,半虚拟化的客户机包括运行时维护模块和rootkit处理模块;还包括步骤1:在客户机启动过程中,内核敏感数据初始化完成,没有用户进程运行和内核模块加载时,敏感信息备份模块对内核中的敏感信息进行备份,包括客户机初始化时,客户机发起超级调用HYVERVISOR_set_trap_table向虚拟机监控器注册虚拟机中断描述符表;虚拟机监控器调用do_set_trap_table函数进行虚拟机中断描述符表注册;在do_set_trap_table函数中,添加敏感信息备份模块,敏感信息备份模块通过copy_from_guest函数读取内核敏感信息,对内核中的敏感信息进行备份;所述内核中的敏感信息包括系统调用表、中断描述表、系统调用处理例程头部和敏感系统调用头部;步骤2:客户机内核模块通过应用层工具进行加载时,运行时维护模块收集正在被加载内核模块的信息,进行安全链表更新操作,包括应用程序进行内核模块加载,触发内核的sys_init_module系统调用,在sys_init_module函数进一步调用load_module函数进行模块加载,运行时维护模块通过对sys_init_module函数与load_module函数的劫持,收集被加载内核模块的信息,调用超级调用向安全链表维护模块传递内核模块信息并发起安全链表更新请求;所述被加载内核模块的信息包括内核模块名称与内核模块控制结构体在内存中的位置;安全链表维护模块检查安全链表更新请求的合法性,如果合法则获取运行时维护模块所传递的内核模块信息并进行安全链表更新操作,如果不合法,则忽略此请求;步骤3:客户机内核模块加载成功后,运行时维护模块同步建立用户视图,并收集用户视图和内核视图信息,触发超级调用,陷入虚拟机监控器,与安全链表提供的安全链表视图交叉对比进行rootkit检测,包括运行时维护模块通过call_usermodehelper调用用户态程序lsmod产生用户态视图文件;运行时维护模块根据用户态视图文件在内核中分配内存,重构用户视图Vu;运行时维护模块收集用户视图Vu和内核视图Vk的信息,触发超级调用向检测模块发起检测请求;检测模块进行隐藏性检测,如果存在内核模块E,其出现在Vk中却不在Vu中,则E为rootkit,查询安全链表中E的信息,记录到检测记录中;如果存在内核模块e,其出现在安全链表视图Vs中却不在Vk中,则e为rootkit,将e的信息记录到检测记录中;步骤4:检测模块进行内核敏感信息攻击性检测,包括检测模块读取客户机当前的IDT表信息,与虚拟机监控器中的敏感信息备份进行对比,查看客户机的IDT表内容是否被篡改;如果被篡改,则当前所加载内核模块为rootkit,检测模块恢复被篡改的内容并记录下此rootkit具体的攻击到检测记录中;检测模块检测系统调用处理例程的头部是否被篡改,检测系统调用处理例程中call指令后的系统调用表地址是否被篡改;如果被篡改则当前所加载内核模块为rootkit,检测模块恢复被篡改的内容并记录下此rootkit具体的攻击到检测记录中;检测模块检测敏感系统调用的头部是否被篡改,以及其在系统调用表中的地址是否正确;如果被篡改则当前所加载内核模块为rootkit,检测模块恢复被篡改的内容并记录下此rootkit具体的攻击到检测记录中;步骤5:在管理域对客户机中的rootkit进行处理,包括通过控制模块,查看虚拟机监控器中的检测记录,获取到客户机当前遭受rootkit攻击的情况,根据攻击情况,发出出信息恢复或rootkit卸载的处理命令;控制模块通过通信区域传递处理命令;rootkit处理模块监控通信区域的变化,当新的命令到达时,rootkit处理模块获取命令,分析命令,根据命令对rootkit进行处理,包括rootkit信息恢复:通过读取安全链表中的信息,在客户机内核中将rootkit缺失的链表信息进行恢复;以及rootkit卸载:利用客户机中的应用层工具实现对rootkit的卸载。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410103002.3/,转载请声明来源钻瓜专利网。