CN114091020A - 基于特征分组和多模型融合的对抗攻击防御方法及系统 - Google Patents
基于特征分组和多模型融合的对抗攻击防御方法及系统 Download PDFInfo
- Publication number
- CN114091020A CN114091020A CN202111239175.4A CN202111239175A CN114091020A CN 114091020 A CN114091020 A CN 114091020A CN 202111239175 A CN202111239175 A CN 202111239175A CN 114091020 A CN114091020 A CN 114091020A
- Authority
- CN
- China
- Prior art keywords
- model
- malicious
- feature
- sample
- deep learning
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于特征分组和多模型融合的对抗攻击防御方法及系统,其中方法包括:根据预设对抗攻击算法生成对抗样本,加入到测试集中;对训练集和测试集分别做数据预处理,形成网络流的特征向量;对每个流进行特征分组;采用多模型融合算法,进行恶意流量检测。不需要重新训练深度学习模型,能够防御没有出现过的对抗攻击,在没有对抗攻击的场景下,不会降低检测准确率。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种基于特征分组和多模型融合的对抗攻击防御方法及系统。
背景技术
网络入侵检测系统(Network Intrusion Detection System,NIDS)在网络安全领域的关键技术,旨在检测网络中的异常,发现恶意攻击行为。当前基于深度学习的网络入侵检测技术具有较高的准确率,而且还能检测零日攻击,因而被普遍应用。基于深度学习的网络入侵检测方法的一般流程是:(1)获取训练集,即网络流量数据,并对网络流量数据进行预处理,将网络流量转换为流(network flow);(2)提取流的特征,每一个流形成一个特征向量;(3)设计适当的深度学习模型,用训练集训练深度学习模型;(4)用训练好的模型检测网络中的异常或者恶意攻击行为。
然而深度学习技术也具有弱点。当攻击者使用微小的噪音对原始样本数据进行修改,形成对抗样本,就可以使得基于深度学习的入侵检测系统做出错误的判断,导致将恶意攻击样本识别为正常样本。如何保障网络入侵检测系统本身的安全,在有对抗攻击情况下,仍能正确检测出恶意攻击行为,提高网络入侵检测系统的鲁棒性,是当务之急。
现有的网络入侵检测系统往往采用以下方式:
1、对抗训练。利用各种经典的对抗攻击算法生成对抗样本,再将对抗样本加入到训练集中,对深度学习模型进行重新训练。然而对抗训练由于需要对抗样本,因而要针对每一种可能的对抗攻击算法,生成相应的对抗样本。这样需要穷尽所有可能的对抗攻击算法,而且对一些之前没有出现过的对抗攻击,则无法实现防御,降低对抗样本情况下的查全率。
2、特征消减。在网络安全领域,攻击者生成对抗样本时,不能随意修改流的特征,因为有些特征修改后,就会使得攻击功能丧失,或者破坏了网络流的底层逻辑。所以攻击者在生成对抗样本时,只能修改其中能修改的特征,其他特征保持不变。基于此,有些防御方法将可能被攻击者修改的特征删除,即这些能够被攻击者修改的特征,不在特征向量中,这样无论攻击者如何修改原始样本,结果都不受影响。然而特征消减由于特征减少,很多能够区分出正常样本和恶意样本的特征被去除,导致一些正常样本会被识别为恶意样本,降低了在没有对抗攻击情况下,网络入侵检测系统的准确率。
发明内容
本发明旨在提供一种克服上述问题或者至少部分地解决上述问题的基于特征分组和多模型融合的对抗攻击防御方法及装置。
为达到上述目的,本发明的技术方案具体是这样实现的:
本发明的一个方面提供了一种基于特征分组和多模型融合的对抗攻击防御方法,包括:根据预设对抗攻击算法生成对抗样本,加入到测试集中;对训练集和所述测试集分别做数据预处理,形成网络流的特征向量;对每个所述流进行特征分组;采用多模型融合算法,进行恶意流量检测。
其中,所述根据预设对抗攻击算法生成对抗样本包括:分析正常样本和恶意样本在待修改特征上的分布情况,将所述待修改的恶意样本的特征fi修改为正常样本的特征所在范围内;根据各个特征的关系,修改与所述待修改的恶意样本的特征fi相关的其他特征,生成所述对抗样本。
其中,所述数据预处理包括:将所述流的原始特征中非数值特征转换为数值特征;用一个唯一的标志来标识一个所述流;筛选出能够识别所述恶意样本和正常样本的特征,得到特征集;对所述特征集中的数据进行归一化处理。
其中,所述采用多模型融合算法,进行恶意流量检测包括:根据所述特征集F1、所述特征集F2、所述特征集F3,分别生成三个特征向量X1、X2、X3将所述三个特征向量分别送入到三个深度学习模型中;将所述三个深度学习模型的学习结果进行融合,得到恶意流量检测模型;利用所述恶意流量检测模型进行恶意流量检测;其中,所述三个深度学习模型包括:模型1、模型2、模型3,所述模型1、所述模型2和所述模型3分别基于LSTM模型;所述模型1的输入层神经元个数为6,所述模型2的输入层神经元个数为5,所述模型3的输入层神经元个数为11;所述模型1、所述模型2和所述模型3分别包括4个隐层,所述隐层的神经元的个数分别是20、60、80、90;所述模型1、所述模型2和所述模型3分别包括一个输出层,具有1个神经元,为二元分类模型;所述模型1、所述模型2和所述模型3的输入层和隐层的激活函数使用“tanh”,输出层的激活函数用“sigmoid”;在训练阶段,所述三个深度学习模型分别使用对应的特征向量分别进行训练;在测试阶段,所述三个深度学习模型分别给出测试结果,分别记为p1、p2、p3;所述恶意流量检测模型利用如下公式计算最终的检测结果;p=avg(p1,p2,p3));所述恶意流量检测模型在p大于等于0.5时,将流识别为恶意的;在p小于0.5时,将流识别为正常的。
本发明另一方面提供了一种基于特征分组和多模型融合的对抗攻击防御系统,包括:对抗攻击模块,用于根据预设对抗攻击算法生成对抗样本,加入到测试集中;数据预处理模块,用于对训练集和所述测试集分别做数据预处理,形成网络流的特征向量;特征分组模块,用于对每个所述流进行特征分组;恶意流量检测模块,用于采用多模型融合算法,进行恶意流量检测。
其中,所述对抗攻击模块通过如下方式根据预设对抗攻击算法生成对抗样本:所述对抗攻击模块,具体用于分析正常样本和恶意样本在待修改特征上的分布情况,将所述待修改的恶意样本的特征fi修改为正常样本的特征所在范围内;根据各个特征的关系,修改所述待修改的恶意样本的特征fi相关的其他特征,生成所述对抗样本。
其中,所述数据预处理模块通过如下方式进行数据预处理:所述数据预处理模块,具体用于将所述流的原始特征中非数值特征转换为数值特征;用一个唯一的标志来标识一个所述流;筛选出能够识别所述恶意样本和正常样本的特征,得到特征集;对所述特征集中的数据进行归一化处理。
其中,所述恶意流量检测模块通过如下方式采用多模型融合算法,进行恶意流量检测:所述恶意流量检测模块,具体用于根据所述特征集F1、所述特征集F2、所述特征集F3,分别生成三个特征向量X1、X2、X3将所述三个特征向量分别送入到三个深度学习模型中;将所述三个深度学习模型的学习结果进行融合,得到恶意流量检测模型;利用所述恶意流量检测模型进行恶意流量检测;其中,所述三个深度学习模型包括:模型1、模型2、模型3,所述模型1、所述模型2和所述模型3分别基于LSTM模型;所述模型1的输入层神经元个数为6,所述模型2的输入层神经元个数为5,所述模型3的输入层神经元个数为11;所述模型1、所述模型2和所述模型3分别包括4个隐层,所述隐层的神经元的个数分别是20、60、80、90;所述模型1、所述模型2和所述模型3分别包括一个输出层,具有1个神经元,为二元分类模型;所述模型1、所述模型2和所述模型3的输入层和隐层的激活函数使用“tanh”,输出层的激活函数用“sigmoid”;所述恶意流量检测模块通过如下方式利用所述恶意流量检测模型进行恶意流量检测:所述恶意流量检测模块,具体用于在训练阶段,所述三个深度学习模型分别使用对应的特征向量分别进行训练;在测试阶段,所述三个深度学习模型分别给出测试结果,分别记为p1、p2、p3;所述恶意流量检测模型利用如下公式计算最终的检测结果;p=avg(p1,p2,p3));所述恶意流量检测模型在p大于等于0.5时,将流识别为恶意的;在p小于0.5时,将流识别为正常的。
由此可见,通过本发明提供的基于特征分组和多模型融合的对抗攻击防御方法及系统,不需要重新训练深度学习模型,能够防御没有出现过的对抗攻击,在没有对抗攻击的场景下,不会降低检测准确率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御方法的流程图;
图2为本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御方法的框架图;
图3为本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御方法的流程图,参见图1,本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御方法,包括:
S1,根据预设对抗攻击算法生成对抗样本,加入到测试集中。
具体地,本发明实施过程中采用的数据集是Bot-IoT,原始网络流量数据格式是pcap文件,用Argus工具将原始网络流量转换为流(flow)并提取流的特征。Bot-IoT数据集中特征及其描述如表1所示。
Table 1.Bot-IoT数据集的特征及其描述
作为本发明实施例的一个可选实施方式,根据预设对抗攻击算法生成对抗样本包括:分析正常样本和恶意样本在待修改特征上的分布情况,将待修改的恶意样本的特征fi修改为正常样本的特征所在范围内;根据各个特征的关系,修改与待修改的恶意样本的特征fi相关的其他特征,生成对抗样本。
具体地,本发明设计对抗攻击算法,生成对抗样本,加入到测试集中,测试集中包括了正常样本、恶意样本、对抗样本三部分。本发明中的对抗攻击算法采用基于特征值分布的特征修改方法,基于一定的限制条件,攻击者只能修改不会破坏网络通信底层逻辑,并且不会破坏攻击功能的特征,如数据包个数、字节数等。其步骤如下:
(1)首先分析正常样本和恶意样本在待修改特征上的分布情况,将待修改的恶意样本的特征修改为正常样本的特征范围内;如有多个特征待修改,则每个特征都要分析正常样本和恶意样本的分布情况,然后分别修改各个特征。
(2)然后修改相关的特征,相关特征依赖于上述步骤(1)中所修改的特征,分析特征的关系,做对应的修改。例如数据包总数=发送的数据包个数+接受的数据包个数。如果发送/接受数据包个数在上述步骤(1)修改了,则数据包总数做相应的修改。
针对Bot-IoT数据集,特征之间的相关关系如下:
pkts=spkts+dpkts
bytes=sbytes+dbytes
rate=(pkts-1)/dur
srate=(spkts-1)/dur
drate=(dpkts-1)/dur
此外,本发明还设计了防御方法,该防御方法的框架图如图2所示。主要包含三部分:数据预处理(步骤S2)、特征分组(步骤S3)、恶意流量检测(步骤S4)。其中:
S2,对训练集和测试集分别做数据预处理,形成网络流的特征向量。
具体地,数据预处理是将原始的网络流量数据(.pcap格式)处理为流,形成流的原始特征,再做进一步处理。
作为本发明实施例的一个可选实施方式,数据预处理包括:将流的原始特征中非数值特征转换为数值特征;用一个唯一的标志来标识一个流;筛选出能够识别恶意样本和正常样本的特征,得到特征集;对特征集中的数据进行归一化处理。
具体地,主要数据预处理任务包括:
(1)转换,需要将流的原始特征中非数值特征,转换为数值特征,便于深度学习模型的处理。例如针对Bot-IoT数据集,将协议proto特征中的“tcp”、“arp”、“udp”分别转换为“1”、“2”、“3”;将状态state特征中的“RST”、“CON”、“REQ”分别转换为“1”、“2”、“3”。
(2)标识,用一个唯一的标志来标识一个流,通过该标志可以唯一找到一个流。本发明用(源IP地址saddr、源端口号sport、目的IP地址daddr,目的端口号dport,协议proto)这五元组,形成一个fiowID,用于标识一个流。
(3)筛选,不是流所有的特征都需要喂入到深度学习模型中,一些特征对模型的检测作用不大,因而需要筛选出能够识别恶意和正常流的特征,如数据包总个数、发送/接受数据包个数、字节总数、发送/接受字节数、流的状态、流的标记、时间间隔、数据率等,将筛选后的特征集记为F。对于Bot-IoT数据集,筛选后的特征包括:flgs_number,pkts,bytes,state_number,seq,dur,mean,stddev,sum,min,max,spkts,dpkts,sbytes,dbytes,rate,srate,drate,共18个特征。
(4)归一化,由于各特征的取值范围不同,如果直接将特征喂入到深度学习模型,将降低模型的准确性,因而要对数据做归一化处理。本发明采用Min-Max归一化方法。用xi表示原始特征,x′i表示归一化后的特征,则采用Min-Max归一化的计算公式如下:
xmin和xmax是原始特征的最小值和最大值,a和b是设定的特征最小值和最大值,即x′i∈[a,b],这里取a=0,b=1。
S3,对每个流进行特征分组。
具体地,根据特征的类别、特点等,将数据预处理阶段筛选的特征集F进行分组,本发明将特征分为3组,分别记为F1、F2、F3。
F1={flgs_number,state_number,seq,stddev,sum,dur}
F2={min,max,mean,flgs_number,state_number}
F3={spkts,dpkts,sbytes,dbytes,srate,drate,rate,pkts,bytes,flgs_number,state_number}
S4,采用多模型融合算法,进行恶意流量检测。
具体地,恶意流量检测阶段采用3个深度学习模型进行检测,然后融合这三个模型的结果,得到最终的判断。
作为本发明实施例的一个可选实施方式,采用多模型融合算法,进行恶意流量检测包括:根据特征集F1、特征集F2、特征集F3,分别生成三个特征向量X1、X2、X3将三个特征向量分别送入到三个深度学习模型中;将三个深度学习模型的学习结果进行融合,得到恶意流量检测模型;利用恶意流量检测模型进行恶意流量检测。
作为本发明实施例的一个可选实施方式,三个深度学习模型包括:模型1、模型2、模型3,模型1、模型2和模型3分别基于LSTM(Long Short-Term Memory)模型;模型1的输入层神经元个数为6,模型2的输入层神经元个数为5,模型3的输入层神经元个数为11;模型1、模型2和模型3分别包括4个隐层,隐层的神经元的个数分别是20、60、80、90;模型1、模型2和模型3分别包括一个输出层,具有1个神经元,为二元分类模型;模型1、模型2和模型3的输入层和隐层的激活函数使用“tanh”,输出层的激活函数用“sigmoid”。
作为本发明实施例的一个可选实施方式,利用恶意流量检测模型进行恶意流量检测包括:在训练阶段,三个深度学习模型分别使用对应的特征向量分别进行训练;在测试阶段,三个深度学习模型分别给出测试结果,分别记为p1、p2、p3;恶意流量检测模型利用如下公式计算最终的检测结果;p=avg(p1,p2,p3));恶意流量检测模型在p大于等于0.5时,将流识别为恶意的;在p小于0.5时,将流识别为正常的。
具体地,根据特征分组得到的特征集F1、F2、F3,分别生成三个特征向量X1、X2、X3,这三个特征向量分别喂入到3个模型中。由于网络流量是时序数据,因而采用LSTM(LongShort-Term Memory)模型。
模型1、模型2、模型3都是基于LSTM模型,这3个模型的输入层神经元个数不同。X1、X2、X3分别作为模型1、模型2、模型3的输入,因此这三个模型输入层的神经元个数分别为6、5、11。三个模型隐层相同,都有4个隐层,隐层的神经元的个数分别是20、60、80、90。每个模型有一个输出层,具有1个神经元,是二元分类模型。三个模型的输入层和隐层的激活函数使用“tanh”,输出层的激活函数用“sigmoid”。
在训练阶段,三个模型分别使用对应的特征向量分别进行训练。在测试阶段,三个模型分别给出测试结果,分别记为p1、p2、p3。检测模型将计算最终的检测结果,公式如下:
p=avg(p1,p2,p3)
当p大于等于0.5时,检测模型将流识别为恶意的;当p小于0.5时,将流识别为正常的。
由此可见,利用本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御方法,由于深度学习模型的训练数据仍然是原始样本,包含正常样本和恶意样本,不包含对抗样本,因而不需要对深度学习模型重新训练,也可以检测出没有出现过的对抗攻击,提升了对抗样本的查全率。
此外,本发明按特征的类别将特征进行分组,分别喂入到不同的深度学习模型中,如果攻击者修改了某类特征,只会导致一个模型做出误判,其他模型仍然能做出准确判断,由于本发明的检测模型将多个深度学习模型的检测结果融合,因而最终的检测结果不受对抗攻击的影响。如果攻击者为了欺骗多个检测模型,就需要修改多类特征,而修改多个特征会导致网络流量底层逻辑破坏,甚至破坏了攻击的功能,增大了攻击的难度,因而本发明的检测模型能够有效抵御对抗攻击。另一方面,由于本发明多个检测模型的输入特征总数没有减少,也不会降低没有对抗样本的情况下的检测准确率。
图3示出了本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御系统的结构示意图,该基于特征分组和多模型融合的对抗攻击防御系统应用上述方法,以下仅对基于特征分组和多模型融合的对抗攻击防御系统的结构进行简单说明,其他未尽事宜,请参照上述基于特征分组和多模型融合的对抗攻击防御方法中的相关描述,参见图3,本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御系统,包括:
对抗攻击模块,用于根据预设对抗攻击算法生成对抗样本,加入到测试集中;
数据预处理模块,用于对训练集和测试集分别做数据预处理,形成网络流的特征向量;
特征分组模块,用于对每个流进行特征分组;
恶意流量检测模块,用于采用多模型融合算法,进行恶意流量检测。
作为本发明实施例的一个可选实施方式,对抗攻击模块通过如下方式根据预设对抗攻击算法生成对抗样本:对抗攻击模块,具体用于分析正常样本和恶意样本在待修改特征上的分布情况,将待修改的恶意样本的特征fi修改为正常样本的特征所在范围内;根据各个特征的关系,修改待修改的恶意样本的特征fi相关的其他特征,生成对抗样本。
作为本发明实施例的一个可选实施方式,数据预处理模块通过如下方式进行数据预处理:数据预处理模块,具体用于将流的原始特征中非数值特征转换为数值特征;用一个唯一的标志来标识一个流;筛选出能够识别恶意样本和正常样本的特征,得到特征集;对特征集中的数据进行归一化处理。
作为本发明实施例的一个可选实施方式,恶意流量检测模块通过如下方式采用多模型融合算法,进行恶意流量检测:恶意流量检测模块,具体用于根据特征集F1、特征集F2、特征集F3,分别生成三个特征向量X1、X2、X3将三个特征向量分别送入到三个深度学习模型中;将三个深度学习模型的学习结果进行融合,得到恶意流量检测模型;利用恶意流量检测模型进行恶意流量检测;其中,三个深度学习模型包括:模型1、模型2、模型3,模型1、模型2和模型3分别基于LSTM模型;模型1的输入层神经元个数为6,模型2的输入层神经元个数为5,模型3的输入层神经元个数为11;模型1、模型2和模型3分别包括4个隐层,隐层的神经元的个数分别是20、60、80、90;模型1、模型2和模型3分别包括一个输出层,具有1个神经元,为二元分类模型;模型1、模型2和模型3的输入层和隐层的激活函数使用“tanh”,输出层的激活函数用“sigmoid”;恶意流量检测模块通过如下方式利用恶意流量检测模型进行恶意流量检测:恶意流量检测模块,具体用于在训练阶段,三个深度学习模型分别使用对应的特征向量分别进行训练;在测试阶段,三个深度学习模型分别给出测试结果,分别记为p1、p2、p3;恶意流量检测模型利用如下公式计算最终的检测结果;p=avg(p1,p2,p3));恶意流量检测模型在p大于等于0.5时,将流识别为恶意的;在p小于0.5时,将流识别为正常的。
由此可见,利用本发明实施例提供的基于特征分组和多模型融合的对抗攻击防御系统,由于深度学习模型的训练数据仍然是原始样本,包含正常样本和恶意样本,不包含对抗样本,因而不需要对深度学习模型重新训练,也可以检测出没有出现过的对抗攻击,提升了对抗样本的查全率。
此外,本发明按特征的类别将特征进行分组,分别喂入到不同的深度学习模型中,如果攻击者修改了某类特征,只会导致一个模型做出误判,其他模型仍然能做出准确判断,由于本发明的检测模型将多个深度学习模型的检测结果融合,因而最终的检测结果不受对抗攻击的影响。如果攻击者为了欺骗多个检测模型,就需要修改多类特征,而修改多个特征会导致网络流量底层逻辑破坏,甚至破坏了攻击的功能,增大了攻击的难度,因而本发明的检测模型能够有效抵御对抗攻击。另一方面,由于本发明多个检测模型的输入特征总数没有减少,也不会降低没有对抗样本的情况下的检测准确率。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种基于特征分组和多模型融合的对抗攻击防御方法,其特征在于,包括:
根据预设对抗攻击算法生成对抗样本,加入到测试集中;
对训练集和所述测试集分别做数据预处理,形成网络流的特征向量;
对每个所述流进行特征分组;
采用多模型融合算法,进行恶意流量检测。
2.根据权利要求1所述的方法,其特征在于,所述根据预设对抗攻击算法生成对抗样本包括:
分析正常样本和恶意样本在待修改特征上的分布情况,将所述待修改的恶意样本的特征fi修改为正常样本的特征所在范围内;
根据各个特征的关系,修改与所述待修改的恶意样本的特征fi相关的其他特征,生成所述对抗样本。
3.根据权利要求1所述的方法,其特征在于,所述数据预处理包括:
将所述流的原始特征中非数值特征转换为数值特征;
用一个唯一的标志来标识一个所述流;
筛选出能够识别所述恶意样本和正常样本的特征,得到特征集;
对所述特征集中的数据进行归一化处理。
5.根据权利要求4所述的方法,其特征在于,所述采用多模型融合算法,进行恶意流量检测包括:
根据所述特征集F1、所述特征集F2、所述特征集F3,分别生成三个特征向量X1、X2、X3将所述三个特征向量分别送入到三个深度学习模型中;
将所述三个深度学习模型的学习结果进行融合,得到恶意流量检测模型;
利用所述恶意流量检测模型进行恶意流量检测;
其中,所述三个深度学习模型包括:模型1、模型2、模型3,所述模型1、所述模型2和所述模型3分别基于LSTM模型;
所述模型1的输入层神经元个数为6,所述模型2的输入层神经元个数为5,所述模型3的输入层神经元个数为11;
所述模型1、所述模型2和所述模型3分别包括4个隐层,所述隐层的神经元的个数分别是20、60、80、90;
所述模型1、所述模型2和所述模型3分别包括一个输出层,具有1个神经元,为二元分类模型;
所述模型1、所述模型2和所述模型3的输入层和隐层的激活函数使用“tanh”,输出层的激活函数用“sigmoid”;
在训练阶段,所述三个深度学习模型分别使用对应的特征向量分别进行训练;
在测试阶段,所述三个深度学习模型分别给出测试结果,分别记为p1、p2、p3;
所述恶意流量检测模型利用如下公式计算最终的检测结果;
p=avg(p1,p2,p3));
所述恶意流量检测模型在p大于等于0.5时,将流识别为恶意的;在p小于0.5时,将流识别为正常的。
6.一种基于特征分组和多模型融合的对抗攻击防御系统,其特征在于,包括:
对抗攻击模块,用于根据预设对抗攻击算法生成对抗样本,加入到测试集中;
数据预处理模块,用于对训练集和所述测试集分别做数据预处理,形成网络流的特征向量;
特征分组模块,用于对每个所述流进行特征分组;
恶意流量检测模块,用于采用多模型融合算法,进行恶意流量检测。
7.根据权利要求6所述的系统,其特征在于,所述对抗攻击模块通过如下方式根据预设对抗攻击算法生成对抗样本:
所述对抗攻击模块,具体用于分析正常样本和恶意样本在待修改特征上的分布情况,将所述待修改的恶意样本的特征fi修改为正常样本的特征所在范围内;根据各个特征的关系,修改所述待修改的恶意样本的特征fi相关的其他特征,生成所述对抗样本。
8.根据权利要求6所述的系统,其特征在于,所述数据预处理模块通过如下方式进行数据预处理:
所述数据预处理模块,具体用于将所述流的原始特征中非数值特征转换为数值特征;用一个唯一的标志来标识一个所述流;筛选出能够识别所述恶意样本和正常样本的特征,得到特征集;对所述特征集中的数据进行归一化处理。
10.根据权利要求9所述的系统,其特征在于,所述恶意流量检测模块通过如下方式采用多模型融合算法,进行恶意流量检测:
所述恶意流量检测模块,具体用于根据所述特征集F1、所述特征集F2、所述特征集F3,分别生成三个特征向量X1、X2、X3将所述三个特征向量分别送入到三个深度学习模型中;将所述三个深度学习模型的学习结果进行融合,得到恶意流量检测模型;利用所述恶意流量检测模型进行恶意流量检测;
其中,所述三个深度学习模型包括:模型1、模型2、模型3,所述模型1、所述模型2和所述模型3分别基于LSTM模型;
所述模型1的输入层神经元个数为6,所述模型2的输入层神经元个数为5,所述模型3的输入层神经元个数为11;
所述模型1、所述模型2和所述模型3分别包括4个隐层,所述隐层的神经元的个数分别是20、60、80、90;
所述模型1、所述模型2和所述模型3分别包括一个输出层,具有1个神经元,为二元分类模型;
所述模型1、所述模型2和所述模型3的输入层和隐层的激活函数使用“tanh”,输出层的激活函数用“sigmoid”;
所述恶意流量检测模块通过如下方式利用所述恶意流量检测模型进行恶意流量检测:
所述恶意流量检测模块,具体用于在训练阶段,所述三个深度学习模型分别使用对应的特征向量分别进行训练;在测试阶段,所述三个深度学习模型分别给出测试结果,分别记为p1、p2、p3;所述恶意流量检测模型利用如下公式计算最终的检测结果;p=avg(p1,p2,p3));所述恶意流量检测模型在p大于等于0.5时,将流识别为恶意的;在p小于0.5时,将流识别为正常的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111239175.4A CN114091020A (zh) | 2021-10-25 | 2021-10-25 | 基于特征分组和多模型融合的对抗攻击防御方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111239175.4A CN114091020A (zh) | 2021-10-25 | 2021-10-25 | 基于特征分组和多模型融合的对抗攻击防御方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114091020A true CN114091020A (zh) | 2022-02-25 |
Family
ID=80297444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111239175.4A Pending CN114091020A (zh) | 2021-10-25 | 2021-10-25 | 基于特征分组和多模型融合的对抗攻击防御方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114091020A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277065A (zh) * | 2022-06-15 | 2022-11-01 | 北京信息科技大学 | 一种物联网异常流量检测中的对抗攻击方法及装置 |
CN116319076A (zh) * | 2023-05-15 | 2023-06-23 | 鹏城实验室 | 恶意流量的检测方法、装置、设备及计算机可读存储介质 |
CN116401659A (zh) * | 2023-02-17 | 2023-07-07 | 安芯网盾(北京)科技有限公司 | 一种基于深度学习的多模型融合计算机病毒检测方法 |
-
2021
- 2021-10-25 CN CN202111239175.4A patent/CN114091020A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115277065A (zh) * | 2022-06-15 | 2022-11-01 | 北京信息科技大学 | 一种物联网异常流量检测中的对抗攻击方法及装置 |
CN115277065B (zh) * | 2022-06-15 | 2024-01-23 | 北京信息科技大学 | 一种物联网异常流量检测中的对抗攻击方法及装置 |
CN116401659A (zh) * | 2023-02-17 | 2023-07-07 | 安芯网盾(北京)科技有限公司 | 一种基于深度学习的多模型融合计算机病毒检测方法 |
CN116401659B (zh) * | 2023-02-17 | 2024-01-30 | 安芯网盾(北京)科技有限公司 | 一种基于深度学习的多模型融合计算机病毒检测方法 |
CN116319076A (zh) * | 2023-05-15 | 2023-06-23 | 鹏城实验室 | 恶意流量的检测方法、装置、设备及计算机可读存储介质 |
CN116319076B (zh) * | 2023-05-15 | 2023-08-25 | 鹏城实验室 | 恶意流量的检测方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114091020A (zh) | 基于特征分组和多模型融合的对抗攻击防御方法及系统 | |
Fernández et al. | A case study on using deep learning for network intrusion detection | |
Gharib et al. | Autoids: auto-encoder based method for intrusion detection system | |
Le et al. | Data analytics on network traffic flows for botnet behaviour detection | |
CN110808971B (zh) | 一种基于深度嵌入的未知恶意流量主动检测系统及方法 | |
CN112738015A (zh) | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 | |
CN109347807B (zh) | 一种基于信任度的差异化入侵防御方法 | |
CN102835090A (zh) | 应用协议识别方法及装置 | |
CN112804253B (zh) | 一种网络流量分类检测方法、系统及存储介质 | |
Liu et al. | A distance-based method for building an encrypted malware traffic identification framework | |
CN109450721A (zh) | 一种基于深度神经网络的网络异常行为识别方法 | |
CN109951462B (zh) | 一种基于全息建模的应用软件流量异常检测系统及方法 | |
Hwang et al. | Detecting IoT malicious traffic based on autoencoder and convolutional neural network | |
Hartpence et al. | Combating TCP port scan attacks using sequential neural networks | |
Khamaiseh et al. | Deceiving machine learning-based saturation attack detection systems in sdn | |
Landress | A hybrid approach to reducing the false positive rate in unsupervised machine learning intrusion detection | |
Kong et al. | Identification of abnormal network traffic using support vector machine | |
Soleymanpour et al. | An efficient deep learning method for encrypted traffic classification on the web | |
CN113268735A (zh) | 分布式拒绝服务攻击检测方法、装置、设备和存储介质 | |
CN107104988A (zh) | 一种基于概率神经网络的IPv6入侵检测方法 | |
Haghighat et al. | SAWANT: smart window based anomaly detection using netflow traffic | |
CN113037748A (zh) | 一种c&c信道混合检测方法及系统 | |
CN112235242A (zh) | 一种c&c信道检测方法及系统 | |
CN116170237B (zh) | 一种融合gnn和acgan的入侵检测方法 | |
US20230319101A1 (en) | Artificial intelligence system and method thereof for defending against cyber attacks |
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 |