[发明专利]一种Fuzz测试中的程序流跟踪方法及装置有效

专利信息
申请号: 201610082897.6 申请日: 2016-02-05
公开(公告)号: CN107045474B 公开(公告)日: 2020-12-04
发明(设计)人: 朱东海 申请(专利权)人: 阿里巴巴集团控股有限公司
主分类号: G06F11/36 分类号: G06F11/36;G06F11/34
代理公司: 北京同达信恒知识产权代理有限公司 11291 代理人: 朱佳
地址: 英属开曼群岛大开曼*** 国省代码: 暂无信息
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 fuzz 测试 中的 程序 跟踪 方法 装置
【权利要求书】:

1.一种Fuzz测试中的程序流跟踪方法,其特征在于,包括:

生成一个测试样本,并启动一个监视进程;

通过预先配置的应用程序编程接口API调用中央处理器CPU,基于当前启动的一个监视进程,采用相应的一个测试样本对待测试程序进行测试;

记录测试过程中产生的程序流。

2.如权利要求1所述的方法,其特征在于,生成一个测试样本之前,进一步包括:

判断本地是否设置有能够调用CPU完成程序流跟踪功能的API,确定存在时,判定本地的CPU支持程序流跟踪功能。

3.如权利要求1或2所述的方法,其特征在于,记录测试过程中产生的程序流,包括:

将测试过程中产生的程序流保存至缓存区,每当确定缓存区已满时,将缓存区中当前保存的程序流保存至指定的存储位置,并清空缓存区,以及继续在缓存区中记录后续产生的程序流。

4.如权利要求1或2所述的方法,其特征在于,进一步包括:

监测到当前启动的一个监视进程退出时,确定相应的一个测试样本执行完毕;

提取执行所述一个测试样本的过程中,CPU跟踪并记录的程序流;

对提取的程序流进行分析,根据分析结果判定待测试程序发生异常时,进行告警。

5.如权利要求4所述的方法,其特征在于,进一步包括:

确定一个测试样本执行完毕且对相应的程序流进行分析后,根据分析结果判断是否存在新的代码分支,若是,则保存所述一个测试样本,否则,丢弃所述一个测试样本。

6.如权利要求5所述的方法,其特征在于,进一步包括:

若保存所述一个测试样本,则基于所述一个测试样本,生成一个新的测试样本,以及启动一个新的监测进程,并通过所述API调度CPU,基于所述一个新的监测进程,采用所述一个新的测试样本继续对所述待测试程序进行测试,以及记录测试过程中产生的程序流;

若丢弃所述一个测试样本,则根据指令重新生成一个新的测试样本,以及启动一个新的监测进程,并通过所述API调度CPU,基于所述一个新的监测进程,采用所述一个新的测试样本继续对所述待测试程序进行测试,以及记录测试过程中产生的程序流。

7.一种Fuzz测试中的程序流跟踪装置,其特征在于,包括:

生成单元,用于生成一个测试样本,并启动一个监视进程;

处理单元,用于通过预先配置的应用程序编程接口API调用中央处理器CPU,基于当前启动的一个监视进程,采用相应的一个测试样本对待测试程序进行测试;

记录单元,用于记录测试过程中产生的程序流。

8.如权利要求7所述的装置,其特征在于,生成一个测试样本之前,所述生成单元进一步用于:

判断本地是否设置有能够调用CPU完成程序流跟踪功能的API,确定存在时,判定本地的CPU支持程序流跟踪功能。

9.如权利要求7或8所述的装置,其特征在于,记录测试过程中产生的程序流时,所述记录单元用于:

将测试过程中产生的程序流保存至缓存区,每当确定缓存区已满时,将缓存区中当前保存的程序流保存至指定的存储位置,并清空缓存区,以及继续在缓存区中记录后续产生的程序流。

10.如权利要求7或8所述的装置,其特征在于,所述处理单元进一步包括:

监测到当前启动的一个监视进程退出时,确定相应的一个测试样本执行完毕;

提取执行所述一个测试样本的过程中,CPU跟踪并记录的程序流;

对提取的程序流进行分析,根据分析结果判定待测试程序发生异常时,进行告警。

11.如权利要求10所述的装置,其特征在于,所述处理单元进一步用于:

确定一个测试样本执行完毕且对相应的程序流进行分析后,根据分析结果判断是否存在新的代码分支,若是,则保存所述一个测试样本,否则,丢弃所述一个测试样本。

12.如权利要求11所述的装置,其特征在于,若保存所述一个测试样本,则所述生成单元进一步用于:

基于所述一个测试样本,生成一个新的测试样本,以及启动一个新的监测进程;

所述处理单元进一步用于:

通过所述API调度CPU,基于所述一个新的监测进程,采用所述一个新的测试样本继续对所述待测试程序进行测试,以及记录测试过程中产生的程序流;

若丢弃所述一个测试样本,则所述生成单元进一步用于:

根据指令重新生成一个新的测试样本,以及启动一个新的监测进程;

所述处理单元进一步用于:

通过所述API调度CPU,基于所述一个新的监测进程,采用所述一个新的测试样本继续对所述待测试程序进行测试,以及记录测试过程中产生的程序流。

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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