CN105589745A - 一种支持非均衡任务分配的动态漏洞挖掘***和方法 - Google Patents
一种支持非均衡任务分配的动态漏洞挖掘***和方法 Download PDFInfo
- Publication number
- CN105589745A CN105589745A CN201510958710.XA CN201510958710A CN105589745A CN 105589745 A CN105589745 A CN 105589745A CN 201510958710 A CN201510958710 A CN 201510958710A CN 105589745 A CN105589745 A CN 105589745A
- Authority
- CN
- China
- Prior art keywords
- client
- subtask
- server end
- lack
- task
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种支持非均衡任务分配的动态漏洞挖掘***和方法,它基于动态漏洞挖掘***集成机理和方法,将***划分成子任务模块,然后设计非均衡任务分配策略,实现子任务的调度。在此动态漏洞挖掘***中,采用分布式思想,服务器端实施非均衡任务分配策略,负责控制协调整个测试过程,客户端则负责执行相应的子任务。本发明在设计分布式***的过程中考虑各个机器性能的不同,依据机器的性能分配不同的子任务,更高效的完成整个测试任务。
Description
技术领域
本发明涉及一种支持非均衡任务分配的动态漏洞挖掘***和方法,属于软件工程和信息安全领域。
背景技术
随着科学技术的快速发展,信息技术得到迅速的普及。由此产生的安全问题也越来越受到人们的重视。漏洞则是威胁软件安全的最重要的因素。检测漏洞的方法主要有静态分析和动态分析,由于商业软件的并不提供源码,动态分析就显得尤其重要了,由此发展起来了很多的动态分析框架。
保障网络***安全的一个重要前提就是,快速全面地挖掘***中的安全漏洞,消除***的安全隐患。国内外出现大量的专业漏洞研究组织,如国内外病毒防范公司、白帽子组织、军方研究组织和政治组织等,还有大量的民间研究组织和爱好者。正是借着所有这些同兴趣者的共同努力,出现了大量有效的漏洞挖掘技术和成熟工具。
现有的漏洞挖掘工具很多,如基于符号执行的可疑代码区域查找工具、基于约束求解的动态污点分析工具以及模糊测试工具,这些工具都是漏洞发现和确认的重要工具。通过分析多种工具间的关联性,对其中间成果进行集成利用,可以形成动态漏洞挖掘***,提高漏洞挖掘的效率。
在现实测试过程中,为了能更快的完成测试任务,提升时间效率,我们可以采用分布式***实现动态污点分析框架。通过建立C/S模式,服务器端负责任务的分配和管理,客户端则执行相应的测试任务,最终将测试结果反馈给服务器端。对于每一个客户端,在收到服务器端分配的测试用例时,都是单独启动线程执行整个测试过程,是一种负载均衡分配的分布式***。但是在现实中,不同的机器拥有不同的性能,我们也需要将这点考虑就去,针对不同性能的机器分配不同的任务,更高效的完成整个测试任务。
发明内容
本发明解决的技术问题:在分布式动态漏洞挖掘***中,一般采用的都是均衡式分布式***,即每台机器分别启动线程执行测试任务,执行过程的负载是相同的。但是现实中不同机器性能不同,包括硬件条件,是否包含被测试程序等条件。因此,本发明提供了一种非均衡任务分配分布式动态漏洞挖掘***和方法,通过将***划分成子任务,并设计非均衡任务分配策略,更高效的完成整个测试任务。
本发明采用的技术方案:本发明中的支持非均衡任务分配的漏洞挖掘***中,首先需要将漏洞挖掘***划分成多个子任务模块,在测试过程中能动态生成子任务,并放到任务池中,然后启动服务器端和客户端,实施非均衡任务分配策略,开始整个测试任务。服务器端负责整个任务的分配和调度,客户端则执行具体的模块完成子任务,并反馈结果,实现非均衡任务分配的效果。
具体来说,本发明采用的技术方案如下:
一种支持非均衡任务分配的动态漏洞挖掘***,包括任务池、服务器端和客户端;所述任务池存放动态漏洞挖掘的若干个子任务,所述服务器端从任务池读取子任务,根据非均衡任务分配调度策略将子任务分配给合适的客户端,实现子任务的分配和调度;所述客户端执行分配到的子任务,并将执行结果反馈给服务器端。
进一步地,所述非均衡任务分配调度策略,是指服务器端根据子任务的特点和客户端机器的性能决定客户端需要执行的子任务,实现子任务的非均衡分布式分配。
进一步地,所述服务器端部署管理模块,负责控制和协调子任务的生成和分配调度过程;所述客户端部署动态污点分析模块、约束求解模块、用例选择模块;所述子任务是在***执行过程中动态生成,分别由所述客户端的各个功能模块完成子任务。
一种采用上述***的支持非均衡任务分配的动态漏洞挖掘方法,其实现步骤如下:
1)开启服务器端,并将客户端连接到服务器端;
2)开始进行动态漏洞挖掘任务,在运行的过程中动态生成子任务,存放到任务池中;
3)服务器端从任务池读取子任务,根据非均衡任务分配调度策略将子任务分配给合适的客户端;
4)客户端在收到相应的子任务时,开启新的线程执行子任务,执行结束之后将结果反馈给服务器端。
本发明与现有技术相比的优点在于:
(1)将漏洞挖掘***划分成子任务模块。本发明在实现非均衡任务分配分布式***时,首先需要划分子任务模块,根据子任务的特点和客户端机器的性能决定客户端需要执行的子任务。通过子任务的划分,使得测试任务可以进行非均衡分布式分配。
(2)制定非均衡任务分配策略。本发明根据实际情况的需要,针对分布式***运行中的特点,制定并实施非均衡任务分配策略,实现依据机器具体性能不同分配相应的测试子任务,更高效的完成整个测试任务。
附图说明
图1为本发明的整体设计实现图;
图2为本发明的非均衡任务分配策略算法图;
图3为本发明的客户端执行分均衡任务分配流程图。
具体实施方式
下面结合说明书附图,对本发明的具体实施方式做详细描述。
图1为本发明的整体设计实现图。本发明基于动态漏洞挖掘***集成机理和方法,设计非均衡任务分配分布式***。首先将***划分成四个功能模块,包括动态污点分析模块、约束求解模块、用例选择模块和管理模块,然后在分布式***中部署实施非均衡任务分配策略。其中,服务器端部署管理模块,负责控制协调整个测试过程,主要包括子任务的生成和分配调度。在管理模块中实现非均衡任务分配策略算法,测试开始后,根据测试任务需要,动态生成子任务并实现子任务的调度,客户端则需要部署另外三个功能模块,负责接收服务器端分配的子任务,并通过调用相应功能模块完成任务。
上述四个功能模块的实现机理及特点如下:
(1)动态污点分析模块:动态污点分析模块的实现是基于动态二进制插桩技术实现的,在运行程序的过程中进行插桩操作,输出输入数据在二进制程序中的传播轨迹。本发明中使用valgrind框架实现这一模块,因此需要运行此模块的主机中安装了valgrind框架和被测试的二进制程序,同时存储了使用的测试用例。
(2)约束求解模块:约束求解模块根据动态污点分析模块得到的输入数据的传播轨迹,提取相应分支点的约束条件集合,进行约束求解操作,从而生成遍历其他分支路径的测试用例。因此运行该模块的主机需要有较好的计算性能。
(3)用例选择模块:经过约束求解模块的计算之后,生成很多新的测试用例,通过用例选择模块为每一个测试用例打分,得分高的测试用例优先执行。该模块的实现也是基于valgrind框架,因此需要相应主机安装valgrind框架和被测试的二进制程序,同时存储了使用的测试用例。
(4)管理模块:主要是协调各个模块之间的交互和进行各模块间输入输出格式的转换。
整个非均衡任务分配分布式漏洞挖掘***的实现步骤如下:
(1)开启服务器端。
(2)客户端连接到服务器端。
(3)开始进行测试任务,***将动态生成的子任务放到任务池中。
(4)服务器端从任务池读取任务,根据非均衡任务分配调度策略将子任务分配给合适的客户端。
(5)客户端在收到相应的测试任务的时候,开启新的线程执行子任务,执行结束之后将结果反馈给服务器端。
本发明的非均衡任务分配策略算法如图2所示,主要描述服务器端子任务生成和分配调度策略。服务器端主要负责管理功能,贯穿整个测试过程中。首先,服务器端需要提供被测试二进制程序和种子测试用例作为输入,启动服务器端。然后,每一个客户端连接到服务器端,同时提供自己的配置信息,包括内存容量,主频等性能因素。最终,服务器端会形成一个已连接的客户端性能列表,分别保存每个客户端的配置信息。开始启动整个测试过程,服务器端主要负责管理模块的功能,需要执行其他任务模块的功能时,服务器端则会根据客户端性能列表寻找合适的客户端分配子任务,并等待接收反馈信息。
本发明的客户端执行非均衡任务分配流程图如图3所示,主要描述客户端与服务器端的交互及子任务的执行过程。客户端在连接到服务端的过程中,需要提供自己的配置信息,然后等待任务的分配。服务器端在所有客户端都连接成功之后开启整个测试任务,向客户端分配子任务,客户端则根据子任务类型执行相应的任务模块,并最终反馈执行结果。
本发明未详细阐述部分属于本领域技术人员的公知技术。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (10)
1.一种支持非均衡任务分配的动态漏洞挖掘***,其特征在于,包括任务池、服务器端和客户端;所述任务池存放动态漏洞挖掘的若干个子任务,所述服务器端从任务池读取子任务,根据非均衡任务分配调度策略将子任务分配给合适的客户端,实现子任务的分配和调度;所述客户端执行分配到的子任务,并将执行结果反馈给服务器端。
2.根据权利要求1所述的支持非均衡任务分配的动态漏洞挖掘***,其特征在于:所述非均衡任务分配调度策略,是指服务器端根据子任务的特点和客户端机器的性能决定客户端需要执行的子任务,实现子任务的非均衡分布式分配。
3.根据权利要求1所述的支持非均衡任务分配的动态漏洞挖掘***,其特征在于:所述服务器端部署管理模块,负责控制和协调子任务的生成和分配调度过程;所述客户端部署动态污点分析模块、约束求解模块、用例选择模块;所述子任务是在***执行过程中动态生成,分别由所述客户端的各个功能模块完成子任务。
4.根据权利要求3所述的支持非均衡任务分配的动态漏洞挖掘***,其特征在于:所述动态污点分析模块基于动态二进制插桩技术实现,在运行程序的过程中进行插桩操作,输出输入数据在二进制程序中的传播轨迹;所述约束求解模块根据动态污点分析模块得到的输入数据的传播轨迹,提取相应分支点的约束条件集合,进行约束求解操作,从而生成遍历其他分支路径的测试用例;所述用例选择模块为每一个测试用例打分,得分高的测试用例优先执行;所述管理模块协调客户端中各个模块之间的交互和进行各模块间输入输出格式的转换。
5.根据权利要求1所述的支持非均衡任务分配的动态漏洞挖掘***,其特征在于:所述服务器端保存一个已连接的客户端性能列表,该客户端性能列表保存每个客户端的配置信息;当外部提供被测试程序和种子测试用例时,开启服务器端,服务器端根据该客户端性能列表寻找合适的客户端分配任务,并接收客户端的反馈信息;所述客户端连接到服务器端之后,将配置信息发送给服务器端,供服务器段形成客户端性能列表。
6.一种采用权利要求1所述***的支持非均衡任务分配的动态漏洞挖掘方法,其特征在于,实现步骤如下:
1)开启服务器端,并将客户端连接到服务器端;
2)开始进行动态漏洞挖掘任务,在运行的过程中动态生成子任务,存放到任务池中;
3)服务器端从任务池读取子任务,根据非均衡任务分配调度策略将子任务分配给合适的客户端;
4)客户端在收到相应的子任务时,开启新的线程执行子任务,执行结束之后将结果反馈给服务器端。
7.根据权利要求6所述的支持非均衡任务分配的动态漏洞挖掘方法,其特征在于:所述非均衡任务分配调度策略,是指服务器端根据子任务的特点和客户端机器的性能决定客户端需要执行的子任务,实现子任务的非均衡分布式分配。
8.根据权利要求6所述的支持非均衡任务分配的动态漏洞挖掘方法,其特征在于:所述服务器端部署管理模块,负责控制和协调子任务的生成和分配调度过程;所述客户端部署动态污点分析模块、约束求解模块、用例选择模块;所述子任务是在***执行过程中动态生成,分别由所述客户端的各个功能模块完成子任务。
9.根据权利要求8所述的支持非均衡任务分配的动态漏洞挖掘方法,其特征在于:所述动态污点分析模块基于动态二进制插桩技术实现,在运行程序的过程中进行插桩操作,输出输入数据在二进制程序中的传播轨迹;所述约束求解模块根据动态污点分析模块得到的输入数据的传播轨迹,提取相应分支点的约束条件集合,进行约束求解操作,从而生成遍历其他分支路径的测试用例;所述用例选择模块为每一个测试用例打分,得分高的测试用例优先执行;所述管理模块协调客户端中各个模块之间的交互和进行各模块间输入输出格式的转换。
10.根据权利要求6所述的支持非均衡任务分配的动态漏洞挖掘方法,其特征在于:所述服务器端保存一个已连接的客户端性能列表,该客户端性能列表保存每个客户端的配置信息;当外部提供被测试程序和种子测试用例时,开启服务器端,服务器端根据该客户端性能列表寻找合适的客户端分配任务,并接收客户端的反馈信息;所述客户端连接到服务器端之后,将配置信息发送给服务器端,供服务器段形成客户端性能列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510958710.XA CN105589745A (zh) | 2015-12-18 | 2015-12-18 | 一种支持非均衡任务分配的动态漏洞挖掘***和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510958710.XA CN105589745A (zh) | 2015-12-18 | 2015-12-18 | 一种支持非均衡任务分配的动态漏洞挖掘***和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105589745A true CN105589745A (zh) | 2016-05-18 |
Family
ID=55929347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510958710.XA Pending CN105589745A (zh) | 2015-12-18 | 2015-12-18 | 一种支持非均衡任务分配的动态漏洞挖掘***和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105589745A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108427882A (zh) * | 2018-03-13 | 2018-08-21 | 南京邮电大学 | 基于行为特征抽取的安卓软件动态分析检测法 |
CN109120679A (zh) * | 2018-07-27 | 2019-01-01 | 平安科技(深圳)有限公司 | 任务分配方法及装置 |
CN111818071A (zh) * | 2020-07-15 | 2020-10-23 | 国家计算机网络与信息安全管理中心 | 一种车辆污点分析方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279385A (zh) * | 2013-06-01 | 2013-09-04 | 北京华胜天成科技股份有限公司 | 一种云计算环境中集群任务调度方法及*** |
CN103870334A (zh) * | 2012-12-18 | 2014-06-18 | ***通信集团公司 | 一种大规模漏洞扫描的任务分配方法及装置 |
CN104243617A (zh) * | 2014-10-14 | 2014-12-24 | 中国科学院信息工程研究所 | 一种异构集群中面向混合负载的任务调度方法及*** |
CN104598383A (zh) * | 2015-02-06 | 2015-05-06 | 中国科学院软件研究所 | 一种基于模式的动态漏洞挖掘集成***和方法 |
-
2015
- 2015-12-18 CN CN201510958710.XA patent/CN105589745A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870334A (zh) * | 2012-12-18 | 2014-06-18 | ***通信集团公司 | 一种大规模漏洞扫描的任务分配方法及装置 |
CN103279385A (zh) * | 2013-06-01 | 2013-09-04 | 北京华胜天成科技股份有限公司 | 一种云计算环境中集群任务调度方法及*** |
CN104243617A (zh) * | 2014-10-14 | 2014-12-24 | 中国科学院信息工程研究所 | 一种异构集群中面向混合负载的任务调度方法及*** |
CN104598383A (zh) * | 2015-02-06 | 2015-05-06 | 中国科学院软件研究所 | 一种基于模式的动态漏洞挖掘集成***和方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108427882A (zh) * | 2018-03-13 | 2018-08-21 | 南京邮电大学 | 基于行为特征抽取的安卓软件动态分析检测法 |
CN108427882B (zh) * | 2018-03-13 | 2022-06-17 | 南京邮电大学 | 基于行为特征抽取的安卓软件动态分析检测法 |
CN109120679A (zh) * | 2018-07-27 | 2019-01-01 | 平安科技(深圳)有限公司 | 任务分配方法及装置 |
CN111818071A (zh) * | 2020-07-15 | 2020-10-23 | 国家计算机网络与信息安全管理中心 | 一种车辆污点分析方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | User-priority guided Min-Min scheduling algorithm for load balancing in cloud computing | |
Buyya | CloudAnalyst: A CloudSim-based tool for modelling and analysis of large scale cloud computing environments | |
CN101645036B (zh) | 基于测试执行机能力度的测试任务自动分配方法 | |
CN107087019A (zh) | 一种端云协同计算架构及任务调度装置及方法 | |
CN105589745A (zh) | 一种支持非均衡任务分配的动态漏洞挖掘***和方法 | |
ATE480935T1 (de) | Verfahren und system zum verwalten von operationen an ressourcen eines verteilten netzwerks insbesondere eines kommunikationsnetzes und entsprechendes computerprogrammprodukt | |
CN112016703B (zh) | 一种机器学习算法的转换***、方法及电子设备 | |
CN102810184A (zh) | 一种动态执行工作流的方法、装置及企业*** | |
CN110187960A (zh) | 一种分布式资源调度方法及装置 | |
CN108399104A (zh) | 一种基于Multi-Agent的弹性可伸缩的任务规划***及方法 | |
CN106357473B (zh) | 分布式多机***、控制方法及控制装置 | |
CN103023980A (zh) | 一种云平台处理用户服务请求的方法和*** | |
CN105094984A (zh) | 资源调度的方法及*** | |
CN105450684A (zh) | 云计算资源调度方法和*** | |
CN104156269A (zh) | 一种基于时间自动机的软硬件最优划分的可视化方法 | |
CN104009904B (zh) | 面向云平台大数据处理的虚拟网络构建方法及*** | |
Shbair et al. | Blockzoom: Large-scale blockchain testbed | |
Hsiao et al. | A usage-aware scheduler for improving MapReduce performance in heterogeneous environments | |
Zhao et al. | Job scheduling for acceleration systems in cloud computing | |
Cherkasova et al. | Optimizing Grid Site Manager Performance with Virtual Machines. | |
Xue | A task parallel processing technology for robot process automation | |
CN104572304B (zh) | 智能均衡的集群渲染任务维管方法 | |
Zeng et al. | A Novel Construction Technology of Enterprise Business Deployment Architecture Based on Containerized Microservice | |
Alecu | Performance analysis of parallel algorithms | |
Leangsuksun et al. | Designs and experiments on heterogeneous mapping heuristics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160518 |
|
RJ01 | Rejection of invention patent application after publication |