[发明专利]基于二进制程序的漏洞挖掘方法及装置在审
申请号: | 201310314639.2 | 申请日: | 2013-07-24 |
公开(公告)号: | CN104346542A | 公开(公告)日: | 2015-02-11 |
发明(设计)人: | 樊兴华 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 苏培华 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 二进制 程序 漏洞 挖掘 方法 装置 | ||
1.一种基于二进制程序的漏洞挖掘方法,其特征在于,包括:
在目标程序执行过程中,确定需要进行镜像的目标点;
暂停所述目标程序的执行,并对所述目标点对应时刻的进程状态进行镜像;
镜像创建完成后,恢复所述目标程序的执行,并通过符号执行求解新的污点数据;
得到新的污点数据后,先利用镜像过程保存的信息对进程空间进行恢复,再利用求解得到的新的污点数据替换原有污点数据后输入到所述目标程序中,以便从所述目标点开始继续迭代执行。
2.根据权利要求1所述的方法,其特征在于,所述目标程序在各种不同路径下运行时,从程序入口点到所述需要进行镜像的目标点的运行轨迹相同。
3.根据权利要求1所述的方法,其特征在于,所述在目标程序执行过程中,确定需要进行镜像的目标点,包括:
在目标程序执行过程中,监控是否存在需关注的污点数据类型被引入,如果是,则将污点数据被引入的时刻确定为需要进行镜像的目标点。
4.根据权利要求1所述的方法,其特征在于,所述在目标程序执行过程中,确定需要进行镜像的目标点,包括:
在目标程序执行过程中,监控是否需要人工干预,如果是,则将人工干预完成后的时刻确定为需要镜像的目标点,以便将人工干预的结果保存到镜像数据中。
5.根据权利要求1所述的方法,其特征在于,所述在目标程序执行过程中,确定需要进行镜像的目标点,包括:
在目标程序执行过程中,监控是否收到特定数据包,如果是,则将收到特定数据包的时候确定为需要进行镜像的目标点,以便将新的污点数据从该目标点导入到所述目标程序中。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述对所述目标点对应时刻的进程状态进行镜像包括:
将当前进程的内存状态镜像到指定文件并进行保存。
7.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
对进程中会使镜像被破坏的操作函数进行钩挂;
所述目标程序恢复执行后,根据所钩挂的函数监控是否发生相应的操作;
如果是,则将所述操作重定向到指定位置,并按照预置的格式进行保存。
8.根据权利要求7所述的方法,其特征在于,还包括:
对进程中执行读取操作的函数进行钩挂;
监控到所述目标程序执行读取操作时,按照读取的偏移信息判断是否属于重定向的数据范围;
如果是,则根据重定向的数据返回读取结果。
9.根据权利要求1至5任一项所述的方法,其特征在于,还包括:
将各种平台的汇编语言翻译至通用的中间语言,以便将符号执行得到的路径约束条件用所述中间语言进行描述。
10.一种基于二进制程序的漏洞挖掘装置,其特征在于,包括:
目标点确定单元,用于在目标程序执行过程中,确定需要进行镜像的目标点;
镜像创建单元,用于暂停所述目标程序的执行,并对所述目标点对应时刻的进程状态进行镜像;
符号执行单元,用于镜像创建完成后,恢复所述目标程序的执行,并通过符号执行求解新的污点数据;
进程恢复单元,用于得到新的污点数据后,先利用镜像过程保存的信息对进程空间进行恢复,再利用求解得到的新的污点数据替换原有污点数据后输入到所述目标程序中,以便从所述目标点开始继续迭代执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310314639.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于光密码的安全控制装置
- 下一篇:网络文本处理方法及装置