一种基于模糊测试的云部署自动化漏洞挖掘系统技术方案

技术编号:32973745 阅读:53 留言:0更新日期:2022-04-09 11:46
本发明专利技术提供一种基于模糊测试的云部署自动化漏洞挖掘系统,包括模糊测试接入装置和模糊测试引擎管理装置,其分别用于接收和获取测试配置参数、测试目标程序文件和测试控制指令;模糊测试引擎装置,其用于获取测试目标程序文件进行插桩编译,并根据测试控制指令使用测试配置参数对插桩编译后的程序执行漏洞挖掘测试;模糊测试结果装置,其用于获取出现异常的程序的测试数据,并通过可视化界面向所述测试用户展示;还包括系统资源探针装置,其用于获取集群资源,并上报至所述模糊测试引擎管理装置。本发明专利技术提供的基于模糊测试的云部署自动化漏洞挖掘系统,实现了模糊测试系统的云化部署,节省了测试时间,加快了迭代效率。加快了迭代效率。加快了迭代效率。

【技术实现步骤摘要】
一种基于模糊测试的云部署自动化漏洞挖掘系统


[0001]本专利技术实施例涉及模糊测试
,特别是涉及一种基于模糊测试的云部署自动化漏洞挖掘系统。

技术介绍

[0002]目前的软件测试技术只能够发现识别特定类型的错误和缺陷,是将已经报告出来的CVE(Common Vulnerabilities and Exposures,通用漏洞披露)与当前软件进行匹配,来确诊软件中是否存在“已知型”漏洞。而实际上,市面上被报告出来的“已知”漏洞可能只是全部漏洞的冰山一角,更多隐藏在软件内部的往往是无法预知的“未知”漏洞。所以,即使软件经过严格的传统测试方案的测试,只能确保不出现已知漏洞,仍会面临在投入运行后暴露更多的未知漏洞。
[0003]某些软件测试方法例如动态测试等漏洞挖掘技术数通过测试人员人为模拟黑客恶意入侵的方式对产品进行测试,但这种测试方式非常依赖于人工的启发式操作。一个优秀的测试人员一天能执行的测试用例数量不超过几十个,人工成本很高,应对非常复杂和庞大的系统时也无能为力。
[0004]目前,基于模糊测试的漏洞挖掘软件发展迅速,但现有技术中的模糊测试系统均为单节点独立部署构架,无法根据测试规模、测试环境的需要进行系统的动态横向扩展(Scale out),测试所需时间大大加长,这对于复杂项目来说,需要付出巨大的测试时间成本。而且,现有的测试系统单独作为一个工具独立存在,在开发工作完成后,需要开发人员手动将被测目标导入测试系统进行测试,增加了工作环节,无法做到提交即测试的自动化操作,不利于软件测试环节对测试发现漏洞的持续跟踪和持续改进。
[0005]因此,针对目前软件漏洞挖掘系统的不足,有必要开发一种漏洞挖掘系统,可以解决上述问题。

技术实现思路

[0006]本专利技术提供一种基于模糊测试的云部署自动化漏洞挖掘系统,实现了模糊测试系统的云化部署,节省了测试时间,加快了迭代效率。
[0007]本专利技术实施例提供一种基于模糊测试的云部署自动化漏洞挖掘系统,包括:模糊测试接入装置,其用于接收测试配置参数、测试目标程序文件和测试控制指令,所述测试配置参数由测试用户输入或通过CI/CD工具输入,所述测试配置参数包括所述测试目标程序文件的运行路径、运行参数、初始种子文件,所述测试目标程序文件包括目标程序和编译脚本;
[0008]模糊测试引擎管理装置,其用于和所述模糊测试接入装置交互,所述模糊测试引擎管理装置获取所述模糊测试接入装置中的所述测试配置参数、测试目标程序文件和测试控制指令;
[0009]模糊测试引擎装置,其用于和所述模糊测试引擎管理装置交互,所述模糊测试引
擎装置获取所述测试目标程序文件,所述测试目标程序通过所述编译脚本进行插桩编译后形成插桩目标程序,并根据所述测试控制指令使用所述测试配置参数对所述插桩目标程序执行漏洞挖掘测试,将出现异常的插桩目标程序的测试数据推送给所述模糊测试引擎管理装置;
[0010]模糊测试结果装置,其用于和所述模糊测试引擎管理装置交互,所述模糊测试结果装置用于获取所述出现异常的插桩目标程序的测试数据,并通过可视化界面向所述测试用户展示;
[0011]其中,还包括系统资源探针装置,其用于和所述模糊测试引擎管理装置交互,所述系统资源探针装置实时获取集群资源情况,并上报至所述模糊测试引擎管理装置,所述系统资源情况包括CPU的资源使用情况、内存、硬盘的占用状态、CPU架构以及操作系统信息。
[0012]优选地,所述初始种子文件从种子文件队列中获取,若所述初始种子文件不存在,则自动生成生成一个种子文件;所述模糊测试引擎装置还用于通过变异算法对所述种子文件队列中的种子文件进行数据变异,并通过测试执行结果评估变异后的种子文件的有效性,对评估有效的变异后的种子文件作为样本文件放入所述种子文件队列,作为变异下一个种子文件的基准。
[0013]优选地,所述模糊测试接入装置包括:
[0014]测试接入web单元,其用于为所述测试用户提供输入界面,接收所述测试配置参数、所述测试目标程序文件和所述测试控制指令;
[0015]CI/CD接入单元,其用于为CI/CD工具提供融合接口,所述CI/CD工具向所述CI/CD接入单元推送所述测试配置参数、所述测试目标程序文件和所述测试控制指令;
[0016]指令单元,其用于和所述CI/CD接入单元交互,所述指令单元接收所述测试接入web单元和所述CI/CD接入单元中获取的所述测试控制指令;
[0017]第一存储单元,其用于和所述测试介接入web单元及所述CI/CD接入单元交互,所述第一存储单元接收所述测试接入web单元和所述CI/CD接入单元中获得的所述测试配置参数和所述测试目标程序文件;
[0018]测试目标程序文件存储单元,其用于和所述第一存储单元交互,所述测试目标程序文件存储单元使用文件系统存储所述测试目标程序文件和编译脚本文件;
[0019]测试配置信息数据库,其用于和所述第一存储单元交互,所述测试配置信息数据库使用关系数据库存储所述测试配置参数;
[0020]测试接入接口单元,其用于和所述指令单元、所述第一存储单元及所述模糊测试引擎管理装置交互,将所述测试配置参数、所述测试目标程序文件和所述测试控制指令推送给所模糊测试引擎管理装置,并接收所述模糊测试引擎管理装置的指令反馈。
[0021]优选地,所述模糊测试引擎管理装置包括:
[0022]模糊测试引擎集群调度单元,其用于监控集群资源的使用情况,根据所述测试配置参数选择相应的模糊测试引擎装置并分配运行资源,当所述集群资源不足时,将测试任务推入任务队列,当所述集群资源释放之后自动启动所述测试任务,当所述测试任务完成之后,将所述集群资源回收并为任务队列中的测试任务分配所述集群资源;
[0023]模糊测试引擎运行管理单元,其用于和所述模糊测试引擎集群调度单元交互,向所述模糊测试引擎集群调度单元发送测试配置参数、测试任务状态、所述模糊测试引擎运
行管理单元从所述模糊测试引擎集群调度单元获取测试任务资源分配的状态,对已经分配所述集群资源的测试任务进行管理,控制所述模糊测试引擎装置的启动和暂停;
[0024]测试数据集访问控制单元,其用于和所述模糊测试接入装置交互,所述测试数据集访问控制单元用于获取所述测试目标程序文件和测试引擎快照数据;
[0025]测试引擎接口单元,其用于和所述模糊测试引擎集群调度单元、所述模糊测试引擎运行管理单元、所述测试数据访问控制单元、所述模糊测试引擎装置、所述模糊测试结果装置交互,所述测试引擎接口单元用于向所述模糊测试引擎装置发送所述测试控制指令并获取反馈信息,获取所述测试目标程序文件以及所述测试引擎快照数据,将出现异常的插桩目标程序的测试数据推送给所述模糊测试结果装置。
[0026]优选地,所述模糊测试引擎装置包括:
[0027]模糊测试引擎接口单元,其用于和所述模糊测试引擎管理装置交互,所述模糊测试引擎接口单元获取所述测试配置参数、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于模糊测试的云部署自动化漏洞挖掘系统,其特征在于,包括:模糊测试接入装置,其用于接收测试配置参数、测试目标程序文件和测试控制指令,所述测试配置参数由测试用户输入或通过CI/CD工具输入,所述测试配置参数包括所述测试目标程序文件的运行路径、运行参数、初始种子文件,所述测试目标程序文件包括目标程序和编译脚本;模糊测试引擎管理装置,其用于和所述模糊测试接入装置交互,所述模糊测试引擎管理装置获取所述模糊测试接入装置中的所述测试配置参数、测试目标程序文件和测试控制指令;模糊测试引擎装置,其用于和所述模糊测试引擎管理装置交互,所述模糊测试引擎装置获取所述测试目标程序文件,所述测试目标程序通过所述编译脚本进行插桩编译后形成插桩目标程序,并根据所述测试控制指令使用所述测试配置参数对所述插桩目标程序执行漏洞挖掘测试,将出现异常的插桩目标程序的测试数据推送给所述模糊测试引擎管理装置;模糊测试结果装置,其用于和所述模糊测试引擎管理装置交互,所述模糊测试结果装置用于获取所述出现异常的插桩目标程序的测试数据,并通过可视化界面向所述测试用户展示;其中,还包括系统资源探针装置,其用于和所述模糊测试引擎管理装置交互,所述系统资源探针装置实时获取集群资源,并上报至所述模糊测试引擎管理装置,所述系统资源情况包括CPU的资源使用情况、内存、硬盘的占用状态、CPU架构以及操作系统信息。2.根据权利要求1所述的基于模糊测试的云部署自动化漏洞挖掘系统,其特征在于,所述初始种子文件从种子文件队列中获取,若所述初始种子文件不存在,则自动生成生成一个种子文件;所述模糊测试引擎装置还用于通过变异算法对所述种子文件队列中的种子文件进行数据变异,并通过测试执行结果评估变异后的种子文件的有效性,对评估有效的变异后的种子文件作为样本文件放入所述种子文件队列,作为变异下一个种子文件的基准。3.根据权利要求1所述的基于模糊测试的云部署自动化漏洞挖掘系统,其特征在于,所述模糊测试接入装置包括:测试接入web单元,其用于为所述测试用户提供输入界面,接收所述测试配置参数、所述测试目标程序文件和所述测试控制指令;CI/CD接入单元,其用于为CI/CD工具提供融合接口,所述CI/CD工具向所述CI/CD接入单元推送所述测试配置参数、所述测试目标程序文件和所述测试控制指令;指令单元,其用于和所述CI/CD接入单元交互,所述指令单元接收所述测试接入web单元和所述CI/CD接入单元中获取的所述测试控制指令;第一存储单元,其用于和所述测试介接入web单元及所述CI/CD接入单元交互,所述第一存储单元接收所述测试接入web单元和所述CI/CD接入单元中获得的所述测试配置参数和所述测试目标程序文件;测试目标程序文件存储单元,其用于和所述第一存储单元交互,所述测试目标程序文件存储单元使用文件系统存储所述测试目标程序文件和编译脚本文件;测试配置信息数据库,其用于和所述第一存储单元交互,所述测试配置信息数据库使用关系数据库存储所述测试配置参数;
测试接入接口单元,其用于和所述指令单元、所述第一存储单元及所述模糊测试引擎管理装置交互,将所述测试配置参数、所述测试目标程序文件和所述测试控制指令推送给所模糊测试引擎管理装置,并接收所述模糊测试引擎管理装置的指令反馈。4.根据权利要求1所述的基于模糊测试的云部署自动化漏洞挖掘系统,其特征在于,所述模糊测试引擎管理装置包括:模糊测试引擎集群调度单元,其用于监控所述集群资源的使用情况,根据所述测试配置参数选择相应的模糊测试引擎装置并分配运行资源,当所述集群资源不足时,将测试任务推入任务队列,当所述集群资源释放之后自动启动所述测试任务,当所述测试任务完成之后,将所述集群资源回收并为任务队列中的测试任务分配所述集群资源;模糊测试引擎运行管理单元,其用于和所述模糊测试引擎集群调度单元交互,向所述模糊测试引擎集群调度单元发送测试配置参数、测试任务状态、所述模糊测试引擎运行管理单元从所述模糊测试引擎集群调度单元获取测试任务资源分配的状态,对已经分配所述集群资源的测试任务进行管理,控制所述模糊测试引擎装置的启动和暂停;测试数据集访问控制单元,其用于和所述模糊测试接入装置交互,所述测试数据集访问控制单元用于获取...

【专利技术属性】
技术研发人员:汪毅
申请(专利权)人:上海安般信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1