CN113591962B - 一种网络攻击样本生成方法及装置 - Google Patents

一种网络攻击样本生成方法及装置 Download PDF

Info

Publication number
CN113591962B
CN113591962B CN202110831681.6A CN202110831681A CN113591962B CN 113591962 B CN113591962 B CN 113591962B CN 202110831681 A CN202110831681 A CN 202110831681A CN 113591962 B CN113591962 B CN 113591962B
Authority
CN
China
Prior art keywords
data
network
attack
generator
training
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.)
Active
Application number
CN202110831681.6A
Other languages
English (en)
Other versions
CN113591962A (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.)
Xuji Group Co Ltd
China Electric Power Research Institute Co Ltd CEPRI
Marketing Service Center of State Grid Shanxi Electric Power Co Ltd
Original Assignee
Xuji Group Co Ltd
China Electric Power Research Institute Co Ltd CEPRI
Marketing Service Center of State Grid Shanxi Electric Power Co Ltd
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 Xuji Group Co Ltd, China Electric Power Research Institute Co Ltd CEPRI, Marketing Service Center of State Grid Shanxi Electric Power Co Ltd filed Critical Xuji Group Co Ltd
Priority to CN202110831681.6A priority Critical patent/CN113591962B/zh
Publication of CN113591962A publication Critical patent/CN113591962A/zh
Application granted granted Critical
Publication of CN113591962B publication Critical patent/CN113591962B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种网络攻击样本生成方法及装置,在网络监测数据出现异常且无法识别异常类型的监测数据时,对其进行人工识别和标注,形成数据集,针对数据集采用PSO方法进行特征选择,并根据特征选择的结果形成最终数据集,将其输入到生成对抗网络中以生成网络攻击样本。本发明中首先使用PSO进行特征选择,可以提高样本生成效率和分类方法性能,再使用改进的生成对抗网络进行样本生成,解决了样本不平衡的问题。

Description

一种网络攻击样本生成方法及装置
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络攻击样本生成方法及装置。
背景技术
NIDS为基于网络入侵检测系统,可以通过外部机器学习方法模型训练提升NIDS的入侵检测效果,且一般采用离线训练在线检测的策略,采用有监督学习的分类方法,即方法模型训练(将验证效果好的方法模型和参数固定下来)和实际检测(将模型移到NIDS设备上)分别进行。
然而方法的训练效果(或者说预测准确度)受到方法和数据的多重影响。可能存在对某些类型的网络攻击识别效率低的问题。一种较为常见的情况是,当通过外部措施发现未知网络攻击(此前NIDS不具备这种攻击的检测能力),会通过人工标注的方式构建训练数据集,即人为将未知攻击相关的网络流量数据或网络状态检测数据筛选出来,和其他数据混合后,构建新的数据集,并用这个数据集重新对方法模型进行训练,以使得模型具备这种未知攻击的检测能力。
然而,由于所谓未知攻击必然是新发现的,其数据数量必然是稀少的,此时构造的数据集,如果要保证足够多的数据量,则数据集必然是不平衡的,即不同种类数据(未知攻击数据和其他类型数据)所占比例失衡。这种情况会对大多数有监督学习的分类方法造成效果下降的情况。
解决这种方法的原因,一般是进行数据过采样(重复复制稀少数据)、欠采样(删减其他类型的数据、缩小数据集)等方法解决,但这些方式普遍会改变原始数据分布、并造成数据特征或样本缺失、放大噪音,以及过拟合等问题。
另一种方法伪样本生成,即通过方法学习稀少类型数据方法的数据特征,并生成和稀少类型数据具有相同规律的伪样本数据,方法的核心在于对数据规律的分析。常见方法如SMOTE、生成对抗网络等。
其中生成对抗网络可以通过生成器和鉴别器的零和博弈构建接近或符合真实特点的伪样本,并避免欠采样和过采样方法带来的各种问题。然后一般的生成对抗存在梯度消失和模式崩溃等问题,因此目前也出现了多种功能生成对抗网络的改进型。
然而在不同的领域(例如图像样本生成、自然语言样本生成等),不同的生成对抗网络类型具有差别较大的效果,如何在网络入侵检测领域得到一个更适合、更有效地生成对抗网络、以及样本生成流程,是本文研究改进的问题。
另一方面,如何更有效地评估和保障生成样本的效果,以及如何更好的适配多类型的攻击检测方法(有监督学习的分类方法),也是一个本文研究改进的问题。如果缺乏独立评估和保障生成样本效果的方法或策略,则必须将生成数据直接输入到攻击检测方法进行测试评估,但此时的测试效果取法区分是生成数据的问题还是攻击检测方法的问题,即造成数据生成和攻击检测环节的紧耦合,可能需要进行联合优化,这会造成这两个环节的优化调整变得困难。
由于不同攻击检测方法可能对不同类型攻击的检测效果不同,因此如果对攻击检测方法(类型)具有较多限定和绑定,则可能造成检测效果的降低。此外,由于攻击检测方法自身存在持续更新、持续改进的可能,如果样本生成方法和攻击检测方法绑定过紧,则不利于持续改进。
发明内容
基于现有技术的上述情况,本发明的目的在于提供一种网络攻击样本生成方法及装置,通过粒子群优化方法(PSO,以下简称“PSO”)方法进行特征选择,降低生成对抗网络面对的特征维度,降低噪音干扰,提升样本生成的效率。
为达到上述目的,根据本发明的一个方面,提供了一种网络攻击样本生成方法,包括步骤:
收集网络监测数据;
当出现异常且无法识别异常类型的监测数据T1时,对其进行人工识别和标注,形成原始数据集Dataset0;
对所述原始数据集Dataset0进行预处理,并结合其他类型数据构建训练集Dataset1;
对训练集Dataset1采用PSO方法进行特征选择,以得到N维特征的权重系数矩阵Abest,根据该权重系数矩阵Abest确定的特征对所述训练集Dataset1进行处理形成数据集Dataset2;
将该数据集Dataset2输入到生成对抗网络中以生成网络攻击样本。
进一步的,所述对训练集Dataset1采用PSO方法进行特征选择,以得到N维特征的权重系数矩阵Abest,包括:
随机初始化训练集Dataset1中的每个粒子;
评估每个粒子并得到个体极值pbest和全局最优解gbest;
判断是否满足结束条件,若满足,则跳转至下一步;若不满足,则对个体极值pbest和全局最优解gbest进行迭代;
根据个体极值pbest和全局最优解gbest得到N维特征的权重系数矩阵Abest
进一步的,所述对个体极值pbest和全局最优解gbest进行迭代,包括:对每个粒子,用其适应度值和个体极值pbest比较,若适应度值大于pbest,用当前适应度值替换pbest;
对每个粒子,用其适应度值和全局极值gbest比较,若适应度值大于gbest,则用当前适应度替换gbest。
进一步的,所述适应度值根据每个粒子的目标函数决定。
进一步的,所述目标函数包括:
其中,f(a)为目标函数,α1、α2、α3分别为第一比例系数、第二比例系数和第三比例系数,accuracy为分类器准确度,loss为分类器损失函数,ε为惩罚因子系数,Nmin为最小特征维度,ReLU函数为非线性函数;每个粒子生成一个A矩阵,A=(a1,a2,......,an)。
进一步的,所述生成对抗网络包括判别器D和生成器G。
进一步的,所述将该数据集Dataset2输入到生成对抗网络中以生成网络攻击样本,包括:
固定生成器G的参数,训练判别器D的参数;
固定判别器D的参数,训练生成器G的参数;
重复上述两个步骤,直至生成器G和判别器D达到纳什平衡。
进一步的,所述固定生成器G的参数,训练判别器D的参数,包括:
从Dataset2中随机抽取n条T1攻击数据pret1,以及n条非该类型攻击的数据pref1;
将数据pret1经过判别器D的处理后,输出对该类数据的评分D1;
从原数据集中选定另一种攻击类型样本T2,将其经过判别器D的处理后,输出对该类数据的评分;
将pret1输入生成器G,对生成器G施加随机噪声,生成与T1相对的伪数据TF1;
将TF1经过判别器D的处理后,输出对该类数据的评分;
将T1类型、T2类型、TF1类型数据完全混合后,再将其经过判别器D的处理后,输出对该类数据的评分。
进一步的,所述固定判别器D的参数,训练生成器G的参数,包括:
将T1输入生成器G,对生成器G施加随机噪声,生成与T1相对的伪数据TF1;
将TF1经过判别器D的处理后,输出对该类数据的评分。
根据本发明的另一个方面,提供了一种网络攻击样本生成装置,包括网络监测模块、数据标注模块、数据预处理模块、特征选择模块、以及样本生成模块;其中,
所述网络监测模块用于收集网络监测数据;
所述数据标注模块用于当出现异常且无法识别异常类型的监测数据T1时,对其进行人工识别和标注,形成原始数据集Dataset0;
所述数据预处理模块用于对所述原始数据集Dataset0进行预处理,并结合其他类型数据构建训练集Dataset1;
所述特征选择模块用于对训练集Dataset1采用PSO方法进行特征选择,以得到N维特征的权重系数矩阵Abest,根据该权重系数矩阵Abest确定的特征对所述训练集Dataset1进行处理形成数据集Dataset2;
所述样本生成模块用于将该数据集Dataset2输入到生成对抗网络中以生成网络攻击样本。
综上所述,本发明提供了一种网络攻击样本生成方法及装置,在网络监测数据出现异常且无法识别异常类型的监测数据时,对其进行人工识别和标注,形成数据集,针对数据集采用PSO方法进行特征选择,并根据特征选择的结果形成最终数据集,将其输入到生成对抗网络中以生成网络攻击样本。
本发明具有如下有益的技术效果:
(1)采用“PSO+改进型对抗网络”的伪样本生成方法,首先使用PSO进行特征选择,可以提高样本生成效率和分类方法性能,再使用改进的生成对抗网络进行样本生成,解决了样本不平衡的问题。
(2)在PSO特征选择过程中,引入了多种分类方法,包括基于神经网络的、根据距离的、根据树等多种分类方法等,保证特征选择结果更加具有兼容性;并且综合考虑准确度和损失函数设计目标函数,通过添加惩罚因子项,不仅考虑分类方法的性能,还将最后选出的特征数目纳入考虑范围,设置最小特征维度,保证最后结果大于最小特征维度。
(3)本发明所采用的生成对抗网络架构,利用卷积神经网络CNN与门控循环单元GRU的优点,通过将生成对抗网络、CNN与GRU联合训练,提出了一种基于DCGAN和GRU的新的生成对抗网络架构。将DCGAN与GRU采用堆叠结构相结合,解决了原DCGAN存在的梯度爆炸或梯度消失等问题,而且其网络结构参数较少,在训练时更容易收敛,一定程度上能够提高模型的训练效率。
(4)传统生成对抗网络一般通过loss函数,即模型内部机制评估生成数据的好坏,本发明中引入了二分类器,和基于F1-score权重的数据筛选和抽取机制。可有效提高生成器生成数据的质量,并保证了数据筛选和抽取的效率。
附图说明
图1是本发明网络攻击样本生成方法的流程图;
图2是采用PSO方法进行特征选择的流程图;
图3是生成对抗网络的结构示意图;
图4是生成器G和判别器D的网络结构示意图;
图5是本发明网络攻击样本生成装置的构成框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
下面对结合附图对本发明的技术方案进行详细说明。根据本发明的一个实施例,提供了一种网络攻击样本生成方法,该方法的流程图如图1所示,包括如下步骤:
S1、收集网络监测数据。可以利用一般具备监测数据采集功能的NIDS持续对网络流量进行监测,并收集网络监测数据。网络监测数据可以主动从NIDS发送,以进行异常监测,并且会进行存储,例如可以存储到历史数据存储模块,历史监测数据存储模块可以循环存储最近一段时间内的网络监测数据。网络监测数据通常为二维数据,包含多个维度(典型值可能为40个维度以上)。
S2、当出现异常且无法识别异常类型的监测数据T1时,对其进行人工识别和标注,形成原始数据集Dataset0。当网络监测数据出现以下情况时,激活该方法的后续流程:
(1)NIDS识别出异常监测数据,但无法识别异常类型,即能够感知监测数据不正常,但无法判断攻击类型。在该情况下需要NIDS具备异常攻击的识别能力,此时将未知类型攻击相关的监测数据判定为异常监测数据,进行人工识别和标注,并判断该攻击是否为稀有攻击,判定标准为攻击数量是否少于人工设定的阈值。其中,人工识别可以是利用网络安全专家将相关的监测数据条目(行)和具体的攻击方式关联起来。
(2)通过其他方式发现网络中出现了入侵或网络攻击(比如分析遭受攻击的主机),但NIDS并未监测出该攻击。此时可以调取历史数据存储模块中的相关时间段内的记录,将其标注为具体的攻击方式,即通过人工方式标记某些监测数据和某具体攻击方式有关。
(3)检测到某个出现次数较少的攻击,该类攻击之前出现过,但由于出现次数较少,导致可能出现较多漏报或误报情况。此时由人工进行复查相关的监测数据,如果复查判定确实为该稀少类型的攻击,则标记这些数据,并将其与之前存储的相同类型攻击的监测数据融合进行后续步骤。所谓“较少”攻击的类型,可以由人为指定,标准类似于上述(1)中的情况。
确定对某种未知类型或稀少类型攻击实施后续步骤,后续称该类型攻击为T1攻击。针对T1攻击,得到一个人工审核并标注后的原始数据集,称为Dataset0。
S3、对所述原始数据集Dataset0进行预处理,并结合其他类型数据构建训练集Dataset1。具体来说,可以按照以下步骤处理:
(1)抽取其他数据,构成训练集
抽取普通数据(非攻击):从历史数据存储模块中按比例抽取的正常数据。
非T1的其他攻击:从历史数据存储模块中按需要抽取其他类型的攻击数据,例如定义为T2类型。T1数据:Dataset0。各类型数据的比例为
普通数据(非攻击):非T1的其他攻击:T1攻击=m1:m2:m3
在某些实施例中,可以将该比例设置为5:3:2。数据数量的上下限可以为上限:Mmax,上限例如可以为100000,下限:2000。输出数据可能不到上限,总数量是可变的,不影响后续特征选择效果。
(2)数据预处理
数据集中不同数据维度可能为不同的数据类型,例如数值型(整型或浮点型)和枚举类型。枚举类型例如标识当前监控条目的网络协议类型,网络连接状态等。对于数值型数据,直接进行归一化处理;对于枚举类型,需要先将枚举值转换为数值编码,并进行归一化。
(3)数据归一化
数据归一化方法例如可以采用L2范数归一化。针对向量x(x1,x2,…,xn),其L2范数定义为:
归一化结果为:
在上述公式中,x为一条输入数据,xi为输入数据的一个元素,xi’为归一化后每个元素的值。
则输入结果为:
(4)重构训练集的标签体系
对数据集中的新攻击,加入标签,数值为1;对于数据集中的其他数据,加入标签,数值为0。将数据条目进行乱序排列。
(5)最终输出
将最终输出的训练集称为训练集Dataset1,其中包含数值化和归一化之后的T1攻击数据和抽取的其他类型数据。Dataset1为M×N的二维矩阵,M为数据数目,N为特征数。
S4、对训练集Dataset1采用PSO方法进行特征选择,以得到N维特征的权重系数矩阵Abest,根据该权重系数矩阵Abest确定的特征对所述训练集Dataset1进行处理形成数据集Dataset2。PSO,即粒子群优化方法是1995年由Eberhart和kennedy提出的一种进化计算技术(evolutionary computation),该方法最初是受到飞鸟集群活动的规律性启发,利用群体中的个体对信息的共享使整个群体的运动在问题求解空间中产生从无序到有序的演化过程,从而获得最优解。可以采用以下步骤:
随机初始化训练集Dataset1中的每个粒子;
评估每个粒子并得到个体极值pbest和全局最优解gbest;
判断是否满足结束条件,若满足,则跳转至下一步;若不满足,则对个体极值pbest和全局最优解gbest进行迭代:对每个粒子,用其适应度值和个体极值pbest比较,若适应度值大于pbest,用当前适应度值替换pbest;对每个粒子,用其适应度值和全局极值gbest比较,若适应度值大于gbest,则用当前适应度替换gbest;
根据个体极值pbest和全局最优解gbest得到N维特征的权重系数矩阵Abest
以下对该步骤S4进行详细说明。
(1)粒子群方法初始化阶段
设Dataset1中数据除去标签信息后,其数据维度为N维。对其进行权重分配:给每维特征分配一个重要性权重系数ai,ai∈[0,1],ai大小与重要程度程正相关。特征选择就是求解N维特征的重要性权重系数,由系数大小筛选出重要特征。初始化粒子群:其中粒子数取30,每次迭代的最大次数设为100,粒子的最大速度V(max)=10,最小速度V(min)=-10。对每个粒子进行多轮计算,停止条件为:已至最大迭代次数或者达到误差要求。粒子是特征权重系数随机解,也可以认为没有直接的关系,粒子数量通过经验值设定,和数据无关。
(2)方法流程
针对每个粒子生成一个A矩阵,A=(a1,a2,......,an);
将Dataset1(M×N矩阵)中的每条数据x’·A,即xi’*ai,输出为X;
将X输出到多分类方法子模块中,计算得到acc和loss;
对于每个粒子,当前个体极值记为pbest,全局最优解记为gbest;
每个粒子都有一个目标函数f(a)决定的适应值(fitness value),根据目标函数和上述acc、loss计算每个粒子的适应度值。
对每个粒子,用其适应度值和个体极值pbest比较,若适应度值大于pbest,用当前适应度值替换pbest;对每个粒子,用它的适应度值和全局极值gbest比较,若适应度值大于gbest,则用当前适应度替换gbest。
可以根据以下公式更新例子速度和位置:
其中,i=1,2,…,N,rand()为介于(0,1)之间的随机数,c1和c2为学习因子。
若满足结束条件(误差足够好或达到最大循环次数),则退出,否则继续计算适应度值并比较极值来进行迭代。其中误差足够好是指为适应度值变化小于阈值时,阈值例如可以取0.0001。
该方法的输出为:方法运行结束后,可以得到N维特征的权重系数矩阵Abest。该方法的流程图如图2所示。
(3)分类方法的描述
目标函数中的accuracy、loss是对同种攻击的数据作二分类,考虑使用多种分类算法以保证分类结果更加可靠。使用三种分类算法,可分别选取基于神经网络的(默认为BP神经网络算法)、根据距离的(默认为KNN算法)、根据树(默认为随机森林树算法)的分类算法,计算所得准确度和损失函数分别记为acc1、acc2、acc3和loss1、loss2、loss3。准确度和损失函数的定义如下:
其中,为预测值,y为真实值,i表示第i个样本,Ⅱ为指示函数,N为总样本数,这里loss选择交叉熵损失函数。
accuracy、loss加权可得:
其中η1∈[0,1],η2∈[0,1],η3∈[0,1]。
(4)目标函数f(a)的设计
由于数据集通过特征选择后进入入侵检测模型进行分类预测,则目标应为分类模型性能最大化和筛选出特征数量的最小化。由此,可以设计目标函数f(a)为:
其中,α1、α2、α3分别为第一比例系数、第二比例系数和第三比例系数,例如取值可以为α1=α2=0.35;α3=0.3,i∈[1,N],accuracy∈[0,1]为分类器准确度,loss∈[0,1]为分类器损失函数,ε为惩罚因子系数,例如可以设为1000,Nmin为最小特征维度,例如可以设为10,ReLU函数为非线性函数:
当重要性权重系数总和小于Nmin时,惩罚因子项的值将非常大,在PSO迭代过程中自动舍去。反之,若大于Nmin时,由于ReLU函数的作用,此项将为0,以此保证筛选出的特征维数大于Nmin
(5)最终结果
对于算法输出的权重系数矩阵Abest选取大于0.5的系数,该系数对应的特征就是筛选出的特征,特征数为Nsub;根据筛选出的特征对数据集进行处理形成数据集Dataset2,数据集Dataset2为M×Nsub,M为数据数目,Nsub为筛选出的特征数目。将Dataset2送入生成对抗网络进行样本生成,降低了计算复杂度,去除了冗余或噪音信息。
S5、将该数据集Dataset2输入到生成对抗网络中以生成网络攻击样本。
(1)数据准备阶段
数据输入为数据集Dataset2,假设其维度为N1,从该数据集Dataset2中切分出当前新攻击。通过数据降维方法,将数据整理为n2个维度,例如4、9、16、25列等情况,降维方法可以通过标准的主成分分析方法进行,假设降维后维度为N2,N2=n2*n2。
将准备好的数据集,输入到生成对抗网络中,进行样本生成流程。
(2)对抗网络的结构
本实施例中的生成对抗网络,基于标准DCGAN进行改进,其基本结构为生成器G和判别器D。
生成器的作用:生成器G本质上是一个可微分函数,生成器接收随机变量z的输入,经G生成假样本G(z)。在生成对抗网络中,生成器对输入变量z基本没有限制,z可以是随机噪声或者符合某种分布的变量。生成器理论上可以逐渐学习任何概率分布,经训练后的生成网络可以生成逼真数据,即生成网络实际上是学习了训练数据的一个近似分布,这在数据增强应用方面尤为重要。
判别器的作用:判别器D同生成器一样,其本质上也是可微分函数,在生成对抗网络中,判别器的主要目的是判断输入是否为真实样本,并提供反馈以指导生成器训练。判别器和生成器组成零和游戏的两个玩家,为取得游戏的胜利,判别器和生成器通过训练不断提高自己的判别能力和生成能力,游戏最终会达到一个纳什均衡状态,此时生成器学习到了与真实样本近似的概率分布,判别器已经不能正确判断输入的数据是来自真实样本还是来自生成器生成的假样本G(x),即判别器每次输出0和1的概率值都是1/2。
生成对抗网络的结构示意图如图3所示,对该对抗网络进行以下改进:
根据当前需求构建生成器输入层数结构:将n个n2维输入向量矩阵化为n个4×4尺寸的张量输入到D生成对抗成器G网络由3层卷积层与1层全连接层构成,最后一层为全连接层。卷积层a、b、c的尺寸分别设为2×2×1×8、2×2×8×16与2×2×8×32,卷积步长设为1,卷积方式选取Same卷积,激活函数选用relu激活函数,为激活层a。
在标准DCGAN网络的基础上,根据当前需求构建生成器输出层数结构
最后一层使用tanh函数,为激活层b。经3次卷积运算后,得到n个32通道的4×4维特征矩阵。
将上述特征矩阵伸展为n个长度为288的一维列向量,输入到GRU循环神经网络中实现回归。本模型采用3层GRU迭代网络,由全连接架构输出最终生成值。
根据当前需求构建判别器输入层数结构。
判别器D网络由3层卷积层与1层全连接层构成,通过输出0或1的集合来反向给予生成器信息使其进一步优化。卷积层的尺寸分别设为2×2×8×32、2×2×8×16与2×2×1×8,卷积步长设为1,卷积方式选取Same卷积,激活函数选用leakyrelu激活函数,为激活层c。
根据当前需求构建判别器输出层。
最后一层使用leakyrelu激活函数,得到判断输出数据是否为真的一维向量。
其中,Leakyrelu、relu、tanh、Same卷积等方法均为标准化方法,生成器G和判别器D的网络结构示意图如图4所示。
(3)数据训练与样本生成
数据训练采用批次化进行,每次训练样本集大小可以设置为96。使用标准的adam优化器训练,生成器的学习率为0.0001,判别器的学习速度为0.1。生成器和鉴别器按照训练次数为5∶1迭代交替进行。训练10000轮。根据前文所述未知攻击为T1攻击,在每一轮训练的过程中执行以下步骤:
(3.1)固定生成器G的参数,训练判别器D的参数
从Dataset2中随机抽取n条T1攻击数据pret1,以及n条非该类型攻击的数据pref1,并将其归一化到(-1,1)范围。
将pret1经过判别器的处理后,输出对该类数据的评分D1。将D1经过归一化处理,使真实数据期望分数D1为1。
从原数据集中选定另一种攻击类型样本T2,将其经过判别器的处理后,输出对该类数据的评分。
将T1输入生成器,对生成器施加一组取值范围在(-1,1)的随机噪声,生成与T1相对的伪数据TF1。将TF1经过判别器的处理后,输出对该类数据的评分。这一步主要是为了模拟真实数据集样本。T1为对全部正确的数据的评分,T2为对全部错误的数据的评分,TF1为对生成的假数据的评分。判别器D的目的是为了让TF1的值靠近T2,远离T1。
(3.2)固定判别器D的参数,训练生成器G的参数
将T1输入生成器,对生成器施加一组取值范围在(-1,1)的随机噪声,生成与T1相对的伪数据TF1。将TF1经过判别器的处理后,输出对该类数据的评分。
将TF1经过判别器的处理后,输出对该类数据的评分。生成器G通过训练,使被赋予的分数变高。
(3.3)重复上述步骤(3.1)和(3.2),直到生成器G、判别器D达到纳什平衡。
(4)二分类器
因为生成器G生成的假数据在质量上有所差异,生成器G训练次数较少时生成的假数据存在大量质量较低的假数据,若直接添加到数据集中会造成数据失真的问题。为了进一步提升生成数据的质量,将生成数据接入一个二分类器,该二分类器并非DCGAN的传统组成部分,这里作为一个额外的二次筛选机制存在,二分类器可采用任意一个有监督学习算法构建,其训练数据集为通过原始训练集抽样构建的一个平衡数据集。如果二分类器能将该批伪数据中的大多数样本识别为真实攻击,则证明该批伪样本具有较高质量。但考虑到生成样本为稀少攻击类型,二分类方法的分类精度不高,因此该环节只起到判别器D之后的二次筛选的作用。伪样本的实际效果,仍将通过模型整体的多分类效果验证。
生成的伪样本通过二分类器后,生成对应的F1-score。将所有生成的假数据根据F1-score进行分类。F1-score小于0.7的假数据集记为ds0,F1-score介于0.7和0.8之间的假数据集记为ds1,介于0.8和0.9之间的假数据集记为ds2,介于0.9和1.0之间的假数据集记为ds3,F1-score为1.0的假数据集记为ds4。
F1-score:F1-score是分类问题的一个衡量指标。它是精确率(P)和召回率(R)的调和平均数,最大为1,最小为0。
F1-score=2*(P*R)/(P+R)
最终输出的有效生成数据集ds为:
ds=0.7*ds1+0.8*ds2+0.9*ds3+ds4
最终生成的网络攻击样本训练集Dataset3为生成数据ds+dataset2当中的全部数据,并随机排序。
(5)最终输出
训练集Dataset3=生成数据ds+dataset2当中的全部数据,进行随机排序。Dataset3即为方案输出的最终结果,可输入到任意有监督学习的分类算法中进行训练,实现对T1类型攻击的识别和预测。
在样本生成的过程中,判别器D的目的是让真实数据x经过判别后,输出的D(x)值接近真实数据期望分数。而虚假数据G(z)经过判别后输出的D(G(z))值接近虚假数据期望分数。生成器G的目的是让自己生成的数据输出的值接近真实数据期望分数,即D(G(z))接近真实数据期望分数。判别器D和生成器G的能力会在博弈中交替增强,并最终达到平衡状态,此时生成器G能够生成出判别器D所难以判别的接近真实数据的伪样本数据。所有数据经过判别器D的处理后,输出的是判别器D对该数据的评分。若该数据为真实数据,则将该评分与之前设定的真实数据期望分数作比较,若为虚假数据,则将该评分与之前设定的虚假数据期望分数作比较。得出判别器的损失函数。理想情况下,随着不断的迭代训练和博弈,判别器的损失函数最终会0附近振荡,即表明判别器已经无法判断输入数据的真假。再次,对生成器G施加一组取值范围在(-1,1)的随机噪声,生成器G据此生成假数据与真实数据进行随机混合,根据预设的迭代次数进行判别器D的迭代训练,当判别结果最优时,固定判别器D的参数,将判别的结果反馈给生成器G,并保存所有生成的伪样本数据。再根据预设的迭代次数进行生成器G的训练迭代,当判别结果最差时,固定生成器G的参数。最后,随机更换生成器G、判别器D的各层维度,并记录最好的维度取值效果,以便获得最佳的训练效果和提升训练效率。
根据本发明的另一个实施例,提供了一种网络攻击样本生成装置,该装置的构成框图如图5所示,该装置包括网络监测模块、数据标注模块、数据预处理模块、特征选择模块、以及样本生成模块。
所述网络监测模块用于收集网络监测数据。例如可以通过NIDS,基于网络的入侵监测设备,用于对网络流量进行监测,并进行入侵行为的监测。NIDS也可以进行网络监测数据的获取。网络监测数据通常包括多个维度(例如数十个维度)。NIDS获取的实时攻击送入异常数据检测模块,每次只送入一条异常数据。
所述数据标注模块用于当出现异常且无法识别异常类型的监测数据T1时,对其进行人工识别和标注,形成原始数据集Dataset0。用于对异常数据检测获取的异常流量(或存储的历史数据)进行分析和标注等。分析特指发现是检测数据中是否存在新型攻击信息或未知攻击信息,标注通常是针对新类型或未知网络攻击,由人工(专家)进行数据标注。标注的过程是指将既定攻击和相关的监测数据条目(行)关联起来。同时,专家判定此异常流量对应的攻击是否为稀有攻击,判定标准为攻击数量是否少于人工设定的阈值。
还可以设置历史数据存储模块:NIDS将一段时间内的监测数据存储到该模块,包括多种攻击数据以及正常数据,其目的是实现异常数据检测模块对历史状况的回溯分析。
所述数据预处理模块用于对所述原始数据集Dataset0进行预处理,并结合其他类型数据构建训练集Dataset1。该模块用于将专家标注好的数据混合构建训练集,并对数据进行归一化处理、数值化处理。数据来源为数据检测模块输出的标注为新型攻击信息或未知攻击信息的监测数据,以及可以从标注数据存储模块中按需要抽取其他类型的监测数据。
所述特征选择模块用于对训练集Dataset1采用PSO方法进行特征选择,以得到N维特征的权重系数矩阵Abest,根据该权重系数矩阵Abest确定的特征对所述训练集Dataset1进行处理形成数据集Dataset2。当专家认定为此次异常情况为稀有攻击时,对该种攻击进行特征选择。特征选择的目的是:1,去除对入侵预测模型产生干扰的数据维度;2,在不影响预测模型准确性的情况下,提高训练和预测效率。特征选择模块的输入为数据预处理模块生成的训练集,输出为消减维度的训练集。
所述样本生成模块用于将该数据集Dataset2输入到生成对抗网络中以生成网络攻击样本。特征选择后的数据送入该模块,利用生成对抗网络,分析攻击数据的特征,并生成具有相同特征的伪样本,并将伪样本混入5中生成的训练集。生成伪样本的目的是为了降低数据集倾斜程度,提升数据预测效果。
综上所述,本发明涉及一种网络攻击样本生成方法,在网络监测数据出现异常且无法识别异常类型的监测数据时,对其进行人工识别和标注,形成数据集,针对数据集采用PSO方法进行特征选择,并根据特征选择的结果形成最终数据集,将其输入到生成对抗网络中以生成网络攻击样本。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

Claims (10)

1.一种网络攻击样本生成方法,其特征在于,包括步骤:
收集网络监测数据;
当出现异常且无法识别异常类型的监测数据T1时,对其进行人工识别和标注,形成原始数据集Dataset0;
对所述原始数据集Dataset0进行预处理,并结合其他类型数据构建训练集Dataset1;
对训练集Dataset1采用PSO方法进行特征选择,以得到N维特征的权重系数矩阵Abest,根据该权重系数矩阵Abest确定的特征对所述训练集Dataset1进行处理形成数据集Dataset2;
将该数据集Dataset2输入到生成对抗网络中以生成网络攻击样本;
所述其他类型数据包括普通数据和非T1类型的攻击数据。
2.根据权利要求1所述的方法,其特征在于,所述对训练集Dataset1采用PSO方法进行特征选择,以得到N维特征的权重系数矩阵Abest,包括:
随机初始化训练集Dataset1中的每个粒子;
评估每个粒子并得到个体极值pbest和全局最优解gbest;
判断是否满足结束条件,若满足,则跳转至下一步;若不满足,则对个体极值pbest和全局最优解gbest进行迭代;
根据个体极值pbest和全局最优解gbest得到N维特征的权重系数矩阵Abest
3.根据权利要求2所述的方法,其特征在于,所述对个体极值pbest和全局最优解gbest进行迭代,包括:
对每个粒子,用其适应度值和个体极值pbest比较,若适应度值大于pbest,用当前适应度值替换pbest;
对每个粒子,用其适应度值和全局极值gbest比较,若适应度值大于gbest,则用当前适应度替换gbest。
4.根据权利要求3所述的方法,其特征在于,所述适应度值根据每个粒子的目标函数决定。
5.根据权利要求4所述的方法,其特征在于,所述目标函数包括:
其中,f(a)为目标函数,α1、α2、α3分别为第一比例系数、第二比例系数和第三比例系数,accuracy为分类器准确度,loss为分类器损失函数,ε为惩罚因子系数,Nmin为最小特征维度,ReLU函数为非线性函数;每个粒子生成一个A矩阵,A=(a1,a2,……,aN)。
6.根据权利要求1所述的方法,其特征在于,所述生成对抗网络包括判别器D和生成器G。
7.根据权利要求6所述的方法,其特征在于,所述将该数据集Dataset2输入到生成对抗网络中以生成网络攻击样本,包括:
固定生成器G的参数,训练判别器D的参数;
固定判别器D的参数,训练生成器G的参数;
重复上述两个步骤,直至生成器G和判别器D达到纳什平衡;
将生成数据利用二分类器进行筛选,以得到最终的网络攻击样本训练集。
8.根据权利要求7所述的方法,其特征在于,所述固定生成器G的参数,训练判别器D的参数,包括:
从Dataset2中随机抽取n条T1攻击数据pret1,以及n条非该类型攻击的数据pref1;
将数据pret1经过判别器D的处理后,输出对该类数据的评分D1;
从原数据集Dataset2中选定另一种攻击类型样本T2,将其经过判别器D的处理后,输出对该类数据的评分;
将pret1输入生成器G,对生成器G施加随机噪声,生成与T1相对的伪数据TF1;
将TF1经过判别器D的处理后,输出对该类数据的评分。
9.根据权利要求7所述的方法,其特征在于,所述固定判别器D的参数,训练生成器G的参数,包括:
将T1输入生成器G,对生成器G施加随机噪声,生成与T1相对的伪数据TF1;
将TF1经过判别器D的处理后,输出对该类数据的评分。
10.一种网络攻击样本生成装置,其特征在于,包括网络监测模块、数据标注模块、数据预处理模块、特征选择模块、以及样本生成模块;其中,
所述网络监测模块用于收集网络监测数据;
所述数据标注模块用于当出现异常且无法识别异常类型的监测数据T1时,对其进行人工识别和标注,形成原始数据集Dataset0;
所述数据预处理模块用于对所述原始数据集Dataset0进行预处理,并结合其他类型数据构建训练集Dataset1;
所述特征选择模块用于对训练集Dataset1采用PSO方法进行特征选择,以得到N维特征的权重系数矩阵Abest,根据该权重系数矩阵Abest确定的特征对所述训练集Dataset1进行处理形成数据集Dataset2;
所述样本生成模块用于将该数据集Dataset2输入到生成对抗网络中以生成网络攻击样本;
所述其他类型数据包括普通数据和非T1类型的攻击数据。
CN202110831681.6A 2021-07-22 2021-07-22 一种网络攻击样本生成方法及装置 Active CN113591962B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110831681.6A CN113591962B (zh) 2021-07-22 2021-07-22 一种网络攻击样本生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110831681.6A CN113591962B (zh) 2021-07-22 2021-07-22 一种网络攻击样本生成方法及装置

Publications (2)

Publication Number Publication Date
CN113591962A CN113591962A (zh) 2021-11-02
CN113591962B true CN113591962B (zh) 2023-12-15

Family

ID=78249033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110831681.6A Active CN113591962B (zh) 2021-07-22 2021-07-22 一种网络攻击样本生成方法及装置

Country Status (1)

Country Link
CN (1) CN113591962B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064471A (zh) * 2021-11-11 2022-02-18 中国民用航空总局第二研究所 一种基于生成对抗网络的Ethernet/IP协议模糊测试方法
CN114553468A (zh) * 2022-01-04 2022-05-27 国网浙江省电力有限公司金华供电公司 一种基于特征交叉与集成学习的三级网络入侵检测方法
CN115396169B (zh) * 2022-08-18 2024-06-25 上海交通大学 基于ttp的多步骤攻击检测与场景还原的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149330A (zh) * 2019-05-22 2019-08-20 潘晓君 基于信息增益的pso特征选择权重入侵检测方法及系统
CN111340725A (zh) * 2020-02-24 2020-06-26 广东三维家信息科技有限公司 图像降噪方法及其模型训练的方法、装置
CN112216273A (zh) * 2020-10-30 2021-01-12 东南数字经济发展研究院 一种针对语音关键词分类网络的对抗样本攻击方法
CN112633413A (zh) * 2021-01-06 2021-04-09 福建工程学院 基于改进pso-tsne特征选择的水下目标识别方法
CN112924177A (zh) * 2021-04-02 2021-06-08 哈尔滨理工大学 一种改进深度q网络的滚动轴承故障诊断方法
CN113114673A (zh) * 2021-04-12 2021-07-13 西北工业大学 一种基于生成对抗网络的网络入侵检测方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656981B (zh) * 2016-10-21 2020-04-28 东软集团股份有限公司 网络入侵检测方法和装置
CN110097185B (zh) * 2019-03-29 2021-03-23 北京大学 一种基于生成对抗网络的优化模型方法及应用
US11288507B2 (en) * 2019-09-27 2022-03-29 Sony Corporation Object detection in image based on stochastic optimization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110149330A (zh) * 2019-05-22 2019-08-20 潘晓君 基于信息增益的pso特征选择权重入侵检测方法及系统
CN111340725A (zh) * 2020-02-24 2020-06-26 广东三维家信息科技有限公司 图像降噪方法及其模型训练的方法、装置
CN112216273A (zh) * 2020-10-30 2021-01-12 东南数字经济发展研究院 一种针对语音关键词分类网络的对抗样本攻击方法
CN112633413A (zh) * 2021-01-06 2021-04-09 福建工程学院 基于改进pso-tsne特征选择的水下目标识别方法
CN112924177A (zh) * 2021-04-02 2021-06-08 哈尔滨理工大学 一种改进深度q网络的滚动轴承故障诊断方法
CN113114673A (zh) * 2021-04-12 2021-07-13 西北工业大学 一种基于生成对抗网络的网络入侵检测方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于GAN-PSO-ELM的网络入侵检测方法;杨彦荣;宋荣杰;周兆永;;计算机工程与应用(第12期);全文 *
基于云模型和支持向量机的入侵检测特征选择方法;冯向荣;吴俊;;华中师范大学学报(自然科学版)(第01期);全文 *
基于改进CGANs的入侵检测方法研究;彭中联;万巍;荆涛;魏金侠;;信息网络安全(第05期);全文 *
基于深度自编码网络的安全态势要素获取机制;朱江;明月;王森;;计算机应用(第03期);全文 *

Also Published As

Publication number Publication date
CN113591962A (zh) 2021-11-02

Similar Documents

Publication Publication Date Title
CN113591962B (zh) 一种网络攻击样本生成方法及装置
CN110704840A (zh) 一种基于卷积神经网络cnn的恶意软件检测方法
CN110287983B (zh) 基于最大相关熵深度神经网络单分类器异常检测方法
CN111753881B (zh) 一种基于概念敏感性量化识别对抗攻击的防御方法
CN111783442A (zh) 入侵检测方法、设备和服务器、存储介质
CN113159264B (zh) 一种入侵检测方法、系统、设备及可读存储介质
Herath et al. Cfgexplainer: Explaining graph neural network-based malware classification from control flow graphs
CN112437053B (zh) 入侵检测方法及装置
CN113660196A (zh) 一种基于深度学习的网络流量入侵检测方法及装置
CN114330650A (zh) 基于进化元学习模型训练的小样本特征分析方法及装置
Shoohi et al. DCGAN for Handling Imbalanced Malaria Dataset based on Over-Sampling Technique and using CNN.
EP3874412A1 (en) Computer architecture for multiplier-less machine learning
CN115277354A (zh) 一种面向指挥控制网络管理系统的故障检测方法
CN115563610A (zh) 入侵检测模型的训练方法、识别方法和装置
Ramlie et al. Optimal feature selection of taguchi character recognition in the mahalanobis-taguchi system using bees algorithm
Ünal et al. Fruit recognition and classification with deep learning support on embedded system (fruitnet)
CN113409105B (zh) 一种电商网络异常用户检测方法及系统
CN112613032B (zh) 基于系统调用序列的主机入侵检测方法及装置
CN118018272A (zh) 针对数据管理平台实现入侵防御处理的方法、装置、处理器及其计算机可读存储介质
Saranya et al. FBCNN-TSA: An optimal deep learning model for banana ripening stages classification
CN113837266A (zh) 一种基于特征提取和Stacking集成学习的软件缺陷预测方法
CN109934352B (zh) 智能模型的自动进化方法
CN113033419A (zh) 基于进化神经网络的设备故障辨识方法及系统
Hamed et al. Plant Disease Detection Using Deep Learning
Paterega et al. Imbalanced data: a comparative analysis of classification enhancements using augmented data

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