CN113438239B - 一种基于深度k近邻的网络攻击检测方法及装置 - Google Patents

一种基于深度k近邻的网络攻击检测方法及装置 Download PDF

Info

Publication number
CN113438239B
CN113438239B CN202110711741.0A CN202110711741A CN113438239B CN 113438239 B CN113438239 B CN 113438239B CN 202110711741 A CN202110711741 A CN 202110711741A CN 113438239 B CN113438239 B CN 113438239B
Authority
CN
China
Prior art keywords
sample data
network model
deep network
data
output
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
CN202110711741.0A
Other languages
English (en)
Other versions
CN113438239A (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.)
Hangzhou Dianzi University
Original Assignee
Hangzhou Dianzi University
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 Hangzhou Dianzi University filed Critical Hangzhou Dianzi University
Priority to CN202110711741.0A priority Critical patent/CN113438239B/zh
Publication of CN113438239A publication Critical patent/CN113438239A/zh
Application granted granted Critical
Publication of CN113438239B publication Critical patent/CN113438239B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (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

本发明公开了一种基于深度k近邻的网络攻击检测方法及装置,构建用于网络攻击检测的深度网络模型,采用训练样本数据训练深度网络模型,得到训练完成的深度网络模型,将训练样本数据输入到训练完成的深度网络模型中,获取训练样本数据在深度网络模型每一层的输出,并将校正样本数据输入到训练完成的深度网络模型,计算得到校正样本数据对应的距离特征之和组成数据集,然后将待检测数据输入到训练完成的深度网络模型,结合DkNN分析,来得到预测结果。本发明技术方案具有了良好的鲁棒性,得到了预测分类结果的更加准确的可信度。

Description

一种基于深度k近邻的网络攻击检测方法及装置
技术领域
本发明属于网络攻击防御和深度学习领域,具体涉及一种基于深度k近邻的网络攻击检测方法及装置,用于易受攻击的网络环境下的入侵检测。
背景技术
随着互联网的发展与成熟,网络逐渐成为一个高度共享与自由的环境。各行各业的网络化,智能化开始蓬勃发展。但是与此同时,各种恶意网络活动和网络犯罪频发,网络用户的信息安全受到严重的威胁。
为了解决上述的难题,入侵检测系统作为代表性的网络防御技术近几年再次火热起来。入侵检测系统通过事后分析攻击活动,获取该攻击活动的特征,并在下一次具有该特征的行为被检测到时,及时报警或者采取其他防御措施,防止损失扩大。但是初始的入侵检测技术存在较高的误报率和缺乏检测未知攻击的能力,这会增加人工检测校对的成本。
在机器学习的发展热潮中,其能够自动提取到深层的特征信息,因此被应用到各种检测识别的任务当中,包括入侵检测系统。目前,基于机器学习的入侵检测技术在很多的应用场景中表现的性能优于传统的入侵检测技术。例如:Thaseen等人在2013年利用随机树模型提出了NIDS,以提高准确率和降低虚警率。
随着近几年机器学习深度网络的引入,卷积神经网络(CNN)和循环神经网络(RNN)及其变体的门控循环单元(GRU)、长短期记忆网络(LSTM)等深度神经网络模型的应用,使得入侵检测系统可以提取高维网络流量数据中的特征,进一步提高识别的准确率。但是深度神经网络所输出的各分类所对应的概率(一般作为该输入样本属于对应分类的可信度)一般偏高,并不能代表真实可信度。此外,由于深度神经网络的鲁棒性较低,使得一些对抗性的例子能够在错误的分类的情况下拥有非常高的可信度,最终使得检测系统判断错误。
现在增强鲁棒性的方式主要有区分输入空间、对对抗性实例进行培训或消除对抗性扰动。这几种方法是基于特定对抗性策略提出的。当入侵者使用新型的对抗性策略时,旧的应对策略将不再有效。
发明内容
本发明要解决的技术问题是:基于传统神经网络的入侵检测输出模型预测的可信度普遍偏高,以及模型的鲁棒性较低,面对对抗性样例时,表现较差。本申请的目的在于提供一种基于深度k近邻的网络攻击检测方法及装置,通过深度k近邻(DkNN)的共形分析(conformity analysis)技术,即通过对比测试集数据和训练集数据在模型内部每一层上的表现,得到测试集数据的共形程度,以此得到其可信度和分类结果的技术,提高在易受攻击的网络环境下入侵检测结果的准确度,可信度的精准度,以及鲁棒性。
为了实现上述目的,本申请的技术方案如下:
一种基于深度k近邻的网络攻击检测方法,包括:
对样本数据进行预处理,将预处理后的样本数据分为训练样本数据和校正样本数据;
构建用于网络攻击检测的深度网络模型,采用训练样本数据训练深度网络模型,得到训练好完成的深度网络模型;
将训练样本数据输入到训练完成的深度网络模型中,获取训练样本数据在深度网络模型每一层的输出;
将校正样本数据输入到训练完成的深度网络模型中,获取深度网络模型每一层的校正输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述校正输出点的k个近邻点,计算近邻点中标签与输入校正样本数据的标签不同的近邻点到所述校正输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a,所有校正样本数据对应的距离特征之和组成数据集A;
将待检测数据z输入到训练完成的深度网络模型中,获取深度网络模型每一层的待检测输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述待检测输出点的k个近邻点,对于第j个候选标签值,计算近邻点中标签与第j个候选标签值不同的近邻点到所述待检测输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a*(z,j);
通过如下公式计算出可信度值pj(z):
Figure BDA0003134027520000031
其中|{a∈A:a≥a*(z,j)}|表示集合A中a≥a*(z,j)的元素数量,|A|表示集合A中元素的数量;
然后,通过如下公式计算出待检测数据的预测结果prediction(z)以及对应的可信度credibility(z):
prediction(z)=argmax(pj(z))
credibility(z)=max(pj(z))
其中,argmax函数是取最大可信度所对应的标签,max函数是取最大可信度。
进一步的,所述对样本数据进行预处理,包括:
删除样本数据中无意义字段,将源IP地址和目的IP地址字段中的IP地址映射为int型数值;
将样本数据中性质相似的标签合并;
从每个标签对应的样本中取预设数量的样本,打乱顺序形成新的样本数据;
对样本数据进行归一化处理。
进一步的,所述深度网络模型为simple、GRU、LSTM、CNN_GRU、CNN_LSTM中的任意一种。
本申请还提出了一种基于深度k近邻的网络攻击检测装置,包括:
深度网络模型训练模块,用于对样本数据进行预处理,将预处理后的样本数据分为训练样本数据和校正样本数据,采用训练样本数据训练用于网络攻击检测的深度网络模型,得到训练好完成的深度网络模型;
中间数据准备模块,用于将训练样本数据输入到训练完成的深度网络模型中,获取训练样本数据在深度网络模型每一层的输出;然后将校正样本数据输入到训练完成的深度网络模型中,获取深度网络模型每一层的校正输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述校正输出点的k个近邻点,计算近邻点中标签与输入校正样本数据的标签不同的近邻点到所述校正输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a,所有校正样本数据对应的距离特征之和组成数据集A;
DkNN分析模块,用于执行如下操作:
将待检测数据z输入到训练完成的深度网络模型中,获取深度网络模型每一层的待检测输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述待检测输出点的k个近邻点,对于第j个候选标签值,计算近邻点中标签与第j个候选标签值不同的近邻点到所述待检测输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a*(z,j);
通过如下公式计算出可信度值pj(z):
Figure BDA0003134027520000041
其中|{a∈A:a≥a*(z,j)}|表示集合A中a≥a*(z,j)的元素数量,|A|表示集合A中元素的数量;
然后,通过如下公式计算出待检测数据的预测结果prediction(z)以及对应的可信度credibility(z):
prediction(z)=argmax(pj(z))
credibility(z)=max(pj(z))
其中,argmax函数是取最大可信度所对应的标签,max函数是取最大可信度。
进一步的,所述深度网络模型训练模块对样本数据进行预处理,执行如下操作:
删除样本数据中无意义字段,将源IP地址和目的IP地址字段中的IP地址映射为int型数值;
将样本数据中性质相似的标签合并;
从每个标签对应的样本中取预设数量的样本,打乱顺序形成新的样本数据;
对样本数据进行归一化处理。
进一步的,所述深度网络模型为simple、GRU、LSTM、CNN_GRU、CNN_LSTM中的任意一种。
本申请提出的一种基于深度k近邻的网络攻击检测方法及装置,基于已经训练好的模型,训练数据在模型的每一层输出的空间内存在映射点。待检测数据输入模型后得到其在模型每一层的映射点,在该待检测数据的k个近邻中标签不一致的训练数据较多,则该测试点的共形程度低,相反,则共形程度高。此外,由校正数据集来收集正确分类时,在输入点的k近邻中不同标签的数量,以此作为一般分类正确的数据的标准。再用需要预测的数据,得到模型的共型数据,并与校正数据集的共形数据作比较,得到所有对应的可信度。
本申请技术方案由于有对抗性的或者模糊的数据一般会在深度网络的某几层的映射点的k近邻中标签不同于预测类型的点占大多数,与训练数据的相同预测类型点的不共形。由这个信息,可以计算得到其可信度较低,则DkNN具有了良好的鲁棒性。使用了共型和与校正数据集表现对比的两种方式,从一般数据的角度衡量,得到了预测分类结果的更加准确的可信度。
附图说明
图1为本申请一种基于深度k近邻的网络攻击检测方法流程图;
图2为simple深度网络模型对应的ROC曲线;
图3为GRU深度网络模型对应的ROC曲线;
图4为LSTM深度网络模型对应的ROC曲线;
图5为CNN_GRU深度网络模型对应的ROC曲线;
图6为CNN_LSTM深度网络模型对应的ROC曲线。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请入侵检测整体流程包括数据预处理、模型搭建与编译、模型训练、DkNN分析,如图1所示,一种基于深度k近邻的网络攻击检测方法,包括:
步骤S1、对样本数据进行预处理,将预处理后的样本数据分为训练样本数据和校正样本数据。
在一个示例中,所述对样本数据进行预处理,包括:
删除样本数据中无意义字段,将源IP地址和目的IP地址字段中的IP地址映射为int型数值;
将样本数据中性质相似的标签合并;
从每个标签对应的样本中取预设数量的样本,打乱顺序形成新的样本数据;
对样本数据进行归一化处理。
本实施例所使用的是通信安全机构和加拿大网络安全研究所合作项目收集的网络入侵数据集(CSE-CIC-IDS2017)。删去无意义字段,将字符特征数据转换为数值,将性质相近的攻击类型合并,并按照攻击类型分开保存。
具体的,先将FlowId和timestamp两对于入侵检测无意义的字段删去,再将SourceIP和DestinationIP字段中的ip地址取前一部分映射到int型数值。如:52.10.50.117转换为52*256+10*1+50*0+117*0,即13322。由于Label字段中'Web AttackBrute Force','Web Attack XSS','Web Attack Sql Injection','Infiltration','Heartbleed'的性质比较相似,将其合并为“Web Attack”类型。同理,合并'DoS Hulk','DoSGoldenEye','DoS slowloris','DoS Slowhttptest'为“Dos”类型。并将数据按照Label分类保存到不同文件中。
从每种攻击类型的文件中读取100000条数据。进行one-hot编码和归一化。打乱数据集顺序。按照80000:20000:30000的数量取数据集为训练集,校正集,测试集。存入数据库DkNN_dataset_1中。
此步骤中,one-hot编码后,protocol和label字段被编码为[0,0,1]的形式。最终数据特征部分为83维,标签部分为7维。
步骤S2:构建用于网络攻击检测的深度网络模型,采用训练样本数据训练深度网络模型,得到训练好完成的深度网络模型。
在一个示例中,所述深度网络模型为simple、GRU、LSTM、CNN_GRU、CNN_LSTM中的任意一种。
构建simple模型:第1,3层是输出单元为128的Dense层,第5层为输出单元为7的Dense层,层与层中间连接Dropout层,其设置丢弃率为0.2。
构建GRU模型:首先连接1,3,5层输出单元为128的GRU层,且为了防止模型训练过拟合,在每层后连接Dropout层并且设置丢弃率为0.2。输出层是输出单元为7的Dense层。
构建LSTM模型:首先连接1,3,5层输出单元为128的LSTM层,在每层后连接Dropout层并且设置丢弃率为0.2。输出层是输出单元为7的Dense层。
构建CNN_GRU模型:首先是1,3,5层是Conv1D层,输出单元分别为128,64,32。之后是6,8层是GRU层,输出单元为64,10层是一个输出单元为64的Dense层。2,4,7,9层为Dropout层,其丢弃率为0.2。输出层为Dense层,输出单元为7。
构建CNN_LSTM模型:首先是1,3,5层是Conv1D层,输出单元分别为128,64,32。之后是6,8层是LSTM层,输出单元为64,10层是一个输出单元为64的Dense层。2,4,7,9层为Dropout层,其丢弃率为0.2。输出层为Dense层,输出单元为7。
上述模型输出层激活函数采用softmax函数,该函数适用于多分类训练,且使输出区间在[0,1],优化较为稳定。优化器选择Adam优化器。损失函数采用tf.keras.losses.CategoricalCrossentropy,适用于多分类问题,评估指标采用tf.keras.metrics.categorical_accuracy。输出层所有激活函数相同,且模型的优化器、损失函数、以及评估指标均相同。
使用步骤1中的DkNN_1数据库的训练集对构建的模型进行训练,训练时epoch采用5,batch采用256,训练结果保存在本地。
步骤S3、将训练样本数据输入到训练完成的深度网络模型中,获取训练样本数据在深度网络模型每一层的输出。
本步骤将训练样本数据输入到训练完成的深度网络模型中,获取训练集在每个模型每一层网络的映射点位置,保存到数据库DkNN_1中。本步骤中,保存的训练数据为DkNN分析的基础。
步骤S4:结合DkNN分析,对待检测数据进行检测。
具体包括:
将校正样本数据输入到训练完成的深度网络模型中,获取深度网络模型每一层的校正输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述校正输出点的k个近邻点,计算近邻点中标签与输入校正样本数据的标签不同的近邻点到所述校正输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a,所有校正样本数据对应的距离特征之和组成数据集A;
将待检测数据z输入到训练完成的深度网络模型中,获取深度网络模型每一层的待检测输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述待检测输出点的k个近邻点,对于第j个候选标签值,计算近邻点中标签与第j个候选标签值不同的近邻点到所述待检测输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a*(z,j);
通过如下公式计算出可信度值pj(z):
Figure BDA0003134027520000081
其中|{a∈A:a≥a*(z,j)}|表示集合A中a≥a*(z,j)的元素数量,|A|表示集合A中元素的数量;
然后,通过如下公式计算出待检测数据的预测结果prediction(z)以及对应的可信度credibility(z):
prediction(z)=argmax(pj(z))
credibility(z)=max(pj(z))
其中,argmax函数是取最大可信度所对应的标签,max函数是取最大可信度。
本申请使用校正数据集(和训练集是同分布)的数据输入训练好的模型中去,获取模型的每一层的输出,前面的步骤已经获取了训练样本在深度网络模型每一层的输出,通过计算欧氏距离,可以找出训练样本数据在深度网络模型对应层的输出相对于所述校正输出点的k个近邻点。
找出近邻点中的标签与输入校正数据的标签不同的点,计算出近邻点中标签与输入校正样本数据的标签不同的近邻点到所述校正输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a,所有校正样本数据对应的距离特征之和组成数据集A。
例如,对于第一个校正样本,计算得到有a1、a2,对于第二个校正样本,计算得到有a3、a4,则数据集A包括:a1、a2、a3、a4、…。
本实施例通过每个校正集数据的k近邻中与其label相同的训练集数据的数量与它们分别的距离,可以得到单个校正集数据的共形状况,再以此为基础,可以得到待检测数据的科学的可信度。
将待检测数据z输入训练好的模型中去,获取每一层的输出,同样的找出训练样本数据在深度网络模型对应层的输出相对于所述待检测输出点的k个近邻点。对于第j个候选标签值,计算近邻点中标签与第j个候选标签值不同的近邻点到所述待检测输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a*(z,j)。
本实施例用结合DkNN分析的模型预测待检测数据的label,不过这一步只是对每个待检测数据搭配每个label进行共形程度计算。
最后通过如下公式计算出可信度值pj(z):
Figure BDA0003134027520000101
其中|{a∈A:a≥a*(z,j)}|表示集合A中a≥a*(z,j)的元素数量,|A|表示集合A中元素的数量;
然后,通过如下公式计算出待检测数据的预测结果prediction(z)以及对应的可信度credibility(z):
prediction(z)=argmax(pj(z))
credibility(z)=max(pj(z))
其中,argmax函数是取最大可信度所对应的标签,max函数是取最大可信度。
本实施例根据校正集共形情况和待检测数据每label共形情况,可以得到待检测数据对应每一种label的可信度,可信度最高的label,就为分类结果。
为了验证本申请技术方案的性能,申请人还将测试集样本输入到训练好的深度网络模型中,并通过DkNN分析得出预测结果,将预测结果与真实结果做比较,得到模型的准确率(ACC)、误报率(FAR)和检测率(DR),精准率(Precision)、召回率(Recall)、F1-Measure和AUC Score,并记录训练和测试的消耗时间。使用测试集同样测试未结合DkNN分析的传统模型的,并得到以上七个指标。根据所得到的七个指标和ROC曲线,可以对比结合与未结合DkNN的模型的性能。
测试性能指标如表1和表2所示,ROC曲线如图2-6所示:
Figure BDA0003134027520000102
Figure BDA0003134027520000111
表1
Figure BDA0003134027520000112
表2
从表1、表2数据以及ROC曲线可以看出,在入侵检测的应用中,结合DkNN分析的传统模型在准确度上与传统模型非常相似。有的指标优于传统模型,在auc_score指标上仅低于传统模型0.001级别。
为了更好的了解本申请技术方案的效果,本申请还给出了面对陌生数据时以及面对对抗性数据时,模型的可信度估计表现展示。
首先在面对陌生数据时,实验中分离预处理好的数据集中Label_Web Attack或Label_Dos标签值为1的行,将分离的数据作为测试集,将剩余的数据,按照80000,20000的数量制作为训练集和校正集,并一并存入数据库DkNN_dataset_2中。让Web Attack和Dos攻击成为陌生数据。使用DkNN_dataset_2中的训练集训练深度网络模型和DkNN分析,将训练好的模型和DkNN的参数保存到DkNN_dataset_2中。使用DkNN_dataset_2中测试集测试其中的模型和结合DkNN分析的模型,观察比较两者的可信度表现,得到结果如表3。
Figure BDA0003134027520000121
表3
表2为各个模型对陌生分布的预测结果的可信度在0-0.1,0.1-0.2…等区间内的数据比例。所示结果可以看出,传统模型在面对陌生的分布时,预测结果的可信度估计非常高,大多集中在0.5以上(除LSTM模型),而结合DkNN分析的模型可信度预测集中在0.5以下,则可以证明结合DkNN分析的模型的可信度估计优于传统模型。
在实验中,还将测试集使用FGSM的方式制作对抗数据集,并测试比较模型面对对抗数据的可信度和实际准确率的表现。对应要测试的模型,将tf.keras.losses.CategoricalCrossentropy作为损失函数,通过FGSM的方式和测试集生成为对抗样本集。将得到的对抗样本作为测试数据,测试并比较模型和结合DkNN分析的模型的可信度的表现,得到结果如表4:
Figure BDA0003134027520000122
Figure BDA0003134027520000131
表4
表3为各个模型预测结果的可信度在0-0.1,0.1-0.2…等区间内的数据比例。所示结果中可以看出,传统模型的预测可信度非常高,在对对抗样例预测时,大多数集中在0.8以上的区间中,所以,传统模型的鲁棒性较差。但是结合DkNN分析的模型预测结果可信度集中在可信度为0.5以下的区间中(除GRU模型),可得DkNN的鲁棒性较强,可以有效防止对抗样例。
在另一个实施例中,本申请还提供了一种基于深度k近邻的网络攻击检测装置,包括:
深度网络模型训练模块,用于对样本数据进行预处理,将预处理后的样本数据分为训练样本数据和校正样本数据,采用训练样本数据训练用于网络攻击检测的深度网络模型,得到训练好完成的深度网络模型;
中间数据准备模块,用于将训练样本数据输入到训练完成的深度网络模型中,获取训练样本数据在深度网络模型每一层的输出;然后将校正样本数据输入到训练完成的深度网络模型中,获取深度网络模型每一层的校正输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述校正输出点的k个近邻点,计算近邻点中标签与输入校正样本数据的标签不同的近邻点到所述校正输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a,所有校正样本数据对应的距离特征之和组成数据集A;
DkNN分析模块,用于执行如下操作:
将待检测数据z输入到训练完成的深度网络模型中,获取深度网络模型每一层的待检测输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述待检测输出点的k个近邻点,对于第j个候选标签值,计算近邻点中标签与第j个候选标签值不同的近邻点到所述待检测输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a*(z,j);
通过如下公式计算出可信度值pj(z):
Figure BDA0003134027520000141
其中|{a∈A:a≥a*(z,j)}|表示集合A中a≥a*(z,j)的元素数量,|A|表示集合A中元素的数量;
然后,通过如下公式计算出待检测数据的预测结果prediction(z)以及对应的可信度credibility(z):
prediction(z)=argmax(pj(z))
credibility(z)=max(pj(z))
其中,argmax函数是取最大可信度所对应的标签,max函数是取最大可信度。
关于基于深度k近邻的网络攻击检测装置的具体限定可以参见上文中对于基于深度k近邻的网络攻击检测方法的限定,在此不再赘述。上述基于深度k近邻的网络攻击检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
存储器和处理器之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件互相之间可以通过一条或多条通讯总线或信号线实现电性连接。存储器中存储有可在处理器上运行的计算机程序,所述处理器通过运行存储在存储器内的计算机程序,从而实现本发明实施例中的网络拓扑布局方法。
其中,所述存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器用于存储程序,所述处理器在接收到执行指令后,执行所述程序。
所述处理器可能是一种集成电路芯片,具有数据的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(NetworkProcessor,NP)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种基于深度k近邻的网络攻击检测方法,其特征在于,所述基于深度k近邻的网络攻击检测方法,包括:
对样本数据进行预处理,将预处理后的样本数据分为训练样本数据和校正样本数据;
构建用于网络攻击检测的深度网络模型,采用训练样本数据训练深度网络模型,得到训练好完成的深度网络模型;
将训练样本数据输入到训练完成的深度网络模型中,获取训练样本数据在深度网络模型每一层的输出;
将校正样本数据输入到训练完成的深度网络模型中,获取深度网络模型每一层的校正输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述校正输出点的k个近邻点,计算近邻点中标签与输入校正样本数据的标签不同的近邻点到所述校正输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a,所有校正样本数据对应的距离特征之和组成数据集A;
将待检测数据z输入到训练完成的深度网络模型中,获取深度网络模型每一层的待检测输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述待检测输出点的k个近邻点,对于第j个候选标签值,计算近邻点中标签与第j个候选标签值不同的近邻点到所述待检测输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a*(z,j);
通过如下公式计算出可信度值pj(z):
Figure FDA0003134027510000011
其中|{a∈A:a≥a*(z,j)}|表示集合A中a≥a*(z,j)的元素数量,|A|表示集合A中元素的数量;
然后,通过如下公式计算出待检测数据的预测结果prediction(z)以及对应的可信度credibility(z):
prediction(z)=argmax(pj(z))
credibility(z)=max(pj(z))
其中,argmax函数是取最大可信度所对应的标签,max函数是取最大可信度。
2.如权利要求1所述的基于深度k近邻的网络攻击检测方法,其特征在于,所述对样本数据进行预处理,包括:
删除样本数据中无意义字段,将源IP地址和目的IP地址字段中的IP地址映射为int型数值;
将样本数据中性质相似的标签合并;
从每个标签对应的样本中取预设数量的样本,打乱顺序形成新的样本数据;
对样本数据进行归一化处理。
3.如权利要求1所述的基于深度k近邻的网络攻击检测方法,其特征在于,所述深度网络模型为simple、GRU、LSTM、CNN_GRU、CNN_LSTM中的任意一种。
4.一种基于深度k近邻的网络攻击检测装置,其特征在于,所述基于深度k近邻的网络攻击检测装置,包括:
深度网络模型训练模块,用于对样本数据进行预处理,将预处理后的样本数据分为训练样本数据和校正样本数据,采用训练样本数据训练用于网络攻击检测的深度网络模型,得到训练好完成的深度网络模型;
中间数据准备模块,用于将训练样本数据输入到训练完成的深度网络模型中,获取训练样本数据在深度网络模型每一层的输出;然后将校正样本数据输入到训练完成的深度网络模型中,获取深度网络模型每一层的校正输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述校正输出点的k个近邻点,计算近邻点中标签与输入校正样本数据的标签不同的近邻点到所述校正输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a,所有校正样本数据对应的距离特征之和组成数据集A;
DkNN分析模块,用于执行如下操作:
将待检测数据z输入到训练完成的深度网络模型中,获取深度网络模型每一层的待检测输出点,找出训练样本数据在深度网络模型对应层的输出相对于所述待检测输出点的k个近邻点,对于第j个候选标签值,计算近邻点中标签与第j个候选标签值不同的近邻点到所述待检测输出点的欧氏距离及对应的距离特征,所述距离特征为1/欧氏距离,对所有层所计算出的距离特征进行求和得到距离特征之和a*(z,j);
通过如下公式计算出可信度值pj(z):
Figure FDA0003134027510000031
其中|{a∈A:a≥a*(z,j)}|表示集合A中a≥a*(z,j)的元素数量,|A|表示集合A中元素的数量;
然后,通过如下公式计算出待检测数据的预测结果prediction(z)以及对应的可信度credibility(z):
prediction(z)=argmax(pj(z))
credibility(z)=max(pj(z))
其中,argmax函数是取最大可信度所对应的标签,max函数是取最大可信度。
5.如权利要求4所述的基于深度k近邻的网络攻击检测装置,其特征在于,所述深度网络模型训练模块对样本数据进行预处理,执行如下操作:
删除样本数据中无意义字段,将源IP地址和目的IP地址字段中的IP地址映射为int型数值;
将样本数据中性质相似的标签合并;
从每个标签对应的样本中取预设数量的样本,打乱顺序形成新的样本数据;
对样本数据进行归一化处理。
6.如权利要求4所述的基于深度k近邻的网络攻击检测装置,其特征在于,所述深度网络模型为simple、GRU、LSTM、CNN_GRU、CNN_LSTM中的任意一种。
CN202110711741.0A 2021-06-25 2021-06-25 一种基于深度k近邻的网络攻击检测方法及装置 Active CN113438239B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110711741.0A CN113438239B (zh) 2021-06-25 2021-06-25 一种基于深度k近邻的网络攻击检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110711741.0A CN113438239B (zh) 2021-06-25 2021-06-25 一种基于深度k近邻的网络攻击检测方法及装置

Publications (2)

Publication Number Publication Date
CN113438239A CN113438239A (zh) 2021-09-24
CN113438239B true CN113438239B (zh) 2022-04-19

Family

ID=77755385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110711741.0A Active CN113438239B (zh) 2021-06-25 2021-06-25 一种基于深度k近邻的网络攻击检测方法及装置

Country Status (1)

Country Link
CN (1) CN113438239B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113839963B (zh) * 2021-11-25 2022-02-15 南昌首页科技发展有限公司 基于人工智能与大数据的网络安全漏洞智能检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021940A (zh) * 2017-11-30 2018-05-11 中国银联股份有限公司 基于机器学习的数据分类方法及系统
CN111460881A (zh) * 2020-01-16 2020-07-28 华中科技大学 基于近邻判别的交通标志对抗样本检测方法和分类装置
CN112085040A (zh) * 2019-06-12 2020-12-15 腾讯科技(深圳)有限公司 对象标签确定方法、装置和计算机设备
WO2021079460A1 (ja) * 2019-10-24 2021-04-29 富士通株式会社 検出方法、検出プログラムおよび情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108021940A (zh) * 2017-11-30 2018-05-11 中国银联股份有限公司 基于机器学习的数据分类方法及系统
CN112085040A (zh) * 2019-06-12 2020-12-15 腾讯科技(深圳)有限公司 对象标签确定方法、装置和计算机设备
WO2021079460A1 (ja) * 2019-10-24 2021-04-29 富士通株式会社 検出方法、検出プログラムおよび情報処理装置
CN111460881A (zh) * 2020-01-16 2020-07-28 华中科技大学 基于近邻判别的交通标志对抗样本检测方法和分类装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Detecting Adversarial Samples Using Influence Functions and Nearest Neighbors;Gilad Cohen 等;《 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)》;20200805;全文 *

Also Published As

Publication number Publication date
CN113438239A (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
Liang et al. Data fusion approach for collaborative anomaly intrusion detection in blockchain-based systems
CN107426199A (zh) 一种网络异常行为检测与分析的方法及系统
Sun et al. An intrusion detection model for wireless sensor networks with an improved V-detector algorithm
CN107249000B (zh) 一种移动用户异常行为检测方法
CN110263538A (zh) 一种基于系统行为序列的恶意代码检测方法
CN112217787B (zh) 一种基于ed-gan的仿冒域名训练数据生成方法及系统
US11533373B2 (en) Global iterative clustering algorithm to model entities' behaviors and detect anomalies
CN109886334A (zh) 一种隐私保护的共享近邻密度峰聚类方法
CN111047173A (zh) 基于改进d-s证据理论的社团可信度评估方法
CN113438239B (zh) 一种基于深度k近邻的网络攻击检测方法及装置
CN111612531B (zh) 一种点击欺诈的检测方法及系统
Meryem et al. A novel approach in detecting intrusions using NSLKDD database and MapReduce programming
CN105721467A (zh) 社交网络Sybil群体检测方法
Malik et al. Performance Evaluation of Classification Algorithms for Intrusion Detection on NSL-KDD Using Rapid Miner
CN111310185A (zh) 一种基于改进stacking算法的Android恶意软件检测方法
Velliangiri et al. Detection of dos attacks in smart city networks with feature distance maps: A statistical approach
CN112966732B (zh) 具有周期属性的多因素交互行为异常检测方法
CN115085948A (zh) 基于改进d-s证据理论的网络安全态势评估方法
CN112422505A (zh) 基于高维扩展关键特征向量的网络恶意流量识别方法
Jin et al. Graph-based identification and authentication: A stochastic kronecker approach
Villar-Rodriguez et al. A meta-heuristic learning approach for the non-intrusive detection of impersonation attacks in social networks
CN117579324B (zh) 基于门控时间卷积网络与图的入侵检测方法
Mulyanto et al. Effectiveness of focal loss for minority classification in network intrusion detection systems. Symmetry. 2021; 13: 4
CN117155707B (zh) 一种基于被动网络流量测量的有害域名检测方法
Zheng et al. An anomaly recognition and autonomic optimization method to user’s sequence behaviors for D2D communications in MCC

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