一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频应用的模糊测试方法、装置、设备及存储介质与流程

2021-10-24 04:53:00 来源:中国专利 TAG:装置 可读 模糊 特别 计算机


1.本技术涉及计算机技术领域,特别涉及一种视频应用的模糊测试方法、装置、设备及可读存储介质。


背景技术:

2.模糊测试(fuzzing)是一种通过向目标系统提供非预期的输入,并监视异常响应来发现软件中不期望有的漏洞的方法。输入的随机数据和不合法数据被称为fuzz,这种输入可以是完全随机的或精心构造的。之后,将监视系统各种异常,如系统崩溃或内置代码失败等,从而发现漏洞。
3.目前,windows10平台下视频应用的漏洞比较难进行模糊测试,普通的视频文件格式(如mp4,avi等)难以测试出新的漏洞。


技术实现要素:

4.本技术的目的是提供一种视频应用的模糊测试方法、装置、设备及可读存储介质,用以解决windows10平台下视频应用难以进行模糊测试的问题。其具体方案如下:
5.第一方面,本技术提供了一种视频应用的模糊测试方法,包括:
6.随机生成av1格式的视频文件;
7.利用windows10平台中的视频应用加载所述视频文件;
8.对所述视频应用进行监测,并在所述视频应用发生错误时生成错误日志;
9.根据所述错误日志,确定所述视频应用的漏洞分析结果,以实现模糊测试。
10.可选的,所述随机生成av1格式的视频文件,包括:
11.利用多媒体视频处理工具的api函数,随机生成av1格式的视频文件。
12.可选的,所述利用多媒体视频处理工具的api函数,随机生成av1格式的视频文件,包括:
13.对目标视频参数进行随机变异;
14.利用多媒体视频处理工具的api函数,根据随机变异结果生成av1格式的视频文件。
15.可选的,所述目标视频参数包括以下任意一项或多项:height,width,format,framerate。
16.可选的,所述利用windows10平台中的视频应用加载所述视频文件,包括:
17.利用windows10平台中的电影和电视应用加载所述视频文件。
18.可选的,所述对所述视频应用进行监测,并在所述视频应用发生错误时生成错误日志,包括:
19.对所述视频应用进行监测,在所述视频应用发生错误时,记录所述视频应用产生的错误数据以及导致所述视频应用发生错误的视频文件,以作为所述视频应用的错误日志。
20.可选的,所述对所述视频应用进行监测,在所述视频应用发生错误时,记录所述视频应用产生的错误数据以及导致所述视频应用发生错误的视频文件,包括:
21.在所述视频应用加载所述视频文件的过程中,判断错误收集进程是否出现在进程列表中;
22.若是,则判断所述视频应用发生错误,确定所述错误收集进程存放错误数据的目标目录,并将导致所述视频应用发生错误的视频文件存储至所述目标目录。
23.第二方面,本技术提供了一种视频应用的模糊测试装置,包括:
24.文件生成模块,用于随机生成av1格式的视频文件;
25.视频加载模块,用于利用windows10平台中的视频应用加载所述视频文件;
26.监测模块,用于对所述视频应用进行监测,并在所述视频应用发生错误时生成错误日志;
27.漏洞分析模块,用于根据所述错误日志,确定所述视频应用的漏洞分析结果,以实现模糊测试。
28.第三方面,本技术提供了一种视频应用的模糊测试设备,包括:
29.存储器:用于存储计算机程序;
30.处理器:用于执行所述计算机程序,以实现如上所述的视频应用的模糊测试方法。
31.第四方面,本技术提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上所述的视频应用的模糊测试方法。
32.本技术所提供的一种视频应用的模糊测试方法,包括:随机生成av1格式的视频文件;利用windows10平台中的视频应用加载视频文件;对视频应用进行监测,并在视频应用发生错误时生成错误日志;根据错误日志,确定视频应用的漏洞分析结果,以实现模糊测试。可见,该方法提供了windows10平台下一种新的模糊测试方法,通过随机生成av1格式的视频文件文件,并利用视频应用加载视频文件,在加载过程中监测视频应用,在视频应用发生错误时生成错误日志,以便进一步发现新的视频库漏洞,保证模糊测试的可靠性。
33.此外,本技术还提供了一种视频应用的模糊测试装置、设备及可读存储介质,其技术效果与上述方法的技术效果相对应,这里不再赘述。
附图说明
34.为了更清楚的说明本技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
35.图1为本技术所提供的视频应用的模糊测试方法实施例一的流程图;
36.图2为本技术所提供的视频应用的模糊测试方法实施例二中样本生成过程的示意图;
37.图3为本技术所提供的视频应用的模糊测试方法实施例二中视频加载过程的示意图;
38.图4为本技术所提供的视频应用的模糊测试方法实施例二中监控过程的示意图;
39.图5为本技术所提供的视频应用的模糊测试装置实施例的功能框图;
40.图6为本技术所提供的视频应用的模糊测试设备实施例的结构示意图。
具体实施方式
41.本技术的核心是提供一种视频应用的模糊测试方法、装置、设备及可读存储介质,通过随机生成av1格式的视频文件文件,并利用视频应用加载视频文件,在加载过程中监测视频应用,以发现新的视频库漏洞,保证模糊测试的可靠性。
42.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.下面对本技术提供的视频应用的模糊测试方法实施例一进行介绍,参见图1,实施例一包括:
44.s11、随机生成av1格式的视频文件。
45.作为一种具体的实施方式,借助ffmpeg随机生成av1格式的视频文件,ffmpeg是一种多媒体视频处理工具,有非常强大的功能,包括视频采集功能、视频格式转换、视频抓图、给视频加水印等,ffmpeg中存在用于生成av1格式的视频文件的api函数,通过调用该api函数即可生成av1格式的视频文件。
46.具体的,在生成视频文件之前,对视频文件里的一些视频参数做随机变异,如height,width,format,framerate等参数,对这些参数进行随机值的替换,以保证模糊测试的可靠性。
47.s12、利用windows10平台中的视频应用加载视频文件。
48.上述视频应用具体可以为电影和电视应用。
49.值得一提的是,在模糊测试过程中,s11用于生成一批av1格式的视频文件,而不是单个av1格式的视频文件。相应的,s12的视频加载过程也是视频应用分别加载各个av1格式的视频文件。
50.s13、对视频应用进行监测,并在视频应用发生错误时生成错误日志。
51.上述错误日志具体包括视频应用产生的错误数据,还包括导致视频应用发生错误的视频文件。
52.具体的,通过监测错误收集进程是否出现在进程列表中,判断视频应用是否发生错误。错误收集进程具体指werfault进程,windows10平台中,错误报告服务(wersvc)在后台运行,并监视windows和正在运行的应用程序的状态,每个正在运行的应用程序的错误数据都会自动生成,如果启动应用程序时发生错误,则werfault进程将自动启动并收集错误数据。
53.s14、根据错误日志,确定视频应用的漏洞分析结果,以实现模糊测试。
54.具体可以通过人工挖掘,静态扫描等方式进行漏洞分析,对漏洞分析方式本实施例不做限定。
55.本实施例所提供的视频应用的模糊测试方法,提供了windows10平台下一种新的模糊测试方法,通过随机生成av1格式的视频文件文件,并利用视频应用加载视频文件,在加载过程中监测视频应用,在视频应用发生错误时生成错误日志,以便进一步发现新的视
频库漏洞,保证模糊测试的可靠性。
56.下面开始详细介绍本技术提供的视频应用的模糊测试方法实施例二。
57.实施例二主要包括以下3个部分:
58.第一,样本生成
59.主要是生成av1格式的视频文件,过程如图2所示:调用ffmpeg中用于生成av1格式文件的api函数,生成av1格式的视频文件。在生成之前,对视频文件里的一些视频参数做随机变异,如height,width,format,framerate等参数,对这些参数进行随机值的替换。具体的,对于int类型的参数可以取0x0

0xffffffff,对于byte类型的参数可以取0

0xff范围等,也可以替换一些特殊的整型值,如0x41,0x4141,0x41414141等,然后编译代码,最后执行代码生成视频文件,以作为测试样本。
60.第二,视频加载
61.主要调用电影和电视应用不断的去加载已经生成的av1格式的视频文件,过程如图3所示。
62.第三,监控
63.主要监控werfault进程是否出现。如果出现,则表明电影和电视应用发生错误,对造成电影和电视应用发生错误的av1格式视频文件进行保存,保存到crash目录下,即werfault进程存放错误数据的目录下。如果没有出现,则继续加载下一视频文件。
64.可见,本实施例所提供的视频应用的模糊测试方法,整体实现过程如图4所示,原理是借助ffmpeg生成av1格式的视频文件,然后通过windows10平台下电影和电视应用程序加载视频文件,然后监控werfault进程是否出现在进程列表中,实现模糊测试。
65.下面对本技术提供的视频应用的模糊测试装置实施例进行介绍,下文描述的视频应用的模糊测试装置与上文描述的视频应用的模糊测试方法可相互对应参照。
66.如图5所示,本实施例的视频应用的模糊测试装置,包括:
67.文件生成模块51,用于随机生成av1格式的视频文件;
68.视频加载模块52,用于利用windows10平台中的视频应用加载所述视频文件;
69.监测模块53,用于对所述视频应用进行监测,并在所述视频应用发生错误时生成错误日志;
70.漏洞分析模块54,用于根据所述错误日志,确定所述视频应用的漏洞分析结果,以实现模糊测试。
71.本实施例的视频应用的模糊测试装置用于实现前述的视频应用的模糊测试方法,因此该装置的具体实施方式可见前文中的视频应用的模糊测试方法的实施例部分,例如,文件生成模块51,视频加载模块52,监测模块53,漏洞分析模块54,分别用于实现上述视频应用的模糊测试方法中步骤s11,s12,s13,s14。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。
72.另外,由于本实施例的视频应用的模糊测试装置用于实现前述的视频应用的模糊测试方法,因此其作用与上述方法的作用相对应,这里不再赘述。
73.此外,本技术还提供了一种视频应用的模糊测试设备,如图6所示,包括:
74.存储器100:用于存储计算机程序;
75.处理器200:用于执行所述计算机程序,以实现如上文所述的视频应用的模糊测试
方法。
76.最后,本技术提供了一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时用于实现如上文所述的视频应用的模糊测试方法。
77.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
78.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd

rom、或技术领域内所公知的任意其它形式的存储介质中。
79.以上对本技术所提供的方案进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜