CN113364751A - 网络攻击预测方法、计算机可读存储介质及电子设备 - Google Patents
网络攻击预测方法、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN113364751A CN113364751A CN202110579038.9A CN202110579038A CN113364751A CN 113364751 A CN113364751 A CN 113364751A CN 202110579038 A CN202110579038 A CN 202110579038A CN 113364751 A CN113364751 A CN 113364751A
- Authority
- CN
- China
- Prior art keywords
- feature
- weight
- subset
- characteristic
- prediction
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
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
本发明涉及网络攻击预测方法、计算机可读存储介质及电子设备,预测方法包括:获取NSL‑KDD数据集;对NSL‑KDD数据集进行预处理,获得目标数据;根据信息增益对目标数据进行特征选取,获得信息增益特征子集,并确定信息增益特征子集的特征变量权重;采用特征权重算法对目标数据进行特征筛选,获得特征权重特征子集,并确定特征权重特征子集的特征变量权重;根据两个特征子集生成预测特征子集,并根据两个特征子集的特征变量权重获得预测特征变量权重;根据预测特征子集和预测特征变量权重对预先创建的CNN+LSTM模型进行训练;根据训练好的CNN+LSTM模型进行网络攻击预测,获得网络攻击预测结果。该方法能够提高网络攻击预测的准确率和效率。
Description
技术领域
本发明涉及人工智能与网络安全技术领域,尤其涉及一种网络攻击预测方法、一种计算机可读存储介质以及一种电子设备。
背景技术
目前,针对网络攻击的识别方法,除了使用防火墙、入侵检测系统等网络安全设备进行实时探测外,基于人工智能神经网络的网络攻击识别与预测也成为一个新的研究方向。研究主要集中在如下几个方面:以多个有限时间段和异步数据流为输入,开展对网络攻击进行检测与识别,以及基于网络攻击识别特征的实证研究;应用LSTM(Long Short-TermMemory,长短期记忆网络)在CIDDS-001网络入侵检测数据集上进行训练和测试;在聚类分析的基础上,对现有网络攻击评估技术在攻击信息源异构和时空分布不均匀的情况下,对评估参数获取不准、时间较长、精度不高等问题进行了探讨;利用威胁传播与图论相结合的评估方法,量化了网络攻击的趋势,绘制了网络整体安全趋势图;开展了“基于聚类分析的网络攻击识别算法研究”,提出了一种基于聚类模型的网络攻击识别方法。
现有的基于人工智能神经网络的网络攻击识别算法模型主要呈现如下特点:尽管实验结果取得较高的准确率,但是由于实验数据集的选择问题,没有表现出模型的泛化性;以及,模型容易存在局部最优解,模型预测精度不够高的情况。
发明内容
(一)要解决的技术问题
鉴于现有技术的上述缺点、不足,本发明提供一种网络攻击预测方法、计算机可读存储介质及电子设备,其解决了传统网络攻击识别方法存在的准确度和效率均低的技术问题。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
第一方面,本发明实施例提供一种网络攻击预测方法,包括:获取NSL-KDD数据集;对NSL-KDD数据集进行预处理,获得目标数据;根据信息增益对目标数据进行特征选取,获得信息增益特征子集,并确定信息增益特征子集的特征变量权重;采用特征权重算法对目标数据进行特征筛选,获得特征权重特征子集,并确定特征权重特征子集的特征变量权重;根据信息增益特征子集和特征权重特征子集生成预测特征子集,并根据信息增益特征子集的特征变量权重和特征权重特征子集的特征变量权重获得预测特征变量权重;根据预测特征子集和预测特征变量权重对预先创建的CNN+LSTM模型进行训练;根据训练好的CNN+LSTM模型进行网络攻击预测,获得网络攻击预测结果。
可选地,对NSL-KDD数据集进行预处理,获得目标数据,包括:对NSL-KDD数据集中的分类特征进行特征数值化处理,获得第一处理数据,并对分类特征中的特征值进行数值归一化处理,获得第二处理数据;对第一处理数据和第二处理数据进行网络攻击数据标注,获得目标数据。
可选地,NSL-KDD数据集包括5种类型的网络数据:Normal、DoS、U2R、R2L和Probe,其中,对第一处理数据和第二处理数据进行网络攻击数据标注,获得目标数据,包括:提取第一处理数据和第二处理数据中与DoS类型对应的数据,作为目标数据。
可选地,分类特征的类型包括protocol_type、service和flag,protocol_type包括三种类型的特征值,service包括70种特征值,flag包括11种特征值。
可选地,根据信息增益对目标数据进行特征选取,包括:获取目标数据中最大信息增益的属性特征,并将最大信息增益的属性特征作为首选特征进行递归计算,以对目标数据进行特征选取。
可选地,采用特征权重算法对目标数据进行特征筛选,包括:从训练集中随机选择一个观测点S,并找到具有相同攻击类型标签的S的最近邻测试点,称为NearHit,以及选取具有不同攻击类型标签的S的最近邻测试点,称为NearMiss;若测试点S在任一特征上与NearHit的距离大于与NearMiss的距离,则提高该特征的权重;若测试点S在任一特征上与NearHit的距离小于与NearMiss的距离,则降低该特征的权重;重复上述过程,获得每个特征的平均权重,并选取平均权重大于预设值的特征。
可选地,根据信息增益特征子集和特征权重特征子集生成预测特征子集,包括:对信息增益特征子集和特征权重特征子集进行交集计算,获得预测特征子集。
可选地,根据以下公式计算预测特征变量权重:
Zic=(Zig+Zir)/2
其中,Zic为预测特征变量权重,Zig为信息增益特征子集的特征变量权重,Zir为特征权重特征子集的特征变量权重。
第二方面,本发明实施例提供一种计算机可读存储介质,其上存储有网络攻击预测程序,该网络攻击预测程序被处理器执行时实现上述的网络攻击预测方法。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的网络攻击预测程序,处理器执行网络攻击预测程序时,实现上述的网络攻击预测方法。
(三)有益效果
本发明的有益效果是:本发明的网络攻击预测方法、计算机可读存储介质及电子设备,获取NSL-KDD数据集,并对NSL-KDD数据集进行预处理获得目标数据,以及根据信息增益对目标数据进行特征选取获得信息增益特征子集,并确定信息增益特征子集的特征变量权重,以及采用特征权重算法对目标数据进行特征筛选获得特征权重特征子集,并确定特征权重特征子集的特征变量权重,而后根据信息增益特征子集和特征权重特征子集生成预测特征子集,并根据信息增益特征子集的特征变量权重和特征权重特征子集的特征变量权重获得预测特征变量权重,以及将预测特征子集和预测特征变量权重输入预先训练好的CNN+LSTM模型进行预测,获得网络攻击预测结果。其中,采用NSL-KDD数据集,提高了模型的泛化性;同时,模型采用CNN+LSTM组合模型,并在此基础上利用信息增益和特征权重算法从数据集中挑选出了有效的数据属性作为特征,训练和优化模型,提高了模型的准确度和效率,从而提高了网络攻击预测的准确度和效率。
附图说明
图1为根据本发明一个实施例的网络攻击预测方法的流程图;
图2为根据本发明一个实施例的目标数据获取的流程图;
图3为根据本发明一个实施例的LSTM单元结构和网络组成示意图;
图4为根据本发明一个实施例的CNN+LSTM模型的结构示意图;
图5为根据本发明一个实施例的cnn_filter=8,lh1=32,lh2=16时模型训练的准确率;
图6为根据本发明一个实施例的cnn_filter=8,lh1=32,lh2=16时模型训练的损失率;
图7为根据本发明一个实施例的实验验证用混淆矩阵的示意图;
图8为根据本发明一个实施例的实验验证的RCO和AUC的示意图;
图9为根据本发明一个实施例的实验验证时不同方法对应的准确率和召回率的示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
本发明实施例提出的网络攻击预测方法、计算机可读存储介质及电子设备,结合了CNN(Cable News Network,卷积神经网络)和LSTM(Long Short-Term Memory,长短期记忆网络)神经网络组成学习和训练模型,并在此基础上利用信息增益和特征权重算法挑选了有效的数据属性作为特征,训练和优化模型。实验结果表明,本申请提出的模型在多分类的攻击检测方面优于单一的LSTM神经网络模型和传统分类方法。此外,本申请方法中的特征选取策略在提高模型精度的同时能够有效降低计算规模,从而减少模型训练时间,更有利于攻击预测方法在实践中的应用。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
图1为根据本发明一个实施例的网络攻击预测方法的流程图,如图1所示,该网络攻击预测方法包括以下步骤:
步骤S101,获取NSL-KDD数据集。
在本申请中,选择网络安全领域相对权威的入侵检测数据集NSL-KDD作为模型训练的数据源。NSL-KDD数据集改良于KDD99数据集,其删除了重复的网络流量数据记录,这有助于分类器产生无偏差的结果。
步骤S102,对NSL-KDD数据集进行预处理,获得目标数据。
为了更方便、准确地训练模型,可先对NSL-KDD数据集进行预处理,获得目标数据。可选地,可将NSL-KDD数据集中的分类特征转换为数字特征,并进行数值归一化,得到目标数据。具体地,参考图2所示,对NSL-KDD数据集进行预处理,获得目标数据,包括:
步骤S201,对NSL-KDD数据集中的分类特征进行特征数值化处理,获得第一处理数据,并对分类特征中的特征值进行数值归一化处理,获得第二处理数据。
具体地,NSL-KDD数据集包括3种类型的非数值分类特征,分别为:protocol_type、service和flag。其中,protocol_type表示流量的协议类型,包括三种类型的特征值,分别为:TCP、UDP和ICMP;service表示目标主机的网络服务类型,由于网络服务类型多种多样,因此存在较多的可能值,在NSL-KDD数据集中此分类特征共有70种特征值;flag表示连接正常或错误的状态,包括11种特征值。在9个NSL-KDD离散分类特征中,二进制分类特征有6个,每个分类特征的特征值为0或1。
在进行特征数值化处理时,将对非数值分类特征:protocol_type、service和flag进行处理,其中,可将protocol_type的三种类型的特征值:TCP、UDP和ICMP编码为数值离散值:0、1和2;将service的70种特征值分别以0到69的整数数字表示;将flag的11种特征值分别以0到10的整数数字表示。在具体实施时,可选地,可通过One-Hot编码技术,将各项分类特征转化为只用0和1表示的数据,获得第一处理数据。
由于数据集分类特征选取的特殊性,每个分类特征的取值范围存在差异,也就是说,数据集中某些分类特征的最小值与最大值之间存在显著的差异,因此在获得各项分类特征的特征值后,可进一步对每个特征值进行数值归一化处理。例如,分类特征A的取值范围为[-1000,1000],分类特征B的取值范围为[-1,1],如果使用logistic回归:w1*x1+w2*x2,那么由于x1的取值太大,导致x2基本不起作用,从而导致较低的精确度。因此,在本申请中,将使用归一化方法将原始(有些分类特征不需要特征数值化处理)和经过特征数值化处理后的特征值归一化为特定范围内的特征值,以提高精确度和计算效率。
为了更好地对模型进行训练,优选地,采用最小-最大归一化方法将各个特征值转换至0-1区间,得到第二处理数据,该方法对于所有离散和连续特征值均适用。其中,最小-最大归一化方法的计算公式如下:
xnorm=(x-xmin)/(xmax-xmin) (1)
其中,xnorm表示归一化后的特征值,x表示归一化前的特征值,xmax和xmin分别表示特征值所取得的最大值和最小值。
步骤S202,对第一处理数据和第二处理数据进行网络攻击数据标注,获得目标数据。
在对分类特征进行特征数值化处理得到第一处理数据,并对分类特征中的特征值进行数值归一化处理得到第二处理数据后,可对第一处理数据和第二处理数据进行网络攻击数据标注,获得目标数据。
具体地,NSL-KDD数据集包括5种主要攻击类型,即5种类型的网络数据,分别为:Normal、DoS、U2R、R2L和Probe,其中,对第一处理数据和第二处理数据进行网络攻击数据标注,获得目标数据,包括:提取第一处理数据和第二处理数据中与DoS类型对应的数据,作为目标数据,即选取DoS数据作为模型识别的目标。
步骤S103,根据信息增益对目标数据进行特征选取,获得信息增益特征子集,并确定信息增益特征子集的特征变量权重。
可选地,根据信息增益对目标数据进行特征选取,包括:获取目标数据中最大信息增益的属性特征,并将最大信息增益的属性特征作为首选特征进行递归计算,以对目标数据进行特征选取。
具体地,为了提高模型预测的准确率和效率,需要有效地选择关键特征,NSL-KDD数据集中包含有许多不相关和冗余的特征,因此去除所有不相关和冗余的特征对性能提高能起到很大的作用。
在选择特征时,可根据信息增益对目标数据进行特征选取,如根据香农公式选择对结果有主要影响作用的数据的相关特征。其中,信息增益越高,相关特征越佳,因此可将信息增益最高的属性特征作为决策的首选特征,而后基于该首选特征再一次递归计算其余属性与目标属性的熵来确定余下的特征,以获得信息增益特征子集,同时可确定出信息增益特征子集的特征变量权重。
步骤S104,采用特征权重算法对目标数据进行特征筛选,获得特征权重特征子集,并确定特征权重特征子集的特征变量权重。
除考虑特征的信息增益外,本申请还使用了特征权重算法如ReliefF算法,目的是通过识别最近邻居之间的特征值差异来计算特征的重要性,以获得特征权重特征子集并确定特征权重特征子集的特征变量权重。
可选地,采用特征权重算法对目标数据进行特征筛选,包括:从训练集(通常数据集一部分用来作为训练集,一部分用来作为测试集)中随机选择一个观测点S,并找到具有相同攻击类型标签的S的最近邻测试点,称为NearHit,以及选取具有不同攻击类型标签的S的最近邻测试点,称为NearMiss;然后,根据以下规则更新每个特征的权重:若测试点S在任一特征上与NearHit的距离大于与NearMiss的距离,则提高该特征的权重,即该特征的权重增加,因为特征有助于区分最邻近情形下的目标标签;反之,若测试点S在任一特征上与NearHit的距离小于与NearMiss的距离,即说明该特征对区分标签作用不大,则降低该特征的权重,即该特征的权重降低;重复上述过程,最后获得每个特征的平均权重,并选取平均权重大于预设值的特征,其中特征的权重越大,特征的分类能力越强,越应该被留在最终的特征权重特征子集中。由于该方法为线性的,因此可以较快地确认所有特征的权重即特征变量权重。
步骤S105,根据信息增益特征子集和特征权重特征子集生成预测特征子集,并根据信息增益特征子集的特征变量权重和特征权重特征子集的特征变量权重获得预测特征变量权重。
在获得信息增益特征子集和特征权重特征子集后,可根据信息增益特征子集和特征权重特征子集生成预测特征子集,可选地,可对信息增益特征子集和特征权重特征子集进行交集计算,获得预测特征子集,即根据下述公式(2)获得预测特征子集:
Uc=Ug∩Ur (2)
其中,Uc表示预测特征子集,Ug表示信息增益特征子集,Ur表示特征权重特征子集。
进一步地,还可根据信息增益特征子集的特征变量权重和特征权重特征子集的特征变量权重获得预测特征变量权重,根据下述公式(3)计算预测特征变量权重:
Zic=(Zig+Zir)/2 (3)
其中,Zic为预测特征变量权重,Zig为信息增益特征子集的特征变量权重,Zir为特征权重特征子集的特征变量权重。
步骤S106,根据预测特征子集和预测特征变量权重对预先创建的CNN+LSTM模型进行训练。
在本申请中,模型采用CNN+LSTM模型,即基于CNN+LSTM的组合模型预测网络安全攻击。在该组合模型中,先利用CNN进行特征提取,再利用LSTM获取序列特征。
具体来说,CNN部分将数据记录看做一个CNN的输入矢量序列,本申请中,可使用一维过滤器扫描该矢量获得关键特征,并利用ReLu激活函数得到关键特征映射。在CNN的池化层中,可利用突出特征的Max-pooling方法,这样更有利于提取重要特征并减少卷积层中的计算。在Max-pooling层之后,采用dropout技术来克服过度拟合的问题,在该过程中,在具体实施时,可将dropout-rate设置为0.3。
LSTM是RNN的升级网络,其解决了利用梯度下降方法进行模型优化时随着时间序列增大而产生的“梯度消失”问题,在LSTM中LSTM单元代替了RNN中的神经元,其结构由遗忘门、输入门、输出门和细胞单元4个部分组成,其内部结构如图3所示。
假设在t时刻,将输入门、输出门和遗忘门分别表示为:it、ot和ft,那么LSTM的更新方法为:
其中,wi表示输入量xt在输入门的权重,xt表示t时刻的输入量,ui表示LSTM的输出信号ht-1在输入门的权重,ht-1表示t-1时刻LSTM的输出信号,bi表示输入门的偏置量,wo表示输入量xt在输出门的权重,uo表示LSTM的输出信号ht-1在输出门的权重,bo表示输出门的偏置量,wf表示输入量xt在遗忘门的权重,uf表示LSTM的输出信号ht-1在遗忘门的权重,bf表示遗忘门的偏置量,ct表示t时刻的细胞单元,ct-1表示t-1时刻的细胞单元,Wt表示t时刻的输出门权重矩阵,Ut表示t时刻的输出门权重矩阵,另外网络中使用sigmoid函数作为激活函数,即σ为sigmoid函数。
LSTM使输出信号反向影响输入阶段的每一个门,因此网络中包含了次序依赖性的序列特征。对网络流量这种长序列数据来说,LSTM可以有效识别其中所具备的前后依赖关系的序列特征。
在LSTM之后,可使用全连接层并通过Softmax网络判断攻击类型,整个网络一共包含7层:第1层由CNN单元组成,后2层为LSTM网络,然后3层由全连接层组成,最后通过一个Softmax层分类输出,如图4所示。网络中的激活函数为ReLu函数,dropout值可为0.5。
在获得CNN+LSTM模型后,可根据预测特征子集和预测特征变量权重对创建的CNN+LSTM模型进行训练。
步骤S107,根据训练好的CNN+LSTM模型进行网络攻击预测,获得网络攻击预测结果。
作为一个具体示例,本申请可基于Keras、TensorFlow2.0、sklearn等开源库实现,硬件环境可为:Xeon2.6 GHz CPU、32GB RAM、以及GTX2080GPU(16.0GB RAM)。数据集选用NSL-KDD数据集。训练和测试实验均在CentOs 7.8.2003(64位)操作系统上进行,并且模型训练时使用GPU加速。
在模型训练时,训练数据可为11.2*104条,测试数据可为2.2*104条,优化时,使用交叉熵作为损失函数,学习率lr分别取[0.05,0.1,0.15,02],优化参数adam=0.005。
当CNN单元采用8个CNN滤波器时,LSTM节点数分别为32和16,当lr=0.1时,能够达到最好的训练效果,此时模型的准确率达到99.01%,准确率acc和损失函数loss分别如图5、图6所示。需要说明的是,图5和图6中的浅色曲线为平滑后的曲线。
而后,可进行数据分析,例如可利用混淆矩阵测试算法性能。
具体地,可使用TP(True Positive,真阳性)、FP(False Positive,假阳性)、TN(True Negative,真阴性)和FN(False Negative,假阴性)混淆矩阵测试召回率(Recall)和准确率(Accuracy)。其中,TP表示被模型预测为攻击样本而实际也是攻击样本的计数;FP表示被模型预测为正常样本而实际是攻击样本的计数;TN表示被模型预测为正常样本而实际也是正常样本的计数;FN表示被模型预测为攻击样本而实际是正常样本的计数。其中,通过公式(5)和(6)分别表示召回率R和准确率P:
R=(TP)/(TP+FN) (5)
其中,召回率R表示被模型正确分类的攻击样本与实际攻击样本的百分比。
P=(TP)/(TP+PF) (6)
其中,准确率P表示表示模型预测正确的攻击样本频率。
从而可以计算出本实验的混淆矩阵如图7所示,从图7可以看出准确率和召回率均达到较好的水平。另外,本实验结果的AUC=0.987,也说明本申请的预测方法的有效性,如图8所示。
下面分别使用NSL-KDD数据集对本申请的预测方法、以及不含特征工程的CNN+LSTM网络、双层LSTM网络(LSTM-2)、SVM算法这4种模型进行检验,并选取准确率、召回率作为评价指标,对各种模型进行比较分析,不同模型的指标得分如图9所示。从图9可以看出,本申请的基于CNN+LSTM模型的预测方法在准确率、召回率方面都优于其他模型。实验结果表明,CNN+LSTM模型提高了预测攻击类型的召回率和准确率。与LSTM-2、SVM模型相比,CNN+LSTM模型的准确率分别提高了1.3%、1.6%、2.4%,而召回率也提高了0.2,0.5、0.5。
另外,由于本申请算法使用了特征筛选,不但提高了模型精度,也减少了计算规模,从而加快了模型训练的时间。
综上,本发明实施例的网络攻击预测方法,采用NSL-KDD数据集,提高了模型的泛化性;同时,模型采用CNN+LSTM组合模型,并在此基础上利用信息增益和特征权重算法从数据集中挑选出了有效的数据属性作为特征,训练和优化模型,提高了模型的准确度和效率,从而提高了网络攻击预测的准确度和效率。
另外,本发明实施例还提供一种计算机可读存储介质,其上存储有网络攻击预测程序,该网络攻击预测程序被处理器执行时实现上述的网络攻击预测方法。
本发明实施例的计算机可读存储介质,通过上述的网络攻击预测方法,采用NSL-KDD数据集,提高了模型的泛化性;同时,模型采用CNN+LSTM组合模型,并在此基础上利用信息增益和特征权重算法从数据集中挑选出了有效的数据属性作为特征,训练和优化模型,提高了模型的准确度和效率,从而提高了网络攻击预测的准确度和效率。
此外,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的网络攻击预测程序,处理器执行网络攻击预测程序时,实现上述的网络攻击预测方法。
本发明实施例的电子设备,通过上述的网络攻击预测方法,采用NSL-KDD数据集,提高了模型的泛化性;同时,模型采用CNN+LSTM组合模型,并在此基础上利用信息增益和特征权重算法从数据集中挑选出了有效的数据属性作为特征,训练和优化模型,提高了模型的准确度和效率,从而提高了网络攻击预测的准确度和效率。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”,可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”,可以是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”,可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度低于第二特征。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行改动、修改、替换和变型。
Claims (10)
1.一种网络攻击预测方法,其特征在于,包括:
获取NSL-KDD数据集;
对所述NSL-KDD数据集进行预处理,获得目标数据;
根据信息增益对所述目标数据进行特征选取,获得信息增益特征子集,并确定所述信息增益特征子集的特征变量权重;
采用特征权重算法对所述目标数据进行特征筛选,获得特征权重特征子集,并确定所述特征权重特征子集的特征变量权重;
根据所述信息增益特征子集和所述特征权重特征子集生成预测特征子集,并根据所述信息增益特征子集的特征变量权重和所述特征权重特征子集的特征变量权重获得预测特征变量权重;
根据所述预测特征子集和所述预测特征变量权重对预先创建的CNN+LSTM模型进行训练;
根据训练好的CNN+LSTM模型进行网络攻击预测,获得网络攻击预测结果。
2.如权利要求1所述的网络攻击预测方法,其特征在于,对所述NSL-KDD数据集进行预处理,获得目标数据,包括:
对所述NSL-KDD数据集中的分类特征进行特征数值化处理,获得第一处理数据,并对所述分类特征中的特征值进行数值归一化处理,获得第二处理数据;
对所述第一处理数据和所述第二处理数据进行网络攻击数据标注,获得所述目标数据。
3.如权利要求2所述的网络攻击预测方法,其特征在于,所述NSL-KDD数据集包括5种类型的网络数据:Normal、DoS、U2R、R2L和Probe,其中,对所述第一处理数据和所述第二处理数据进行网络攻击数据标注,获得所述目标数据,包括:
提取所述第一处理数据和所述第二处理数据中与所述DoS类型对应的数据,作为所述目标数据。
4.如权利要求2或3所述的网络攻击预测方法,其特征在于,所述分类特征的类型包括protocol_type、service和flag,所述protocol_type包括三种类型的特征值,所述service包括70种特征值,所述flag包括11种特征值。
5.如权利要求1-4中任一项所述的网络攻击预测方法,其特征在于,根据信息增益对所述目标数据进行特征选取,包括:
获取所述目标数据中最大信息增益的属性特征,并将所述最大信息增益的属性特征作为首选特征进行递归计算,以对所述目标数据进行特征选取。
6.如权利要求1-4中任一项所述的网络攻击预测方法,其特征在于,采用特征权重算法对所述目标数据进行特征筛选,包括:
从训练集中随机选择一个观测点S,并找到具有相同攻击类型标签的S的最近邻测试点,称为NearHit,以及选取具有不同攻击类型标签的S的最近邻测试点,称为NearMiss;
若测试点S在任一特征上与NearHit的距离大于与NearMiss的距离,则提高该特征的权重;
若测试点S在任一特征上与NearHit的距离小于与NearMiss的距离,则降低该特征的权重;
重复上述过程,获得每个特征的平均权重,并选取平均权重大于预设值的特征。
7.如权利要求1-4中任一项所述的网络攻击预测方法,其特征在于,根据所述信息增益特征子集和所述特征权重特征子集生成预测特征子集,包括:
对所述信息增益特征子集和所述特征权重特征子集进行交集计算,获得所述预测特征子集。
8.如权利要求7所述的网络攻击预测方法,其特征在于,根据以下公式计算所述预测特征变量权重:
Zic=(Zig+Zir)/2
其中,Zic为所述预测特征变量权重,Zig为所述信息增益特征子集的特征变量权重,Zir为所述特征权重特征子集的特征变量权重。
9.一种计算机可读存储介质,其特征在于,其上存储有网络攻击预测程序,该网络攻击预测程序被处理器执行时实现如权利要求1-8中任一项所述的网络攻击预测方法。
10.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的网络攻击预测程序,所述处理器执行所述网络攻击预测程序时,实现如权利要求1-8中任一项所述的网络攻击预测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110579038.9A CN113364751B (zh) | 2021-05-26 | 2021-05-26 | 网络攻击预测方法、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110579038.9A CN113364751B (zh) | 2021-05-26 | 2021-05-26 | 网络攻击预测方法、计算机可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113364751A true CN113364751A (zh) | 2021-09-07 |
CN113364751B CN113364751B (zh) | 2023-06-09 |
Family
ID=77527821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110579038.9A Active CN113364751B (zh) | 2021-05-26 | 2021-05-26 | 网络攻击预测方法、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113364751B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095268A (zh) * | 2021-11-26 | 2022-02-25 | 河北师范大学 | 用于网络入侵检测的方法、终端及存储介质 |
CN114157514A (zh) * | 2022-02-07 | 2022-03-08 | 北京金睛云华科技有限公司 | 一种多路ids集成检测方法和装置 |
CN114352947A (zh) * | 2021-12-08 | 2022-04-15 | 天翼物联科技有限公司 | 一种燃气管道泄漏检测方法、系统、装置及存储介质 |
CN114422184A (zh) * | 2021-12-14 | 2022-04-29 | 国网浙江省电力有限公司金华供电公司 | 基于机器学习的网络安全攻击类型和威胁等级预测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763326A (zh) * | 2018-05-04 | 2018-11-06 | 南京邮电大学 | 一种基于特征多样化的卷积神经网络的情感分析模型构建方法 |
CN109446635A (zh) * | 2018-10-23 | 2019-03-08 | 中国电力科学研究院有限公司 | 一种基于机器学习的电力工控攻击分类方法和系统 |
CN110287328A (zh) * | 2019-07-03 | 2019-09-27 | 广东工业大学 | 一种文本分类方法、装置、设备及计算机可读存储介质 |
CN111680644A (zh) * | 2020-06-11 | 2020-09-18 | 天津大学 | 一种基于深度空时特征学习的视频行为聚类方法 |
CN111818052A (zh) * | 2020-07-09 | 2020-10-23 | 国网山西省电力公司信息通信分公司 | 基于cnn-lstm的工控协议同源攻击检测方法 |
US20200389469A1 (en) * | 2017-12-24 | 2020-12-10 | Arilou Information Security Technologies Ltd. | System and method for tunnel-based malware detection |
CN112766403A (zh) * | 2020-12-29 | 2021-05-07 | 广东电网有限责任公司电力科学研究院 | 一种基于信息增益权重的增量聚类方法及装置 |
-
2021
- 2021-05-26 CN CN202110579038.9A patent/CN113364751B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200389469A1 (en) * | 2017-12-24 | 2020-12-10 | Arilou Information Security Technologies Ltd. | System and method for tunnel-based malware detection |
CN108763326A (zh) * | 2018-05-04 | 2018-11-06 | 南京邮电大学 | 一种基于特征多样化的卷积神经网络的情感分析模型构建方法 |
CN109446635A (zh) * | 2018-10-23 | 2019-03-08 | 中国电力科学研究院有限公司 | 一种基于机器学习的电力工控攻击分类方法和系统 |
CN110287328A (zh) * | 2019-07-03 | 2019-09-27 | 广东工业大学 | 一种文本分类方法、装置、设备及计算机可读存储介质 |
CN111680644A (zh) * | 2020-06-11 | 2020-09-18 | 天津大学 | 一种基于深度空时特征学习的视频行为聚类方法 |
CN111818052A (zh) * | 2020-07-09 | 2020-10-23 | 国网山西省电力公司信息通信分公司 | 基于cnn-lstm的工控协议同源攻击检测方法 |
CN112766403A (zh) * | 2020-12-29 | 2021-05-07 | 广东电网有限责任公司电力科学研究院 | 一种基于信息增益权重的增量聚类方法及装置 |
Non-Patent Citations (3)
Title |
---|
YONG ZHANG ETAL: "《Intrusion detection method based on information gain and ReliefF feature selection》", 《IJCNN 2019. INTERNATIONAL JOINT CONFERENCE ON NEURAL NETWORK》 * |
张建明;黄伟康;詹永照;: "结合语义概念和双流特征模型的复杂事件检测", 江苏大学学报(自然科学版) * |
李传煌;孙正君;袁小雍;李晓林;龚梁;王伟明;: "基于深度学习的实时DDoS攻击检测", 电信科学 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095268A (zh) * | 2021-11-26 | 2022-02-25 | 河北师范大学 | 用于网络入侵检测的方法、终端及存储介质 |
CN114352947A (zh) * | 2021-12-08 | 2022-04-15 | 天翼物联科技有限公司 | 一种燃气管道泄漏检测方法、系统、装置及存储介质 |
CN114352947B (zh) * | 2021-12-08 | 2024-03-12 | 天翼物联科技有限公司 | 一种燃气管道泄漏检测方法、系统、装置及存储介质 |
CN114422184A (zh) * | 2021-12-14 | 2022-04-29 | 国网浙江省电力有限公司金华供电公司 | 基于机器学习的网络安全攻击类型和威胁等级预测方法 |
CN114157514A (zh) * | 2022-02-07 | 2022-03-08 | 北京金睛云华科技有限公司 | 一种多路ids集成检测方法和装置 |
CN114157514B (zh) * | 2022-02-07 | 2022-05-06 | 北京金睛云华科技有限公司 | 一种多路ids集成检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113364751B (zh) | 2023-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110070141B (zh) | 一种网络入侵检测方法 | |
CN113364751A (zh) | 网络攻击预测方法、计算机可读存储介质及电子设备 | |
CN111211994B (zh) | 一种基于SOM与K-means融合算法的网络流量分类方法 | |
CN112529638B (zh) | 基于用户分类和深度学习的服务需求动态预测方法及系统 | |
CN113378990A (zh) | 基于深度学习的流量数据异常检测方法 | |
CN113449837B (zh) | 一种入侵检测方法、系统、设备及可读存储介质 | |
CN113839926A (zh) | 一种基于灰狼算法特征选择的入侵检测系统建模方法、系统及装置 | |
CN110334508B (zh) | 一种主机序列入侵检测方法 | |
CN112115996B (zh) | 图像数据的处理方法、装置、设备及存储介质 | |
CN113343123A (zh) | 一种生成对抗多关系图网络的训练方法和检测方法 | |
Ma et al. | Rethinking safe semi-supervised learning: Transferring the open-set problem to a close-set one | |
CN116886398A (zh) | 一种基于特征选择和集成学习的物联网入侵检测方法 | |
Faraoun et al. | Neural networks learning improvement using the k-means clustering algorithm to detect network intrusions | |
CN110837853A (zh) | 一种快速分类模型构建方法 | |
Aljibawi et al. | A survey on clustering density based data stream algorithms | |
CN115033893A (zh) | 一种改进型聚类算法的信息漏洞数据分析方法 | |
CN108446740A (zh) | 一种用于脑影像病历特征提取的多层一致协同方法 | |
KR102212310B1 (ko) | 오류 트리플 검출 시스템 및 방법 | |
CN112818152A (zh) | 一种深度聚类模型的数据增强方法和装置 | |
CN115438239A (zh) | 一种自动化异常样本筛选的异常检测方法及装置 | |
Lu et al. | An Alert Aggregation Algorithm Based on K-means and Genetic Algorithm | |
CN115580472B (zh) | 一种基于启发式聚类算法的工业控制网络攻击流量分类方法 | |
Lu et al. | Anomaly Recognition Method for Massive Data of Power Internet of Things Based on Bayesian Belief Network | |
CN113990397B (zh) | 基于有监督学习检测蛋白质复合物的方法及装置 | |
Li | Research on Network Security State Prediction Method Based on SVM |
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 |