[发明专利]漏洞检测方法及装置有效
申请号: | 201611046458.6 | 申请日: | 2016-11-23 |
公开(公告)号: | CN107025168B | 公开(公告)日: | 2022-01-07 |
发明(设计)人: | 孙伟超 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F21/57 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 党晓林;李辉 |
地址: | 英属开曼*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 漏洞 检测 方法 装置 | ||
本申请提供了一种漏洞检测方法及装置,该漏洞检测方法包括:对第一操作系统的计算机程序进行漏洞挖掘,获得漏洞挖掘过程中导致所述第一操作系统的计算机程序出现异常的畸形数据;利用所述畸形数据对在第二操作系统的计算机程序进行漏洞检测;其中,所述第一操作系统的计算机程序及第二操作系统的计算机程序由同一待检测源码编译而成。利用本申请,能够快速准确的对不同操作系统的计算机程序进行漏洞挖掘。
技术领域
本申请涉及软件程序测试技术领域,特别涉及一种漏洞检测方法及装置。
背景技术
模糊测试(Fuzz)是一种常见的漏洞检测方法,通过向测试目标发送各种随机构造的畸形数据并观察目标是否存在异常行为,然后分析这些异常行为的详细信息以进一步判断是否存在漏洞。畸形数据为根据待测试程序中的目标数据随机构造的数据,例如可以为一个字符串模板,或者为一段二进制数据,将该字符串模板或者该段二进制数据按照一定的比例随机地改变其中的若干字节,可以生成一份新的数据,这份新的数据即为畸形数据。
一个Fuzz工具主要有以下几个组成部分:
样本分析模块;
变异模块;
数据发送模块;
目标状态监控模块;
日志模块;
各个模块的主要功能如下:
样本分析模块:对目标程序能够正常处理的一个样本进行分析,主要分析它的结构,为后续对其做随机化的变异做准备。
变异模块:对正常的样本进行随机化的变异,可能是随机修改某个位置的数据为一个随机值,或者交换前后两个比特的数据等。
数据发送模块:主要负责将变异模块产生的畸形数据发送给目标程序。可以是通过网络发送,也可以是本地的直接文件读写。
目标状态监控模块:主要负责监控目标程序所在进程在处理发送过去的畸形数据时是否出现了异常,包括一些内存的异常访问,以及代码执行异常等。
日志模块:用于记录目标程序都发生了哪些异常,以及导致目标程序出现这些异常的畸形数据等。
Fuzz作为一种成熟的漏洞检测方法在PC平台得到了广泛的应用,也有很多成熟切高效稳定的工具可以使用。但是Android作为一个比较年轻的平台,之上的漏洞挖掘处于刚刚起步阶段,Fuzz工具还很少,而很多传统PC平台上的漏洞挖掘工具都无法应用在AndroidARM平台上(如Peach社区版),使得Android ARM平台上的漏洞挖掘无法复用传统PC平台上的工具。具体地,X86平台为传统PC的主要运行平台,使用intel的x86系列处理器,ARM为Android系统的主要运行平台,使用ARM处理器,二者的指令是不兼容的,即编译给x86平台程序不能够运行在ARM平台。
为了进行Android系统的漏洞挖掘,现有技术中通常采用如下方法:
1、直接使用自带支持Fuzz Android系统平台的Fuzz框架。
2、将传统PC平台的Fuzz工具移植到Android平台。
第1种方法的主要问题是默认自带支持Android系统的传统PC平台的Fuzz工具非常少,目前已知只有Peach(商业版)。导致很多其它成熟的PC平台Fuzz工具及其技术无法使用。
第2种方法的主要问题是:
移植时要求对应的Fuzz工具是公开源码的,对于以可执行文件形式分发的Fuzz工具,这种方案无法使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611046458.6/2.html,转载请声明来源钻瓜专利网。