一种面向5g网络切片的DDoS攻击检测防御方法及系统与流程

文档序号:11180682阅读:1304来源:国知局
一种面向5g网络切片的DDoS攻击检测防御方法及系统与流程
本发明属于网络安全领域,更为具体地讲,涉及一种基于sdn技术面向5g网络切片的ddos攻击检测与攻击防御方法及系统。
背景技术
:在移动通信领域,从最初的2g、3g、到现在普遍使用的4g网络,移动网络主要服务移动手机,一般来说只为手机做一些优化。进入5g之后通信场景将变得多元化和复杂化,物与物之间的通信将迅猛发展,大大超越人与人之间的通信需求。传统的蜂窝网络和“一刀切”的模式已经不能满足5g时代各行各业对网络的不同需求。在未来的5g系统中,网络将通过sdn/nfv技术被进一步抽象为“网络切片”,从而支持成千上万个用例、众多用户类型和各种应用的使用。而无论基于sdn技术的5g网络或者是传统网络,网络安全始终是一个不可忽略的问题。尤其是随着移动终端设备的计算能力越来越强,移动设备作为僵尸节点来组建僵尸网络正逐渐成为现实。分布式拒绝服务攻击(ddos)是目前黑客经常采用而难以防范的攻击手段。基于sdn技术的5g网络中,控制层面和转发层面之间存在着持续的流,用于传输控制信息和上报状态信息,这种通信通道在传统网络中是没有的,而这种通信通道在sdn中传输着重要信息,地位十分重要。针对ddos攻击,若不加防范,5g网络相比传统网络,后果可能更加严重。5g中sdn技术的大量应用,将会加速sdn技术的普及以满足不同行业网络需求,一方面将会导致sdn技术的大量普及以满足大量的智能设备需要;另一方面,其一旦受到攻击,后果不堪设想。比如无人驾驶的智能交通,一旦网络受到攻击,将造成交通系统瘫痪。由于ddos攻击造成的流表被非法转发规则填充或是网络造成拥塞产生的拒绝服务危害可导致基于sdn的5g网络切片严重影响,同时基于sdn技术的5g网络切片可以借其sdn中openflow流表来对网络中的数据进行检测并将检测到的异常流进行丢弃以此来免受攻击。现有技术主要包括防火墙防攻击、流量清洗两种;防火墙攻击存在长时间开启导致防火墙转发包的处理速度减慢;而流量清洗通常是在网络汇聚节点部署清洗设备,但是这样无法有针对性的进行清洗,导致清洗设备的工作效率低。技术实现要素:本发明的目的在于:针对现有技术无法有针对性对节点下的受ddos攻击的子设备进行判断而造成后期防御ddos攻击的效率低的问题,本发明提供一种基于sdn技术面向5g网络切片的ddos攻击检测与攻击防御方法及系统。本发明采用的技术方案如下:本申请提供了一种面向5g网络切片的ddos攻击检测防御系统,包括网络数据采集模块、数据预处理模块、训练模块、异常检测模块和反馈抑制攻击模块;网络数据采集模块:用于获取sdn网络切片中的流表信息及网络切片标识信息,流表信息包括正常流表信息和受ddos攻击异常流表信息;数据预处理模块:接收网络数据采集模块发送的流表信息和网络切片标识信息,并对流表信息进行特征提取得到平均包数、平均字节数、平均持续时间、对流比、源/目ip地址的熵值、源/目端口号的熵值并构成流量检测数据组;训练模块:接收数据预处理模块发送的流量检测数据组并形成特征矩阵,并对特征矩阵进行训练得训练模型,并根据训练模型计算得到最优超平面,根据旧样本集中kkt条件对新样本集进行判断,是否存在违反原样本集kkt条件的情况,如有则更新训练模型;其中应当说明的是特征矩阵里面的数据既包括正常流表信息中提取的特征数据,也包括受ddos攻击异常流表中的特征数据。异常检测模块:计算待测数据流特征与分类最优超平面的距离并根据距离判断待测数据流是否异常;反馈抑制攻击模块:接收异常检测模块反馈的异常待测数据流并建立用于记录对应设备的异常流次数的哈希表,对超过设定值的异常数据流进行丢弃处理。本申请同时提供了一种面向5g网络切片的ddos攻击检测防御方法,包括以下步骤:步骤1、获取sdn网络切片中的流表信息及网络切片标识信息,流表包括正常流表和受ddos攻击异常流表;步骤2、对步骤1获得的流表信息进行特征提取得到平均包数、平均字节数、平均持续时间、对流比、源/目ip地址的熵值、源/目端口号的熵值并构成流量检测数据组;步骤3、利用步骤2得到的流量检测数据组形成特征矩阵,通过对特征矩阵进行训练得训练模型,并根据训练模型计算得到最优超平面,根据旧样本集中kkt条件对新样本集进行判断,是否存在违反原样本集kkt条件的情况,如有则更新训练模型;步骤4:计算待测数据流特征与步骤3得到的最优超平面的距离并根据距离判断待测数据流是否异常;步骤5:接收异步骤4判断出的异常待测数据流并建立用于记录对应设备的异常流次数的哈希表,对超过设定值的异常数据流进行丢弃处理。优选地,正常流表和异常流表的比例为1:1。具体地,所述步骤2中:所述平均包数anpf为:其中packetscount是第k条流表在特定时间间隔t内所包含的数据包数,flownum为时间间隔t内所有流表数量;所述平均字节数anbf为:其中bytescount是第k条流表在特定时间间隔t内所包含的比特数,flownum为时间间隔t内所有流表数量;所述对流比ppf为:ppf=2×pairflownum/flownum其中,pairflownum是交互流的对数,flownum是流表的总数;正常流的源/目ip地址的熵值h(ipsrc)为:设时间间隔t内,流表项集合中,不同的源ip地址集合为{srcipn|n=1,2,…,n},对应权重为{wsrcn|n=1,2,…,n},通过信息熵计算公式h(x)可计算得到h(ipsrc):同理得到受ddos攻击异常流的源/目ip地址的熵值h(ipdst)为:所述平均持续时间asdf为:其中durationseconds为每条流在交换机中的持续时间;正常流的源/目端口号的熵值h(portsrc)为:受ddos攻击异常流的源/目端口号的熵值h(portdst)为:其中不同目的ip地址集合为{dstipn|n=1,2,…,n},对应权重为{wdstn|n=1,2,…,n};上述预处理后数据构成流量检测数据组h为:h=[anpf,anbf,ppf,h(ipsrc),h(ipdst),asdf,h(portdst),h(portdst)]所述特征矩阵为:其中特征矩阵为fm。具体地,所述步骤3具体为:步骤3.1:输入训练集t={(x1,y1),…(xl,yl)}xi∈fm,yi∈{-1,1}i=1,2…l,用于建立一个最优超平面,使得该平面两侧距离平面最近的两类样本间的距离最大化;步骤3.2:构建用于分类的超平面wtx+b=0,x为输入向量,w为权值向量,b为偏置项;步骤3.3:构建样本空间任一点到最优超平面的距离为得到x到最优平面距离的度量函数将判别函数归一化,使得所有函数都满足下式:p表示超平面与最近样本点之间的间隔称为分割边缘,支持向量目标就是找到一个分割边缘最大的超平面,即最优超平面;步骤3.3:寻找离最优超平面最近的特殊样本xs满足g(xs)=1的支持向量点;步骤3.4:计算支持向量点到最优超平面的代数距离为:可得到正常异常两类数据间隔,用分割边缘表示为步骤3.5:当两类间隔ρ为最大,即||w0||最小,在kkt约束条件下计算得到满足条件使||w0||最小的最优超平面,同时判别是否有新增特征矩阵,若有则进行kkt条件判别,并对训练模型进行更新。具体地,根据旧样本集中kkt条件对新样本集进行判断,是否存在违反原样本集kkt条件的情况的具体步骤为:用旧样本集中kkt条件检验新样本集是否有违反kkt条件情况,若有,则将新样本集划分为违反和不违反两类集合,并训练新的样本集得到新样本集的训练模型得到新样本支持向量集合;用此新训练模型kkt条件检验原来样本集得到旧样本支持向量集合的情况,并同样将旧样本集划分为违反和不违反两类集合;最终将新旧样本中违反kkt条件的集合两个不满足kkt条件的样本集和新旧样本的支持向量集合两个支持向量类集合合并重新训练得到更新的训练模型。具体地,所述步骤4的具体步骤为:步骤4.1:将混合特征矩阵{fmmix}输入至训练模块,计算待测数据特征与最优分类面间的距离,并与支持向量点到最优分类面的距离比较判别待测数据是否异常;步骤4.2:如果发现待测数据异常,提取判别为异常数据对应的流表信息中对应设备源的ip、mac地址、交换机dpid、及目的ip地址、交换机端口号信息。具体地,所述步骤5的具体步骤为:步骤5.1:接收异常数据流的流表信息;步骤5.2:为每个网络切片所有设备建立以设备为键的哈希表,记录对应设备的异常流次数;步骤5.3:为设备违规次数哈希表设置不同等级阈值(levl1、level2,其中level1<level2),若计数表中设备对应违规次数达到level1未超过level2,则判断该异常流可能只是偶发异常数据流,直接丢弃该数据流;步骤5.4:若计数表中主机对应违规次数超过level2,且同时其异常率大于特定阈值则长时间对其进行屏蔽,根据异常信息所属切片类别通过对应网络切片sdn控制器中的statciflowpusher主动生成丢弃该流的流表,在包头域中填写相应的源ip、目的ip、mac地址匹配字段,并在动作列表中置空,同时调用设备违规次数表中各条记录,计算屏蔽时间并下发屏蔽流表。具体地,所述流量检测数据组h中的每个特征量进行数据标准化处理,数据标准化处理方法采用min-max标准化方式,具体为:其中max为样本数据中特征量的最大值,min为样本数据中特征量的最小值。综上所述,由于采用了上述技术方案,本发明的有益效果是:1.本发明通过对流表信息中进行准确的特征提取,并针建立以设备为键的哈希表进行设备异常数据流记录,后期进行丢弃屏蔽处理,从而实现了对节点下的子设备进行了准确且由针对性的ddos攻击判断,实现了高效的ddos检测防御,提高攻击检测效率,同时提高攻击检测后攻击缓解效率,为大量存在sdn技术的5g网络切片提供安全保障;2.本发明中引进ktt条件判别,且结合ktt条件更新训练模型从而避免了新的攻击类型出现现有的训练模型失效的问题,同时本申请中将新样本进行分类处理,克服了现有技术需要直接把新的样本加入到已训练好的模型来重新训练严重增加训练时间、降低分类速度、影响防攻击检测处理效率的技术壁垒;3.本发明中通过为设备违规次数哈希表设置不同等级阈值,从而实现了更加准确的ddos攻击检测判断,避免了不准确的防御而导致的网络更加堵塞的问题;4.本申请通过数据化标准处理,降低了特征之间的量纲影响,防止某个特征过大或过小,从而在训练中起的作用不平衡的问题,对数据标准化处理,使各指标处于同一数量级,使得采集的数据有更好的适用性和准确性;5.本发明中正常数据与异常数据样本量比例接近1:1,使得分类器具有良好的分类性及较高的检测率和准确率;附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明的架构示意图;图2是本发明的系统框架示意图;图3是本发明的方法流程示意图具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合图1-图3对本发明作详细说明。本发明实施例提供一种面向基于sdn的5g网络中切片环境中从openflow流表角度来检测并防御ddos攻击的方法。该方法主要包括:(1)网络数据采集模块通过restapi接口采集网络切片中存在的流表信息,并存储至流表集合中;(2)数据预处理模块按照本发明中采用的8元特征组对采集得到的流表信息进行特征提取,并对数据做标准化处理,为训练集中每条特征添加正常/异常标签(+1/-1);(3)训练模块采用svm算法根据输入样本为依据,计算支持向量点,得到最优分类超平面;(4)检测模块根据训练阶段生成的分类超平面对待检测数据进行分类判决,输出分类值;(5)反馈抑制攻击模块依据检测模块分类值为网络中每个设备维护违规次数计数表,并依据此计数表来决策生成相应的抑制流表阻止异常流传输,以达到对检测到的异常流进行拦截丢弃目的。本发明提供的面向5g网络切片的ddos攻击检测与防御系统架构、ddos攻击检测与防御系统构成及系统流程图如图1、2、3所示,包括:步骤1:首先通过网络数据采集模块通过restapi接口采集5g网络转发层交换机上对应网络切片中流表、及切片标识信息,作为模型训练数据,网络正常运行时,访问网站服务器及发起ddos攻击,采集到的网络数据作为检测部分所用数据;具体来说,设初始时刻t=0时,在网络切片中运行dit-g分布式流量生成工具,模拟正常用户访问网络产生数据包交互,包含tcp、udp、icmp协议数据包。通过scayp开源软件编写ddos攻击脚本attack.py,在时间点tattack1时刻停止注入正常流量并运行ddos攻击脚本,网络中存在大量流表。网络数据采集模块通过restapi接口向交换机发送请求以获取流表信息。可采集到openflow流表中所包含的有效信息包括包裹数量(packetcount)、字节数(bytecount)、持续时间(durationseconds)、源ip地址(ipv4_src)、目的ip地址(ipv4_dst)、源端口号(port_src)、目的端口号(port_dst)等信息。将此流表信息作为正常网络流量以用于异常检测中的背景流量。并将所获取的每条流表信息存储至流表项集合中,其中结构如下表所示:获取ddos攻击情况下流表信息并存处至流表项集合中,结构同上表中结构。将得到的正常流表信息集合和ddos攻击流表信息集合分别作为输入信息输入至数据预处理模块对流表信息进行特征提取。步骤2:数据预处理模块对采集模块所输入的流表信息进行特征提取。本发明中所选取的特征为流表平均包数、流表平均字节数、成对流比例、源/目ip地址的信息熵值、流表平均持续时间、源/目的端口信息熵值;具体来说,分析网络数据采集模块发送来的和流表信息中正常通信状况下流表中包含的信息,以及发生ddos攻击时流表中相关属性值的变化。选取每条流的平均包数(apf)、每条流的平均字节数(abf)、每条流的平均持续时间(adf)、对流比(pcf)、源/目ip地址的熵值(srcip/dstip)、源/目端口号的熵值(srtprt/dstprt)。构成异常流量检测的八元组h。h=[anpf,anbf,ppf,h(ipsrc),h(ipdst),asdf,h(portdst),h(portdst)]按上述分析处理收集到的数据得到用于sdn网络中攻击检测过程中模型训练所需要的8维数据特征。构成如下svm训练特征矩阵。在训练开始前需要为特征值添加对应的标签,本发明中,训练数据对应为正常的添加为+1标签,对应为异常数据添加为-1标签。本发明中采用min-max标准化方式对特征值进行便准化处理,将结果值映射到[0-1]之间,以解决数据特征之间的可比性,各指标处于同一数量级。转换函数如下所示。其中max为样本数据中的最大值,min为样本数据中的最小值。步骤3:在训练与检测模块,本发明使用支持向量机(svm)算法根据所输入特征信息寻找支持向量点,构成最优分类面。之后由此最优分类面对待测数据进行分隔,判别待检测数据是正常或者异常数据。具体来说,对于输入训练集t={(x1,y1),…(xl,yl)}xi∈fm,yi∈{-1,1}i=1,2…l,建立一个最优决策超平面,使得该平面两侧距离平面最近的两类样本间的距离最大化,从而对分类问题提供良好的泛化能力。构建用于分类的超平面wtx+b=0,式中x为输入向量,w为权值向量,b为偏置项。用p表示超平面与最近样本点之间的间隔称为分割边缘,支持向量目标就是找到一个分割边缘最大的超平面,即最优超平面。构建样本空间任一点到最优超平面的距离为得到x到最优平面距离的度量函数将判别函数归一化,使得所有函数都满足下式:寻找离最优超平面最近的特殊样本xs满足g(xs)=1的支持向量点。支持向量点最靠近分类决策面,是最难分类的数据点,这些点在支持向量机的运行中起着主导作用。计算支持向量点到最优平面的代数距离为:可得到正常异常两类数据间隔,用分割边缘表示为其中,最优决策超平面和最优超平面和最优平面均属于统一概念。要得到最优化超平面就需要两类间隔ρ为最大,即||w0||最小。在kkt约束条件下计算得到满足条件且使||w0||最小的分类超平面。同时判别是否有新增样本,若有进行kkt条件判别,并进行模型更新;将混合流量特征集{fmmix}输入至训练模块训练得到的svm分类器中,通过训练得到的最优分类超平面对{fmmix}进行分割,判别每一条特征属于超平面之上还是超平面之下,得到对应的正常异常类别值;步骤4:反馈抑制模块根据接收到的检测模块发送来的异常数据中所包含的of交换机id、异常流所包含的信息以及网络切片标识,通过设备征信机制为各网络切片中设备添加异常次数记录用于判断设备可信程度。并生成针对攻击流的抑制流表项,防止异常流在网络中持续传输导致网络拥塞。具体来说,检测模块检测到异常流后,记录异常流对应设备源ip、mac地址、交换机dpid、及目的ip地址、交换机端口号信息及所属流量信息所在切片标识,并发送至反馈抑制攻击模块。反馈抑制攻击模块接收上述信息,并为每个网络域内所有设备建立以设备为键的哈希表,如下表。记录对应设备的异常流次数,也就是设备的可信度。单位时间设备异常流计数表host1host2host3host4host5host6host7……hostn1221820……0为设备违规次数哈希表设置不同等级阈值(levl1、level2,其中level1<level2),若计数表中设备对应违规次数达到level1未超过level2,则判断该异常流可能只是偶发异常数据流,直接将此流丢弃即可。若计数表中设备对应违规次数超过level2,且同时其异常率大于特定阈值说明该设备持续发送异常攻击流量,需要长时间对其进行屏蔽。根据异常信息所属切片类别通过对应网络切片sdn控制器中的staticflowpusher主动生成丢弃该流的流表,在包头域中填写相应的源ip、目的ip、mac地址等匹配字段,并在动作列表中置空(相当于丢弃数据包的操作)。同时调用设备违规次数表中各条记录,计算屏蔽时间并下发屏蔽流表。最终完成基于sdn的面向5g网络切片的ddos攻击检测与防御过程。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1