[发明专利]基于Xen虚拟化环境的内核级rootkit检测和处理方法有效
申请号: | 201410103002.3 | 申请日: | 2014-03-19 |
公开(公告)号: | CN103886259A | 公开(公告)日: | 2014-06-25 |
发明(设计)人: | 陈兴蜀;任益;张磊;陈林;曾雪梅 | 申请(专利权)人: | 四川大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 成都信博专利代理有限责任公司 51200 | 代理人: | 卓仲阳 |
地址: | 610065 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 xen 虚拟 环境 内核 rootkit 检测 处理 方法 | ||
技术领域
本发明涉及云计算平台上的恶意软件检测和处理技术领域,具体来讲是一种基于Xen虚拟化环境的内核级rootkit检测和处理方法。
背景技术
云计算,是继互联网之后业界又一个突破性的发展,它通过Internet以服务的方式提供动态可伸缩的虚拟化资源供用户使用。云计算使资源的利用与信息的共享达到了空前的高度。而与此同时,系统的安全威胁也日益加剧,恶意软件常常对系统造成严重的危害,对用户造成巨大的损失。平台的安全,已成为了用户将资源与服务迁移到云计算平台上的顾虑。
恶意软件在入侵系统后,常常会通过提高自身权限进行非授权操作,同时为了维持对系统的继续控制,会在系统中留有后门,如监听进程和网络连接等。当前,恶意软件更呈现出隐蔽性与伪装性,为安全软件的检测带来了极大的困难,rootkit便是这类恶意软件中危害十分严重的代表。rootkit主要分为两类:用户级rootkit和内核级rootkit,其常见的攻击行为包括隐藏攻击者的恶意进程、文件及网络连接,提供未授权的高级权限、监听、系统日志清除及系统后门等。用户级rootkit存在于操作系统的用户空间层,较易被检测到。内核级rootkit存在于内核空间中,通常以LKM的形式插入内核,与内核拥有同样的特权级,此类rootkit的攻击常常是通过修改内核关键数据实现,隐藏性强,难以被检测,本发明针对内核级rootkit进行检测。
云计算的核心技术是虚拟化技术,由于虚拟机监控器(Virtual Machine Monitor,简称VMM)具有更小的可信计算基、强隔离性、可干涉性及高特权级等优势,虚拟化环境下的rootkit检测已经成为一种重要的恶意软件检测方式。Xen是一个开放源代码虚拟机监控器,由剑桥大学开发。当前基于虚拟化环境下的rootkit检测主要是通过交叉视图的对比,检测系统中隐藏的rootkit,但是由于当前方式中视图获取的异步性,特别是用户视图获取的异步性,常常导致rootkit的误检与漏检。当前的检测方式由于信息有限,往往只能检测出系统中存在有隐藏的rootkit或则存在rootkit数量,但却无法进一步获取rootkit在系统内存中的位置,为后续的处理带来了困难。
发明内容
本发明的目的是提供一种基于Xen虚拟化环境的内核级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函数的劫持,收集被加载内核模块的信息,调用超级调用向安全链表维护模块传递内核模块信息并发起安全链表更新请求;所述被加载内核模块的信息包括内核模块名称与内核模块控制结构体在内存中的位置;
安全链表维护模块检查安全链表更新请求的合法性,如果合法则获取运行时维护模块所传递的内核模块信息并进行安全链表更新操作,如果不合法,则忽略此请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川大学,未经四川大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410103002.3/2.html,转载请声明来源钻瓜专利网。