CN110351303B - 一种DDoS特征提取方法及装置 - Google Patents
一种DDoS特征提取方法及装置 Download PDFInfo
- Publication number
- CN110351303B CN110351303B CN201910688231.9A CN201910688231A CN110351303B CN 110351303 B CN110351303 B CN 110351303B CN 201910688231 A CN201910688231 A CN 201910688231A CN 110351303 B CN110351303 B CN 110351303B
- Authority
- CN
- China
- Prior art keywords
- layer
- sums
- vector
- training
- matrix
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/1416—Event detection, e.g. attack signature detection
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种DDoS特征提取方法,所述方法包括:在预设时间段内对网络数据流进行采样,并计算所述网络数据流的每个属性的种类,构成训练集;基于所述训练集通过无监督训练方法训练深度信念网络,并基于所述训练集通过有监督训练方法训练前馈神经网络,其中,所述深度信念网络具有瓶颈层;基于所述前馈神经网络调整所述深度信念网络的权重和偏差,生成特征提取模型,以通过所述特征提取模型提取DDoS特征。采用本发明可以有效提高提取的DDoS特征的稳定性和准确性。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种DDoS特征提取方法及装置。
背景技术
分布式拒绝服务攻击(Distributed Denial of Service,DDoS)是指攻击者利用雇佣的多台计算机对一个或者多个目标服务器分别发起拒绝服务攻击,从而使服务器无法处理合法用户的指令,利用DDoS攻击能够对网络造成巨大破坏。为此,技术人员提出了针对DDoS攻击的检测机制和防御机制,DDoS特征提取作为检测机制和防御机制中的重要步骤,通常通过统计的选择和过滤规则的制定来提取。
本发明的发明人在研究现有DDoS特征提取方法的过程中,发现现有技术至少存在以下问题:
现有的DDoS特征提取方法中统计的选择和过滤规则的制定,通常是以经验判断和人工观察为基础,即DDoS特征提取依赖于技术人员的能力,从而会使得提取的DDoS特征的稳定性和准确性较低。
发明内容
为了解决现有技术存在的问题,本发明一方面提供了一种DDoS特征提取方法,所述方法包括:
在预设时间段内对网络数据流进行采样,并计算所述网络数据流的每个属性的种类,构成训练集;
基于所述训练集通过无监督训练方法训练深度信念网络,并基于所述训练集通过有监督训练方法训练前馈神经网络,其中,所述深度信念网络具有瓶颈层;
基于所述前馈神经网络调整所述深度信念网络的权重和偏差,生成特征提取模型,以通过所述特征提取模型提取DDoS特征。
进一步的,所述计算所述网络数据流的每个属性的种类,构成训练集,包括:
对所述网络数据流进行量化,计算出所述网络数据流在所述预设时间段内的每个属性的种类;
将所述每个属性的种类由十进制数转化为长度相同的二进制数,以构成所述训练集。
进一步的,所述基于所述训练集通过无监督训练方法训练深度信念网络之前,还包括:
通过典型相关分析方法计算所述深度信念网络的瓶颈层的节点数量,并调整所述瓶颈层的权重和偏差。
进一步的,所述基于所述训练集通过有监督训练方法训练前馈神经网络,包括:
基于所述深度信念网络的结构和参数矩阵对所述前馈神经网络进行初始化,并基于所述训练集通过有监督训练方法训练所述前馈神经网络。
进一步的,所述基于所述前馈神经网络调整所述深度信念网络的权重和偏差,包括:
基于所述前馈神经网络最后一层的正常类的每个输出及所述最后一层的每个攻击类的输出,调整所述深度信念网络的权重和偏差。
另一方面,本发明还提供了一种DDoS特征提取装置,所述装置包括:
计算模块,用于在预设时间段内对网络数据流进行采样,并计算所述网络数据流的每个属性的种类,构成训练集;
训练模块,用于基于所述训练集通过无监督训练方法训练深度信念网络,并基于所述训练集通过有监督训练方法训练前馈神经网络,其中,所述深度信念网络具有瓶颈层;
特征提取模块,用于基于所述前馈神经网络调整所述深度信念网络的权重和偏差,生成特征提取模型,以通过所述特征提取模型提取DDoS特征。
进一步的,所述计算模块,用于
对所述网络数据流进行量化,计算出所述网络数据流在所述预设时间段内的每个属性的种类;
将所述每个属性的种类由十进制数转化为长度相同的二进制数,以构成所述训练集。
进一步的,所述训练模块,用于:
通过典型相关分析方法计算所述深度信念网络的瓶颈层的节点数量,并调整所述瓶颈层的权重和偏差。
进一步的,所述训练模块,用于:
基于所述深度信念网络的结构和参数矩阵对所述前馈神经网络进行初始化,并基于所述训练集通过有监督训练方法训练所述前馈神经网络。
进一步的,所述特征提取模块,用于
基于所述前馈神经网络最后一层的正常类的每个输出及所述最后一层的每个攻击类的输出,调整所述深度信念网络的权重和偏差。
本发明实施例提供的技术方案带来的有益效果是:
在本实施例中,在预设时间段内对网络数据流进行采样,并计算所述网络数据流的每个属性的种类,构成训练集;基于所述训练集通过无监督训练方法训练深度信念网络,并基于所述训练集通过有监督训练方法训练前馈神经网络,其中,所述深度信念网络具有瓶颈层;基于所述前馈神经网络调整所述深度信念网络的权重和偏差,生成特征提取模型,以通过所述特征提取模型提取DDoS特征。这样,通过对具有瓶颈层的深度信念网络和前馈神经网络进行训练,并通过前馈神经网络调整具有瓶颈层的深度信念网络的权重和偏差,进而可以有效提高提取出的DDoS特征的稳定性和准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种DDoS特征提取方法的流程图;
图2是本发明实施例提供的一种带有瓶颈层的深度信念网络的结构示意图;
图3是本发明实施例提供的一种RBM网络结构示意图;
图4是本发明实施例提供的0.1s采样时间内三种特征提取方法的对比图;
图5是本发明实施例提供的0.01s采样时间内三种特征提取方法的对比图;
图6是本发明实施例的0.1s采样时间内三种特征提取方法的DR值对比图;
图7是本发明实施例的0.1s采样时间内三种特征提取方法的ER值对比图;
图8是本发明实施例的0.1s采样时间内三种特征提取方法的FR值对比图;
图9是本发明实施例的0.01s采样时间内三种特征提取方法的DR值对比图;
图10是本发明实施例的0.01s采样时间内三种特征提取方法的ER值对比图;
图11是本发明实施例的0.01s采样时间内三种特征提取方法的FR值对比图;
图12是本发明实施例提供的一种DDoS特征提取装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种DDoS特征提取方法的流程图。
S101,在预设时间段内对网络数据流进行采样,并计算网络数据流的每个属性的种类,构成训练集。
在一个实施例中,可以采集预设时间段内的网络数据流,并对该网络数据流进行采样。然后,可以计算网络数据流的每个属性的种类,并基于该网络数据流的每个属性的种类构成训练集。
进一步的,可以对网络数据流进行量化,并进行进制转换,相应的,上述S101的部分处理可以如下:对网络数据流进行量化,计算出网络数据流在所述预设时间段内的每个属性的种类;将每个属性的种类由十进制数转化为长度相同的二进制数,以构成训练集。
在一个实施例中,为尽可能保留网络数据流的原始信息,只需对网络数据流进行量化。具体的,由于数据包的属性只是为了进行区分,故可以对网络数据流的数据包的属性进行如下处理:
T=(time,sip,dip,protocol,sport,dport,size)
其中,time表示数据包的到达时间,sip表示数据包的源IP地址,dip表示数据包的目的IP地址,protocol表示数据包的协议,sport表示数据包的源端口,dport表示数据包的目标端口,size表示数据包的大小。
然后,可以计算每个属性在每个采样时间期间的种类,可以定义为diffv,见公式(1)和公式(2):
diffv=(diff(sip),diff(dip),diff(protocol),diff(sport),diff(dport),diff(size)) (1)
之后,可以将diffv的每十进制属性转化为二进制属性,即将每个diffv由十进制数转换为二进制数,可以定义为binv,见公式(3):
binv=(bin(diffv1),bin(diffv2),bin(diffv3),bin(diffv4),bin(diffv5),bin(diffv6)) (3)
这里可以用(x)10和(x)2分别表示x的十进制数字和二进制数。
最后,可以将binv的每个属性统一为相同长度的二进制数,得到的新向量可以定义为等式equv,见公式(4):
equv=(equ(binv1),equ(binv2),equ(binv3),equ(binv4),equ(binv5),equ(binv6)) (4)
表1算法1
算法1 |
输入:网络数据流T |
输出:相同长度等式向量的二进制矢量 |
1.diffv=(diff(sip),diff(dip),diff(protocol),diff(sport),diff(dport),diff(size)) |
2.binv=(bin(diffv<sub>1</sub>),bin(diffv<sub>2</sub>),bin(diffv<sub>3</sub>),bin(diffv<sub>4</sub>),bin(diffv<sub>5</sub>),bin(diffv<sub>6</sub>)) |
3.equv=(equ(binv<sub>1</sub>),equ(binv<sub>2</sub>),equ(binv<sub>3</sub>),equ(binv<sub>4</sub>),equ(binv<sub>5</sub>),equ(binv<sub>6</sub>)) |
end |
S102,基于训练集通过无监督训练方法训练深度信念网络,并基于训练集通过有监督训练方法训练前馈神经网络。
在一个实施例中,在构成训练集之后,可以基于上述训练集通过无监督训练的方法训练深度信念网络(Deep Brief Network,DBN),其中,如图2所示,所述DBN具有输入层(即图中Input layer),还具有瓶颈层(即图中Bottleneck layer)。并可以基于上述训练集训练前馈神经网络。具体的,DBN是一个由多个受限玻尔兹曼机(Restricted BoltzmannMachine,RBM)串联而成的深度框架,且前一层是下一个隐藏层的可见层,是下一个隐藏层的输入。RBM由粘滞层和隐藏层两层神经元组成。在RBM中,层中的节点之间没有连接,层之间的所有节点都是连接的。如图3所示,其中,nv,nh分别表示可见层和隐藏层中包含的节点数和下标,v和h分别表示可见层和隐藏层。v=(v1,v2,…,vnv)T表示可见层的状态向量,vi表示可见层中第i神经元输入值。h=(h1,h1,…,hnh)T表示隐藏层的状态向量,hi表示隐藏层中的第j层神经元的输入值。a=(a1,a1,…,anv)T∈Rnv:表示可见层的偏置向量,ai表示可见层中的第i层神经元的偏置向量。b=(b1,b1,…,bnh)T∈Rnh表示隐藏层的偏置向量,bj表示隐藏层中的第j层的神经元的偏置向量。W=(wi,j)∈Rnv×nh表示隐藏层和可见层之间的权值参数矩阵。wi,j表示隐藏层中的第i层神经元与可见层中的第j层神经元之间连接的权重。可见层单元可以描述输入数据的某些方面,而隐层单元用来获得可见层单元对应变量之间的依赖关系。故而在训练DBN的过程中,要先对前一层的RBM进行足够的训练,然后再对当前层的RBM进行训练,直到最后一层进行训练为止。
进一步的,在训练上述DBN之前可以计算DBN的瓶颈层的节点数量,相应的处理可以如下:通过典型相关分析方法计算所述深度信念网络的瓶颈层的节点数量,并调整所述瓶颈层的权重和偏差。
在一个实施例中,瓶颈层是隐藏层的最窄层(即最小节点数的层),且与其他层相比,瓶颈层具有输入数据的内部统计结构和输入数据的功能密度不严格、鲁棒性强、计算量小等优点,采用瓶颈层,可以有效提高提取的DDoS特征的稳定性和准确性,使得异常值的数量会大大减少,从而更容易区分正常流和攻击流。在训练具有瓶颈层的DBN之前,可以先通过典型相关分析(Canonical Correlation Analysis,CCA)方法计算瓶颈层的节点数量,并确定应保留的节点。具体的,可以将瓶颈层的权重和偏置矩阵记录为瓶颈层下一层的权重和偏置矩阵可以记录为在CCA方法中,与之相关的w2和w3可以被描述为:
通过CCA分析完成后可以得到规范系数,A和B的规范系数矩阵可以记为:
U和V的规范变量矩阵可以被记录为:
在矩阵A的每一列中包含大于“0”的元素数的向量,该规范如下:
ANover=fover(A) (6)
其中,fover(x)=n-||x-|x|||0,且n是向量x的维数。
相应的,矩阵A每列小于“0”的元素数可以记作ANbelow[an1' an2' … ann']向量,该规范如下:
ANbelow=fbelow(A) (7)
其中,fbelow(x)=||x-|x|||0,且n是向量x的维数。
同样的,可以得到矩阵B中的向量BNover[bn1 bn2 … bnn]和BNbelow[bn1' bn2' …bnn']。可以定义正态如下:
stateover=max(max(ANover),max(BNover)) (8)
负态如下:
statebelow=max(max(ANbelow),max(BNbelow)) (9)
瓶颈层节点的数目如下:
正态和负态可以反映哪些节点对整体相关性有较大的影响,并显示至少要保留多少节点。为了保持更有影响力的节点,并与权值矩阵相关联,可以将SU矩阵的元素逐行求和,可以得到:sumsSU[sums1 sums2 … sumsn sumsn+1],具体如下:
sumsSU=sumrow(x) (11)
同样的,可以得到矩阵SV中的向量sumsSV[sums1' sums2' … sumsn' sumsn+1']。且可以通过对矩阵sumSU和sumSV中的每个元素相加获得并从大向量向小向量进行排序,得到各元素在排序前的序数和指数向量。具体如下:
[sabsum,index]=sort(absum)from large to small (12)
可以通过提取向量sabsum从起始位置到等于bnode的位置的每一个元素获得节点权值矩阵paraweight,具体如下:
paraweight=sabsum[sums1 sums2 … sumsbnode] (13)
可以通过将索引向量的元素的第一位置复制到第bnode的位置得到顺序向量order[or1 or2 … orbnode],并且顺序向量的元素表示保留节点的序列数。通过节点权值矩阵乘以归一化的权值向量,根据顺序向量order元素的顺序,得到新的瓶颈层,具体如下:
其中,fn是归一化函数,这部分的细节处理如表2算法2所示。
表2算法2
算法2瓶颈层的处理 |
输入:瓶颈层W1的权值矩阵和下一层W2的权值矩阵 |
输出:新瓶颈层的权值矩阵w<sub>new</sub>. |
1.max<sub>U,V</sub>ρ<sub>U,V</sub>=corr(U,V) |
2.得到A,B,SU,SV |
3.for i=start to clomun(A). |
4.AN<sub>over</sub>(i)=f<sub>over</sub>(A(i,start to row(A)) |
5.AN<sub>below</sub>(i)=f<sub>below</sub>(A(i,start to row(A)) |
6.end for |
7.for i=start to clomun(B) |
8.BN<sub>over</sub>(i)=f<sub>over</sub>(B(i,start to row(B)) |
9.BN<sub>below</sub>(i)=f<sub>below</sub>(B(i,start to row(B)) |
10.end for |
11.state<sub>over</sub>=max(max(AN<sub>over</sub>),max(BN<sub>over</sub>)) |
12.state<sub>below</sub>=max(max(AN<sub>below</sub>),max(BN<sub>below</sub>)) |
13.bnode=(state<sub>over</sub><sup>2</sup>+state<sub>below</sub><sup>2</sup>)/(state<sub>over+</sub>state<sub>below</sub>) |
14.sums=sum(sum<sub>row</sub>(SU),sum<sub>row</sub>(SV)) |
15.absum=abs(sums)<sub>each elements</sub> |
16.[sabsum,index]=sort(absum)<sub>from large to small</sub> |
17.paraweight=sabsum[sums<sub>1</sub> sums<sub>2</sub>···sums<sub>bnode</sub>] |
18.order=index(start to bnode) |
19.w<sub>new</sub>=f<sub>n</sub>(paraweight)w<sub>1</sub>(order(start to end)) |
20.end |
进一步的,在训练前馈神经网络之前,可以对前馈神经网络进行初始化,相应的处理可以如下:基于深度信念网络的结构和参数矩阵对前馈神经网络进行初始化,并基于训练集通过有监督训练方法训练前馈神经网络。
在一个实施例中,在训练前馈神经网络(feedforward neural network)之前,可以先利用上述具有瓶颈层的DBN的结构和参数矩阵对前馈神经网进行初始化,并基于上述训练集通过有监督训练方法对前馈神经网络进行训练。
S103,基于前馈神经网络调整深度信念网络的权重和偏差,生成特征提取模型,以通过特征提取模型提取DDoS特征。
在一个实施例中,对上述DBN和前馈神经网络训练后,还可以基于前述前馈神经网络对前述具有瓶颈层的DBN的权重和偏差进行调整,以生成特征提取模型,并通过该特征提取模型来提取DDoS特征。具体的,可以基于带有瓶颈层的DBN和前馈神经网络结合出前述特征提取模型,上述训练集可以被用于以无监督训练方法训练带前述具有瓶颈层的DBN。前馈神经网络可以基于相同的训练集以有监督训练方法进一步调整前述DBN的权重和偏差。通过训练前的DBN,前馈神经网络只需在局部参数空间中搜索权重和偏差,这些参数在训练上花费的时间更少,聚集速度更快。前馈神经网络输出层的前端是DDoS特征输出层,该层能够输出特征来训练分类器和预测数据标签。
进一步的,可以将前馈神经网络的输出作用于反向传播过程,相应的处理可以如下:基于前馈神经网络最后一层的正常类的每个输出及最后一层的每个攻击类的输出,调整深度信念网络的权重和偏差。
在一个实施例中,考虑到DDoS攻击流多于DDoS正常流,为减少数据非平衡带来的影响,故而可以将前馈神经网络的输出作用于反向传播过程,以提高早期攻击检测的特征质量,提高DDoS特征的准确性。具体的,在每批反向传播过程中,前馈神经网络最后一层的正常类的每个输出除以最后一层的每个攻击类的输出,可以被记录为向量pgradient,具体如下:
然后,用当前批中梯度向量的平均值乘以每个梯度,具体如下:
通过这种方法,最后一层的输出可以更直接地作用于反向传播过程,以提高早期攻击检测的特征质量,上述权重矩阵调整的细节处理如表3算法3所示。
表3算法3
在本实施例中,在预设时间段内对网络数据流进行采样,并计算所述网络数据流的每个属性的种类,构成训练集;基于所述训练集通过无监督训练方法训练深度信念网络,并基于所述训练集通过有监督训练方法训练前馈神经网络,其中,所述深度信念网络具有瓶颈层;基于所述前馈神经网络调整所述深度信念网络的权重和偏差,生成特征提取模型,以通过所述特征提取模型提取DDoS特征。这样,通过对具有瓶颈层的深度信念网络和前馈神经网络进行训练,并通过前馈神经网络调整具有瓶颈层的深度信念网络的权重和偏差,进而可以有效提高提取出的DDoS特征的稳定性和准确性。
为了验证本发明所提供方法,本实施例还对“CAIDA"DDoS Attack 2007”的数据集做了实验,如下:
1.环境和实验评估:
这个数据集包含一个在2007年8月4日的分布式拒绝服务匿名交通攻击,该数据集的总大小为21GB,约占一小时(20:50:08UTC–21:56:16UTC)。攻击开始于21:13左右,导致网络负载从大约200千比特/秒快速增长(以分钟为单位)到80兆比特/秒。一个小时的攻击流量被分成5分钟的文件,并以PCAP格式存储。此数据集的内容是ICMP、TCP和UDP网络流量包。每个包均包含源地址、目标地址、包大小和协议类型等。整个数据集被用来实现我们的实验。所采用的硬件设备是8GB内存,英特尔核心i7处理器,以及带有Windows 10 64位系统的计算机;开发环境为MATLAB 2014a和Wireshark 2.2.1。本文采用的评价标准包括检出率(DR)、假警报率(FR)和总误差率(ER)。
假设TP表示被正确标记的正常测试样本的数目,FP表示被错误标记的正常测试样本的数目,TN表示被正确标记的攻击测试样本的数目,FN表示被错误标记的攻击测试样本数量,则上述检出率(DR)、假警报率(FR)和总误差率(ER)可以表示为:
2.实验结果及分析:
在实验中,我们将数据集分为正常流和攻击流,并将采样时间分别设为0.1s和0.01s。在0.1s的采样时间共有39107个采样点,在0.01s采样的时间共有362970个采样点。攻击流包含攻击的早期阶段和攻击的高峰阶段。70%攻击的正常、早期阶段和攻击的高峰阶段组成的流来以无监督训练方式训练DBN。然后在相同的数据中,通过有监督训练方式对前馈神经网络进行训练。其余30%的数据输入至前馈性神经网络,前馈神经网络中输出层的前一层的输出作为特征集。
70%的特征集用于训练SVM,剩余百分之30%作为测试集。选取两种方法[40,41]的特征和我们提出方法的特征比对,对比结果如图4和图5所示。
为了与Nezhad等人的特征提取方法(Nezhad et al.'s method)和Chen等人的特征提取方法(Chen et al.'s method)进行比较,我们使用主成分分析(PCA)将我们的特征降低到一维。图4和图5(其中The proposed feature为本申请的方法提取的特征、TheNezhad et al.'feature为Nezhad等人的方法提取的特征、The Chen et al.'feature)表明:(1)与前述对比方法相比,我们提取的特征可以更好地表示早期的DDoS攻击;(2)本申请提供的方法(The proposed method)在攻击高峰期有较更好的稳定性。原因如下:(1)由于输出可以更直接地作用于反向传播过程,样本非平衡带来的影响得到改善,正常流特征能很好地表现出来;(2)本模型采用瓶颈层,提取的特征稳定性优于一般模型。
如表4所示,在0.1s采样时间的条件下,我们提出的方法在DR值和ER值上比其他方法有更好的表现,并且与其他方法具有相同的FR值。这是因为虽然它们都能准确地表示正常流,但我们所提出的方法比其他方法更能准确地表达出早期攻击的特征。这表明,尽管早期的攻击流与正常流非常相似,我们提出的瓶颈层方法仍能够挖掘隐藏的特征。此外,由于瓶颈层所提取的特征具有较强的稳定性,使得异常值的数量会大大减少,从而更容易区分正常流和攻击流。
如表5所示,在0.01s采样时间的条件下,我们提出的方法在DR值和ER值上优于其他方法,但与其他方法相比,FR值较高。其原因是本申请的方法更注重于早期攻击特征的提取,将一定的正常流视为攻击流。然而,与其他方法相比,该方法的攻击流量正确率远远高于该方法的正常流错误率,因此该方法的ER值最低。
表4:在0.1s秒采样时间内对三种特征提取方法的评价
Nezhad et al.’s method | Chen et al.’s method | The proposed method | |
DR | 0.8056 | 0.8092 | 0.8836 |
FR | 0 | 0 | 0 |
ER | 0.130997305 | 0.128571429 | 0.078436658 |
表5:0.01s采样时间内对三种特征提取方法的评价
Nezhad et al.’s method | Chen et al.’s method | The proposed method | |
DR | 0.978168189 | 0.989599438 | 0.995877255 |
FR | 0 | 0 | 0.000603743 |
ER | 0.01489627 | 0.00709700 | 0.003004827 |
为了验证本申请提供的方法在大波动网络环境下的有效性,我们可以将每个特征值乘以一个随机数,随机数的最小范围是1比2,最大范围是1比10。实验结果如图6-11所示。从图6-8,我们可以看到在0.1s采样时间的条件下,本申请提供的方法的性能在DR和ER中优于其他方法。在FR指标下与其它方法相同。原因是多重特征比单一特征具有更好的稳定性。在单一特征的情况下,一个不好的特征值将直接影响分类的准确性。但当使用多个特征时,分类器可以综合各个特征的影响。因此,很难通过单一特征直接影响分类结果。所以,在特征波动较大的条件下,单特征的两种方法都比本申请所提出的方法差。在0.01s采样时间的条件下,图9-11表明本申请的特征提取方法的性能中的DR和ER优于其他方法。
图12是本发明实施例提供的一种DDoS特征提取装置的结构示意图。
如图12所示,本实施例提供了一种DDoS特征提取装置,所述装置包括:
计算模块,用于在预设时间段内对网络数据流进行采样,并计算所述网络数据流的每个属性的种类,构成训练集;
训练模块,用于基于所述训练集通过无监督训练方法训练深度信念网络,并基于所述训练集通过有监督训练方法训练前馈神经网络,其中,所述深度信念网络具有瓶颈层;
特征提取模块,用于基于所述前馈神经网络调整所述深度信念网络的权重和偏差,生成特征提取模型,以通过所述特征提取模型提取DDoS特征。
进一步的,所述计算模块,用于
对所述网络数据流进行量化,计算出所述网络数据流在所述预设时间段内的每个属性的种类;
将所述每个属性的种类由十进制数转化为长度相同的二进制数,以构成所述训练集。
进一步的,所述训练模块,用于:
通过典型相关分析方法计算所述深度信念网络的瓶颈层的节点数量,并调整所述瓶颈层的权重和偏差。
进一步的,所述训练模块,用于:
基于所述深度信念网络的结构和参数矩阵对所述前馈神经网络进行初始化,并基于所述训练集通过有监督训练方法训练所述前馈神经网络。
进一步的,所述特征提取模块,用于
基于所述前馈神经网络最后一层的正常类的每个输出及所述最后一层的每个攻击类的输出,调整所述深度信念网络的权重和偏差。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种DDoS特征提取方法,其特征在于,所述方法包括:
在预设时间段内对网络数据流进行采样,并计算所述网络数据流的每个属性的种类,构成训练集;
基于所述训练集通过无监督训练方法训练深度信念网络,并基于所述训练集通过有监督训练方法训练前馈神经网络,其中,所述深度信念网络具有瓶颈层;
基于所述前馈神经网络调整所述深度信念网络的权重和偏差,生成特征提取模型,以通过所述特征提取模型提取DDoS特征;
所述基于所述训练集通过无监督训练方法训练深度信念网络之前,还包括:通过典型相关分析方法计算所述深度信念网络的瓶颈层的节点数量,并调整所述瓶颈层的权重和偏差;
所述通过典型相关分析方法计算所述深度信念网络的瓶颈层的节点数量,并调整所述瓶颈层的权重和偏差包括:通过CCA对所述瓶颈层分析得到A和B的规范系数矩阵
和U和V的规范变量矩阵
其中,v=(v1,v2,…,vnv)T表示可见层的状态向量,vi表示可见层中第i神经元输入值,h=(h1,h1,…,hnh)T表示隐藏层的状态向量,hi表示隐藏层中的第j层神经元的输入值,a=(a1,a1,…,anv)T∈Rnv:表示可见层的偏置向量,ai表示可见层中的第i层神经元的偏置向量,b=(b1,b1,…,bnh)T∈Rnh表示隐藏层的偏置向量,bj表示隐藏层中的第j层的神经元的偏置向量,W=(wi,j)∈Rnv×nh表示隐藏层和可见层之间的权值参数矩阵,wi,j表示隐藏层中的第i层神经元与可见层中的第j层神经元之间连接的权重,
计算所述矩阵A和矩阵B中的中的向量,所述向量包括大于0的向量和小于0的向量;
根据所述矩阵A、矩阵B中的向量计算正态和负态;
根据所述正态和负态计算瓶颈层节点的数目;
将所述矩阵SU的元素逐行求和得到:sumsSU[sums1 sums2 … sumsn sumsn+1];
将所述矩阵SV的元素逐行求和得到:sumsSV[sums1' sums2' … sumsn' sumsn+1'];
将所述sumSU和sumSV中的各元素相加获得并从大向量向小向量进行排序,得到所述各元素在排序前的序数和指数向量[sabsum,index]=sort(absum)from large to small;
提取所述向量sabsum从起始位置到等于bnode的位置的每一个元素获得节点权值矩阵paraweight,其中paraweight=sabsum[sums1 sums2 … sumsbnode];
将索引向量的元素的第一位置复制到第bnode的位置得到顺序向量order[or1 or2 …orbnode],其中所述顺序向量的元素表示保留节点的序列数;
将所述节点权值矩阵乘以归一化的权值向量,根据所述顺序向量order元素的顺序,得到新的瓶颈层。
2.如权利要求1所述的方法,其特征在于,所述计算所述网络数据流的每个属性的种类,构成训练集,包括:
对所述网络数据流进行量化,计算出所述网络数据流在所述预设时间段内的每个属性的种类;
将所述每个属性的种类由十进制数转化为长度相同的二进制数,以构成所述训练集。
3.如权利要求1所述的方法,其特征在于,所述基于所述训练集通过有监督训练方法训练前馈神经网络,包括:
基于所述深度信念网络的结构和参数矩阵对所述前馈神经网络进行初始化,并基于所述训练集通过有监督训练方法训练所述前馈神经网络。
4.如权利要求1所述的方法,其特征在于,所述基于所述前馈神经网络调整所述深度信念网络的权重和偏差,包括:
基于所述前馈神经网络最后一层的正常类的每个输出及所述最后一层的每个攻击类的输出,调整所述深度信念网络的权重和偏差。
5.一种DDoS特征提取装置,其特征在于,所述装置包括:
计算模块,用于在预设时间段内对网络数据流进行采样,并计算所述网络数据流的每个属性的种类,构成训练集;
训练模块,用于基于所述训练集通过无监督训练方法训练深度信念网络,并基于所述训练集通过有监督训练方法训练前馈神经网络,其中,所述深度信念网络具有瓶颈层;
所述训练模块通过典型相关分析方法计算所述深度信念网络的瓶颈层的节点数量,并调整所述瓶颈层的权重和偏差;
其中所述通过典型相关分析方法计算所述深度信念网络的瓶颈层的节点数量,并调整所述瓶颈层的权重和偏差包括:通过CCA对所述瓶颈层分析得到A和B的规范系数矩阵
和∪和V的规范变量矩阵
其中,v=(v1,v2,…,vnv)T表示可见层的状态向量,vi表示可见层中第i神经元输入值,h=(h1,h1,…,hnh)T表示隐藏层的状态向量,hi表示隐藏层中的第j层神经元的输入值,a=(a1,a1,…,anv)T∈Rnv:表示可见层的偏置向量,ai表示可见层中的第i层神经元的偏置向量,b=(b1,b1,…,bnh)T∈Rnh表示隐藏层的偏置向量,bj表示隐藏层中的第j层的神经元的偏置向量,W=(wi,j)∈Rnv×nh表示隐藏层和可见层之间的权值参数矩阵,wi,j表示隐藏层中的第i层神经元与可见层中的第j层神经元之间连接的权重,
计算所述矩阵A和矩阵B中的中的向量,所述向量包括大于0的向量和小于0的向量;
根据所述矩阵A、矩阵B中的向量计算正态和负态;
根据所述正态和负态计算瓶颈层节点的数目;
将所述矩阵SU的元素逐行求和得到:sumsSU[sums1 sums2 … sumsn sumsn+1];
将所述矩阵SV的元素逐行求和得到:sumsSV[sums1' sums2' … sumsn' sumsn+1'];
将所述sumSU和sumSV中的各元素相加获得并从大向量向小向量进行排序,得到所述各元素在排序前的序数和指数向量[sabsum,index]=sort(absum)from large to small;
提取所述向量sabsum从起始位置到等于bnode的位置的每一个元素获得节点权值矩阵paraweight,其中paraweight=sabsum[sums1 sums2 … sumsbnode];将索引向量的元素的第一位置复制到第bnode的位置得到顺序向量order[or1 or2 … orbnode],其中所述顺序向量的元素表示保留节点的序列数;
所述节点权值矩阵乘以归一化的权值向量,根据所述顺序向量order元素的顺序,得到新的瓶颈层;
特征提取模块,用于基于所述前馈神经网络调整所述深度信念网络的权重和偏差,生成特征提取模型,以通过所述特征提取模型提取DDoS特征。
6.如权利要求5所述的装置,其特征在于,所述计算模块,用于
对所述网络数据流进行量化,计算出所述网络数据流在所述预设时间段内的每个属性的种类;
将所述每个属性的种类由十进制数转化为长度相同的二进制数,以构成所述训练集。
7.如权利要求5所述的装置,其特征在于,所述训练模块,用于:
基于所述深度信念网络的结构和参数矩阵对所述前馈神经网络进行初始化,并基于所述训练集通过有监督训练方法训练所述前馈神经网络。
8.如权利要求5所述的装置,其特征在于,所述特征提取模块,用于
基于所述前馈神经网络最后一层的正常类的每个输出及所述最后一层的每个攻击类的输出,调整所述深度信念网络的权重和偏差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910688231.9A CN110351303B (zh) | 2019-07-29 | 2019-07-29 | 一种DDoS特征提取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910688231.9A CN110351303B (zh) | 2019-07-29 | 2019-07-29 | 一种DDoS特征提取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110351303A CN110351303A (zh) | 2019-10-18 |
CN110351303B true CN110351303B (zh) | 2021-09-14 |
Family
ID=68180569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910688231.9A Active CN110351303B (zh) | 2019-07-29 | 2019-07-29 | 一种DDoS特征提取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110351303B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111818009A (zh) * | 2020-05-25 | 2020-10-23 | 国网思极网安科技(北京)有限公司 | 一种针对基于mqtt协议的报文的防护方法和装置 |
CN112134873B (zh) * | 2020-09-18 | 2022-04-26 | 国网山东省电力公司青岛供电公司 | 一种IoT网络异常流量实时检测方法及系统 |
CN113222835B (zh) * | 2021-04-22 | 2023-04-14 | 海南大学 | 基于残差网络的遥感全色和多光谱图像分布式融合方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656981A (zh) * | 2016-10-21 | 2017-05-10 | 东软集团股份有限公司 | 网络入侵检测方法和装置 |
CN109450721A (zh) * | 2018-09-06 | 2019-03-08 | 南京聚铭网络科技有限公司 | 一种基于深度神经网络的网络异常行为识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101907752B1 (ko) * | 2016-10-17 | 2018-10-12 | 숭실대학교산학협력단 | 인공지능을 이용하여 DDoS 공격을 탐지하는 소프트웨어 정의 네트워크 및 이에 포함되는 컨트롤러 |
-
2019
- 2019-07-29 CN CN201910688231.9A patent/CN110351303B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656981A (zh) * | 2016-10-21 | 2017-05-10 | 东软集团股份有限公司 | 网络入侵检测方法和装置 |
CN109450721A (zh) * | 2018-09-06 | 2019-03-08 | 南京聚铭网络科技有限公司 | 一种基于深度神经网络的网络异常行为识别方法 |
Non-Patent Citations (5)
Title |
---|
Detecting a distributed denial of service attack using a pre-processed convolutional neural network;Maryam Ghanbari等;《2017 IEEE Electrical Power and Energy Conference(EPEC)》;20171025;全文 * |
SDN环境下基于DBN的DDoS攻击检测;朱婧等;《计算机工程》;网络首发;20190531;全文 * |
SGS: Safe-Guard Scheme for Protecting Control Plane Against DDoS Attacks in Software-Defined Networking;Yang Wang等;《IEEE access》;20190125;第7卷;全文 * |
基于深度置信网络的入侵检测研究;安琪;《中国优秀硕士学位论文全文数据库》;20160815;第3.1节-3.3节,第5.1节,第5.3节 * |
基于组合相关度的随机森林DDoS攻击检测方法;李梦洋等;《郑州大学学报(理学版)》;网络首发;20181221;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110351303A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ren et al. | Tree-RNN: Tree structural recurrent neural network for network traffic classification | |
CN109831392B (zh) | 半监督网络流量分类方法 | |
US8311956B2 (en) | Scalable traffic classifier and classifier training system | |
Alom et al. | Intrusion detection using deep belief networks | |
CN110351303B (zh) | 一种DDoS特征提取方法及装置 | |
Andreoni Lopez et al. | A fast unsupervised preprocessing method for network monitoring | |
CN107483473B (zh) | 一种云环境的低速拒绝服务攻击数据流检测方法 | |
CN108881192A (zh) | 一种基于深度学习的加密型僵尸网络检测系统及方法 | |
Dawoud et al. | Deep learning for network anomalies detection | |
Suman et al. | Building an effective intrusion detection system using unsupervised feature selection in multi-objective optimization framework | |
Awad et al. | Addressing imbalanced classes problem of intrusion detection system using weighted extreme learning machine | |
Li et al. | Class balanced adaptive pseudo labeling for federated semi-supervised learning | |
Babbar et al. | Evaluation of deep learning models in its software-defined intrusion detection systems | |
Vamsi Krishna et al. | A Detailed Analysis of the CIDDS-001 and CICIDS-2017 Datasets | |
Muntean et al. | A novel intrusion detection method based on support vector machines | |
Shi et al. | An approach for detecting ldos attack based on cloud model | |
CN113746707B (zh) | 一种基于分类器及网络结构的加密流量分类方法 | |
CN115473748A (zh) | 基于BiLSTM-ELM的DDoS攻击分类检测方法、装置及设备 | |
Golchin et al. | CML-IDS: Enhancing Intrusion Detection in SDN Through Collaborative Machine Learning | |
CN115134305B (zh) | 双核协作sdn大数据网络流量精准分类方法 | |
Söderström | Anomaly-based Intrusion Detection Using Convolutional Neural Networks for IoT Devices | |
CN114615056B (zh) | 一种基于对抗鲁棒性学习的Tor恶意流量检测方法 | |
CN115604032B (zh) | 一种电力系统复杂多步攻击检测方法及系统 | |
Kim | Early network attack identification | |
Bau et al. | Machine learning approaches to intrusion detection system using bo-tpe |
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 |