1、h t t p:/ww wj s j k x c o mD O I:/j s j k x 到稿日期:返修日期:基金项目:C C F 绿盟科技“鲲鹏”基金(C C F N S F O C U S );年工业互联网创新发展工程 工业互联网数据安全检测响应与溯源项目(T C H );中央高校基本科研业务费专项资金(T S );西安电子科技大学杭州研究院概念验证基金项目(X J )T h i sw o r kw a ss u p p o r t e db yt h eC C F N S F O C U S(),I n d u s t r i a l I n t e r n e t I n n o v
2、a t i o na n dD e v e l o p m e n tP r o j e c t I n d u s t r i a l I n t e r n e tD a t aS e c u r i t y D e t e c t i o n R e s p o n s e a n d T r a c e a b i l i t y P r o j e c t(T C H ),F u n d a m e n t a l R e s e a r c h F u n d sf o rt h e C e n t r a l U n i v e r s i t i e s(T S )a n dC
3、 o n c e p tF o u n d a t i o no fH a n g z h o uI n s t i t u t eo fT e c h n o l o g y,X i d i a nU n i v e r s i t y(X J )通信作者:申林山(s h e n l i n s h a n h r b e u e d u c n)基于生成对抗网络与变异策略结合的网络协议漏洞挖掘方法庄园曹文芳孙国凯孙建国申林山尤扬王晓鹏张云海哈尔滨工程大学计算机科学与技术学院哈尔滨 西安电子科技大学杭州研究院杭州 绿盟科技集团股份有限公司北京 (z h u a n g y u a n h r
4、 b e u e d u c n)摘要随着信息化和工业化的深度融合,工业物联网网络协议安全问题日益突出.现有网络协议漏洞挖掘技术以特征变异和模糊测试为主,存在依赖专家经验和无法突破未知协议的局限.针对工业物联网协议的漏洞挖掘挑战,文中从漏洞检测规则的自动化分析与生成展开研究,提出基于生成对抗网络与变异策略结合的网络协议漏洞挖掘方法.首先,采用一种基于生成对抗网络的网络协议分析模型,通过对报文序列进行深层信息挖掘,提取报文格式及相关特征,实现对网络协议结构的识别.然后,结合基于变异算子库指导的迭代变异策略,构建有导向性的测试用例生成规则,缩短漏洞发现的时间;最终,形成面向未知工控网络协议的自动化
5、漏洞挖掘方法,满足现有工控应用领域对协议自动化漏洞挖掘的需求.基于上述方法,对两种工控协议(M o d b u s T C P和S)进行测试,并对生成用例的测试接收率、漏洞检测能力、用例生成时间及其多样性方面进行了评估.实验结果表明,所提方法在TA指标上高达 ,本方法检测模拟系统M o d b u s S l a v e的A D指标为 ,缩短了有效用例的生成时间,提升了工控协议漏洞挖掘的效率.关键词:生成对抗网络;变异策略;模糊测试;漏洞挖掘;网络协议中图法分类号T P N e t w o r kP r o t o c o lV u l n e r a b i l i t yM i n i n
6、 gM e t h o dB a s e do nt h eC o m b i n a t i o no fG e n e r a t i v eA d v e r s a r i a lN e t w o r ka n dM u t a t i o nS t r a t e g yZ HUANGY u a n,C A O W e n f a n g,S UNG u o k a i,S UNJ i a n g u o,S HE NL i n s h a n,Y OUY a n g,WAN GX i a o p e n ga n dZ HANGY u n h a iC o l l e g eo
7、fC o m p u t e rS c i e n c ea n dT e c h n o l o g y,H a r b i nE n g i n e e r i n gU n i v e r s i t y,H a r b i n ,C h i n aH a n g z h o uI n s t i t u t eo fT e c h n o l o g y,X i d i a nU n i v e r s i t y,H a n g z h o u ,C h i n aN S F O C U ST e c h n o l o g i e sG r o u pC o,L t d,B e i
8、 j i n g ,C h i n aA b s t r a c t W i t ht h ed e e pi n t e g r a t i o no f i n f o r m a t i z a t i o na n di n d u s t r i a l i z a t i o n,t h es e c u r i t yi s s u e so f i n d u s t r i a l I n t e r n e to ft h i n g s(I I o T)n e t w o r kp r o t o c o l s a r eb e c o m i n g i n c r
9、e a s i n g l yp r o m i n e n t E x i s t i n gn e t w o r kp r o t o c o l v u l n e r a b i l i t ym i n i n g t e c h n i q u e sm a i n l yr e l yo nf e a t u r ev a r i a t i o na n df u z z yt e s t i n g,w h i c hh a v e t h e l i m i t a t i o n so f d e p e n d i n go ne x p e r t e x p e
10、r i e n c ea n dc a n n o t o v e r c o m e t h ec h a l l e n g e sp o s e db yu n k n o w np r o t o c o l s T oa d d r e s s t h ev u l n e r a b i l i t ym i n i n gc h a l l e n g e s i nI I o Tp r o t o c o l s,t h i sp a p e r c o n d u c t s r e s e a r c ho nt h ea u t o m a t i o na n a l
11、y s i sa n dg e n e r a t i o no fv u l n e r a b i l i t yd e t e c t i o nr u l e sa n dp r o p o s e san e t w o r kp r o t o c o lv u l n e r a b i l i t ym i n i n gm e t h o db a s e do nac o m b i n a t i o no fg e n e r a t i v ea d v e r s a r i a ln e t w o r k s(G AN s)a n dm u t a t i o
12、ns t r a t e g i e s F i r s t l y,an e t w o r kp r o t o c o l a n a l y s i sm o d e lb a s e do nG AN s i se m p l o y e dt oc o n d u c td e e pi n f o r m a t i o nm i n i n go nm e s s a g es e q u e n c e s,e x t r a c tm e s s a g ef o r m a t s,a n d r e l a t e d f e a t u r e s,e n a b l
13、 i n g t h e r e c o g n i t i o no f n e t w o r kp r o t o c o l s t r u c t u r e s T h e n,b y c o m b i n i n gag u i d e d i t e r a t i v em u t a t i o ns t r a t e g yw i t ham u t a t i o no p e r a t o r l i b r a r y,d i r e c t e d t e s t c a s eg e n e r a t i o nr u l e sa r e c o n
14、s t r u c t e d t or e d u c e t h e t i m e f o rv u l n e r a b i l i t yd i s c o v e r y U l t i m a t e l y,a na u t o m a t e dv u l n e r a b i l i t ym i n i n gm e t h o df o ru n k n o w ni n d u s t r i a lc o n t r o ln e t w o r kp r o t o c o l si sd e v e l o p e dt om e e t t h ed e
15、m a n df o rp r o t o c o l a u t o m a t e dv u l n e r a b i l i t ym i n i n g i nt h ee x i s t i n g i n d u s t r i a l c o n t r o l a p p l i c a t i o nd o m a i n B a s e do nt h ea b o v e m e n t i o n e da p p r o a c h,w ec o n d u c t t e s t so nt w o i n d u s t r i a l c o n t r o
16、l p r o t o c o l s(M o d b u s T C Pa n dS)a n de v a l u a t et h e mi nt e r m so f t e s tc o v e r a g e,v u l n e r a b i l i t yd e t e c t i o nc a p a b i l i t y,t e s tc a s eg e n e r a t i o nt i m e,a n dd i v e r s i t y E x p e r i m e n t a lr e s u l t ss h o wt h a t t h ep r o p
17、o s e dm e t h o da c h i e v e s a r e m a r k a b l e o n t h eTAi n d e x T h eA Di n d e x,w h i c hm e a s u r e s t h ea b i l i t y t od e t e c t v u l n e r a b i l i t i e s i nt h es i m u l a t e d M o d b u s S l a v es y s t e m,r e a c h e s A d d i t i o n a l l y,t h ep r o p o s e
18、dm e t h o ds i g n i f i c a n t l yr e d u c e st h et i m er e q u i r e df o rg e n e r a t i n ge f f e c t i v e t e s t c a s e s,t h e r e b ye n h a n c i n gt h ee f f i c i e n c yo f i n d u s t r i a l c o n t r o lp r o t o c o lv u l n e r a b i l i t yd i s c o v e r y K e y w o r d
19、s G e n e r a t i v ea d v e r s a r i a ln e t w o r k,M u t a t i o ns t r a t e g y,F u z z i n gt e s t,V u l n e r a b i l i t ym i n i n g,N e t w o r kp r o t o c o l引言工控协议指在工控环境下,双方实体完成通信或服务所需要遵守的规则及约定.近年来,随着工控产品和系统的普及,出现了许多网络安全事件,例如臭名昭著的震网病毒、席卷全球的勒索病毒等都给社会造成了重大损失.同时,网络上恶意攻击者利用工控网络漏洞对互联网上的设备
20、发动远程攻击,直接影响了整个互联网的安危.因此,工业物联网安全问题引起了世界各国的广泛关注.漏洞挖掘技术指综合应用各种技术和工具,尽可能地发现软件程序、网络协议等存在安全漏洞的过程.据调查统计,传统工控网络协议漏洞挖掘方法主要采用的是逆向分析技术、渗透测试技术、模糊测试技术等.其中,模糊测试技术通常是根据需要测试的软件或协议规范来构建有效的测试用例,利用恶意输入对目标进行测试以引起崩溃或异常等行为,进而发现软件或者协议中存在的漏洞.上述方法主要应用于当前已知的工控网络协议,但是由于存在投入成本高、执行耗时长、容易出错、针对性不足、迁移性差以及漏洞检测效率低等问题,这些方法难以实现智能、高效的漏
21、洞挖掘.因此,本文提出了一种基于生成对抗网络与变异策略结合的网络协议漏洞挖掘方法,旨在解决当前工控网络协议漏洞挖掘过程中遇到的问题.其中,利用生成对抗网络能够减少人工分析协议构造测试用例带来的不客观性问题,同时降低构造模糊测试用例的时间成本与人工成本,提高整个模糊测试过程的效率;依据工控协议报文字段特点以及现有漏洞规则的已知特征,设计指导性的变异策略与变异方法,在可控范围内高效、快速地指导生成有效用例,从而实现更精准、高效的漏洞 挖掘.本 文采 用改 进 的 多 生 成 器 生 成 对 抗 网 络(DMG AN)产生测试用例,并且与线下快速变异策略结合的方式解决工控网络协议漏洞挖掘面临的难题,
22、最后通过对M o d b u s T C P协议与S 协议进行模拟仿真实验,验证了所提算法在模糊测试中测试用例数据多样性、测试系统接收率、故障的触发次数等性能指标上的有效性,以及对生成测试用例时间的改进.实验结果表明,利用DMGAN模型能够有效降低人工分析的时间和成本,在不影响漏洞检测效果的情况下,有效减少人工输入测试用例以及人工分析带来的不确定性,而变异策略能指导模型更加快速地找到有效的测试用例.综上,本文的贡献包括以下个方面:)提出了基于DMG AN模型的网络协议漏洞挖掘方法,通过模型学习工控样本数据的报文格式,从而减少在工控系统测试过程中投入的人工成本和时间,提升测试效果.)根据线下分析
23、工控协议报文字段的特点以及现有漏洞的触发原理,提出基于变异算子库和数据包规则的方法,该方法旨在设计有导向性的线下快速变异策略与方法来指导有效测试用例的生成,达到更加快速发现有效用例的效果.)采用迭代反馈的模式对测试用例进行不断的筛选和线下变异指导,结合模糊测试结果对变异策略与方法做进一步指导,同时将变异后的用例送入模型进行训练与测试,实现涉及层面更深、更广的测试,挖掘出更多的潜在漏洞.相关工作 深度学习与生成对抗网络近年来,机器学习和深度学习在技术上取得了重大突破.特别是深度学习的发展,使计算机具备了强大的感知能力;同时,深度学习也吸引了技术界的关注,并展现出巨大的应用前景.在游戏、机器人、机
24、器翻译、语音识别、自动驾驶、导航、入侵检测、多智能体协作和推荐系统等领域中,深度学习已经实现了可与人类媲美甚至超越人类的表现.在技术飞速发展的过程中,研究者开始将研究方向从机器感知转向机器创造,利用机器学习的生成技术,使机器具备创造新事物的能力.生成对抗网络的诞生,打破了人们对传统生成模型的理解,目前已经取得了令人称赞的成果.对抗网络的技术是人工智能领域新的里程碑.“生成对抗网络之父”G o o d f e l l o w在蒙特利尔大学跟随深度学习顶级大师Y o s h u a深造,在生物学家L e i g h的“红皇后假说”的启发下产生了对抗网络的构想,随后经历多次尝试后在对抗网络生成图像方
25、面取得了十分理想的结果.然而,生成对抗网络的训练相对于其他深度学习网络而言并不稳定,会出现不收敛、梯度消失、模式崩溃等问题 .因此,本文提出了改进的生成对抗网络模型,以克服训练过程中出现的难收敛、梯度消失、模式崩溃,以及生成数据多样性差的问题.模糊测试模糊测试技术经过 多年的发展已成为一种广泛应用的漏洞挖掘技术.年,麦迪逊大学教授B a r t o nM i l l e r提出了模糊测试的概念,并测试了UN I X系统下应用程序的健壮性.随后,越来越多的研究人员投入到模糊测试的研究中,提出了各种新的思想和方法.例如P o r t e r等提出的P R O T O S测试套件使用协议规范生成结构
26、化测试数据,将模糊测试首次应用到网络协议测试中.随后A i t e l开发了首个自定义的模糊测试器框架S P I K E,后续也有研究者对S P I K E工具做出了改进.P e a c h 用于文件模糊测试,并通过简单易懂的编写语言和跨平台测试受到安全测试人员的喜爱.安全研究员开发的A F L 是基于覆盖引导的模糊测试工具,极大地影响了模糊测试技术,并持续进行改进.最近的研究尝试将深度学习技术与A F L相结合,通过应用序列到序列神经网络模型来增强A F L模糊器的效果.尽管模糊测试技术庄园,等:基于生成对抗网络与变异策略结合的网络协议漏洞挖掘方法在漏洞挖掘方面凸显了有效性,但其测试用例生成
27、的随机性和变异过程的复杂性仍然是一大挑战.因此,要找到漏洞,需要耗费大量的时间和计算资源.模糊测试中的数据生成过程通常是基于一定的规则和算法,无法生成真实世界中复杂的输入数据,因此很难发现存在的潜在漏洞.另外,目前的模糊测试技术依赖安全专家的测试经验.在过去的研究中,深度学习方法通常被用作辅助技术工具,但现在有研究将其作为核心方法应用于工业网络协议的模糊测试.例如,L v等提出使用机器学习来生成高价值的二进制种子文件.B t t i n g e r等也提出使用Q l e a r n i n g算法来确定对输入执行的变异操作.G o d e f r o i d等研究了如何利用基于神经网络的学习技
28、术来学习非二进制P D F数据对象的语法.这些研究都从不同的角度增强机器学习在模糊测试中的应用.尽管如此,模糊测试主要应用于已知网络协议,对于未知领域的应用并不太适用,这限制了模糊测试在更广泛场景中的应用和发展.因此,本文使用改进的对抗网络模型,实现对报文结构的深入挖掘与分析,生成大量测试用例;根据对协议报文字段以及漏洞触发原理的分析,提出基于变异算子库和数据包规则的变异策略与方法来指导有效测试用例的生成;最后,通过对测试结果的分析,并在此基础上动态调整变异策略对工控协议进行模糊测试,实现涉及面更深、更广的测试,挖掘出更多的潜在漏洞.生成对抗网络模型与变异策略结合的方法将基于生成与基于变异的模
29、糊测试技术相结合,不仅实现了对未知网络协议结构的识别,扩大了适用范围,同时减少了投入的人工成本与时间成本,而且缩短了找到漏洞所需的时间.基于生成对抗网络与变异策略结合的挖掘方法 整体架构本文采用基于生成对抗网络与变异策略结合的漏洞挖掘方法来解决当前网络协议漏洞挖掘面临的难题.其中主要通过提升测试用例的多样性、测试系统接收率,以及漏洞的触发次数等多项评估指标,来缩短生成测试用例的时间,改善模糊测试结果.通过训练改进生成对抗网络,本文方法有效降低了人工分析的时间和成本,消减了人工测试缺乏的客观性,增强了测试用例的多样性.同时,为高效识别出有效用例,本文提出根据已知漏洞特征与协议格式特点引入具有指导
30、性的变异策略与方法.本文方法的整体架构涉及数据预处理、生成模型设计、变异策略构建以及结果分析与反馈等过程,如图所示.图整体架构图F i g O v e r a l l f r a m e w o r ko f t h ep r o p o s e dm e t h o d首先,对初始报文数据集进行预处理,将处理过的数据输入模型中进行训练优化,实现自动化生成与真实数据结构相似的测试用例.然后结合模糊测试及对测试结果的分析,获取有效的异常信息,识别出有效用例.异常信息主要包括模糊测试过程中的异常响应以及线下漏洞库的内容.最后,将测试结果反馈到数据处理与模型训练中,通过反馈信息对变异策略做出调整,优
31、化对测试用例的变异操作.基于图像格式转换的数据预处理为了进一步增强训练过程,数据预处理流程必须确保将报文数据转换为符合目标格式的图像数据.主要通过对捕获的通讯报文数据集进行数据清洗、进制转换、数据帧对齐、数据聚类以及格式转换操作,将报文数据转化为图像数据,用于模型训练,实现对报文格式的深度学习分析.工控网络通讯环境下的数据包以序列的形式存在,由报文头部和数据域两部分组成.报文头部包含用于控制数据传输和处理的协议控制信息,具有相对固定的格式.数据域包含应用层的实际传输数据,由于指令信息不同,数据域长度和内容各不相同.值得注意的是,同一协议簇的通讯数据帧通常遵循相似且固定的协议格式.预处理阶段的主
32、要目标是通过数据帧清洗、对齐、进制转换、格式转换操作把数据处理成模型训练的图片格式.将原始的数据帧序列形式化表示为S:n(e,e,e,ex,en),exE,S:nS,其中E表示 进制的数据集合,由字母和数字构成;S表示数据帧序列集,由数据帧构成.进制转换则将十六进制的协议数据帧转换为十进制数据表示,再存储到特定的文件中.对输入训练模型中的数据格式做统一化处理后,进一步对文件中的数据做格式转换.将一维的向量转换为行 列 通道的三维数组,“”表示红、绿、蓝三通道;“”表示该通道的高度和宽度,即 像素.数据处理流程如图所示,其中,由于在数据对齐操作过程中加入了填充数据,因此图片R G B值为的像素点
33、也很多,训练图片的色调单一.图数据预处理F i g D a t ap r e p r o c e s s i n gC o m p u t e rS c i e n c e计算机科学V o l ,N o ,S e p 改进生成模型设计基于深度学习中的改进生成对抗网络模型,学习网络协议报文的格式与结构 ,生成多样化且具有差异性的测试数据报文,提高模型的泛化能力和鲁棒性.在模型设计过程中,全面考虑模型训练、参数调优、迭代优化等过程,在保证生成样本与实际数据样本之间差异性与相似性的同时,也能够保证生成样本的多样性.本文提出的改进的生成对抗网络模型(DMG AN)设计原理如下:DMGAN模型引入了高斯
34、噪声向量,并且运用高斯混合模型(G a u s s i a n M i x t u r eM o d e l,GMM)对隐空间向量进行参数化,再对参数化后的隐空间向量进行重参数化,得到多样化且能反向传播的样本数据;然后从指定的高斯分布中获取样本输入到生成器中,选用多模式生成器学习输入数据报文的空间结构;最后通过辨别器鉴别生成数据的真伪性,当判定结果达到纳什均衡时,结束训练.在对抗网络中,纳什均衡指生成器和判别器都达到最优状态,此时生成器生成的样本与真实数据无法被判别器区分开来.这个状态不是静态的,会基于过去的表现对生成器和判别器进行更新和调整.GMM是在不增加模型深度的情况下,学习混合模型的参
35、数来增加先验分布的建模能力与生成样本的多样性.通过引入多样性的机制来增强模型的生成能力,使得模型能够在有限数据的情况下生成多样性的样本.其中,高斯分布定义如下:f(x|,)e(x)()把z的分布定义为一个混合高斯模型.pzNig(z|i,i)N()其中,g(z|i,i)表示在高斯分布N(i,i)中取到样本z的概率,每个高斯分布都有i和i两个参数,i表示均值,i表示方差.多个高斯分布按照一定比例加权混合,得到新的概率分布.由于z是一个不可微分的随机变量,上述模型的两个参数的梯度不能直接通过样本参数z来反向传播,因此引入重参数化技巧.其原理是把z转变为可微分变量,即将每个高斯分布进行标准化表示,形
36、式如下:zii,N(,)()其中,i和i是标准化后的重参数,分别表示均值和方差;表示辅助噪声变量,即标准正态分布.如此,z转化成可微分变量.下面给定多个高斯混合分布piz为高斯噪声向量:pizNjg(ii|ij,ij)N()其中,ij表示第i个高斯混合分布的均值,ij表示第i个高斯混合分布的方差.多模式生成器学习输入数据序列的空间结构,进而生成测试用例,其损失函数由整体损失和局部损失组成.下式为模型训练优化损失函数:m i nG;K,Cm a xDJ(G:K,C,D)EXPd a t al o gD(X)EXPm o d e ll o g(D(X)KkkEXPGkl o gCk(X)()式()
37、前两项表示多个生成器与辨别器间的损失计算,Pd a t a表示真实数据的分布,PG表示生成数据的分布,D表示辨别器得到的结果.在本文中,多个生成器所得到的分布依次与辨别器计算得到损失值,之后采用求和平均的方式得到生成器与辨别器的整体损失,表示为:D(X)Pd a t a(x)Pd a t a(x)PG:k(x)()式()最 后 一项 表示 多 个 生 成 器 之 间 的 损 失,公 式 表示为:L(G:K)EXPd a t al o gPd a t a(x)Pd a t a(x)Pm o d e l(x)EXPm o d e ll o gPm o d e l(x)Pd a t a(x)Pm o
38、 d e l(x)Kk kEXPGkl o gkjjPGj(x)()本文应用的DMG AN模型设置了多模式生成器和鉴别器,并且随机地抽取高斯混合模型重参数化后的样本,然后输入多模式生成器中进行训练.高斯 混 合 模 型 中 定 义,NT和,NT,设置中包含一些简化集合以及每个分量的对角协方差矩阵、等权混合分量等,这限制了模型逼近更复杂分布的能力.并且,通过不断优化调整高斯混合模型参数以及这些参数的比例和权值,更好地拟合潜在数据分布,使得最终生成器产生的Pd a t a(G(ii)|)概率值最大.DMG AN模型结构如图所示.将高斯混合模型与多生成器模式相结合,能拟合更为复杂的样本分布,保证生成
39、数据的多样性和有效性,降低模式崩溃与难收敛等问题出现的可能性.图DMGAN模型F i g DMGANm o d e l同时设置模型训练参数、学习率、边界裁剪权重以及迭代训练周期等参数.学习率设置为 ,权重裁剪值设置为 ,设置 个迭代周期.高斯混合模型中i的取值设定为均匀分布中(,)中的随机值;i的取值设置为固定值,需要注意为避免模式崩溃其值不能为.将生成器生成的数据与初始数据输入鉴别器中,鉴别器对于两者的区分结果概率均保持在约/时,即判定已达到稳定的模型训练状态,结束训练.依据设置的 个训练周期,保存每 个训练时期的生成器模型.通过该方式不仅能获取最终的训练模型,还能保持数据的差异性,生成具有
40、不同相似度的测试用例,提高生成数据的多样性.训练过程完成后,验证生成器是否可以生成与真实数据具有高度相似性的数据帧.抽取预留的用于模型验证的真实庄园,等:基于生成对抗网络与变异策略结合的网络协议漏洞挖掘方法样本数据集且与生成数据集一同输入鉴别器中进行辨别,确定辨别器已达到纳什均衡状态.基于报文算子库的变异策略变异策略主要用来确定变异的位置,变异方法决定变异的内容,两者共同作用于报文序列,以实现更好的变异效果,确保生成高接收率且种类丰富的测试用例.本文根据现有漏洞规则的已知特征,建立有导向性的报文变异算子库,指导变异策略与变异方法,在可控范围内高效、快速地生成有效用例,提高模糊测试的效率.对漏洞
41、库进行分析发现,在工控场景下,通讯异常报文会引发地址越界、格式化字符串、缓冲区溢出、整数溢出、逻辑错误以及拒绝服务等问题.这些漏洞通常是程序或设备未对报文中的关键字段做逻辑处理、边界值未经处理、长度过长以及存在特殊字符等原因造成的.例如:缓冲区溢出漏洞的存在是因为未对传入数据帧长度边界值做检查,空指针漏洞的存在是因为未对空做判断处理操作,地址越界的存在也是因为没有对数据帧内容做边界值检查等.本文针对引发漏洞的异常数据帧集合、异常数据帧特征来设定变异方法,通过改变报文的长度特征、报文中涉及的特殊字符来设定变异方法.对于报文特征字段的变异,我们对字段间的相似性匹配以及报文段大小的边界值做变异.其中
42、,根据已知的协议字段特点定义的初始变异算子如表所列.表变异算子库T a b l eM u t a t i o no p e r a t o r l i b r a r y协议字段变异算子T r a n s a c a t i o nI D特殊符号,特殊的A S C I I码L e n g t h大于准确长度,小于准确长度,非法长度,特殊边界值U n i t I D合法但未被定义的标识,非法标识,边界值F C非法功能码,合法但被设备未定义的功能码,随机字符D a t a超长字符串,单字符、空值,非法读取值,非法数据地址,随机字符,空格,分隔符(!&?,),格式化字符串(d,n,x,f,)其他类型
43、特殊的A S C I I码,目录遍历符鉴于现有漏洞的触发原理和协议字段的特点,提出基于变异算子库和数据包规则的变异策略和方法,建立已知触发漏洞的报文特征库并设计变异策略对报文不同区域做出不同的变异操作,以快速地找出有效用例.结果分析与反馈调优将模型训练生成的测试用例与变异生成的测试用例输入测试环境中进行测试.其中,为保证测试接收率和数据用例多样性,先对协议进行结构化分析.设置满足工控通讯特点的模糊测试场景,并将测试数据帧注入设备或者模拟程序进行测试.对接测试程序或测试设备的接口,向其逐步注入测试数据帧,记录测试程序或者测试设备的运转情况,并标记异常通讯数据帧.为了深入模糊测试,本文对漏洞报文特
44、点进行分析判断,并根据不同特点对报文的变异策略 和方法进行调整.同时,分析异常响应的报文,当模糊测试结果中引发某类异常响应的报文比较单一时,动态地更换变异方法以提高测试效果.在确定引发某一异常响应的字段位置后,即对该位置的变异做出约束,以保证变异结果能够引发目标异常响应.同时,对其他位置仍然进行变异操作,以尽可能地发现其他异常情况.综上所述,通过对异常报文特点的分析和判断,并根据反馈的响应信息,动态地调整变异策略和方法,以及对特定字段位置进行约束和对其他位置进行变异操作,可以提高模糊测试的效率和准确性,有效地发现漏洞.为增强测试用例的多样性,采用变异与模型生成混合迭代的方式筛选有效用例,可以进
45、一步增强变异效果并评估出漏洞报文的特点.优化过程如图所示.图反馈调优流程F i g F e e d b a c kp r o c e s s实验 实验设置为验证所提方法在各方面指标上呈现出的有效性,搭建实验环境并进行模糊测试来阐明提出的技术亮点.实验中主要针对常用工控网络协议M o d b u s T C P 及S 的通信过程 进行模拟仿真测试,来验证测试效果.通过搭建遵循M o d b u s协议 规 范 的 通 讯 仿 真 工 具M o d b u sP o l lv 与M o d b u sS l a v ev 和M o d b u sR S S i mv 以及模拟的串口工具C o n
46、f i g u r eV i r t u a l S e r i a l P o r tD r i v e r(V S P D)对M o d b u s T C P协议进行模糊测试.安装西门子公司推出的S P L S C I M A d v a n c e dV 高功能仿真模拟软件,并配置P G/P C接口、P L CI P地址等完成对S 协议通信过程的模拟.最后,采用W i r e s h a r k工具实现对主站与从站通信过程的异常监测.本实验采用L e m a y 提供的工控数据集来训练,此数据集包括完整流量包捕获和包含恶意流量标签的文件,提供有关数据集生成的详细信息.另外,S 协议数据
47、集通过模拟环境捕获的数据进行训练.针对模型训练设置,将DMGAN模型放在具有 个处理器的(I n t e l(R)C o r e(TM)i KC P U GH z)G B内存(R AM)N v i d i aG e F o r c eG T X T i(G B)和 位M i c r o s o f tW i n d o w s P r o f e s s i o n a l的机器上训练.与以往基于WG AN模型与WG AN G P模型训练的效果进行对比,DMGAN模型生成的模糊测试用例在各个维度上凸显出了更好的效果.实验评估为体现所提方法的优势,我们引入测试用例的接收率、漏洞的检测能力与生成数
48、据多样性等客观评估指标评估整体C o m p u t e rS c i e n c e计算机科学V o l ,N o ,S e p 方法框架的有效性.同时,通过生成测试数据的能力与生成数据的多样性来评估改进的对抗网络模型的优势.通信数据格式不正确,接收方会拒绝接受数据,格式正确则接收方接收.测试接收率指测试目标接收的测试用例百分比,反映生成测试用例的有效性.其定义如下:T Anans ()其中,ns是发送用例总数,na是接收用例总数.在模型训练与变异过程中,通过调整模型训练参数与变异策略获得更高的测试接收率.在漏洞挖掘中,通过较少的测试用例挖掘出更多的漏洞是总体实验目标.漏洞检测率能反映发现漏
49、洞的能力,因此将该指标用作衡量方法有效性的最直接标准.其定义如下:ADnbnc ()其中,nb表示有效用例数量,nc表示测试用例数量.为体现指标的阶段变化性,统计在每 个测试用例中通过非正式类比发现的错误数据报文量.该指标是评价目标程序或设备漏洞关联性的最强指标.引入每小时生成测试用例数量的指标,即模型每小时可以生成的测试用例数量,公式如下:T C G PHng cH o u r s ()其中,ng c表示生成用例的数量,H o u r s表示生成用例所用的时间.为体现所提方法的测试范围与能力,将生成数据多样性作为一项重要指标.该指标侧重于生成数据中的类型数量,并展示生成数据多样性的能力.当生
50、成数据类型的数量小于训练数据类型的数量时,可以推断出模型性能不佳,需要进行调优.因此,将其作为模型的训练指标,同时,也可以将该指标作为测试用例的选择标准.实验结果表列出了本文方法与其他方法的对比结果.表实验结果T a b l eE x p e r i m e n t a l r e s u l t s方法用例数量测试目标测试接收率/漏洞检测率/漏洞触发次数DMGAN M o d b u sS l a v ev M o d b u sR S S i mv WGAN M o d b u sS l a v ev M o d b u sR S S i mv WGAN G P M o d b u sS