System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及漏洞挖掘,尤其是涉及一种非侵入式的并行模糊测试方法及装置。
技术介绍
1、模糊测试是一种安全测试技术,是目前软件漏洞挖掘中最有效的方法之一。传统的模糊测试可分为2类:1)基于生成的模糊测试;2)基于形变的模糊测试。基于生成的技术是指直接生成待测用例,它需要对被测软件的输入文件格式有很好的理解;基于形变的技术则是在原有的合法测试用例基础上生成新的测试用例,该技术通过改变原有输入文件中的不同部分来生成新的测试用例,所以需要有一个合法有效的输入作为种子输入。
2、也就是说,模糊测试是根据一定的规则自动化或半自动化地生成随机输入提供给测试程序,并监视程序的异常行为来发现软件漏洞。除了监视程序的崩溃外,模糊测试通常使用插桩的方法,向程序中插入异常行为检查的代码。对于开源的软件,模糊测试工具可以向源代码插桩并编译;对于闭源的软件,可以对二进制文件进行反汇编然后再进行插桩。
3、然而,对于无法进行固件提取的封闭式系统,由于无法获取足够的程序信息,因此传统的模糊测试无法有效地进行测试。此外,传统的模糊测试只使用一个处理器,其资源利用率不高,效率也比较低。
技术实现思路
1、本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种非侵入式的并行模糊测试方法及装置,能够针对封闭式系统进行有效的模糊测试,提高模糊测试效率。
2、本专利技术的目的可以通过以下技术方案来实现:一种非侵入式的并行模糊测试方法,包括以下步骤:
3、s1、从封闭式系
4、s2、针对提取的指令信息进行解码处理,得到解码信息;
5、s3、根据解码信息,分别重构控制流和数据流;
6、s4、针对重构后的控制流和数据流,进行并行模糊测试。
7、进一步地,所述步骤s1的具体过程为:
8、对封闭式系统进行指令追踪,收集封闭式系统指令轨迹信息,并以etm数据包的形式进行传输。
9、进一步地,所述步骤s2具体包括以下步骤:
10、s21、针对收集的轨迹信息进行过滤处理;
11、s22、针对过滤后的etm数据包进行解码处理,从中提取出封闭式系统指令信息,即得到解码信息。
12、进一步地,所述步骤s21中过滤处理包括基于地址的过滤和基于时间的过滤。
13、进一步地,所述步骤s3具体是利用解码信息中包含的指令分支信息,以对指令流进行重构,进而对程序运行时的控制流和数据流进行重构。
14、进一步地,所述指令分支信息包括条件分支、直接分支、间接分支。
15、进一步地,所述步骤s4中并行模糊测试具体是利用数据库存储同步信息,并通过一种以数据库为中心的架构来实现模糊测试结点之间的通信。
16、一种非侵入式的并行模糊测试装置,包括调试设备和计算机,所述调试设备用于对封闭式系统进行指令追踪以及指令收集,并将收集的指令轨迹信息传输给计算机;所述计算机用于对收集的指令轨迹信息进行过滤和解码操作,并重构出控制流和数据流后进行并行模糊测试。
17、进一步地,所述封闭式系统位于nxp主板上。
18、进一步地,所述调试设备具体为j-trace pro仿真器。
19、与现有技术相比,本专利技术具有以下优点:
20、本专利技术首先从封闭式系统中提取程序运行时的指令信息,再针对提取的指令信息进行解码处理,得到解码信息,之后根据解码信息,分别重构控制流和数据流,最后针对重构后的控制流和数据流,进行并行模糊测试。由此实现一种非侵入式的并行模糊测试方案,采用非侵入式的程序运行信息获取与分析,实现了对封闭式系统的模糊测试,提高了封闭系统模糊测试的有效性;同时,还采用并行计算的方法,实现分布式的并行模糊测试,提高了模糊测试的效率。
21、本专利技术针对收集的指令轨迹信息进行过滤处理,其中,基于地址的过滤能够让后续模糊测试专注于测试特定区域的代码,而基于事件的过滤则能够让模糊测试对特定的操作(如内存操作)进行专注的测试,提高模糊测试的可靠性。
22、本专利技术中,并行模糊测试利用数据库存储同步信息,通过以数据库为中心的架构实现模糊测试结点之间的通信,能够提高模糊测试效率,并且模糊测试能够利用程序运行信息分析所重构的控制流和数据流信息,以对模糊测试引擎进行优化,进一步提高模糊测试的准确性。
本文档来自技高网...【技术保护点】
1.一种非侵入式的并行模糊测试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤S1的具体过程为:
3.根据权利要求2所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤S2具体包括以下步骤:
4.根据权利要求3所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤S21中过滤处理包括基于地址的过滤和基于时间的过滤。
5.根据权利要求3所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤S3具体是利用解码信息中包含的指令分支信息,以对指令流进行重构,进而对程序运行时的控制流和数据流进行重构。
6.根据权利要求5所述的一种非侵入式的并行模糊测试方法,其特征在于,所述指令分支信息包括条件分支、直接分支、间接分支。
7.根据权利要求1所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤S4中并行模糊测试具体是利用数据库存储同步信息,并通过一种以数据库为中心的架构来实现模糊测试结点之间的通信。
8.一种非侵入式的并行模糊测试
9.根据权利要求8所述的一种非侵入式的并行模糊测试装置,其特征在于,所述封闭式系统位于NXP主板上。
10.根据权利要求8所述的一种非侵入式的并行模糊测试装置,其特征在于,所述调试设备具体为J-Trace Pro仿真器。
...【技术特征摘要】
1.一种非侵入式的并行模糊测试方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤s1的具体过程为:
3.根据权利要求2所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤s2具体包括以下步骤:
4.根据权利要求3所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤s21中过滤处理包括基于地址的过滤和基于时间的过滤。
5.根据权利要求3所述的一种非侵入式的并行模糊测试方法,其特征在于,所述步骤s3具体是利用解码信息中包含的指令分支信息,以对指令流进行重构,进而对程序运行时的控制流和数据流进行重构。
6.根据权利要求5所述的一种非侵入式的并行模糊测试方法,其特征在于,所述指令分支信息包括条件分支、直接分支、间接分支。
...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。