CN113660193B - 一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法 - Google Patents

一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法 Download PDF

Info

Publication number
CN113660193B
CN113660193B CN202110704643.4A CN202110704643A CN113660193B CN 113660193 B CN113660193 B CN 113660193B CN 202110704643 A CN202110704643 A CN 202110704643A CN 113660193 B CN113660193 B CN 113660193B
Authority
CN
China
Prior art keywords
data
network
neuron
time
neurons
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
CN202110704643.4A
Other languages
English (en)
Other versions
CN113660193A (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202110704643.4A priority Critical patent/CN113660193B/zh
Publication of CN113660193A publication Critical patent/CN113660193A/zh
Application granted granted Critical
Publication of CN113660193B publication Critical patent/CN113660193B/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/1425Traffic logging, e.g. anomaly detection
    • 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
    • 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
    • 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/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法,所述方法包括获取特征数据,所述特征数据是利用可编程数据面对网络中的数据包进行特征采集得到的;根据获取的特征数据生成数据拟合网络,利用带标签的数据与数据拟合网络相结合生成数据有害度网络;将历史数据与数据拟合网络相结合生成数据罕见度网络,利用数据有害度网络和数据罕见度网络对决策树算法进行修正,得出最终的DDoS检测结果。本发明降低了数据采集对网络时延的影响,并提高DDoS攻击的检测准确度。

Description

一种软件定义网络中基于数据面网络特征采集的DDoS攻击检 测方法
技术领域
本发明涉及DDoS攻击检测算法技术领域,尤其涉及一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法。
背景技术
分布式拒绝服务攻击(DDoS)是一种常见的网络攻击形式,攻击者利用自己手中所控制的数量庞大的被劫持主机,对网络中的某一台或某几台网络设备同时发动攻击,使得被攻击设备在短时间内需要处理海量的流量数据,从而使得被攻击设备运行超载而不能正常提供服务。
随着SDN网络架构被应用于5G网络的建设中,SDN在现有的网络中也越来越普及。SDN与传统网络架构最大的区别在于其控制面与数据面是解耦的,因此可以分别在控制面和数据面部署相应的应用,来实现网络的智能化管理。
当前SDN中也面临着DDoS攻击的挑战,如何利用SDN的相关特性对网络中发生的DDoS攻击进行检测也是目前研究的热点。现有技术在处理SDN中的DDoS攻击检测问题时多采用在控制面部署相关的检测算法,然后利用控制面的南向接口抓取流经数据面的网络数据包,然后对采集到的数据包进行特征提取后送入算法进行检测,然后再将数据包送回控制面按原转发路径进行转发。在这一过程中有大量数据包会需要额外的经过数据面到控制面再返回数据面这一流程,这可能会使得网络中的时延有所增加,并且也缺少对于网络中历史数据的分析。
发明内容
本发明的目的是提供一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法,降低了数据采集对网络时延的影响,并提高DDoS攻击的检测准确度。
本发明为实现上述发明目的采用如下技术方案:
本发明提供了一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法,包括:
获取特征数据,所述特征数据是利用可编程数据面对网络中的数据包进行特征采集得到的;
根据获取的特征数据生成数据拟合网络,利用带标签的数据与数据拟合网络相结合生成数据有害度网络;
将历史数据与数据拟合网络相结合生成数据罕见度网络,利用数据有害度网络和数据罕见度网络对决策树算法进行修正,得出最终的DDoS检测结果。
进一步地,利用可编程数据平面对网络中的数据包进行特征采集的方法包括:
确定数据包中需要解析的各层协议头;
根据确定的协议头,指定需要解析的协议字段;
确定各个协议头之间的状态转移关系,指定各层协议头的解析顺序;
按照指定的解析顺序,获取数据包各层协议头中的指定字段。
进一步地,根据获取的特征数据生成数据拟合网络的方法包括:
对特征数据进行预处理,处理后的数据表示为:
Figure GDA0003838100990000021
式中,vi表示网络中数据包i所对应的特征向量,对应算法的一条输入数据,
Figure GDA0003838100990000022
表示数据包i的第k个特征的值,VN表示算法中所有输入数据的集合;
初始化一个二位的栅格状神经网络,该神经网络的定义如下:
初始化的二维神经网络表示为GAB,其中AB表示该网络中包含有A×B个神经元,每个神经元表示为
Figure GDA0003838100990000023
表示第j个神经元的第k个权重分量,每个神经元共有l个权重分量,l个权重分量与输入数据vi的各个特征维度一一对应,初始状态时,GAB中的每个神经元各个维度的权值随机分布,而神经元之间的距离与神经元各维度权值的大小有关,定义如下:
dij=||ni-nj||,i,j=1,2,3,...,A×B (2)
式中,神经元i与神经元j的距离由ni和nj的2范数决定;
针对每一个输入数据,计算其在GAB中所对应的获胜神经元,包括:
获胜神经元定义为:对于输入数据vi,根据式(3)计算GAB中每个神经元与vi的距离,距离最近的神经元
Figure GDA0003838100990000024
为vi对应的获胜神经元;
Figure GDA0003838100990000025
式中,Dmint表示当前t时刻获胜神经元的下标,则神经元
Figure GDA0003838100990000026
即为该次输入所产生的获胜神经元,表示当前t时刻输入的数据
Figure GDA0003838100990000027
与神经元
Figure GDA0003838100990000028
的相似性最大;
根据当前时刻的输入数据
Figure GDA0003838100990000029
产生的获胜神经元
Figure GDA00038381009900000210
来对整个神经网络GAB中的相关神经元进行权值更新,更新方式由式(4)(5)得出:
Figure GDA00038381009900000211
Figure GDA00038381009900000212
式(4)中,神经元nj在t+1时刻的权值取决于其在t时刻的权值,以及nj和t时刻输入数据
Figure GDA00038381009900000213
的差值,其中
Figure GDA00038381009900000214
表示t时刻到t+1时刻权值更新的幅度,λt表示t时刻算法的学习率,λt的大小会随着t的增加而逐渐减小;
Figure GDA00038381009900000215
的值取决于在t时刻,神经元nj与获胜神经元
Figure GDA00038381009900000216
的距离大小;
式(5)中,神经元nj与该时刻获胜神经元
Figure GDA0003838100990000031
在二维神经网络中的坐标分别用gj和gc表示,||gc-gj||2表示两个神经元的坐标之间的距离;δt是一个随着t增加而逐渐减小的值;
针对输入数据集合VN中的每一条数据对GAB进行权值更新后,生成数据拟合网络Gfit
进一步地,将带标签数据与数据拟合网络相结合生成数据有害度网络的方法包括:
收集网络中的正常流量数据和DDoS攻击流量数据,并对其进行特征处理,并对处理好的每条数据打上标签以区分其是否为DDoS流量,形成带标签数据集Vlabel
利用带标签数据集Vlabel与数据拟合网络Gfit生成数据有害度网络Gpoison
进一步地,所述数据有害度网络Gpoison中的节点数目与所述数据拟合网络Gfit中的神经元数目相同且一一对应,每个节点存储着对应神经元的有害度pj∈Gpoison
所述pj的更新方式由式(6)得出:
Figure GDA0003838100990000032
式(6)中,
Figure GDA0003838100990000033
Figure GDA0003838100990000034
分别表示t时刻和t+1时刻Gpoison中节点j的有害度,vl表示t时刻输入的带标签数据。
进一步地,将历史数据与数据拟合网络相结合生成数据罕见度网络的方法包括:
构建数据罕见度网络Grare,数据罕见度网络Grare中的节点数目与数据拟合网络Gfit中神经元数目相同且一一对应,在系统运行时,对于网络中的历史流量数据进行记录;
对于一条历史流量数据vh,根据数据拟合网络Gfit计算历史流量数据vh所对应的获胜神经元nk,进而根据式(7)更新Grare中对应节点的罕见度rk
Figure GDA0003838100990000035
式中,
Figure GDA0003838100990000036
Figure GDA0003838100990000037
分别表示t时刻和t+1时刻Grare中节点k的罕见度;Tnow表示当前更新时刻的时间戳,Tk_last_update表示上一次更新节点k的rk时的时间戳。
进一步地,利用数据有害度网络和数据罕见度网络对决策树算法进行修正,得出最终的DDoS检测结果的方法包括:
利用决策树算法在带标签的训练数据集Vlabel上训练,得到决策树模型MDT
对原始未知的流量数据进行特征提取和独热编码,转换为能够输入算法进行计算的特征向量vunknown
利用决策树模型MDT对vunknown进行初步分类,得到初步预测结果;
若初步预测结果显示为有害,则直接将vunknown判断为DDoS攻击流量;
若初步预测结果显示为无害,则利用vunknown更新Grare,并利用Gpoison和Grare分别算出其对应的有害度和罕见度punknown和runknown
如果punknown大于事先设定的阈值pbar,则判断为DDoS攻击流量;
如果punknown小于事先设定的阈值vbar,则判断为DDoS攻击流量,否则判断为正常流量。
本发明的有益效果如下:
本发明省去了将数据包从数据面送往控制面进行采样后再送回控制面进行转发这一步骤,减小了数据采集对网络中正常业务的时延影响,并且在决策树算法基础上引入数据有害度网络,提升了算法的分类细粒度;引入数据罕见度网络,对历史数据进行记录并动态更新,提升算法对于网络中的陌生流量的敏感度。因此本发明提高DDoS攻击检测准确度的同时也降低了检测本身对于网络时延的影响。
附图说明
图1为根据本发明实施例提供的一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法的检测系统模型图;
图2为根据本发明实施例提供的一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法的实验网络拓扑图;
图3为根据本发明实施例提供的一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法的不同算法的DDoS检测准确度对比图;
图4为根据本发明实施例提供的一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法的不同数据采集方式对于网络时延影响的对比图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,本发明提供一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法,利用P4编程语言实现在数据面直接对网络中的数据包进行解析,获取特征数据,并将获取的特征数据传递给控制面,从而降低特征采集对网络时延的影响,在控制面根据采集到的数据生成数据拟合网络,接着利用带标签数据与数据拟合网络结合生成数据有害度网络,将历史数据与数据拟合网络结合生成数据罕见度网络;最后利用数据有害度网络和数据罕见度网络对决策树算法进行修正,得出最终的DDoS检测结果,具体步骤如下:
步骤1:确定数据包中需要解析的各层协议头;
步骤2:根据确定的协议头,指定需要解析的协议字段;
步骤3:在P4程序中定义各个协议头之间的状态转移关系,指定各层协议头的解析顺序;
步骤4:按照指定的解析顺序,获取数据包各层协议头中的指定字段;
步骤5:利用匹配动作表,匹配特定数据包,将该数据包中解析出的特征数据进行封装后发送给控制面,之后该数据包按照既定的路由策略被转发。
步骤6:对每一条特征数据进行预处理,利用独热编码将部分文字表示的特征转为数字表示,处理后的数据表示为:
Figure GDA0003838100990000051
式(1)中,vi表示网络中数据包i所对应的特征向量,对应算法的一条输入数据。
Figure GDA0003838100990000052
表示数据包i的第k个特征的值。VN表示算法中所有输入数据的集合。
步骤7:初始化一个二位的栅格状神经网络,该神经网络的定义如下:
初始化的二维神经网络表示为GAB,其中AB表示该网络中包含有A×B个神经元,每个神经元表示为
Figure GDA0003838100990000053
表示第j个神经元的第k个权重分量,每个神经元共有l个权重分量。这l个权重分量与输入数据vi的各个特征维度一一对应。初始状态时,GAB中的每个神经元各个维度的权值随机分布。而神经元之间的距离与神经元各维度权值的大小有关,定义如下:
dij=||ni-nj||,i,j=1,2,3,...,A×B (2)
由式(2)可知,神经元i与神经元j的距离由ni和nj的2范数决定。一个神经元与其相邻神经元之间的距离大小表示该神经元与其相邻神经元之间的相似度,距离越近则相似度越大。
步骤8:针对每一个输入数据,计算其在GAB中所对应的获胜神经元,方法如下:
获胜神经元定义为:对于输入数据vi,根据式(3)计算GAB中每个神经元与vi的距离,距离最近的神经元
Figure GDA0003838100990000054
即为vi对应的获胜神经元。获胜神经元与vi的距离最近,距离vi越近的神经元,其所代表的那一类数据与vi的相似性越大。
Figure GDA0003838100990000055
式(3)中,Dmint表示当前t时刻获胜神经元的下标,则神经元
Figure GDA0003838100990000056
即为该次输入所产生的获胜神经元,表示当前t时刻输入的数据
Figure GDA0003838100990000057
与神经元
Figure GDA0003838100990000058
的相似性最大。
步骤9:根据当前时刻的输入数据
Figure GDA0003838100990000061
产生的获胜神经元
Figure GDA0003838100990000062
来对整个神经网络GAB中的相关神经元进行权值更新,更新方式由式(4)(5)给出:
Figure GDA0003838100990000063
Figure GDA0003838100990000064
式(4)表明,神经元nj在t+1时刻的权值取决于其在t时刻的权值,以及nj和t时刻输入数据
Figure GDA0003838100990000065
的差值,其中
Figure GDA0003838100990000066
表示t时刻到t+1时刻权值更新的幅度,λt表示t时刻算法的学习率,λt的大小会随着t的增加而逐渐减小,表示算法到了训练后期,学习率会越来越小,权值更新的幅度也会越来越小;
Figure GDA0003838100990000067
的值取决于,在t时刻,神经元nj与获胜神经元
Figure GDA0003838100990000068
的距离大小。
Figure GDA0003838100990000069
具体定义如式(5)所示,神经元nj与该时刻获胜神经元
Figure GDA00038381009900000610
在二维神经网络中的坐标分别用gj和gc表示,||gc-gj||2表示两个神经元的坐标之间的距离;δt是一个随着t增加而逐渐减小的值。
由式(5)可以得出,神经元nj与该时刻获胜神经元
Figure GDA00038381009900000611
的距离越大,
Figure GDA00038381009900000612
的值会越小,表示获胜神经元对于离他越近的神经元影响越大,并且随着δt的逐渐减小,获胜神经元整体上对GAB中其他神经元的影响均会减小。
步骤10:针对数据集合VN中的每一条数据按上述步骤对GAB进行权值更新后,生成数据拟合网络Gfit,Gfit包含以下特征:
数据拟合网络Gfit中的每一个神经元都对应代表一类网络数据,每个输入数据都可以在Gfit找到其所对应的获胜神经元。若两个输入数据对应的获胜神经元相同,则判断两者具有相似性,为同一类数据。因此数据拟合网络可以对网络数据的分布情况进行拟合,对网络中的各类数据流量进行分类。
步骤11:事先收集网络中的正常流量数据和DDoS攻击流量数据,并对其进行特征处理,并对处理好的每条数据打上标签以区分其是否为DDoS流量,形成带标签数据集Vlabel
步骤12:利用带标签数据集Vlabel与Gfit生成数据有害度网络Gpoison。Gpoison中的节点数目与Gfit中的神经元数目一致且一一对应,每个节点存储着对应神经元的有害度pj∈Gpoison。pj的更新方式由式(6)给出:
Figure GDA0003838100990000071
式(6)中,
Figure GDA0003838100990000072
Figure GDA0003838100990000073
分别表示t时刻和t+1时刻Gpoison中节点j的有害度。
由式(6)可知,对于t时刻输入的带标签数据vl∈Vlabel,首先需要确定更新Gpoison中的哪一个节点的有害度。因此根据Gfit计算vl所对应的获胜神经元nj,然后利用式(6)更新nj在Gpoison对应节点有害度pj的值。当vl的标签为DDoS则有害度pj加1,否则不变。Gpoison中节点的pj越大,则神经元nj对应的这一类网络流量数据属于DDoS攻击流量的可能性越大。由于Gfit是一个二维神经网络,其神经元数目远远大于两个,而每一个神经元又对应着一类网络流量,因此通过Gfit可以有效提高对网络流量的分类细粒度,再结合Gpoison中的有害度判断,可以对决策树的二分类结果进行修正。
步骤13:将历史数据与数据拟合网络结合生成数据罕见度网络Grare,Grare中的节点数目与Gfit中神经元数目一致且一一对应,在系统运行时,对于网络中的历史流量数据进行记录,对于一条历史流量数据vh,根据Gfit计算vh所对应的获胜神经元nk,进而根据式(7)更新Grare中对应节点的罕见度rk
Figure GDA0003838100990000074
式(7)中,
Figure GDA0003838100990000075
Figure GDA0003838100990000076
分别表示t时刻和t+1时刻Grare中节点k的罕见度。Tnow表示当前更新时刻的时间戳,Tk_last_update表示上一次更新节点k的rk时的时间戳。式(7)说明,当同一节点的罕见度被频繁更新时,则表示网络中同一类型的流量数据出现非常频繁,因此该节点对应的rk值也会迅速增大。而rk值越大,代表Gfit中神经元nk对应的流量在网络中出现的越频繁。
步骤14:利用决策树算法在带标签的训练数据集Vlabel上训练,得到决策树模型MDT
步骤15:对于原始未知的流量数据进行特征提取和独热编码,转换为能够输入算法进行计算的特征向量vunknown
步骤16:利用决策树模型MDT对vunknown进行初步分类,得到初步预测结果;
步骤17:若初步预测结果显示为有害,则直接将vunknown判断为DDoS攻击流量,结束对于vunknown的检测流程,否则继续执行后续步骤;
步骤18:若初步预测结果显示为无害,则利用vunknown更新Grare,并利用Gpoison和Grare分别算出其对应的有害度和罕见度punknown和runnknown
步骤19:如果punknown大于事先设定的阈值pbar则判断为DDoS攻击流量,并结束检测流程,否则继续执行后续步骤;
步骤20:如果punknown小于事先设定的阈值vbar则判断为DDoS攻击流量,否则判断为正常流量,并结束检测流程。
实例:
为了验证本发明的性能,搭建了如图1所示的DDoS攻击检测系统,并搭建了相应的实验网络,该网络由1台控制器,6台可编程的BMv2软件交换机和10台主机构成。其中利用Mininet[13](版本:2.3.0d6)构建了如图2所示的网络拓扑。控制器和Mininet均运行在安装了Ubuntu18.04操作系统的物理机上(CPU:AMD R7-4800H,内存:16G)。为了测试本发明对于DDoS检测的准确度,利用Hping3工具模拟了DDoS攻击中的SYN Flood攻击。
在系统实现和实验验证中,选用了service、flag、src_bytes、same_srv_rate以及dst_host_srv_serror_rate这五个特征值,作为输入数据vi的5个特征维度,用于表征单个流量数据包,因此Gfit中单个神经元nj的权值分量个数为5,Gfit中共有5×20个神经元,Gpoison和Grare中也分别有5×20个节点与之对应。
为了比较本发明所提检测算法(DTSOM)与其他常用算法的准确性,选取了K-FKNN、SVM以及决策树(DT)算法作为对比算法,测试时,测试数据的个数从2000个开始,每次递增2000个,到20000个为止。由图3可以看出,四个算法随着测试数据量的逐步增加,其准确性趋于稳定,其中SVM和DT的波动最不明显,且两者准确率非常接近,DTSOM在测试数据量从2000条增加到4000条时出现了准确率的上升,与之相反K-FKNN出现了准确率小幅下降的情况。显然四个算法中K-FKNN的准确率最低,SVM和DT的准确率接近,DTSOM的准确率是最高的。
为了验证本发明的特征数据采集方式降低了对网络时延的影响,测试了分别用两种方式获取特征数据时网络的时延,方式一:将数据包从数据面发送至控制面进行特征解析,解析完毕后再将数据包送回数据面进行转发;方式二:在数据面直接对数据包进行特征解析,数据包按原路径转发,解析后的特征通过digest消息发送给控制面。时延测试结果如图4所示,可以看出方法二的时延要明显小于方法一的时延,显示出本发明所采用的数据面特征采集能够有效降低对网络时延的影响。
以上实验结果表明,本发明所提方法在降低了对网络时延影响的同时也提高了对于网络中的DDoS攻击流量的检测准确性。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (4)

1.一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法,其特征在于,所述方法包括:
获取特征数据,所述特征数据是利用可编程数据面对网络中的数据包进行特征采集得到的;
根据获取的特征数据生成数据拟合网络,利用带标签的数据与数据拟合网络相结合生成数据有害度网络;
将历史数据与数据拟合网络相结合生成数据罕见度网络,利用数据有害度网络和数据罕见度网络对决策树算法进行修正,得出最终的DDoS检测结果;
根据获取的特征数据生成数据拟合网络的方法包括:
对特征数据进行预处理,处理后的数据表示为:
Figure FDA0003838100980000011
式中,vi表示网络中数据包i所对应的特征向量,对应算法的一条输入数据,
Figure FDA0003838100980000012
表示数据包i的第k个特征的值,VN表示算法中所有输入数据的集合;
初始化一个二位的栅格状神经网络,该神经网络的定义如下:
初始化的二维神经网络表示为GAB,其中AB表示该网络中包含有A×B个神经元,每个神经元表示为
Figure FDA0003838100980000013
Figure FDA0003838100980000014
表示第j个神经元的第k个权重分量,每个神经元共有l个权重分量,l个权重分量与输入数据vi的各个特征维度一一对应,初始状态时,GAB中的每个神经元各个维度的权值随机分布,而神经元之间的距离与神经元各维度权值的大小有关,定义如下:
dij=||ni-nj||,i,j=1,2,3,…,A×B (2)
式中,神经元i与神经元j的距离由ni和nj的2范数决定;
针对每一个输入数据,计算其在GAB中所对应的获胜神经元,包括:
获胜神经元定义为:对于输入数据vi,根据式(3)计算GAB中每个神经元与vi的距离,距离最近的神经元
Figure FDA0003838100980000015
为vi对应的获胜神经元;
Figure FDA0003838100980000016
式中,Dmint表示当前t时刻获胜神经元的下标,则神经元
Figure FDA0003838100980000017
即为该次输入所产生的获胜神经元,表示当前t时刻输入的数据
Figure FDA0003838100980000018
与神经元
Figure FDA0003838100980000019
的相似性最大;
根据当前时刻的输入数据
Figure FDA00038381009800000110
产生的获胜神经元
Figure FDA00038381009800000111
来对整个神经网络GAB中的相关神经元进行权值更新,更新方式由式(4)(5)得出:
Figure FDA00038381009800000112
Figure FDA0003838100980000021
式(4)中,神经元nj在t+1时刻的权值取决于其在t时刻的权值,以及nj和t时刻输入数据
Figure FDA0003838100980000022
的差值,其中
Figure FDA0003838100980000023
表示t时刻到t+1时刻权值更新的幅度,λt表示t时刻算法的学习率,λt的大小会随着t的增加而逐渐减小;
Figure FDA0003838100980000024
的值取决于在t时刻,神经元nj与获胜神经元
Figure FDA0003838100980000025
的距离大小;
式(5)中,神经元nj与该时刻获胜神经元
Figure FDA0003838100980000026
在二维神经网络中的坐标分别用gj和gc表示,||gc-gj||2表示两个神经元的坐标之间的距离;δt是一个随着t增加而逐渐减小的值;
针对输入数据集合VN中的每一条数据对GAB进行权值更新后,生成数据拟合网络Gfit
所述带标签的数据的生成方法包括:收集网络中的正常流量数据和DDoS攻击流量数据,并对其进行特征处理,并对处理好的每条数据打上标签以区分其是否为DDoS流量,形成带标签数据集Vlabel
利用数据有害度网络和数据罕见度网络对决策树算法进行修正,得出最终的DDoS检测结果的方法包括:
利用决策树算法在带标签的训练数据集Vlabel上训练,得到决策树模型MDT
对原始未知的流量数据进行特征提取和独热编码,转换为能够输入算法进行计算的特征向量vunknown
利用决策树模型MDT对vunknown进行初步分类,得到初步预测结果;
若初步预测结果显示为有害,则直接将vunknown判断为DDoS攻击流量;
若初步预测结果显示为无害,则利用vunknown更新Grare,并利用Gpoison和Grare分别算出其对应的有害度和罕见度punknown和runknown
如果punknown大于事先设定的阈值pbar,则判断为DDoS攻击流量;
如果punknown小于事先设定的阈值vbar,则判断为DDoS攻击流量,否则判断为正常流量。
2.根据权利要求1所述的一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法,其特征在于,利用可编程数据平面对网络中的数据包进行特征采集的方法包括:
确定数据包中需要解析的各层协议头;
根据确定的协议头,指定需要解析的协议字段;
确定各个协议头之间的状态转移关系,指定各层协议头的解析顺序;
按照指定的解析顺序,获取数据包各层协议头中的指定字段。
3.根据权利要求2所述的一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法,其特征在于,所述数据有害度网络Gpoison中的节点数目与所述数据拟合网络Gfit中的神经元数目相同且一一对应,每个节点存储着对应神经元的有害度pj∈Gpoison
所述pj的更新方式由式(6)得出:
Figure FDA0003838100980000031
式(6)中,
Figure FDA0003838100980000032
Figure FDA0003838100980000033
分别表示t时刻和t+1时刻Gpoison中节点j的有害度,vl表示t时刻输入的带标签数据。
4.根据权利要求3所述的一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法,其特征在于,将历史数据与数据拟合网络相结合生成数据罕见度网络的方法包括:
构建数据罕见度网络Grare,数据罕见度网络Grare中的节点数目与数据拟合网络Gfit中神经元数目相同且一一对应,在系统运行时,对于网络中的历史流量数据进行记录;
对于一条历史流量数据vh,根据数据拟合网络Gfit计算历史流量数据vh所对应的获胜神经元nk,进而根据式(7)更新Grare中对应节点的罕见度rk
Figure FDA0003838100980000034
式中,
Figure FDA0003838100980000035
Figure FDA0003838100980000036
分别表示t时刻和t+1时刻Grare中节点k的罕见度;Tnow表示当前更新时刻的时间戳,Tk_last_update表示上一次更新节点k的rk时的时间戳。
CN202110704643.4A 2021-06-24 2021-06-24 一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法 Active CN113660193B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110704643.4A CN113660193B (zh) 2021-06-24 2021-06-24 一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110704643.4A CN113660193B (zh) 2021-06-24 2021-06-24 一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法

Publications (2)

Publication Number Publication Date
CN113660193A CN113660193A (zh) 2021-11-16
CN113660193B true CN113660193B (zh) 2022-11-01

Family

ID=78489019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110704643.4A Active CN113660193B (zh) 2021-06-24 2021-06-24 一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法

Country Status (1)

Country Link
CN (1) CN113660193B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086880A (ja) * 2002-06-28 2004-03-18 Oki Electric Ind Co Ltd 警戒システム、広域ネットワーク防護システム、不正アクセス追跡方法、不正アクセス検知システム、セキュリティ管理方法及び攻撃防護方法
CN110336830A (zh) * 2019-07-17 2019-10-15 山东大学 一种基于软件定义网络的DDoS攻击检测系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9870537B2 (en) * 2014-01-06 2018-01-16 Cisco Technology, Inc. Distributed learning in a computer network
US11153334B2 (en) * 2019-04-09 2021-10-19 Arbor Networks, Inc. Automatic detection of malicious packets in DDoS attacks using an encoding scheme

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004086880A (ja) * 2002-06-28 2004-03-18 Oki Electric Ind Co Ltd 警戒システム、広域ネットワーク防護システム、不正アクセス追跡方法、不正アクセス検知システム、セキュリティ管理方法及び攻撃防護方法
CN110336830A (zh) * 2019-07-17 2019-10-15 山东大学 一种基于软件定义网络的DDoS攻击检测系统

Also Published As

Publication number Publication date
CN113660193A (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN111818052B (zh) 基于cnn-lstm的工控协议同源攻击检测方法
CN112398779B (zh) 一种网络流量数据分析方法及系统
Bansal et al. A comparative analysis of machine learning techniques for botnet detection
CN109067586B (zh) DDoS攻击检测方法及装置
CN111740950A (zh) 一种SDN环境DDoS攻击检测防御方法
CN111107102A (zh) 基于大数据实时网络流量异常检测方法
CN107483473B (zh) 一种云环境的低速拒绝服务攻击数据流检测方法
CN113364787B (zh) 一种基于并联神经网络的僵尸网络流量检测方法
CN114257428B (zh) 一种基于深度学习的加密网络流量识别及分类方法
CN111817971B (zh) 一种基于深度学习的数据中心网络流量拼接方法
CN106411829A (zh) 基于小波能量谱和组合神经网络的LDoS攻击检测方法
CN115296919B (zh) 一种边缘网关对特殊流量包计算方法及系统
Kong et al. Identification of abnormal network traffic using support vector machine
Ghalehgolabi et al. Intrusion detection system using genetic algorithm and data mining techniques based on the reduction
Wang et al. Towards fast detecting intrusions: using key attributes of network traffic
CN117176664A (zh) 一种物联网用异常流量监控系统
CN116471048A (zh) 一种实时高效的物联网DDoS攻击检测方法及系统
Perona et al. Service-independent payload analysis to improve intrusion detection in network traffic
CN113132391B (zh) 一种用于工控蜜罐的恶意行为识别方法
CN113660193B (zh) 一种软件定义网络中基于数据面网络特征采集的DDoS攻击检测方法
CN113726809B (zh) 基于流量数据的物联网设备识别方法
CN114979017B (zh) 基于工控系统原始流量的深度学习协议识别方法及系统
CN113746707B (zh) 一种基于分类器及网络结构的加密流量分类方法
CN116248530A (zh) 一种基于长短时神经网络的加密流量识别方法
CN113904842B (zh) 一种SDN下基于条件生成对抗网络的IPv6网络中DDoS攻击检测方法

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