发明名称 一种基于QEMU的内核级代码重用型攻击检测方法
摘要 本发明公开了一种基于QEMU的内核级代码重用型攻击检测方法,主要解决现有技术依赖硬件或需要修改内核源代码的问题。它通过对QEMU虚拟机管理器的功能模块进行扩展,遍历检测运行在其上的操作系统内核中的每一条指令,从中识别出与控制流程相关的跳转指令,包括ret和间接call指令,通过记录它们的跳转目标地址,然后将这些目标地址与系统正常执行流程中的合法目标地址进行对比来检测系统是否正常执行;同时,它对中断发生时压入栈中的中断返回地址和中断实际返回时使用的返回地址进行对比验证,以判断是否发生了攻击。本发明针对代码重用型攻击均需要改变系统原有执行流程的特点,通过对改变内核执行流程的指令(和地点)进行监测,能有效发现攻击,可用于保护操作系统的安全。
申请公布号 CN105260659A 申请公布日期 2016.01.20
申请号 CN201510574168.8 申请日期 2015.09.10
申请人 西安电子科技大学 发明人 李金库;程坤;孙聪;卢笛;姚青松;马建峰
分类号 G06F21/56(2013.01)I 主分类号 G06F21/56(2013.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 徐文权
主权项 一种基于QEMU的内核级代码重用型攻击检测方法,其特征在于,包括以下步骤:1)预处理1.1)创建一个空的临时文件temp_file,并将操作系统内核镜像文件中的内容输出到临时文件temp_file中;1.2)创建一个记录内核中函数入口地址的文件func_addr_file,从temp_file文件中依次取得内核所有函数的入口地址,并将这些地址写入func_addr_file文件中;1.3)创建一个记录内核中函数返回地址的文件ret_addr_file,从temp_file文件中依次取得系统中所有有效的函数返回地址,并将这些地址写入ret_addr_file文件中;2)基于QEMU的跳转指令目标地址的记录和中断流程验证3)跳转指令目标地址验证在指令翻译的同时,对QEMU记录的跳转指令的目标地址进行验证,检测是否发生了攻击。
地址 710065 陕西省西安市雁塔区太白南路2号