CN113407945A - 一种基于人机协同的规模化Fuzzing优化系统及方法 - Google Patents

一种基于人机协同的规模化Fuzzing优化系统及方法 Download PDF

Info

Publication number
CN113407945A
CN113407945A CN202110675050.XA CN202110675050A CN113407945A CN 113407945 A CN113407945 A CN 113407945A CN 202110675050 A CN202110675050 A CN 202110675050A CN 113407945 A CN113407945 A CN 113407945A
Authority
CN
China
Prior art keywords
module
human
fuzzy
task
information
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.)
Granted
Application number
CN202110675050.XA
Other languages
English (en)
Other versions
CN113407945B (zh
Inventor
赵磊
曾颖明
常承伟
王晓东
温泉
王芳鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN202110675050.XA priority Critical patent/CN113407945B/zh
Publication of CN113407945A publication Critical patent/CN113407945A/zh
Application granted granted Critical
Publication of CN113407945B publication Critical patent/CN113407945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于人机协同的规模化Fuzzing优化系统及方法,涉及信息安全技术领域。本发明基于人机协同理念,面向文本编辑类软件、音视频类软件等文件解析目标对象,设计了一种基于人机协同的规模化Fuzz优化系统,构建了基于人机协同的规模化Fuzzing技术框架,研究人机协同模式的漏洞挖掘过程,实现“人算计”和“机计算”能力的有机组合,为提升整体的漏洞挖掘能力进行探索。

Description

一种基于人机协同的规模化Fuzzing优化系统及方法
技术领域
本发明涉及信息安全技术领域,具体涉及一种基于人机协同的规模化Fuzzing优化系统及方法。
背景技术
漏洞挖掘一般指安全研究人员利用各种工具对软件、系统代码进行审计,对软件执行过程进行分析来查找缺陷的过程。漏洞挖掘技术旨在充分挖掘目标网络体系中存在于硬件设计、软件程序、安全管理和网络通信协议中的漏洞。漏洞挖掘是计算密集型的工作,与软件的规模和复杂度、硬件系统性能、采用的分析技术都有非常大的关联性,在研究实践中往往需要根据以上影响因素动态调整程序分析策略,在分析效率与分析深度之间取得较好的平衡和折中。漏洞挖掘在算法、分析数据存储和处理方面都有显著特征,现有的技术对大型复杂程序分析效率低下,没有充分利用高性能硬件设备提供的并行处理能力。探索规模化、并行化漏洞挖掘技术,增强对异构化计算资源的利用率,能很好应对大型复杂软件快速分析的需求。一方面,需要研究轻量级分析技术、启发式状态空间探测技术(如脆弱路径筛选、低频路径筛选等),在较小的开销内增强漏洞挖掘的导向性;另一方面,需要研究高效的规模化、并行化分析方法。
作为漏洞挖掘的有效手段,模糊测试技术对科研和生产都具有重要的安全防护意义。由于易用性高、成本较低以及检测效果较好等优势,模糊测试技术已成为目前业界常用的安全漏洞检测技术之一,针对网络协议、门户网站、关键信息系统等目标,已经开展了众多研究和应用。但目前模糊测试技术仍存在工具执行为主、智能化程度低、人机协同程度低、机机协同程度低等问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何解决目前模糊测试中存在的工具执行为主、智能化程度低、人机协同程度低、机机协同程度低等问题。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于人机协同的规模化Fuzzing优化系统,包括基于知识向量空间的人机协同智能决策模块、基于注释源语的人机协同并行化Fuzz模块和人在回路的混合增强模块;
其中,所述基于知识向量空间的人机协同智能决策模块用于完成人类漏洞挖掘知识与机器漏洞挖掘能力这些要素的抽象化,映射到统一的向量空间,将人机知识作为任务规划的部分输入,为并行化Fuzz执行提供决策指导;
所述基于注释源语的人机协同并行化Fuzz模块用于完成基于人机协同的Fuzz流程构建,接收人机协同智能决策模块输出的决策结果<任务信息,初始推荐的漏洞挖掘模型,Fuzz执行策略,人机交互数据格式>,然后通过共享机制,实现计算节点之间的数据交互,以及并行策略的动态调整;
所述人在回路的混合增强模块用于通过人机交互通道,为人指导漏洞挖掘过程提供数据通路,依据基于知识向量空间的人机协同智能决策模块选择的人机交互数据格式,将专家研判和选择传递到人机协同并行化Fuzz模块,实现人的智慧与漏洞挖掘过程深度结合。
本发明还提供了一种利用所述系统实现的基于人机协同的规模化Fuzzing优化方法。
(三)有益效果
本发明基于人机协同理念,面向文本编辑类软件、音视频类软件等文件解析目标对象,设计了一种基于人机协同的规模化Fuzz优化系统,构建了基于人机协同的规模化Fuzzing技术框架,研究人机协同模式的漏洞挖掘过程,实现“人算计”和“机计算”能力的有机组合,为提升整体的漏洞挖掘能力进行探索。
附图说明
图1为本发明的基于人机协同的规模化Fuzzing优化系统原理图;
图2为本发明设计的人机协同的智能决策模型组成图;
图3为本发明设计的人机协同并行化Fuzz模块架构图;
图4为本发明设计的人在回路的混合增强模块原理图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图1所示,本发明提供的一种基于人机协同的规模化Fuzzing优化系统包括基于知识向量空间的人机协同智能决策模块、基于注释源语的人机协同并行化Fuzz模块和人在回路的混合增强模块。
其中,基于知识向量空间的人机协同智能决策模块用于完成人类漏洞挖掘知识与机器漏洞挖掘能力等要素的抽象化,映射到统一的向量空间,将人机知识作为任务规划的部分输入,为并行化Fuzz执行提供决策指导;
基于注释源语的人机协同并行化Fuzz模块用于完成基于人机协同的Fuzz流程构建,接收人机协同智能决策模块输出的决策结果<任务信息,初始推荐的漏洞挖掘模型,Fuzz执行策略,人机交互数据格式>,然后通过共享机制,实现大规模计算节点之间的数据交互,以及并行策略的动态调整;
人在回路的混合增强模块用于通过人机交互通道,为人指导漏洞挖掘过程提供数据通路,依据基于知识向量空间的人机协同智能决策模块选择的人机交互数据格式,将专家研判和选择传递到人机协同并行化Fuzz模块,实现人的智慧与漏洞挖掘过程深度结合。
基于知识向量空间的人机协同智能决策模块:
在漏洞挖掘的许多环节中,需要控制主体进行决策来指导下一步的任务方向。传统漏洞挖掘模式中,决策角色往往由技术人员或专家承担,技术人员或专家根据自己的经验,来针对具体的情况作出判断和决策。基于专家经验的决策方式存在的主要问题是对目标当前状态的考虑不足导致作出的决策并非最优决策。针对这一问题,本发明将人类的漏洞挖掘知识空间转换为机器可理解的人机协同漏洞挖掘知识库向量空间,利用深度强化学习的自动探索发现与关联学习能力,主动从人机协同漏洞挖掘知识库向量空间中构建适合于目标的漏洞挖掘模型,并进行相应的最优参数决策。人机协同漏洞挖掘知识库向量空间中包含机器可理解的漏洞原理及漏洞存在的行为模型、人类挖掘漏洞的相关知识以及专家知识等数据。基于现有的知识向量空间及专家经验,通过深度强化学习技术训练策略决策模型,得出漏洞挖掘的最优策略<任务信息,初始推荐的漏洞挖掘模型,Fuzz执行策略,人机交互数据格式>,并将策略结果传递给基于注释源语的人机协同并行化Fuzz模块,指导机器集群执行Fuzz任务。基于人机协同的智能决策模型组成如图2所示。
本发明中的人机协同智能决策模型采用深度强化学习框架,基于知识库向量空间与目标程序的交互,通过聚合分析与关联匹配,选择出与目标程序相契合的漏洞挖掘知识,以此自动构建挖掘模型。通过模仿人类漏洞挖掘模式,采用深度强化学习框架,基于知识库和目标信息的关联程度,生成最优参数配置。不同漏洞挖掘模型需要不同参数设置,相应参数设置好坏也直接影响漏洞挖掘的效果。
基于注释源语的人机协同并行化Fuzz模块:
本发明将人的知识和经验融合到并行化漏洞挖掘过程中,指导机器的并行化任务,为解决大规模并发场景中人工动态参与度低,人机、机机协同程度低的难题提供一个思路。目前基于Fuzz的漏洞挖掘过程人机独立,并没有将机器的高计算性能与人的经验进行有效结合。同时,现有的并行化Fuzz技术并行节点之间的工作相对独立,并没有共享各个节点间漏洞挖掘过程中的经验等高价值信息,导致并行化的效率低下,各节点的重复性工作很多。因此本发明设计了基于共享机制的人机规模化协同Fuzz方式,实现大规模节点间多维度知识和经验共享。通过共享信息的不断迭代过程,优化各个节点的参数,减少并行节点之间的重复工作,从而提高整体的挖掘效率。人机协同并行化Fuzz模块的整体框架如图3所示:
基于注释源语的人机协同并行化Fuzz模块主要由两部分组成,分别为服务器部分和机器集群部分。其中,服务器包含八个模块,分别为并行任务分配与启动模块、状态更新模块、数据库模块、crash分析模块、位图监控及任务调整模块、种子选择模块、异常分析模块、服务器端通讯模块;机器集群中每个节点地位平等,每个节点包含三个模块,分别为节点端通讯模块、状态监控模块、变异与测试模块。
具体而言,服务器部分主要负责异常分析与记录。任务分配与启动模块完成对漏洞挖掘任务的拆解和切片,使任务适用于机器集群大规模并发执行,并通过服务器端通讯模块将任务划分的结果<任务描述,切片索引,任务执行指令>下发给机器集群;种子选择模块基于本发明中的知识向量空间,结合专家的人工选择,完成Fuzz的种子用力选择;异常分析模块和Crash分析模块均针对任务执行过程中的异常进行,经专家分析判断后,若是Crash属于程序或功能异常,则将异常信息传递给状态更新模块、数据库模块、位图监控及任务调整模块,进行任务执行状态的更新、异常信息的存储和任务执行的动态调整,然后通过服务器端的通讯模块将调整后的任务执行信息和指令下发到机器集群。
机器集群部分中的每个节点的变异与测试模块负责具体执行针对目标对象的模糊测试任务,并通过状态监控模块完成对任务执行现场及Crash等信息的记录,由节点端通讯模块实现与服务器端通讯模块的信息交互。
(1)并行任务分配与启动模块:该模块负责静态分析给定的目标程序,根据静态分析结果和并行节点数量进行Fuzz任务划分,执行启动命令并通过服务器端通讯模块发送给Fuzz节点集群,各个节点接收分配到的任务和启动命令开始执行模糊测试。
(2)状态更新模块:该模块主要对服务器及节点的工作及存活状态进行监控和更新,实时检测各个节点是否发生异常或离线,并更新系统的整体运行状态。
(3)数据库模块:该模块负责保存各种系统运行数据,主要有测试用例md5校验和、各个节点位图及总位图等。
(4)Crash分析模块:该模块主要管理漏洞挖掘过程中产生的crash的分析任务,接收来自专家的反馈结果。
(5)位图监控及任务调整模块:该模块负责收集所有的并行节点的位图,并且固定时间段内更新位图,同样维护着数据库中的一张表,该表保存该模块收集到的位图,并观察各个节点的负载情况,根据负载情况调整各个节点的Fuzz策略,实现并行节点间的负载均衡。
(6)种子选择模块:该模块负责生成Fuzz任务使用的种子用例,并收集来自Fuzz节点集群的运行信息,包括目标程序覆盖率、执行时间,以及新产生的crash数量等。
(7)异常分析模块:该模块负责处理各种突发状况,例如某个节点的测试任务意外停止,根据通讯模块反馈的信息分析属于何种状况,并确定执行何种故障处理策略。
(8)服务器端通讯模块:该模块负责收集来自Fuzz节点集群的各种运行信息,包括导致crash的测试用例、探测到新路径的测试用例、每个新产生的测试用例的md5校验和、程序覆盖路径位图、导致新发现所经历的变异策略及变异方法、待选字符集等。同时该模块还负责和服务器中其余模块的交互,提交来自节点集群的共享信息,收集来自服务器其余模块的反馈信息,并将反馈信息发送给节点集群。
(9)节点端通讯模块:该模块负责收集自身节点的运行信息然后发送给服务器,同时负责接收服务器的反馈信息然后推送给自身节点的变异与测试模块。另外,该模块还负责和状态监控模块的交互,并将状态信息发送到服务器。
(10)状态监控模块:该模块负责监控Fuzz任务的运行状况,例如目标程序覆盖率,运行异常信息、运行时长、新路径、crash等,并将这些信息传送给通讯模块,由通讯模块发送到服务器进行进一步的处理和决策。
(11)变异与测试模块:该模块是整个框架的具体测试模块,基于专家提供的种子文件、变异策略、变异目标等关键信息,执行具体的变异工作以及测试工作,产生各种共享信息,报告任务执行情况等。
人在回路的混合增强模块:
基于人的经验和分析结果,不断指导深度学习模型进行优化,使“人算计”和“机计算”相互适应,协同工作,提升深度学习模型执行任务的准确性,从而构成“1+1>2”的增强智能形态。传统智能漏洞挖掘技术基于预先定义的策略或学习的模型去执行漏洞挖掘流程,人机之间并没有设计用于模型优化的交互通道。本发明中选择马尔可夫决策过程作为强化学习的基础模型,从问题的不确定性和重要性方面进行判断,选出需要人工干预的问题集合,在漏洞挖掘过程中引入更加深入的人类智能,指导强化学习模型迭代优化。其过程如图4所示:
本发明中使用马尔可夫决策过程作为强化学习的基础模型。该模型可以被表示为一个四元组<S,A,P,R>,其中,S表示当前模型所处的状态(State);A表示模型进行的行为(Action)的选择;P表示从当前状态到下一状态的概率矩阵;R表示当前状态下,进行某一个或某一系列行为选择的回报函数,回报函数是对于模型采取一系列行为的反馈值,在强化学习模型训练过程中,回报函数引导了每一次模型的行为选择。由于行为选择的次数多,并且人工难以直观判断每一步行为选择是否合理,因此本发明中以问题为粒度,将需要判断的问题抛出给人工进行处理,即询问人的过程。为了确定什么样的问题需要人介入进行判断,需要考虑问题的两个方面,即问题的不确定性和问题的重要性。
(1)不确定性:在判断两个实体之间是否存在某一个关系时,给出属于[0,1]的概率值,并且认为当概率值更接近两端时(0或1),给出的结论更加准确。在漏洞挖掘场景下,当强化学习中的模型面对行为的选择时,给出的是选择各个行为的概率分布,最终扩展成为选择路径的概率分布。模型在进行路径选择时,其概率分布应当更加有差异性,即机器对选择或不选择某一路径更加具有把握。反之,对于各个路径的概率分布趋于平均的情况,可以认为机器难以区分其中哪一条路径为更佳选择。通过计算熵的方式来评估路径选择的概率分布情况。在路径的概率分布越平均时,熵的值越大,反之则越小。熵的计算公式定义如下:
Figure BDA0003120649650000091
式中,p(ti)表示选择路径ti的概率。
(2)重要性:除了不确定性之外,本发明将“重要性”也作为“是否将问题抛出给人判断”的衡量维度。对于某一个关系而言,在模型的学习过程中,某一个问题可能会被选中多次,从而在类别预测时它将提供更大的推理权重。如果该问题能够提供的推理信息量并不能和上述权重相匹配,则可能对最终的推理结果造成影响,而且这种影响将会比小权重的路径发生匹配错误的后果更加严重。因此,本发明将此类重要问题抛出,交给人工判断以保证它们能够提供更加准确的推理信息量。具体来说,给定一个关系r,通过模型获得多个推理路径ti∈T,重要性的评估方式为计算其中累积概率的最大值:
tselected=max(∑p(ti))
最后,综合不确定性和重要性两个维度的考虑,选择抛出给人工判断的问题的规则为:对于每一个关系,若H(T)>c,则选择该关系推理路径中的tselected提供给人进行判断,其中c为常数。
在人工进行判断时,人更容易理解问题和类别之间的推理关系并且给出判断。人对问题的判断可以通过对问题进行评分反馈给模型,该步骤即人解答问题的过程。如模型利用路径A、B试图推理出路径C时,根据上文提到的不确定性和重要性判断出该推理需要人工进行判断,模型即可将该推理过程反馈给人进行判断。人对于当前的推理是否合理给出1~5分的评分,为保证人工判断的准确性,某一组待判断的推理路径可能分配给1~3个人进行判断,最终取其平均分并将结果反馈给计算集群模型。在获得人工判断的评分结果后,将其加入到该路径的回报函数中,并重新训练模型的参数。具体来说,对于人工判断完成的路径,需要在原始回报函数中加入人工反馈项Rturnman。人工反馈项的定义如下:
Rturnman=(Score-3)3
式中:Score表示人对于该条推理路径的评分。对于人工判断完成的路径,其回报函数的定义如下:
Rture.N=Rsturn4Rturnman
式中:Rsturn=λ1Rreachability2Rlength3Rdiversity表示除人工反馈以外的回报函数,λ1、λ2、λ3均为预设系数,与样本特征相关。Rreachability、Rlength、Rdiversity分别表示可达性度量、长度因素、多样性评分,如果该条路径被模型重复选中,则不再抛出给人工进行判断,而直接使用前一次的人工判断结果。最后,计算该条路径综合的回报函数,并将其用于更新模型的参数。
在上述过程中,模型根据人的评分调整推理的过程。在获取人工判断的评分结果后,模型将人工评分结果加入到该路径的回报函数中,并重新训练模型的参数。通过此方法实现人在回路的混合增强智能,从而增强了人在漏洞挖掘回路中的作用。该方案通过机器抛出问题,人解答问题的方式,实现人和机器的对话,并且这种对话是基于人和机器拥有共同的知识层次的基础之上进行的。把人的作用引入智能系统的计算回路,可以把人对模糊、不确定问题分析与响应的高级认知机制与机器智能系统紧密耦合,使两者相互适应,协同工作,形成双向的信息交流与控制,使人的感知、认知能力和计算机强大的运算能力和存储能力相结合,构成“1+1>2”的智能增强智能形态。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (10)

1.一种基于人机协同的规模化Fuzzing优化系统,其特征在于,包括基于知识向量空间的人机协同智能决策模块、基于注释源语的人机协同并行化Fuzz模块和人在回路的混合增强模块;
其中,所述基于知识向量空间的人机协同智能决策模块用于完成人类漏洞挖掘知识与机器漏洞挖掘能力这些要素的抽象化,映射到统一的向量空间,将人机知识作为任务规划的部分输入,为并行化Fuzz执行提供决策指导;
所述基于注释源语的人机协同并行化Fuzz模块用于完成基于人机协同的Fuzz流程构建,接收人机协同智能决策模块输出的决策结果<任务信息,初始推荐的漏洞挖掘模型,Fuzz执行策略,人机交互数据格式>,然后通过共享机制,实现计算节点之间的数据交互,以及并行策略的动态调整;
所述人在回路的混合增强模块用于通过人机交互通道,为人指导漏洞挖掘过程提供数据通路,依据基于知识向量空间的人机协同智能决策模块选择的人机交互数据格式,将专家研判和选择传递到人机协同并行化Fuzz模块,实现人的智慧与漏洞挖掘过程深度结合。
2.如权利要求1所述的系统,其特征在于,所述基于知识向量空间的人机协同智能决策模块具体用于将人类的漏洞挖掘知识空间转换为机器可理解的人机协同漏洞挖掘知识库向量空间,利用深度强化学习的自动探索发现与关联学习能力,主动从人机协同漏洞挖掘知识库向量空间中构建适合于目标的漏洞挖掘模型,并进行相应的最优参数决策,人机协同漏洞挖掘知识库向量空间中包含机器可理解的漏洞原理及漏洞存在的行为模型、人类挖掘漏洞的相关知识以及专家知识数据,基于知识向量空间及专家经验,通过深度强化学习技术训练策略决策模型,得出漏洞挖掘的最优策略<任务信息,初始推荐的漏洞挖掘模型,Fuzz执行策略,人机交互数据格式>,并将策略结果传递给基于注释源语的人机协同并行化Fuzz模块,指导机器集群执行Fuzz任务。
3.如权利要求2所述的系统,其特征在于,所述基于知识向量空间的人机协同智能决策模块实现的人机协同智能决策模型采用深度强化学习框架,基于知识库向量空间与目标程序的交互,通过聚合分析与关联匹配,选择出与目标程序相契合的漏洞挖掘知识,以此自动构建挖掘模型,通过模仿人类漏洞挖掘模式,采用深度强化学习框架,基于知识库和目标信息的关联程度,生成最优参数配置。
4.如权利要求2所述的系统,其特征在于,所述基于注释源语的人机协同并行化Fuzz模块具体用于将人的知识和经验融合到并行化漏洞挖掘过程中,指导机器的并行化任务。
5.如权利要求4所述的系统,其特征在于,所述基于注释源语的人机协同并行化Fuzz模块由两部分组成:服务器和机器集群,其中,服务器包含八个模块,分别为并行任务分配与启动模块、状态更新模块、数据库模块、crash分析模块、位图监控及任务调整模块、种子选择模块、异常分析模块、服务器端通讯模块;所述机器集群中每个节点地位平等,每个节点包含三个模块,分别为节点端通讯模块、状态监控模块、变异与测试模块;
所述并行任务分配与启动模块用于完成对漏洞挖掘任务的拆解和切片,使任务适用于机器集群大规模并发执行,并通过服务器端通讯模块将任务划分的结果<任务描述,切片索引,任务执行指令>下发给机器集群;种子选择模块用于基于知识向量空间,结合专家的人工选择,完成Fuzz的种子用力选择;异常分析模块和Crash分析模块均用于针对任务执行过程中的异常进行,经专家分析判断后,若是Crash属于程序或功能异常,则将异常信息传递给状态更新模块、数据库模块、位图监控及任务调整模块,进行任务执行状态的更新、异常信息的存储和任务执行的动态调整,然后通过服务器端通讯模块将调整后的任务执行信息和指令下发到机器集群;
所述机器集群中的每个节点的变异与测试模块用于具体执行针对目标对象的模糊测试任务,并通过状态监控模块完成对任务执行现场及Crash信息的记录,由节点端通讯模块实现与服务器端通讯模块的信息交互。
6.如权利要求5所述的系统,其特征在于,所述并行任务分配与启动模块用于实现静态分析给定的目标程序,根据静态分析结果和并行节点数量进行Fuzz任务划分,执行启动命令并通过服务器端通讯模块发送给Fuzz节点集群,各个节点接收分配到的任务和启动命令开始执行模糊测试;
所述状态更新模块用于对服务器及节点的工作及存活状态进行监控和更新,实时检测各个节点是否发生异常或离线,并更新系统的整体运行状态;
所述数据库模块用于保存各种系统运行数据,包括测试用例md5校验和、各个节点位图及总位图;
所述Crash分析模块用于管理漏洞挖掘过程中产生的crash的分析任务,接收来自专家的反馈结果;
所述位图监控及任务调整模块用于收集所有的并行节点的位图,并且固定时间段内更新位图,同样维护着数据库中的一张表,该表保存该模块收集到的位图,并观察各个节点的负载情况,根据负载情况调整各个节点的Fuzz策略,实现并行节点间的负载均衡;
所述种子选择模块用于生成Fuzz任务使用的种子用例,并收集来自Fuzz节点集群的运行信息,包括目标程序覆盖率、执行时间,以及新产生的crash数量;
所述异常分析模块用于处理各种突发状况,并确定执行何种故障处理策略;
所述服务器端通讯模块用于收集来自Fuzz节点集群的各种运行信息,包括导致crash的测试用例、探测到新路径的测试用例、每个新产生的测试用例的md5校验和、程序覆盖路径位图、导致新发现所经历的变异策略及变异方法、待选字符集,同时还用于与服务器中其余模块的交互,提交来自节点集群的共享信息,收集来自服务器其余模块的反馈信息,并将反馈信息发送给节点集群。
7.如权利要求5所述的系统,其特征在于,所述节点端通讯模块用于收集自身节点的运行信息发送给服务器,同时负责接收服务器的反馈信息然后推送给自身节点的变异与测试模块,另外还用于与状态监控模块交互,并将状态信息发送到服务器;
所述状态监控模块用于监控Fuzz任务的运行状况,并将这些信息传送给节点端通讯模块,由节点端通讯模块发送到服务器进行进一步的处理和决策;
所述变异与测试模块用于基于专家提供的种子文件、变异策略、变异目标,执行具体的变异工作以及测试工作,产生各种共享信息,报告任务执行情况。
8.如权利要求3所述的系统,其特征在于,所述人在回路的混合增强模块具体用于选择马尔可夫决策过程作为强化学习的模型,从问题的不确定性和重要性方面进行判断,选出需要人工干预的问题集合,在漏洞挖掘过程中引入更加深入的人类智能,指导强化学习模型迭代优化。
9.如权利要求8所述的系统,其特征在于,所述人在回路的混合增强模块具体用于以问题为粒度,将需要判断的问题抛出给人工进行处理,即询问人的过程,为了确定什么样的问题需要人介入进行判断,考虑问题的两个方面,即问题的不确定性和问题的重要性:
(1)不确定性:在判断两个实体之间是否存在关系时,给出属于[0,1]的概率值,并且认为当概率值更接近两端时(0或1),给出的结论更加准确,在漏洞挖掘场景下,当强化学习中的模型面对行为的选择时,给出的是选择各个行为的概率分布,最终扩展成为选择路径的概率分布,模型在进行路径选择时,其概率分布应当更加有差异性,即机器对选择或不选择某一路径更加具有把握,反之,对于各个路径的概率分布趋于平均的情况,可以认为机器难以区分其中哪一条路径为更佳选择,通过计算熵的方式来评估路径选择的概率分布情况,在路径的概率分布越平均时,熵的值越大,反之则越小;
(2)重要性:除了不确定性之外,将“重要性”也作为“是否将问题抛出给人判断”的衡量维度,对于一个关系而言,在模型的学习过程中,一个问题可能会被选中多次,从而在类别预测时它将提供更大的推理权重,如果该问题能够提供的推理信息量并不能和上述权重相匹配,则可能对最终的推理结果造成影响,而且这种影响将会比小权重的路径发生匹配错误的后果更加严重,将此类重要问题抛出,交给人工判断,具体来说,给定一个关系r,通过模型获得多个推理路径ti∈T,重要性的评估方式为计算其中累积概率的最大值:
tselected=max(Σp(ti))
最后,综合不确定性和重要性两个维度的考虑,选择抛出给人工判断的问题的规则为:对于每一个关系,若H(T)>c,则选择该关系推理路径中的tselected提供给人进行判断,其中c为常数;
在人工进行判断时,人更容易理解问题和类别之间的推理关系并且给出判断,人对问题的判断通过对问题进行评分反馈给模型,该步骤即人解答问题的过程,根据不确定性和重要性判断出该推理需要人工进行判断,模型即可将该推理过程反馈给人进行判断,在获得人工判断的评分结果后,将其加入到该路径的回报函数中,并重新训练模型的参数,具体来说,对于人工判断完成的路径,在原始回报函数中加入人工反馈项Rturnman,人工反馈项的定义如下:
Rturnman=(Score-3)3
式中:Score表示人对于该条推理路径的评分,对于人工判断完成的路径,其回报函数的定义如下:
Rture.N=Rsturn4Rturnman
式中:Rsturn=λ1Rreachability2Rlength3Rdiversity表示除人工反馈以外的回报函数,λ1、λ2、λ3均为预设系数,与样本特征相关,Rreachability、Rlength、Rdiversity分别表示可达性度量、长度因素、多样性评分,如果该条路径被模型重复选中,则不再抛出给人工进行判断,而直接使用前一次的人工判断结果,最后,计算该条路径综合的回报函数,并将其用于更新模型的参数。
10.一种利用权利要求1至9中任一项所述系统实现的基于人机协同的规模化Fuzzing优化方法。
CN202110675050.XA 2021-06-18 2021-06-18 一种基于人机协同的规模化Fuzzing优化系统及方法 Active CN113407945B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110675050.XA CN113407945B (zh) 2021-06-18 2021-06-18 一种基于人机协同的规模化Fuzzing优化系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110675050.XA CN113407945B (zh) 2021-06-18 2021-06-18 一种基于人机协同的规模化Fuzzing优化系统及方法

Publications (2)

Publication Number Publication Date
CN113407945A true CN113407945A (zh) 2021-09-17
CN113407945B CN113407945B (zh) 2023-08-22

Family

ID=77685000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110675050.XA Active CN113407945B (zh) 2021-06-18 2021-06-18 一种基于人机协同的规模化Fuzzing优化系统及方法

Country Status (1)

Country Link
CN (1) CN113407945B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116291659A (zh) * 2023-05-24 2023-06-23 太原理工大学 液压支架人机协同控制策略推荐方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100100962A1 (en) * 2008-10-21 2010-04-22 Lockheed Martin Corporation Internet security dynamics assessment system, program product, and related methods
CN104268085A (zh) * 2014-10-24 2015-01-07 重庆邮电大学 一种基于属性提取的软件漏洞挖掘系统及方法
CN107046526A (zh) * 2016-12-28 2017-08-15 北京邮电大学 基于Fuzzing算法的分布式异构网络漏洞挖掘方法
CN108846043A (zh) * 2018-05-30 2018-11-20 深圳市锐安信息安全技术有限公司 基于互联网大数据的网络痕迹挖掘分析方法及系统
WO2019144039A1 (en) * 2018-01-18 2019-07-25 Risksense, Inc. Complex application attack quantification, testing, detection and prevention
US20190356679A1 (en) * 2018-05-16 2019-11-21 KnowBe4, Inc. Systems and methods for determining individual and group risk scores
CN110704846A (zh) * 2019-09-27 2020-01-17 北京计算机技术及应用研究所 一种人在回路的智能化安全漏洞发现方法
CN110708279A (zh) * 2019-08-19 2020-01-17 中国电子科技网络信息安全有限公司 一种基于群体智能的漏洞挖掘模型构建方法
CN111367815A (zh) * 2020-03-24 2020-07-03 中国电子科技网络信息安全有限公司 一种基于人机协同的软件漏洞模糊测试方法
US20200364583A1 (en) * 2019-05-14 2020-11-19 Robert D. Pedersen Iot sensor network artificial intelligence warning, control and monitoring systems and methods
CN112560043A (zh) * 2020-12-02 2021-03-26 江西环境工程职业学院 一种基于上下文语义的漏洞相似性度量方法
CN112907115A (zh) * 2021-03-18 2021-06-04 上海能链众合科技有限公司 一种区块链无人机集群的协同任务计算控制方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100100962A1 (en) * 2008-10-21 2010-04-22 Lockheed Martin Corporation Internet security dynamics assessment system, program product, and related methods
CN104268085A (zh) * 2014-10-24 2015-01-07 重庆邮电大学 一种基于属性提取的软件漏洞挖掘系统及方法
CN107046526A (zh) * 2016-12-28 2017-08-15 北京邮电大学 基于Fuzzing算法的分布式异构网络漏洞挖掘方法
WO2019144039A1 (en) * 2018-01-18 2019-07-25 Risksense, Inc. Complex application attack quantification, testing, detection and prevention
US20190356679A1 (en) * 2018-05-16 2019-11-21 KnowBe4, Inc. Systems and methods for determining individual and group risk scores
CN108846043A (zh) * 2018-05-30 2018-11-20 深圳市锐安信息安全技术有限公司 基于互联网大数据的网络痕迹挖掘分析方法及系统
US20200364583A1 (en) * 2019-05-14 2020-11-19 Robert D. Pedersen Iot sensor network artificial intelligence warning, control and monitoring systems and methods
CN110708279A (zh) * 2019-08-19 2020-01-17 中国电子科技网络信息安全有限公司 一种基于群体智能的漏洞挖掘模型构建方法
CN110704846A (zh) * 2019-09-27 2020-01-17 北京计算机技术及应用研究所 一种人在回路的智能化安全漏洞发现方法
CN111367815A (zh) * 2020-03-24 2020-07-03 中国电子科技网络信息安全有限公司 一种基于人机协同的软件漏洞模糊测试方法
CN112560043A (zh) * 2020-12-02 2021-03-26 江西环境工程职业学院 一种基于上下文语义的漏洞相似性度量方法
CN112907115A (zh) * 2021-03-18 2021-06-04 上海能链众合科技有限公司 一种区块链无人机集群的协同任务计算控制方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
张宝峰;张斌;许源;: "基于模糊测试的网络协议漏洞挖掘", 清华大学学报(自然科学版), no. 2, pages 2113 - 2118 *
曾颖明等: "基于群体智能的网络安全协同防御技术研究", 信息网络安全, vol. 20, no. 9, pages 52 - 56 *
沙乐天;肖甫;杨红柯;喻辉;王汝传;: "基于自适应模糊测试的IaaS层漏洞挖掘方法", 软件学报, no. 05, pages 1303 - 1317 *
潘宣辰等: "异构多端分布式场景下的集群智能安全协同和防护", 第八届中国指挥控制大会论文集, pages 753 - 759 *
袁子牧;肖扬;吴炜;霍玮;邹维;: "知识、探索与状态平面组织的软件漏洞分析架构研究", 信息安全学报, no. 06, pages 10 - 33 *
韩烨;周利均;: "基于群体智能技术的漏洞挖掘机理研究", 通信技术, no. 06, pages 1465 - 1472 *
黄刚: "应用Fuzzing的Web漏洞检测与加固系统", 福建电脑, vol. 37, no. 3, pages 95 - 97 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116291659A (zh) * 2023-05-24 2023-06-23 太原理工大学 液压支架人机协同控制策略推荐方法
CN116291659B (zh) * 2023-05-24 2023-08-08 太原理工大学 液压支架人机协同控制策略推荐方法

Also Published As

Publication number Publication date
CN113407945B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
Chen et al. An evolutionary multitasking-based feature selection method for high-dimensional classification
Branke et al. Automated design of production scheduling heuristics: A review
CN110489898B (zh) 一种基于混合认知的动态多层级系统建模与状态预测方法
CN107590319A (zh) 一种用于机械产品方案辅助设计的知识建模方法和系统
CN110704846B (zh) 一种人在回路的智能化安全漏洞发现方法
Liu et al. A sphere-dominance based preference immune-inspired algorithm for dynamic multi-objective optimization
Ren et al. Hyper-heuristics with low level parameter adaptation
KR20190001501A (ko) 통신망의 인공지능 운용 시스템 및 이의 동작 방법
Yang et al. Incremental optimization mechanism for constructing a decision tree in data stream mining
Palacios et al. Swarm lexicographic goal programming for fuzzy open shop scheduling
CN115309628A (zh) 一种基于强化学习的智能模糊测试方法、装置及系统
Syberfeldt et al. Real-world simulation-based manufacturing optimization using cuckoo search
CN113407945B (zh) 一种基于人机协同的规模化Fuzzing优化系统及方法
Ghamginzadeh et al. Multi-objective multi-skill resource-constrained project scheduling problem under time uncertainty
CN114282370B (zh) 考虑操作者体力和脑力负荷的拆卸线设置方法
CN109615115B (zh) 一种面向任务可靠性的集成生产任务调度方法
Mei et al. Multi-robotic disassembly line balancing using deep reinforcement learning
Falcao et al. Q-learning based hyper-heuristic for scheduling system self-parameterization
CN108829846A (zh) 一种基于用户特征的业务推荐平台数据聚类优化系统及方法
CN117076077A (zh) 基于大数据分析的计划调度优化方法
Cui et al. The learning stimulated sensing-transmission coordination via age of updates in distributed uav swarm
CN116011722A (zh) 一种面向大电网的人机协作的调控方法、模块及装置
Prado et al. On providing quality of service in grid computing through multi-objective swarm-based knowledge acquisition in fuzzy schedulers
Tanhatalab et al. Deep ran: A scalable data-driven platform to detect anomalies in live cellular network using recurrent convolutional neural network
Shafiq et al. Virtual engineering objects (VEO): designing, developing and testing models

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant