CN114399029A - 一种基于gan样本增强的恶意流量检测方法 - Google Patents

一种基于gan样本增强的恶意流量检测方法 Download PDF

Info

Publication number
CN114399029A
CN114399029A CN202210043157.7A CN202210043157A CN114399029A CN 114399029 A CN114399029 A CN 114399029A CN 202210043157 A CN202210043157 A CN 202210043157A CN 114399029 A CN114399029 A CN 114399029A
Authority
CN
China
Prior art keywords
model
malicious
malicious traffic
data
sample
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
Application number
CN202210043157.7A
Other languages
English (en)
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.)
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hebei Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
Electric Power Research Institute of State Grid Hebei 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 State Grid Corp of China SGCC, Electric Power Research Institute of State Grid Hebei Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN202210043157.7A priority Critical patent/CN114399029A/zh
Publication of CN114399029A publication Critical patent/CN114399029A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • 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
    • 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)
  • Biophysics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (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

本发明涉及一种基于GAN样本增强的恶意流量检测方法,该方法为原始数据集依次经由数据预处理模块、基于GAN恶意流量生成模块、串行特征选择模块以及基于CatBoost算法的恶意流量检测模块处理后进行检测并获得检测结果。本发明旨在解决网络流量数据不平衡问题,特征选择过度依赖于专家经验问题和检测误报率高、准确率低的问题。

Description

一种基于GAN样本增强的恶意流量检测方法
技术领域
本发明属于网络安全技术领域,具体涉及一种基于GAN样本增强的恶意流量检测方法。
背景技术
随着移动互联网应用的广泛使用,移动互联网中的恶意流量问题也不断涌现,这些恶意流量包括用户终端对网络产生的恶意流量,也包括非法服务提供商向用户终端发送数据包产生的恶意流量。
现有的恶意流量检测技术大致分为基于签名或基于异常的两类:
(1).基于签名的恶意流量检测技术,依赖于观察系统或者网络中的流量,从已知的恶意流量情形中制定一套完整的规则,存储在签名知识库中,当有新的网络流量传入时,与签名数据库进行匹配,判断恶意流量类型。但是建立数据库需要大量已知的恶意流量,现有的网络流量数据集中正常流量占比巨大,恶意流量数量较少,存在严重的数据失衡,少量的恶意流量无法有效的提取恶意流量所包含的规则,致使该方法的无法有效检测到恶意流量,误报率高;另外,在加密的背景下,负载是不可用的,规则不可创建,该方法失效。
(2).基于异常的恶意流量检测技术,是对系统恶意的流量进行检测,当检测的流量与正常流量偏离较大时,发出告警信息。早期利用统计学习方法进行恶意流量检测,使用正常活动的统计特征,捕获网络流量活动并创建其随机行为记录,当其值范围偏离正常流量活动较大则标识为恶意流量。但是这种方法对前提假设较为敏感,如果数据不服从正态分布,会产生较高的误报率;此外,攻击者会根据正常流量的预期表现,将恶意流量伪装成正常流量,混淆判断,降低准确率。机器学习方法和深度学习方法受到广泛应用,但是由于网络流量数据的不平衡性问题,使得机器学习和深度学习模型对恶意流量学习不充分,导致误报率高的问题。
现有技术中,申请号为202110956812.3的专利公开了一种基于XGBoost的端口扫描恶意流量的检测方法,该专利利用XGBoost算法对CICIDS2017数据集中的端口扫描恶意流量进行检测,该检测算法检测出的恶意流量类别单一,仅能进行二分类,对于其他恶意流量无法进行有效检测;在检测的过程中,对于误检和漏检的样本需要人工干预,增大了人工的开销;且对于CICIDS2017数据集中存在的数据不平衡问题没有进行有效解决,出现误报率高的问题。
申请号为202110853916.1的专利公开了一种提升不平衡恶意流量样本识别精度的双模态融合检测方法,该专利使用双模态融合检测方法提高不平衡恶意流量的识别精度,将数据包包头特征与负载特征分别输入到模型中,输出特征分布,之后利用对双模态流量特征进行有效融合,输出检测结果。对于加密流量,负载进行了加密,无法进行负载的特征的提取,该方法失效;对于存在的恶意流量较少的问题,仅通过改变模型的输入——由单模态变为多模态的方式仅增加了特征的表征方式,并未对恶意流量样本进行有效增强,容易出现漏检的情况。发明内容
为了克服上述现有技术的不足,本发明提供了一种基于GAN样本增强的恶意流量检测方法,旨在解决网络流量数据不平衡问题,特征选择过度依赖于专家经验问题,和检测误报率高、准确率低的问题。
本发明采用的技术方案是:原始数据集依次经由数据预处理模块、基于GAN恶意流量生成模块、串行特征选择模块以及基于CatBoost算法的恶意流量检测模块处理后进行检测并获得检测结果。
进一步地,所述数据预处理模块为对原始数据集进行预处理,所述原始数据集包括若干个数据文件。
进一步地,所述预处理的过程包括以下步骤,
步骤1.1:合并原始数据集的多个数据文件,数据文件中每一列代表一个特征,统计每个特征的缺失率,删除缺失率大于或等于阈值60%的特征,填充缺失率小于阈值60%的特征;
步骤1.2:标准化数据样本,按照网络流量的所属类别将数据文件拆分,计算正常流量与恶意流量以及各恶意流量之间的平衡度,对于比例严重失衡的类别使用基于GAN恶意流量生成模块进行样本增强。
进一步地,所述基于GAN恶意流量生成模块为经过数据预处理模块后,过滤出恶意流量样本,针对不同的恶意流量类别分别构建生成对抗网络模型GAN,学习恶意流量样本分布,训练生成模型生成恶意流量样本,然后利用判别模型识别生成恶意流量样本和实际恶意流量样本,输出判别损失。
进一步地,所述基于GAN恶意流量生成模块进行GAN恶意流量生成的过程包括以下步骤,
步骤2.1:构建生成对抗网络,构建生成模型G和判别模型D;
步骤2.2:生成模型G接收多峰噪声z的输入,生成模型G使用一个深度神经网络将z的分布p(z),映射到另一个数据空间G(z,θg),θg为生成模型中所有的参数,生成模型的目标是缩小G(z,θg)的分布与真实恶意样本分布pdata(x)之间的差距;
步骤2.3:判别模型D通过输出0或1来表示判别模型对输入恶意流量样本真假的判别情况,当输入的数据采样于真实恶意样本分布pdata(x)时,判别模型输出1,而当输入数据采样于合成恶意样本G(z)时,也就是从生成模型中输出数据时,判别器输出为0;
步骤2.4:生成模型与判别模型相互对抗进行优化;
步骤2.5:两个模型交替训练,同步提高,直到判别模型D的输出D(G(z))=0.5。进一步地,步骤2.4中,对于模型G要最大化D(G(z)),即最小化log(1-D(G(z))),使得判别器D的输出D(G(z))接近1,如公式(1)所示,对于模型D,要最大化logD(x)与log(1-D(G(z))),也就是当输入数据为真实数据x时,判别模型的输出D(x)尽可能接近1,而当输入数据为合成数据G(z)时,判别模型的输出D(G(z))尽可能接近0,如公式(2)所示:
Figure BDA0003471137130000031
Figure BDA0003471137130000032
步骤2.4中,采用RMSProp优化方法,进行效果优化,生成对抗网络模型最终要优化的函数如式(3)所示:
Figure BDA0003471137130000041
进一步地,所述串行特征选择模块为将原始数据集和基于GAN恶意流量生成模块生成的恶意流量数据合之后输入到串行特征选择模块,该模块采用方差分析法和相关性分析法串行进行特征选择,利用方差分析计算特征发散性,利用相关性分析法计算特征之间和特征与标签间的相关性大小,通过设置阈值的方式选择对恶意流量检测贡献突出的特征。
进一步地,所述串行特征选择模块的处理过程包括以下步骤,
步骤3.1:计算每个流量特征的方差,设定方差阈值0,方如式(4)所示。
Figure BDA0003471137130000042
其中,
Figure BDA0003471137130000043
表示第j个流量特征的方差,
Figure BDA0003471137130000044
为特征j的均值,ci,j表示第i个样本第j个特征的取值,n表示样本个数。
步骤3.2:计算每个特征和标签的相关性以及任意两个特征之间的Pearson相关系数,保留与标签中等相关和强相关的特征,同时,去除特征之间相关性强的特征,计算公式如式(5)所示:
Figure BDA0003471137130000045
其中,
Figure BDA0003471137130000046
表示特征cp和特征cq的相关性系数,ci,p、ci,q分别表示第i个样本在特征cp和特征cq上的取值,
Figure BDA0003471137130000047
Figure BDA0003471137130000048
分别表示特征cp和特征cq的样本均值。
进一步地,所述基于CatBoost算法的恶意流量检测模块为基于CatBoost算法进行建模,并利用网格搜索算法进行模型的参数调节,模型评估优秀后进行恶意流量检测。
进一步地,所述基于CatBoost算法的恶意流量检测模块的处理过程为:
生成一个高精度模型,如式(6)所示:
Figure BDA0003471137130000051
其中x是特征向量,T(x;θk)表示决策树,θk为决策树参数,K为树的数量。
训练数据集D={(xi,yi)}i=1,2,...,n,其中
Figure BDA0003471137130000052
是t维特征向量,
Figure BDA0003471137130000053
是标签值,n是样本量。目标是通过训练函数F:t→使得期望损失函数(L(y,F(x)))最小。在梯度下降中,对Ft进行第t次迭代时,通过函数组H求取基分类器ht以最小化期望损失:
假设前一轮迭代得到的强学习器F(t-1)(x),损失函数时是L(y,F(x)),则本轮迭代的目的是找到一个弱分类器ht,让本轮的损失函数最小,式(7)表示的是本轮迭代的目标函数ht
Figure BDA0003471137130000054
使用损失函数的负梯度-gt(x,y)去拟合每一轮的损失的近似值,式(8)中gt(x,y)表示的是上述梯度:
Figure BDA0003471137130000055
在实际计算中,用式(9)进行近似拟合ht
ht=argminE(-gt(xi,yi)-h(xi))2 (18)
CatBoost对每一个样本xi都会训练一个单独的模型Mi,模型Mi由使用了不含样本xi的训练集训练得到,使用Mi得到关于样本的梯度估计,并使用该梯度来训练基分类器得到最终的模型。
本发明的有益效果是:
本发明基于GAN样本增强的恶意流量检测方法在一定程度上缓解了特征选择过分依赖专家经验的问题,还解决了数据不平衡的带来的误报率高的问题,利用CatBoost算法建立多分类模型,实现多种恶意流量的检测,同时利用网格搜索优化模型,提高模型检测准确率。
附图说明
图1为本发明方法的整体框架;
图2为本发明基于GAN恶意流量生成的流程示意图;
图3为本发明筛选出的特征机器描述;
图4为本发明Total Fwd packets的KDE图;
图5为本发明Fwd Packet Length Min的KDE图;
图6为本发明原始数据集的混淆矩阵;
图7为本发明平衡化数据集的混淆矩阵;
图8为本发明平衡化前后性能对比。
具体实施方式
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
实施例1
本发明提出了一种基于GAN样本增强的恶意加密流量检测方法,旨在解决网络流量数据不平衡问题,特征选择过度依赖于专家经验问题,和检测误报率高、准确率低的问题。该方法为:原始数据集依次经由数据预处理模块、基于GAN恶意流量生成模块、串行特征选择模块以及基于CatBoost算法的恶意流量检测模块处理后进行检测并获得检测结果。如图1所示。
(1).数据预处理模块:对原始数据集进行预处理,所述原始数据集包括若干个数据文件,首先将多个数据文件合并为一个;之后删除缺失率大于或等于阈值60%的特征。根据经验得出,当一个特征的缺失率大于60%时,这个特征对于恶意加密流量检测意义甚微,缺失率小于阈值的特征用该特征的平均值(数值特征)或众数(类别特征)补全缺失;最后利用标准化消除特征间量纲的影响。
(2).基于GAN恶意流量生成模块:经过数据预处理模块后,过滤出恶意流量样本(少数类样本),针对不同的恶意流量类别分别构建生成对抗网络模型(GAN),学习恶意流量样本分布,训练生成模型生成恶意流量样本,然后利用判别模型识别生成恶意流量样本和实际恶意流量样本,输出判别损失,当距离达到阈值0.5时,生成与实际恶意样本相差不大的样本,解决了网络流量数据集中存在的数据不平衡问题。
(3).串行特征选择模块:将原始数据和生成数据混合之后输入到串行特征选择模块,该模块采用方差分析法和相关性分析法串行进行特征选择,利用方差分析计算特征发散性,利用相关性分析法计算特征之间和特征与标签间的相关性大小,通过设置阈值的方式选择对恶意流量检测贡献突出的特征,在一定程度上解决特征选择过度依赖专家经验的问题。
(4).基于CatBoost算法的恶意流量检测模块:为实现恶意流量检测和判断技术,本发明采用基于CatBoost算法进行建模,并利用网格搜索算法进行模型的参数调节,在模型评估优秀的前提下进行恶意流量检测和判断,使得恶意流量检测拥有较高的准确率和较低的误报率。
实施例2
结合实施细节,阐述实现本发明所采用的具体的技术手段:
步骤1:所述数据预处理模块对原始数据集进行预处理。原始数据集是多个csv格式文件的集合,包含不同的恶意流量特征数据,每一列代表一个特征,除了第一行外每一行为一条流量样本)。
原始数据集是一个压缩包的形式,解压之后包含多个CSV格式的数据文件,本实施例以CICIDS2017数据集为例,其包含周一到周五实施的不同网络攻击产生的恶意流量和正常流量。
具体处理步骤如下:
步骤1.1:合并原始数据集的多个数据文件,数据文件中每一列代表一个特征,统计每个特征的缺失率,删除缺失率大于或等于阈值60%的特征,填充缺失率小于阈值60%的特征,其中,类别特征使用该特征的众数填充数值特征使用该特征的平均值填充;
步骤1.2:标准化数据样本,按照网络流量的所属类别(标签)将文件拆分,计算正常流量与恶意流量以及各恶意流量之间的平衡度,对于比例严重失衡的类别使用步骤2进行样本增强;所述比例严重失衡的判别标准为:恶意流量样本数:正常流量样本数<=1:10
步骤2:GAN恶意流量生成模块进行GAN恶意流量生成,GAN恶意流量生成,如图2所示。具体处理步骤如下:
步骤2.1:构建生成对抗网络,构建生成模型G和判别模型D。
步骤2.2:生成模型G接收多峰噪声z的输入(传统的GAN中的生成模型输入的噪声是单峰正态分布,但是实际数据往往不能满足这个条件,输入多峰噪声能够增加合成数据的多样性),生成模型G使用一个深度神经网络将z的分布p(z),映射到另一个数据空间G(z,θg),θg为生成模型中所有的参数,生成模型的目标是尽量缩小G(z,θg)的分布与真实恶意样本分布pdata(x)之间的差距;
步骤2.3:判别模型D通过输出0或1来表示判别模型对输入恶意流量样本真假的判别情况,当输入的数据采样于真实恶意样本分布pdata(x)时,判别模型输出1,而当输入数据采样于合成恶意样本G(z)时,也就是从生成模型中输出数据时,判别器输出为0。
步骤2.4:生成模型与判别模型相互对抗进行优化,对于G而言,需要最大化D(G(z)),即最小化log(1-D(G(z))),也就是尽可能让G合成的恶意样本G(z)能够欺骗D,使得判别器D的输出D(G(z))接近1。如公式(1)所示。对于D而言,需要增强自己判别真假数据的能力,即最大化logD(x)与log(1-D(G(z))),也就是当输入数据为真实数据x时,判别模型的输出D(x)尽可能接近1,而当输入数据为合成数据G(z)时,判别模型的输出D(G(z))尽可能接近0。如公式(2)所示。
Figure BDA0003471137130000081
Figure BDA0003471137130000082
步骤2.5:两个模型交替训练,同步提高,直到判别模型D的输出D(G(z))=0.5。为防止GAN在训练过程中发生模式崩溃,采用RMSProp优化方法,进行效果优化。生成对抗网络模型最终要优化的函数如式(3)所示。
Figure BDA0003471137130000091
步骤3:
所述串行特征选择模块为将原始数据集和基于GAN恶意流量生成模块生成的恶意流量数据合之后输入到串行特征选择模块,该模块采用方差分析法和相关性分析法串行进行特征选择,利用方差分析计算特征发散性,利用相关性分析法计算特征之间和特征与标签间的相关性大小,通过设置阈值的方式选择对恶意流量检测贡献突出的特征。,筛选出的特征如图3所示,具体处理步骤如下:
步骤3.1:从特征发散性的角度计算每个流量特征的方差,设定方差阈值0,过滤掉方差为0的8个特征,这8个特征在全部样本上的取值相同,对于区分正常流量和恶意流量没有作用。方差分析法公式如式(4)所示。
Figure BDA0003471137130000092
这里的流量特征就是csv数据中的每一列,就是特征,只不过这些数据是网络流量数据,所以这里称为了流量特征,都是一个概念。
其中,
Figure BDA0003471137130000093
表示第j个流量特征的方差,
Figure BDA0003471137130000094
为特征j的均值,ci,j表示第i个样本第j个特征的取值,n表示样本个数。
步骤3.2:从相关性的角度计算每个特征和标签的相关性以及任意两个特征之间的Pearson相关系数,保留与标签中等相关(取值为0.3~0.5)和强相关(0.5~1.0)的特征,同时,去除特征之间相关性强的特征。计算公式如式(5)所示。
Figure BDA0003471137130000101
其中,
Figure BDA0003471137130000102
表示特征cp和特征cq的相关性系数,ci,p、ci,q分别表示第i个样本在特征cp和特征cq上的取值,
Figure BDA0003471137130000103
Figure BDA0003471137130000104
分别表示特征cp和特征cq的样本均值。
步骤4:基于CatBoost算法的恶意流量检测
所述基于CatBoost算法的恶意流量检测模块为基于CatBoost算法进行建模,并利用网格搜索算法进行模型的参数调节,模型评估优秀后进行恶意流量检测。CatBoost使用对称树作为基分类器,其计算特征重要性和模型的训练密切相关,在传统的梯度提升算法(如Gradient Boosting Decision Tree,GBDT)中,将大量决策树组合在一起,生成一个高精度模型,如式(6)所示:
Figure BDA0003471137130000105
其中x是特征向量,T(x;θk)表示决策树,θk为决策树参数,K为树的数量。
训练数据集D={(xi,yi)}i=1,2,...,n,其中
Figure BDA0003471137130000106
是t维特征向量,
Figure BDA0003471137130000107
是标签值,n是样本量。目标是通过训练函数F:t→使得期望损失函数(L(y,F(x)))最小。在梯度下降中,对Ft进行第t次迭代时,通过函数组H求取基分类器ht以最小化期望损失:
假设前一轮迭代得到的强学习器F(t-1)(x),损失函数时是L(y,F(x)),则本轮迭代的目的是找到一个弱分类器ht,让本轮的损失函数最小,式(7)表示的是本轮迭代的目标函数ht
Figure BDA0003471137130000108
使用损失函数的负梯度-gt(x,y)去拟合每一轮的损失的近似值,式(8)中gt(x,y)表示的是上述梯度:
Figure BDA0003471137130000111
在实际计算中,通常用式(9)进行近似拟合ht
ht=argminE(-gt(xi,yi)-h(xi))2 (27)
gt(xi,yi)|xi的条件分布和训练集上的条件分布不一致会产生预测偏移,为解决该问题,CatBoost采用排序梯度(ordered boosting)的方式替换传统算法中梯度估计方法。CatBoost对每一个样本xi都会训练一个单独的模型Mi,模型Mi由使用了不含样本xi的训练集训练得到。使用Mi得到关于样本的梯度估计,并使用该梯度来训练基分类器得到最终的模型。CatBoost算法通过对传统梯度提升算法中的梯度估计方式进行改变,在每次迭代时使用无偏梯度估计以完成建树过程,减缓预测偏移,增强模型的泛化能力。
本发明基于GAN样本增强的恶意流量检测方法在一定程度上缓解了特征选择过分依赖专家经验的问题,还解决了数据不平衡的带来的误报率高的问题,利用CatBoost算法建立多分类模型,实现多种恶意流量的检测,同时利用网格搜索优化模型,提高模型检测准确率。
原始数据和生成数据的一致性检验
比较平衡化前后数据集的特征的概率密度角度,如图4、5所示,选择Total FwdPackets和Fwd Packet Length Min两个特征绘制原始数据和平衡化后数据的核密度估计图(KDE图),拟合平衡化前后数据的分布,可以反映出原始数据恶意流量样本和生成流量样本在各个特征上的一致性。
由图4、5可知,横坐标表示特征取值,纵坐标表示该取值对应的概率密度,其中红色曲线为预处理后原始数据分布,蓝色曲线为预处理后生成数据分布,从两个特征的核密度估计图中可以看出,数据集平衡前后数据特征的分布基本一致,基于GAN恶意样本生成方法生成的恶意样本和原始的恶意样本基本相同,本发明验证了该方法在使用前后特征的一致性。
基于GAN恶意样本生成的有效性检验
本发明使用混淆矩阵来评估该方法的有效性。如图6、7所示,纵坐标表示样本的真实类别,横坐标表示通过CatBoost模型预测的类别,图6为原始数据集训练得到混淆矩阵,通过图6可以看出,有大量恶意流量被误分类为正常流量,其中包括61%的Bot恶意流量、85%的Web Attract–Brute Force恶意流量和97%的Web Attract–XSS恶意流量等,通过分析原始数据集发现Bot、Web Attract–Brute Force、Web Attract–XSS恶意流量样本数量与正常流量样本数量相差巨大,由于缺乏足够的恶意流量数据,使得在训练时CatBoost对恶意流量学习不充分,难以有效地对这些稀疏数据进行分类,进而使多种恶意流量被误分类为正常流量;图7为平衡化后的数据集训练得到混淆矩阵,可以看出各类别均能够被正确分类,除少部分Web Attrack-Brute Force和Web Attrack-XSS恶意流量被误分类外,这是因为两种恶意流量同属Web Attack恶意类别,在流量行为上具有相似性,特征表现相近,本发明验证了基于GAN恶意样本生成的有效性。
实施例3
将实施例2的方法,基于CatBoost恶意流量算法实施。
本发明验证了基于CatBoost多分类算法的有效性,图8为平衡数据集前后CatBoost算法的性能表现,通过比较可以看到模型检测的准确率在平衡化后虽然略有降低,但召回率、精确率、和F1分数都有大幅度提高,恶意流量检测对召回率的要求较高,一旦某一恶意流量被误判为良性流量,则该流量可能会给系统带来不可挽回的损失,平衡化后的数据集弥补了召回率低的缺陷,有效地检测到网络流量中存在的恶意流量,规避了潜在的风险,再次验证本发明提出的基于GAN恶意样本生成方法的有效性,缓解了数据不平衡的问题,提高了恶意流量检测效率。
目前,本发明的技术方案已经进行了中试,即产品在大规模量产前的较小规模试验;中试完成后,在小范围内开展了用户使用调研,调研结果表明用户满意度较高;现在已开始着手准备正式投产进行产业化(包括知识产权风险预警调研)。
以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

Claims (10)

1.一种基于GAN样本增强的恶意流量检测方法,其特征在于,原始数据集依次经由数据预处理模块、基于GAN恶意流量生成模块、串行特征选择模块以及基于CatBoost算法的恶意流量检测模块处理后进行检测并获得检测结果。
2.根据权利要求1所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,所述数据预处理模块为对原始数据集进行预处理,所述原始数据集包括若干个数据文件。
3.根据权利要求2所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,所述预处理的过程包括以下步骤,
步骤1.1:合并原始数据集的多个数据文件,数据文件中每一列代表一个特征,统计每个特征的缺失率,删除缺失率大于或等于阈值60%的特征,填充缺失率小于阈值60%的特征;
步骤1.2:标准化数据样本,按照网络流量的所属类别将数据文件拆分,计算正常流量与恶意流量以及各恶意流量之间的平衡度,对于比例严重失衡的类别使用基于GAN恶意流量生成模块进行样本增强。
4.根据权利要求1所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,所述基于GAN恶意流量生成模块为经过数据预处理模块后,过滤出恶意流量样本,针对不同的恶意流量类别分别构建生成对抗网络模型GAN,学习恶意流量样本分布,训练生成模型生成恶意流量样本,然后利用判别模型识别生成恶意流量样本和实际恶意流量样本,输出判别损失。
5.根据权利要求4所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,所述基于GAN恶意流量生成模块进行GAN恶意流量生成的过程包括以下步骤,
步骤2.1:构建生成对抗网络,构建生成模型G和判别模型D;
步骤2.2:生成模型G接收多峰噪声z的输入,生成模型G使用一个深度神经网络将z的分布p(z),映射到另一个数据空间G(z,θg),θg为生成模型中所有的参数,生成模型的目标是缩小G(z,θg)的分布与真实恶意样本分布pdata(x)之间的差距;
步骤2.3:判别模型D通过输出0或1来表示判别模型对输入恶意流量样本真假的判别情况,当输入的数据采样于真实恶意样本分布pdata(x)时,判别模型输出1,而当输入数据采样于合成恶意样本G(z)时,也就是从生成模型中输出数据时,判别器输出为0;
步骤2.4:生成模型与判别模型相互对抗进行优化;
步骤2.5:两个模型交替训练,同步提高,直到判别模型D的输出D(G(z))=0.5。
6.根据权利要求5所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,步骤2.4中,对于模型G要最大化D(G(z)),即最小化log(1-D(G(z))),使得判别器D的输出D(G(z))接近1,如公式(1)所示,对于模型D,要最大化logD(x)与log(1-D(G(z))),也就是当输入数据为真实数据x时,判别模型的输出D(x)尽可能接近1,而当输入数据为合成数据G(z)时,判别模型的输出D(G(z))尽可能接近0,如公式(2)所示:
Figure FDA0003471137120000021
Figure FDA0003471137120000022
步骤2.4中,采用RMSProp优化方法,进行效果优化,生成对抗网络模型最终要优化的函数如式(3)所示:
Figure FDA0003471137120000023
7.根据权利要求1所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,所述串行特征选择模块为将原始数据集和基于GAN恶意流量生成模块生成的恶意流量数据合之后输入到串行特征选择模块,该模块采用方差分析法和相关性分析法串行进行特征选择,利用方差分析计算特征发散性,利用相关性分析法计算特征之间和特征与标签间的相关性大小,通过设置阈值的方式选择对恶意流量检测贡献突出的特征。
8.根据权利要求7所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,所述串行特征选择模块的处理过程包括以下步骤,
步骤3.1:计算每个流量特征的方差,设定方差阈值0,方如式(4)所示;
Figure FDA0003471137120000031
其中,
Figure FDA0003471137120000032
表示第j个流量特征的方差,
Figure FDA0003471137120000033
为特征j的均值,ci,j表示第i个样本第j个特征的取值,n表示样本个数;
步骤3.2:计算每个特征和标签的相关性以及任意两个特征之间的Pearson相关系数,保留与标签中等相关和强相关的特征,同时,去除特征之间相关性强的特征,计算公式如式(5)所示:
Figure FDA0003471137120000034
其中,
Figure FDA0003471137120000035
表示特征cp和特征cq的相关性系数,ci,p、ci,q分别表示第i个样本在特征cp和特征cq上的取值,
Figure FDA0003471137120000036
Figure FDA0003471137120000037
分别表示特征cp和特征cq的样本均值。
9.根据权利要求1所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,所述基于CatBoost算法的恶意流量检测模块为基于CatBoost算法进行建模,并利用网格搜索算法进行模型的参数调节,模型评估优秀后进行恶意流量检测。
10.根据权利要求9所述的一种基于GAN样本增强的恶意流量检测方法,其特征在于,所述基于CatBoost算法的恶意流量检测模块的处理过程为:
生成一个高精度模型,如式(6)所示:
Figure FDA0003471137120000038
其中x是特征向量,T(x;θk)表示决策树,θk为决策树参数,K为树的数量;
训练数据集D={(xi,yi)}i=1,2,...,n,其中
Figure FDA0003471137120000041
是t维特征向量,
Figure FDA0003471137120000042
是标签值,n是样本量。目标是通过训练函数F:t→使得期望损失函数(L(y,F(x)))最小。在梯度下降中,对Ft进行第t次迭代时,通过函数组H求取基分类器ht以最小化期望损失:
假设前一轮迭代得到的强学习器F(t-1)(x),损失函数时是L(y,F(x)),则本轮迭代的目的是找到一个弱分类器ht,让本轮的损失函数最小,式(7)表示的是本轮迭代的目标函数ht
Figure FDA0003471137120000043
使用损失函数的负梯度-gt(x,y)去拟合每一轮的损失的近似值,式(8)中gt(x,y)表示的是上述梯度:
Figure FDA0003471137120000044
在实际计算中,用式(9)进行近似拟合ht
ht=argminE(-gt(xi,yi)-h(xi))2 (9)
CatBoost对每一个样本xi都会训练一个单独的模型Mi,模型Mi由使用了不含样本xi的训练集训练得到,使用Mi得到关于样本的梯度估计,并使用该梯度来训练基分类器得到最终的模型。
CN202210043157.7A 2022-01-14 2022-01-14 一种基于gan样本增强的恶意流量检测方法 Pending CN114399029A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210043157.7A CN114399029A (zh) 2022-01-14 2022-01-14 一种基于gan样本增强的恶意流量检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210043157.7A CN114399029A (zh) 2022-01-14 2022-01-14 一种基于gan样本增强的恶意流量检测方法

Publications (1)

Publication Number Publication Date
CN114399029A true CN114399029A (zh) 2022-04-26

Family

ID=81231477

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210043157.7A Pending CN114399029A (zh) 2022-01-14 2022-01-14 一种基于gan样本增强的恶意流量检测方法

Country Status (1)

Country Link
CN (1) CN114399029A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174237A (zh) * 2022-07-08 2022-10-11 河北科技大学 一种物联网系统恶意流量的检测方法、装置和电子设备
CN115174170A (zh) * 2022-06-23 2022-10-11 东北电力大学 一种基于集成学习的vpn加密流量识别方法
CN115996135A (zh) * 2022-09-09 2023-04-21 重庆邮电大学 一种基于特征组合优化的工业互联网恶意行为实时检测方法
CN116167872A (zh) * 2023-04-20 2023-05-26 湖南工商大学 异常医疗数据检测方法、装置及设备
CN116319107A (zh) * 2023-05-19 2023-06-23 新华三人工智能科技有限公司 一种数据流量识别模型训练方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150200962A1 (en) * 2012-06-04 2015-07-16 The Board Of Regents Of The University Of Texas System Method and system for resilient and adaptive detection of malicious websites
CN111526144A (zh) * 2020-04-21 2020-08-11 福州大学 基于DVAE-Catboost的异常流量检测方法与系统
CN112235288A (zh) * 2020-10-13 2021-01-15 北京理工大学 一种基于gan的ndn网络入侵检测方法
CN112733954A (zh) * 2021-01-20 2021-04-30 湖南大学 一种基于生成对抗网络的异常流量检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150200962A1 (en) * 2012-06-04 2015-07-16 The Board Of Regents Of The University Of Texas System Method and system for resilient and adaptive detection of malicious websites
CN111526144A (zh) * 2020-04-21 2020-08-11 福州大学 基于DVAE-Catboost的异常流量检测方法与系统
CN112235288A (zh) * 2020-10-13 2021-01-15 北京理工大学 一种基于gan的ndn网络入侵检测方法
CN112733954A (zh) * 2021-01-20 2021-04-30 湖南大学 一种基于生成对抗网络的异常流量检测方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
刘嘉穗: "基于XGBoost和CatBoost相结合的消费券精准投放研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *
张浩等: "基于数据增强和模型更新的异常流量检测技术", 《信息网络安全》 *
贾俊星: "基于CFS-SAMME集成算法的入侵检测应用研究", 《网络安全技术与应用》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115174170A (zh) * 2022-06-23 2022-10-11 东北电力大学 一种基于集成学习的vpn加密流量识别方法
CN115174170B (zh) * 2022-06-23 2023-05-09 东北电力大学 一种基于集成学习的vpn加密流量识别方法
CN115174237A (zh) * 2022-07-08 2022-10-11 河北科技大学 一种物联网系统恶意流量的检测方法、装置和电子设备
CN115174237B (zh) * 2022-07-08 2023-04-18 河北科技大学 一种物联网系统恶意流量的检测方法、装置和电子设备
CN115996135A (zh) * 2022-09-09 2023-04-21 重庆邮电大学 一种基于特征组合优化的工业互联网恶意行为实时检测方法
CN115996135B (zh) * 2022-09-09 2024-03-12 重庆邮电大学 一种基于特征组合优化的工业互联网恶意行为实时检测方法
CN116167872A (zh) * 2023-04-20 2023-05-26 湖南工商大学 异常医疗数据检测方法、装置及设备
CN116319107A (zh) * 2023-05-19 2023-06-23 新华三人工智能科技有限公司 一种数据流量识别模型训练方法及装置
CN116319107B (zh) * 2023-05-19 2023-08-18 新华三人工智能科技有限公司 一种数据流量识别模型训练方法及装置

Similar Documents

Publication Publication Date Title
CN114399029A (zh) 一种基于gan样本增强的恶意流量检测方法
CN109768985B (zh) 一种基于流量可视化与机器学习算法的入侵检测方法
WO2019144521A1 (zh) 信息物理交通系统中基于深度学习的恶意攻击检测方法
CN113922985B (zh) 一种基于集成学习的网络入侵检测方法及系统
CN112491796B (zh) 一种基于卷积神经网络的入侵检测及语义决策树量化解释方法
CN111598179B (zh) 电力监控系统用户异常行为分析方法、存储介质和设备
CN111901340B (zh) 一种面向能源互联网的入侵检测系统及其方法
CN111461784B (zh) 一种基于多模型融合的欺诈行为检测方法
CN113067798B (zh) Ics入侵检测方法、装置、电子设备和存储介质
CN115622806B (zh) 一种基于bert-cgan的网络入侵检测方法
CN115242441A (zh) 一种基于特征选择和深度神经网络的网络入侵检测方法
CN113821793A (zh) 一种基于图卷积神经网络的多阶段攻击场景构建方法及系统
CN113098862A (zh) 一种基于混合采样与膨胀卷积相结合的入侵检测方法
CN113901448A (zh) 基于卷积神经网络和轻量级梯度提升机的入侵检测方法
CN116318928A (zh) 一种基于数据增强和特征融合的恶意流量识别方法及系统
CN114785563A (zh) 一种软投票策略的加密恶意流量检测方法
CN115577357A (zh) 一种基于堆叠集成技术的Android恶意软件检测方法
CN111047428A (zh) 基于少量欺诈样本的银行高风险欺诈客户识别方法
CN110365625B (zh) 物联网安全检测方法、装置及存储介质
Liu et al. An accuracy network anomaly detection method based on ensemble model
Samadzadeh et al. Evaluating Security Anomalies by Classifying Traffic Using Deep Learning
CN113343123A (zh) 一种生成对抗多关系图网络的训练方法和检测方法
US20230095966A1 (en) Intrusion detection method based on improved immune network algorithm, and application thereof
CN112001424A (zh) 基于对抗训练的恶意软件开放集家族分类方法和装置
Tran et al. DeepInsight-convolutional neural network for intrusion detection systems

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220426

RJ01 Rejection of invention patent application after publication