CN116633830A - 一种基于萤火虫算法的种子变异操作调度方法 - Google Patents

一种基于萤火虫算法的种子变异操作调度方法 Download PDF

Info

Publication number
CN116633830A
CN116633830A CN202310597940.2A CN202310597940A CN116633830A CN 116633830 A CN116633830 A CN 116633830A CN 202310597940 A CN202310597940 A CN 202310597940A CN 116633830 A CN116633830 A CN 116633830A
Authority
CN
China
Prior art keywords
mutation operation
firefly
algorithm
mutation
weight value
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
CN202310597940.2A
Other languages
English (en)
Other versions
CN116633830B (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.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
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 Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN202310597940.2A priority Critical patent/CN116633830B/zh
Publication of CN116633830A publication Critical patent/CN116633830A/zh
Application granted granted Critical
Publication of CN116633830B publication Critical patent/CN116633830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/18Protocol analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • 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
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Biophysics (AREA)
  • Mathematical Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Optimization (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Feedback Control In General (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于萤火虫算法的种子变异操作调度方法,属于协议模糊测试技术领域。解决了现有技术中协议模糊测试整体效果不稳定的问题;本发明包括以下步骤:S1.借助萤火虫算法建立变异操作调度模型;S2.计算变异操作效能;S3.调整变异操作权重值;S4.增加变异操作奖励机制和惩罚机制;S5.运行变异操作选择算法,选择出具体变异操作。本发明变异操作调度方法可以减少或增加相应变异操作权重值,最终保证各变异操作效能值lighti数值差距不大,保障了协议模糊测试整体效果稳定,且可以实现变异操作调度较大概率选择效率更好的种子进行模糊测试,从而提高了协议模糊测试运行效率,可以应用于协议模糊测试。

Description

一种基于萤火虫算法的种子变异操作调度方法
技术领域
本发明涉及变异操作调度方法,尤其涉及一种基于萤火虫算法的种子变异操作调度方法,属于协议模糊测试技术领域。
背景技术
随着云计算、物联网、5G等新技术的不断发展,教育、体育、医疗、通信、金融、工业、制造业等行业加速向数字化转型,在享受众多应用在日常生活中带给人们便捷和舒适的同时,不管是B/S架构还是C/S架构模式,均需要通过网络连接服务器并与服务器进行大量网络通讯。网络协议是网络通信的基础,网络协议的结构通常由协议头和协议数据单元(Protocol Data Unit,PDU)两部分组成。协议头包含了元数据信息,如协议版本、协议类型、源地址、目标地址等。这些信息是网络协议进行传输和处理的基础,而协议数据单元则是实际需要传输的数据。不同的网络协议有不同的数据单元结构和格式,例如HTTP协议的报文、TCP协议的数据段、以太网协议的帧等。网络协议的结构通常可以通过协议规范RFC(Request for Comments)来了解,其可以帮助确定需要协议字段和参数,并且能够更加准确地分析和识别协议中的潜在漏洞和安全隐患。然而,通过网络协议用户能够在互联网上有效可靠地进行通信,此种可以从世界任何地方访问服务器的能力也给远程代码执行攻击者带来了可乘之机,攻击者不需要物理访问该机器即可实施攻击。
在此背景下,协议模糊测试(Network Protocol Fuzzing)应运而生。协议模糊测试是一种高效、自动、通用的测试方法,其通过模拟和构造协议的各种消息,实现自动化的协议测试和安全评估,可以发现协议中的未知漏洞和安全隐患,提高网络的安全性和可靠性。与此同时,协议模糊测试可以为其他安全测试方法提供有效的种子,帮助多种安全测试方法更好的发挥作用。因此,协议模糊测试成为协议漏洞挖掘中的关键核心技术,是模糊测试中的热点问题。
变异操作调度是在模糊测试的种子变异阶段,模糊测试器确定具体变异操作执行种子变异的过程。变异操作调度旨在确定更好的变异操作执行顺序,以产生更多的测试用例,从而提高模糊测试运行效率。在协议模糊测试工具AFLNet中,变异操作调度采用均等随机的算法,通过生成一个随机数对变异操作总数取模得到代表变异操作序号的数字,从而确定具体的变异操作。
模糊测试中,Classfuzz根据已经探索更多新执行路径的变异操作被选择的概率更高,使用Markov Chain Monte Carlo(MCMC)模拟变异调度的过程,采用Metropolis-Hastings算法优化变异操作调度。具体而言,Classfuzz量化了变异操作的效率,为每个变异操作设置一个效率值,在进行变异操作调度时,随机选择下一个变异操作,然后根据当前变异操作和所选变异操作的效率值决定是否替换原先变异操作,其评价变异操作效率的主要依据为在编译器JVM模糊测试中新触发的边覆盖数。
模糊测试中,MOPT利用粒子群优化(Particle Swarm Optimization,PSO)来模拟变异操作调度,其将每个变异操作对映一个粒子,位置对映选择该变异操作的概率,当粒子在一个位置上产生最佳的效率时,该位置为粒子的最优解。其采用变异操作触发的“interesting test cases”数量即触发未知代码和边数量作为评价变异操作效率的指标。所有粒子(变异操作)渐近地找到自己的最佳位置(概率),从而构建了选择变异操作的概率分布。模糊测试变异操作调度将根据概率分布选择变异操作。
综上所述,Classfuzz和MOPT已经提到变异操作的效率不同,原因在于变异操作实现原理不同且应用不同程序时其实现存在差异,其二者均未应用在协议模糊测试领域,且均未提到同一变异操作随模糊测试进行效率也不尽相同。在协议模糊测试领域,即对某个协议随着模糊测试逐渐深入,同一变异操作的效率也存在波动。例如,利于触发浅层次协议语法错误的变异操作,随协议模糊测试深入和执行协议语法错误相关功能代码覆盖完成,其触发漏洞的能力降低且效率变低。
因此,不同变异操作的效率存在差距且同一变异操作效率在协议模糊测试的不同阶段效率亦有所不同,现有技术中存在协议模糊测试整体效果不稳定的问题。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
鉴于此,为解决现有技术中协议模糊测试整体效果不稳定的问题,本发明提供一种基于萤火虫算法的种子变异操作调度方法。
技术方案如下:一种基于萤火虫算法的种子变异操作调度方法,包括以下步骤:
S1.借助萤火虫算法建立变异操作调度模型;具体地:
S11.初始化种群萤火虫的位置,随机生成一组初始解向量;
S12.萤火虫亮度调整,更新每个解向量的适应度;
S13.萤火虫吸引,根据解向量的适应度和解向量之间差距,更新解向量;
S14.最亮萤火虫随机移动,适应度最高的解向量随机移动;
S15.判断终止条件;
S16.确定萤火虫算法概念与变异操作调度概念对应关系,建立变异操作调度模型;
S2.通过迭代算法lightUpdating进行萤火虫效率迭代,计算得到变异操作效能lighti
S3.调整变异操作权重值,使得每只萤火虫位置调整到最佳位置;
S4.增加变异操作奖励机制和惩罚机制;
S5.运行变异操作选择算法,选择出具体变异操作。
进一步地,所述S1中,包括以下步骤:
所述S13中,对每只萤火虫依次计算其他萤火虫的吸引力,由当前位置被吸引移动的距离/>和随机扰动距离αtt得到第i只萤火虫t+1轮的位置/>
第i只萤火虫t+1轮的位置表示为:
其中,被吸引移动距离主要受介质对光的吸收系数γ、吸引度系数β和萤火虫之间的距离r影响,随机扰动距离αtt由扰动的步长因子α和随机扰动∈计算得到;
所述S14中,最亮的萤火虫在S13中缺乏主动靠近任何萤火虫的机会,因此对其进行随机移动,由当前位置和随机扰动距离αtt得到第i只萤火虫t+1轮的位置/>
第i只萤火虫t+1轮的位置表示为:
所述S15中,终止条件为种群中萤火虫的个体行为形成萤火虫群体行为,如果满足终止条件,则输出解向量,得到全局最优解,算法结束;否则更新迭代参数αt并返回S12;
αt=α0δt (3)
其中,α0为初次迭代参数,δt为第t轮迭代系数;
所述S16中,萤火虫算法的萤火虫位置对应变异操作权重值,萤火虫算法的全局最优解对应各变异操作最佳权重值所形成的所有变异操作均具备最佳概率,萤火虫算法的萤火虫亮度对应变异操作效能,萤火虫算法的一次迭代对应执行400次变异操作,萤火虫算法的移动萤火虫对应调整变异操作权重值,萤火虫算法的吸引对应变异操作权重值向效率更好的变异操作权重值调整,萤火虫算法的随机扰动距离对应变异操作权重值随机增大或减小的值,萤火虫算法的吸引度对应变异操作权重值调整参数。
进一步地,所述S2中,变异操作效能lighti表示为:
其中,statusi表示变异操作所触发的协议状态数,cnti表示变异操作所执行次数,该二者用于计算变异操作平均协议状态数,xi表示首次迭代变异操作权重值;
运行迭代算法lightUpdating,初始时,变异操作效能值light[i]为0,通过统计每轮迭代中新触发状态数findsStatesCnt[i]和每轮迭代中触发变异操作i的次数cyclesCnt[i]计算变异操作的效率即变异操作触发平均协议状态数appendFinds,结合变异操作权重值ffa[i],更新每个变异操作效能值light[i]。
进一步地,所述S3中,根据公式(1),通过算法moveFfa得到变异操作权重值运行移动算法moveFfa,变异操作权重值/>对应权重值ffa[i]设置范围为lowerbound至upperbound,即[0.5,5.0],其初始值设置为0.5,种子变异操作调度方法实现中萤火虫算法参数对应关系及初始值设置如下:初次迭代参数α0初始值alpha为0.5,吸引度系数β初始值beta0为1.0,介质对光的吸收系数γ初始值gama为4.0,迭代系数δ初始值delta为0.99;计算距离r、变异操作权重值调整参数beta0和变异操作权重值随机变化值alpha*(randomNum-0.5)结合当前变异操作权重值得到下一轮变异操作权重值,其中randomNum为0~1范围随机浮点数。
进一步地,所述S4中,根据公式(4),为使变异操作调度选择效率好的变异操作,增加效能值lighti数值最大的变异操作权重值,从而增加其被选择的概率,即增加奖励机制,对于效能值lighti数值最小的变异操作增加惩罚机制,即惩罚效能值lighti数值最小的变异操作,减小相应变异操作权重值,从而降低被选择的概率。
进一步地,所述S5中,运用选择算法selectAlgorithm,根据变异操作权重值选择出具体变异操作,使用源于遗传算法的轮盘赌选择作为选择算法selectAlgorithm的依据,将轮盘赌的饼图面积对应变异操作权重值,通过计算总权重值和模拟轮盘转动随机数,计算获得选中的变异操作,选择算法selectAlgorithm遍历所有变异操作计算总权重值rangeSelect,随机选取指针位置select,通过计算选择出具体变异操作。
本发明的有益效果如下:
参考图5-图12,说明验证基于萤火虫算法的种子变异操作调度方法的效果,针对FTP协议(LightFTP和pure-ftpd)、DAAP协议(forked-daapd)、DICOM协议(dcmtk)、DTLS协议(tinydtls)、SIP协议(kamailio)和SMTP协议(exim)进行模糊测试,通过不同变异操作权重值对比以及与AFLNet和AFLNwe的代码覆盖数量比较进行验证;
1.验证变异操作权重值的变化
为探究基于萤火虫算法的种子变异操作调度方法有效性,统计协议模糊测试过程中不同变异操作权重值变化与迭代轮次的关系,对FTP(LightFTP)协议进行协议模糊测试,经过多次重复实验,统计变异操作权重值,在协议模糊测试迭代次数21次以内,各变异操作权重值波动较大且各变异操作权重值差距较大,DUPLICATEGIONEND和OVERWRITEDIC变异操作权重值较突出且dictionary和regions变异操作权重值较其他变异操作较大,regions变异操作和dictionary变异操作对种子产生较大改动,生成与种子差异较大的测试用例,其较其他变异操作生成测试用例触发新状态概率更高,进而基于萤火虫算法的种子变异操作调度方法提升该类变异操作权重值,更大概率选择该类变异操作,加速探索状态空间,且使协议模糊测试运行效率提高,在协议模糊测试迭代次数21次以后,各变异操作权重值变化波动较小、相差较小且趋近同一权重值约为1.5,伴随协议模糊测试进行,深入探索状态空间或继续提升代码覆盖率变得困难,变异操作触发状态数减少导致变异操作效能值light数值减少,通过基于萤火虫算法的种子变异操作调度方法减少相应变异操作权重值,选择该变异操作的概率降低,最终随着各变异操作效能值light数值差距不大,各变异操作权重值较接近,协议模糊测试运行趋于稳定;
为了验证基于token级的种子变异用于基于萤火虫算法的种子变异调度机制的可能性,统计协议模糊测试过程中不同变异操作权重值变化与迭代轮次的关系,对FTP(LightFTP)协议进行协议模糊测试,经过多次重复实验,统计变异操作权重值,在协议模糊测试迭代次数21次以内,OVERWRITETOKEN和INSERTTOKEN变异操作较其他变异操作权重值突出,其对种子产生较大改动,生成与种子差异较大的测试用例,其较其他变异操作生成测试用例触发新状态概率更高,进而基于萤火虫算法的种子变异操作调度方法提升该类变异操作权重值,更大概率选择该类变异操作,加速探索状态空间,且使协议模糊测试运行效率提高;
2.验证模糊测试的代码覆盖
通过代码覆盖实验,探究基于萤火虫算法的种子变异操作调度方法对整体协议模糊测试的影响,本发明的实现的模糊测试器为aflnetfast,针对FTP协议(LightFTP)进行代码覆盖实验,在0到30分钟之间,aflnetfast曲线的边覆盖和代码覆盖数量均有所提升且优于aflnet,在该时间范围内,不同变异操作的效率存在差距且同一变异操作效率在亦存在波动,但基于萤火虫算法的种子变异操作调度方法可以通过调整变异操作权重值以适应变异操作该特点,使得种子变异操作调度较大概率选择效率更好的种子进行模糊测试,从而加速探索状态空间并使得整体协议模糊测试运行速度提升,整体模糊测试代码覆盖率提升了约为3~5%,平均速度提升了约25~30%;
因此,本发明保障了协议模糊测试整体效果稳定,代码覆盖率和代码覆盖平均速度均有提升,且提高了协议模糊测试运行效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为一种基于萤火虫算法的种子变异操作调度方法流程示意图;
图2为萤火虫相互吸引示例示意图;
图3为萤火虫算法运行初始状态和结果状态示意图;
图4为萤火虫位置示意图;
图5为变异操作FLIP1、INTEREST8、INTEREST16、INTEREST32、ARITH8_SUB和ARITH8_ADD的权重值变化示意图
图6为变异操作ARITH16_SUB、ARITH16_ADD、ARITH32_SUB、ARITH32_ADD、RANDOMBYTE和DELETEBYT权重值变化示意图;
图7为变异操作CLONE75、OVERWRITE75、REPLACEREGION和INSERTREGIONBEG权重值变化示意图;
图8为变异操作INSERTREGIONEND、DUPLICATEGIONEND、OVERWRITETOKEN和INSERTDIC权重值变化示意图;
图9为变异操作OVERWRITETOKEN和INSERTTOKEN权重值变化示意图;
图10为变异操作调度优化后针对FTP(lightFTP)协议代码覆盖实验示意图,其中,(a)为变异操作调度优化后lightFTP协议边数示意图,(b)为变异操作调度优化后lightFTP协议代码行数示意图,(c)为变异操作调度优化后lightFTP协议边覆盖示意图,(d)为变异操作调度优化后lightFTP协议代码覆盖示意图;
图11为aflnetfast三种优化后针对FTP(lightFTP)协议代码覆盖实验示意图其中,(a)为aflnetfast三种优化后lightFTP协议边数示意图,(b)为aflnetfast三种优化后lightFTP协议代码行数示意图,(c)为aflnetfast三种优化后lightFTP协议边覆盖示意图,(d)为aflnetfast三种优化后lightFTP协议代码覆盖示意图;
图12为针对DICOM(dcmtk)、SMTP(exim)、DAAP(forked-daapd)、FTP(pure-ftpd)、DTLS(tinydtls)和SIP(kamailio)协议代码覆盖实验示意图,其中,(a)为DICOM协议代码覆盖示意图,(b)为SMTP协议代码覆盖示意图,(c)为DAAP协议代码覆盖示意图,(d)为FTP协议代码覆盖示意图,(e)为DTLS协议代码覆盖示意图,(f)为SIP协议代码覆盖示意图;
图13为协议模糊测试5分钟和60分钟变异操作效率对比示意图。
附图标号:1、第一萤火虫xi1;2、第二萤火虫xj1;3、第三萤火虫xk1
具体实施方式
为了使本发明实施例中的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
参考图1-图4详细说明本实施例,一种基于萤火虫算法的种子变异操作调度方法,具体包括以下步骤:
S1.借助萤火虫算法建立变异操作调度模型;
具体步骤为:
S11.初始化种群萤火虫的位置,随机生成一组初始解向量;
S12.萤火虫亮度调整,更新每个解向量的适应度;
S13.萤火虫吸引,根据解向量的适应度和解向量之间差距,更新解向量;
所述S13中,对每只萤火虫依次计算其他萤火虫的吸引力,由当前位置被吸引移动的距离/>和随机扰动距离αtt得到第i只萤火虫t+1轮的位置/>
第i只萤火虫t+1轮的位置表示为:
其中,被吸引移动距离主要受介质对光的吸收系数γ、吸引度系数β和萤火虫之间的距离r影响,随机扰动距离αtt由扰动的步长因子α和随机扰动∈计算得到;
S14.最亮萤火虫随机移动,适应度最高的解向量随机移动;
所述S14中,最亮的萤火虫在S13中缺乏主动靠近任何萤火虫的机会,因此对其进行随机移动,由当前位置和随机扰动距离αtt得到第i只萤火虫t+1轮的位置/>
第i只萤火虫t+1轮的位置表示为:
S15.判断终止条件;
所述S15中,终止条件为种群中萤火虫的个体行为形成萤火虫群体行为,如果满足终止条件,则输出解向量,得到全局最优解,算法结束;如果未满足终止条件,更新迭代参数αt并返回S12循环操作;
迭代参数αt表示为:
αt=α0δt (3)
其中,α0为初次迭代参数,δt为第t轮迭代系数;
S16.确定萤火虫算法概念与变异操作调度概念对应关系,建立变异操作调度模型;
所述S16中,萤火虫算法的萤火虫位置对应变异操作权重值,萤火虫算法的全局最优解对应各变异操作最佳权重值所形成的所有变异操作均具备最佳概率,萤火虫算法的萤火虫亮度对应变异操作效能,萤火虫算法的一次迭代对应执行400次变异操作,萤火虫算法的移动萤火虫对应变异操作权重值调整,萤火虫算法的吸引对应变异操作权重值向效率更好的变异操作权重值调整,萤火虫算法的随机扰动距离对应变异操作权重值随机增大或减小的值,萤火虫算法的吸引度对应变异操作权重值调整参数;
具体的,一种基于萤火虫算法的种子变异操作调度方法,借助萤火虫算法建立变异操作调度模型,使变异操作调度自适应地调整变异操作的概率,萤火虫算法(FireflyAlgorithm,简称FA)是一种基于自然界中萤火虫相互吸引行为而发展的启发式算法,其特点是全局搜索和自适应性,在萤火虫算法中,每个萤火虫的位置表示一个解向量,其亮度表示该解向量的适应度,萤火虫之间的移动受到两个因素的影响:1.亮度即解向量的适应度,2.距离即解向量之间的差异,其移动距离由以上两个因素共同决定,亮度越高的萤火虫移动距离越小,距离越近移动距离也越小;萤火虫算法中,每个萤火虫都有一定的概率进行随机移动,即解向量随机移动,其可以增加算法的多样性,避免算法陷入局部最优解,算法常用的终止条件包括达到最大迭代次数、目标函数值达到一定阈值、连续多次迭代目标函数值无显著改变等;参考图2,萤火虫在局部空间中两两吸引或排斥,每只萤火虫均向附近最亮的萤火虫移动,萤火虫亮度由位置决定,所在位置的适应度高则亮度强,第一萤火虫xi11被亮度更强的第二萤火虫xj12和第三萤火虫xk13吸引,向两个方向的合力方向移动,第二萤火虫xj12被亮度更强的第三萤火虫xk13吸引,向其方向移动;参考图3,萤火虫算法经过多轮次的迭代,种群中萤火虫的个体行为形成萤火虫群体行为,逐渐趋向全局最优解;
S2.通过迭代算法lightUpdating进行萤火虫效率迭代,计算得到变异操作效能lighti
所述S2中,变异操作效能lighti表示为:
其中,statusi表示变异操作所触发的协议状态数,cnti表示变异操作所执行次数,该二者用于计算变异操作平均协议状态数,xi表示变异操作权重值;
运行迭代算法lightUpdating,初始时,变异操作效能值light[i]为0,通过统计每轮迭代中新触发状态数findsStatesCnt[i]和每轮迭代中触发变异操作i的次数cyclesCnt[i]计算变异操作的效率即变异操作触发平均协议状态数appendFinds,结合变异操作权重值ffa[i],更新每个变异操作效能值light[i];
具体的,本实施例中,将萤火虫对应成变异操作,22种变异操作即在位置空间中存在22只萤火虫,萤火虫位置设计为一维位置空间中的浮点数,对应变异操作权重值,萤火虫位置发生变化即变异操作权重值改变,萤火虫亮度对应变异操作效能,数值上用一个浮点数表示;在萤火虫算法中,最亮的萤火虫会吸引其他萤火虫,一定范围内的萤火虫最终会聚集,而种子变异调度机制需要避免各变异操作具有相似的权重值,同时需要使变异操作权重值随效率调整,该机制采用萤火虫亮度对应变异操作效能的方式,使得效率突增的变异操作,其效能高为亮度大的萤火虫,而效率好权重值大的变异操作效能相对低,效能低的变异操作为亮度低的萤火虫,其吸引其他萤火虫能力弱,使其他效率较差的变异操作权重值提升可能性小,因此,保证了不同效率的萤火虫具有不同的权重值,效能高的变异操作为亮度高的萤火虫,当其权重值增大效能降低,则萤火虫亮度降低不再吸引其他萤火虫;
迭代算法lightUpdating如下:
S3.调整变异操作权重值,使得每只萤火虫位置调整到最佳位置;
所述S3中,根据公式(1),通过移动算法moveFfa得到变异操作权重值运行移动算法moveFfa,变异操作权重值/>对应权重值ffa[i]设置范围为lowerbound至upper bound,即[0.5,5.0],其初始值设置为0.5,种子变异操作调度方法实现中萤火虫算法参数对应关系及初始值设置如下:初次迭代参数α0初始值alpha为0.5,吸引度系数β初始值beta0为1.0,介质对光的吸收系数γ初始值gama为4.0,迭代系数δ初始值delta为0.99;计算距离r、变异操作权重值调整吸引度系数β初始值beta0和变异操作权重值的随机变化值alpha*(randomNum-0.5)结合当前变异操作权重值得到下一轮变异操作权重值,其中,randomNum为0~1范围随机浮点数;
具体的,根据萤火虫算法,亮度高的萤火虫吸引亮度低的萤火虫使得位置调整,对应着变异操作权重值依据效能调整且权重值趋近效能高的变异操作权重值。随机扰动也是变异操作权重值调整的一部分,其距离对应着变异操作权重值随机增大或减小的数值,变异操作权重值调整的目标为全局最优解,即每只萤火虫位置调整到最佳位置,对应着各变异操作权重值调整为最佳权重值,即使得变异操作具备最佳概率,全局最优解在协议模糊测试不同阶段并不相同;
移动算法moveFfa如下:
S4.增加变异操作奖励和惩罚机制;
所述S4中,根据公式(4),为使变异操作调度选择效率好的变异操作,增加效能lighti数值最大的变异操作权重值,从而增加其被选择的概率,即增加奖励机制,对于效能lighti数值最小的变异操作增加惩罚机制,即惩罚效能lighti数值最小的变异操作,减小相应变异操作权重值,从而降低被选择的概率;
具体的,在萤火虫算法中,最亮的萤火虫为了寻找使其亮度更大的位置而需要进行随机移动,在协议模糊测试应用的背景下,需要增加其变异操作权重值,从而增加其被选择的概率;参考图4,4号萤火虫位置的变异操作效能lighti最大,需要将其向数值更大的位置移动,增加其权重值,对于效能lighti数值最小的变异操作,在萤火虫算法中未进行额外处理,但在协议模糊测试场景下,如果不对效能lighti数值小的变异操作进行额外的惩罚机制,该变异操作则缺乏从较大权重值向较小权重值调整的机制,导致效率变差的变异操作具有较大的权重值,从而影响协议模糊测试的运行效率,7号萤火虫位置的变异操作为效能lighti数值最小的变异操作,因此需要将其向效能lighti数值更小的位置移动,减小相应变异操作权重值。
S5.运行变异操作选择算法,选择出具体变异操作。
所述S5中,运用选择算法selectAlgorithm,根据变异操作权重值选择出具体变异操作,使用源于遗传算法的轮盘赌选择作为选择算法selectAlgorithm的依据,将轮盘赌的饼图面积对应变异操作权重值,通过计算总权重值和模拟轮盘转动随机数,计算获得选中的变异操作,选择算法selectAlgorithm遍历所有变异操作计算总权重值rangeSelect,随机选取指针位置select,通过计算选择出具体变异操作。
具体的,轮盘赌选择基本思想在于存在众多面积不一的饼图,将这些饼图组成一个转盘,然后随机旋转转盘,指针落在具体饼图上,即选中该具体饼图,选中的概率与饼图面积成正比,饼图面积越大被选中的概率就越大,为此,将轮盘赌的饼图面积对应变异操作权重值,通过计算总权重值和模拟轮盘转动随机数,即可计算获得选中的变异操作。
选择算法selectAlgorithm如下:
本发明比较了FTP协议模糊测试分别执行到5分钟和60分钟时刻不同变异操作的效率,实验选取5分钟和60分钟时刻的原因在于:执行时间为5分钟时,此刻状态空间探索速度快触发新状态数多;执行时间为60分钟时,此刻协议的状态空间探索速度明显减缓且触发新状态数少。前者有利于观察变异操作触发新状态数多的场景下各变异操作的效率,后者有利于观察变异操作触发新状态数少的场景下各变异操作的效率。
参考图13,图中空心点表示协议模糊测试执行5分钟后的变异操作,所有变异操作的平均协议状态数b均处在0~0.18区间,其中,OVERWRITE75变异操作平均协议状态数b最高约为0.12,且dictionary、regions等一次变异改动内容较多的变异操作平均协议状态数b优于字节翻转、算术加减等变异操作,协议模糊测试执行60分钟后,所有变异操作平均协议状态数b均在0~0.02区间且各自相差不大。
由此可见,在协议模糊测试运行初期,变异操作调度器选择regions、dictionary等变异操作会带来更好的效率,其原因在于协议状态空间处于探索阶段,大幅度的种子变异可以加速待测协议的状态转换速度,进而加速状态空间的探索速度,而随着模糊测试的深入,探索状态空间或继续提升代码覆盖率变得困难,导致所有变异操作效率均有所降低。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (6)

1.一种基于萤火虫算法的种子变异操作调度方法,其特征在于,包括以下步骤:
S1.借助萤火虫算法建立变异操作调度模型;具体地:
S11.初始化种群萤火虫的位置,随机生成一组初始解向量;
S12.萤火虫亮度调整,更新每个解向量的适应度;
S13.萤火虫吸引,根据解向量的适应度和解向量之间差距,更新解向量;
S14.最亮萤火虫随机移动,适应度最高的解向量随机移动;
S15.判断终止条件;
S16.确定萤火虫算法概念与变异操作调度概念对应关系,建立变异操作调度模型;
S2.通过迭代算法lightUpdating进行萤火虫效率迭代,计算得到变异操作效能lighti
S3.调整变异操作权重值,使得每只萤火虫位置调整到最佳位置;
S4.增加变异操作奖励和惩罚机制;
S5.运行变异操作选择算法,选择出具体变异操作。
2.根据权利要求1所述的一种基于萤火虫算法的种子变异操作调度方法,其特征在于,所述S1中,包括以下步骤:
所述S13中,对每只萤火虫依次计算其他萤火虫的吸引力,由当前位置被吸引移动的距离/>和随机扰动距离αtt得到第i只萤火虫t+1轮的位置/>
第i只萤火虫t+1轮的位置表示为:
其中,被吸引移动距离主要受介质对光的吸收系数γ、吸引度系数β和萤火虫之间的距离r影响,随机扰动距离αtt由扰动的步长因子α和随机扰动∈计算得到;
所述S14中,最亮的萤火虫在S13中缺乏主动靠近任何萤火虫的机会,因此对其进行随机移动,由当前位置和随机扰动距离αtt得到第i只萤火虫t+1轮的位置/>
第i只萤火虫t+1轮的位置表示为:
所述S15中,终止条件为种群中萤火虫的个体行为形成萤火虫群体行为,如果满足终止条件,则输出解向量,得到全局最优解,算法结束;如果未满足终止条件,更新迭代参数αt并返回S12循环操作;
迭代参数αt表示为:
αt=α0δt(3)
其中,α0为初次迭代参数,δt为第t轮迭代系数;
所述S16中,萤火虫算法的萤火虫位置对应变异操作权重值,萤火虫算法的全局最优解对应各变异操作最佳权重值所形成的所有变异操作均具备最佳概率,萤火虫算法的萤火虫亮度对应变异操作效能,萤火虫算法的一次迭代对应执行400次变异操作,萤火虫算法的移动萤火虫对应变异操作权重值调整,萤火虫算法的吸引对应变异操作权重值向效率更好的变异操作权重值调整,萤火虫算法的随机扰动距离对应变异操作权重值随机增大或减小的值,萤火虫算法的吸引度对应变异操作权重值调整参数。
3.根据权利要求2所述的一种基于萤火虫算法的种子变异操作调度方法,其特征在于,所述S2中,变异操作效能lighti表示为:
其中,statusi表示变异操作所触发的协议状态数,cnti表示变异操作所执行次数,该二者用于计算变异操作平均协议状态数,xi表示变异操作权重值;
运行迭代算法lightUpdating,初始时,变异操作效能值light[i]为0,通过统计每轮迭代中新触发状态数findsStatesCnt[i]和每轮迭代中触发变异操作i的次数cyclesCnt[i]计算变异操作的效率即变异操作触发平均协议状态数appendFinds,结合变异操作权重值ffa[i],更新每个变异操作效能值light[i]。
4.根据权利要求3所述的一种基于萤火虫算法的种子变异操作调度方法,其特征在于,所述S3中,根据公式(1),通过移动算法moveFfa得到变异操作权重值运行移动算法moveFfa,变异操作权重值/>对应权重值ffa[i]设置范围为lowerbound至upperbound,即[0.5,5.0],其初始值设置为0.5,种子变异操作调度方法实现中萤火虫算法参数对应关系及初始值设置如下:初次迭代参数α0初始值alpha为0.5,吸引度系数β初始值beta0为1.0,介质对光的吸收系数γ初始值gama为4.0,迭代系数δ初始值delta为0.99;计算距离r、变异操作权重值调整吸引度系数β初始值beta0和变异操作权重值的随机变化值alpha*(randomNum-0.5)结合当前变异操作权重值得到下一轮变异操作权重值,其中,randomNum为0~1范围随机浮点数。
5.根据权利要求4所述的一种基于萤火虫算法的种子变异操作调度方法,其特征在于,所述S4中,根据公式(4),为使变异操作调度选择效率好的变异操作,增加效能lighti数值最大的变异操作权重值,从而增加其被选择的概率,即增加奖励机制,对于效能lighti数值最小的变异操作增加惩罚机制,即惩罚效能lighti数值最小的变异操作,减小相应变异操作权重值,从而降低被选择的概率。
6.根据权利要求5所述的一种基于萤火虫算法的种子变异操作调度方法,其特征在于,所述S5中,运用选择算法selectAlgorithm,根据变异操作权重值选择出具体变异操作,使用源于遗传算法的轮盘赌选择作为选择算法selectAlgorithm的依据,将轮盘赌的饼图面积对应变异操作权重值,通过计算总权重值和模拟轮盘转动随机数,计算获得选中的变异操作,选择算法selectAlgorithm遍历所有变异操作计算总权重值rangeSelect,随机选取指针位置select,通过计算选择出具体变异操作。
CN202310597940.2A 2023-05-25 2023-05-25 一种基于萤火虫算法的种子变异操作调度方法 Active CN116633830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310597940.2A CN116633830B (zh) 2023-05-25 2023-05-25 一种基于萤火虫算法的种子变异操作调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310597940.2A CN116633830B (zh) 2023-05-25 2023-05-25 一种基于萤火虫算法的种子变异操作调度方法

Publications (2)

Publication Number Publication Date
CN116633830A true CN116633830A (zh) 2023-08-22
CN116633830B CN116633830B (zh) 2024-01-23

Family

ID=87609443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310597940.2A Active CN116633830B (zh) 2023-05-25 2023-05-25 一种基于萤火虫算法的种子变异操作调度方法

Country Status (1)

Country Link
CN (1) CN116633830B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234957A (zh) * 2023-11-16 2023-12-15 山东科技大学 一种基于改进萤火虫算法的测试用例优先级排序方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286279A1 (en) * 2016-04-01 2017-10-05 Sony Interactive Entertainment America Llc Game Stream Fuzz Testing and Automation
CN108828436A (zh) * 2018-06-27 2018-11-16 桂林电子科技大学 基于混沌云自适应萤火虫算法的模拟电路故障诊断方法
CN110533151A (zh) * 2019-07-29 2019-12-03 湘潭大学 一种基于万有引力定律的萤火虫优化算法
CN111008126A (zh) * 2019-11-13 2020-04-14 浙江大学 基于粒子群优化的模糊测试变异调度方法和系统
CN111105077A (zh) * 2019-11-26 2020-05-05 广东电网有限责任公司 一种基于变异萤火虫算法的含dg配电网重构方法
US20210026758A1 (en) * 2019-07-26 2021-01-28 Vmware, Inc. Efficient fuzz testing of low-level virtual devices
CN112596373A (zh) * 2020-10-27 2021-04-02 西北工业大学 一种基于量子萤火虫算法的无人机姿控参数智能整定方法
CN112769654A (zh) * 2021-01-21 2021-05-07 国网河南省电力公司电力科学研究院 一种基于遗传算法的Modbus TCP协议模糊测试方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170286279A1 (en) * 2016-04-01 2017-10-05 Sony Interactive Entertainment America Llc Game Stream Fuzz Testing and Automation
CN108828436A (zh) * 2018-06-27 2018-11-16 桂林电子科技大学 基于混沌云自适应萤火虫算法的模拟电路故障诊断方法
US20210026758A1 (en) * 2019-07-26 2021-01-28 Vmware, Inc. Efficient fuzz testing of low-level virtual devices
CN110533151A (zh) * 2019-07-29 2019-12-03 湘潭大学 一种基于万有引力定律的萤火虫优化算法
CN111008126A (zh) * 2019-11-13 2020-04-14 浙江大学 基于粒子群优化的模糊测试变异调度方法和系统
CN111105077A (zh) * 2019-11-26 2020-05-05 广东电网有限责任公司 一种基于变异萤火虫算法的含dg配电网重构方法
CN112596373A (zh) * 2020-10-27 2021-04-02 西北工业大学 一种基于量子萤火虫算法的无人机姿控参数智能整定方法
CN112769654A (zh) * 2021-01-21 2021-05-07 国网河南省电力公司电力科学研究院 一种基于遗传算法的Modbus TCP协议模糊测试方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HUHUA LI; DONGYANG ZHAN; TIANRUI LIU; LIN YE: "Using Deep-Learning-Based Memory Analysis for Malware Detection in Cloud", 《2019 IEEE 16TH INTERNATIONAL CONFERENCE ON MOBILE AD HOC AND SENSOR SYSTEMS WORKSHOPS (MASSW)》 *
KE YAN: "NAFuzzer: Augmenting Network Protocol Fuzzers via Automatic Template and Seed Generation", 《2022 7TH IEEE INTERNATIONAL CONFERENCE ON DATA SCIENCE IN CYBERSPACE (DSC)》 *
任静敏;潘大志;: "一种改进的模拟退火萤火虫混合算法求解0/1背包问题", 绵阳师范学院学报, no. 02 *
王乔;宋礼鹏;: "基于种子变异潜力的模糊测试方法", 科学技术与工程, no. 09 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234957A (zh) * 2023-11-16 2023-12-15 山东科技大学 一种基于改进萤火虫算法的测试用例优先级排序方法
CN117234957B (zh) * 2023-11-16 2024-02-06 山东科技大学 一种基于改进萤火虫算法的测试用例优先级排序方法

Also Published As

Publication number Publication date
CN116633830B (zh) 2024-01-23

Similar Documents

Publication Publication Date Title
Rakhshani et al. Snap-drift cuckoo search: A novel cuckoo search optimization algorithm
Gao et al. Hierarchical multi-agent optimization for resource allocation in cloud computing
Xing et al. An integer encoding grey wolf optimizer for virtual network function placement
Lin et al. Adapting crossover and mutation rates in genetic algorithms
CN116633830B (zh) 一种基于萤火虫算法的种子变异操作调度方法
US9058564B2 (en) Controlling quarantining and biasing in cataclysms for optimization simulations
Wu et al. Neighborhood field for cooperative optimization
Yılmaz et al. A transfer learning approach for securing resource-constrained IoT devices
Liu et al. Provably efficient black-box action poisoning attacks against reinforcement learning
Forouraghi Worst-case tolerance design and quality assurance via genetic algorithms
Ma et al. A hybrid-strategy-improved butterfly optimization algorithm applied to the node coverage problem of wireless sensor networks
Liu et al. Multipopulation ensemble particle swarm optimizer for engineering design problems
CN115543556A (zh) 一种基于多任务遗传编程算法的自适应符号回归方法
Wang et al. An adaptive memetic algorithm for the joint allocation of heterogeneous stochastic resources
CN116431597A (zh) 用于训练数据分类模型的方法、电子设备和计算机程序产品
Lissovoi et al. Computational complexity analysis of genetic programming
Li et al. An efficient particle swarm optimization with multidimensional mean learning
Hao et al. Achieving socially optimal outcomes in multiagent systems with reinforcement social learning
Wang et al. Optimal DoS attack strategy for cyber-physical systems: A Stackelberg game-theoretical approach
Wang et al. Particle swarm optimizer with adaptive tabu and mutation: A unified framework for efficient mutation operators
Wang et al. A self-adaptive mixed distribution based uni-variate estimation of distribution algorithm for large scale global optimization
Tirumala A quantum-inspired evolutionary algorithm using gaussian distribution-based quantization
Karim et al. Hovering swarm particle swarm optimization
Zhao et al. The improved equilibrium optimization algorithm with Lévy flight
Chen et al. Adaptive particle swarm optimization with gaussian perturbation and mutation

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