[发明专利]一种基于虚拟机的ROP攻击检测方法及系统有效

专利信息
申请号: 201210075159.0 申请日: 2012-03-20
公开(公告)号: CN102663312A 公开(公告)日: 2012-09-12
发明(设计)人: 贾晓启;王蕊;姜军 申请(专利权)人: 中国科学院信息工程研究所
主分类号: G06F21/20 分类号: G06F21/20;G06F9/455
代理公司: 北京君尚知识产权代理事务所(普通合伙) 11200 代理人: 余长江
地址: 100029 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 虚拟机 rop 攻击 检测 方法 系统
【权利要求书】:

1.一种基于虚拟机的ROP攻击检测方法,其步骤为:

1)将待保护的操作系统运行在虚拟机提供的虚拟域环境中;

2)利用定位程序定位设定的目标进程,获取目标进程的进程信息;

3)修改该虚拟机的进程上下文切换事件处理程序,监控该系统中进程运行,当上下文切换到目标进程时,将当前目标进程的堆栈标记为只读;

4)修改该虚拟机的内存页面错误事件处理程序,拦截当内存页面错误引发自对一个可写堆栈内存区域标记为只读后发生的写操作,并将相应堆栈页面标记为可写;

5)定位当前目标进程在执行过程中下一需堆栈检查的地方,在需堆栈检查处设置断点;

6)修改该虚拟机的调试异常事件处理程序,截获断点并检测ROP攻击是否存在;

7)当检测到ROP攻击时,停止当前目标进程;如果没有ROP攻击,则使目标进程继续运行,同时将目标进程的堆栈标记为只读。

2.如权利要求1所述的方法,其特征在于所述定位程序从CPU控制寄存器CR3中定位所述目标进程的进程控制块结构体,从进程控制块结构体中获取目标进程的进程信息。

3.如权利要求1所述的方法,其特征在于修改虚拟机中的上下文切换事件处理程序的方法为:修改结构体CR_ACCESS,使其能够识别出目标进程。

4.如权利要求1所述的方法,其特征在于所述步骤3)中,在拦截的写操作处设置一硬件断点;然后调用断点定位模块,寻找硬件断点的位置并将相应堆栈页面标记为可写。

5.如权利要求1所述的方法,其特征在于所述步骤5)中,通过反汇编定位当前目标进程在执行过程中下一个需要进行堆栈检查的地方并设置断点,即从当前指令寄存器开始的位置反汇编用来查找下一个返回指令或与其作用相同指令,当查找到下一个需要设置断点的位置时,用调试寄存器DR0来保存该断点,并设置调试寄存器DR7以允许这一中断。

6.如权利要求5所述的方法,其特征在于通过识别反汇编结果中的操作码,查找下一个返回指令或与其作用相同指令。

7.如权利要求1所述的方法,其特征在于检测ROP攻击是否存在的方法为:

a)将攻击者可能利用的潜在被攻击库的地址集合设为SPA

b)将堆栈顶的n个堆栈元素数组设为AST;其中,每一个元素为4字节,AST(i)表示数组中第i个元素,则其位置为堆栈顶部-4*(i-1);

c)设在AST数组中的元素属于SPA的个数占AST数组的比例为R(n),则

d)执行堆栈内容检查,如果R(n)的值大于设置门限值,则识别为有ROP攻击。

8.一种基于虚拟机的ROP攻击检测系统,其特征在于包括一虚拟机,所述虚拟机包括事件处理模块、堆栈标记模块、断点定位模块、堆栈检查模块、动态链接库定位模块和攻击隔离模块;其中:

所述事件处理模块,用于修改虚拟机中的事件处理程序实现堆栈写操作拦截和断点中断的拦截,并在对应时刻调用断点定位模块和堆栈检查模块;

所述堆栈标记模块,用于在上下文切换到目标进程时以及进行堆栈检查后,将堆栈标记为只读,从而唤起页面错误致使对于堆栈的写操作能被拦截及处理;

所述断点定位模块,用于定位到需要执行堆栈检查的地方,从而使需要检查堆栈内容的地方之外的指令能够执行;

所述动态链接库定位模块,用于定位目标进程使用的动态链接库的地址范围;

所述堆栈检查模块,用于检测ROP攻击是否存在。

9.如权利要求8所述的系统,其特征在于所述断点定位模块通过反汇编定位当前目标进程在执行过程中下一个需要进行堆栈检查的地方并设置断点,即从当前指令寄存器开始的位置反汇编用来查找下一个返回指令或与其作用相同指令,当查找到下一个需要设置断点的位置时,用调试寄存器DR0来保存该断点,并设置调试寄存器DR7以允许这一中断。

10.如权利要求8所述的系统,其特征在于所述堆栈检查模块中设有一地址集合SPA和一数组AST;所述地址集合SPA用于将攻击者可能利用的潜在被攻击库的地址;所述数组AST用于存储堆栈顶的n个堆栈元素,其中,每一个元素为4字节,AST(i)表示数组中第i个元素,则其位置为堆栈顶部-4*(i-1);所述堆栈检查模块执行堆栈内容检查,如果R(n)的值大于设置门限值,则识别为有ROP攻击;其中,R(n)为AST数组中的元素属于SPA的个数占AST数组的比例。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210075159.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top