CN114205147B - 基于软件定义网络的链路泛洪攻击防御方法及系统 - Google Patents
基于软件定义网络的链路泛洪攻击防御方法及系统 Download PDFInfo
- Publication number
- CN114205147B CN114205147B CN202111507854.5A CN202111507854A CN114205147B CN 114205147 B CN114205147 B CN 114205147B CN 202111507854 A CN202111507854 A CN 202111507854A CN 114205147 B CN114205147 B CN 114205147B
- Authority
- CN
- China
- Prior art keywords
- link
- classifier
- congestion
- network
- software defined
- 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
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000007123 defense Effects 0.000 title claims abstract description 32
- 238000001514 detection method Methods 0.000 claims abstract description 26
- 230000002265 prevention Effects 0.000 claims abstract description 11
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 230000015654 memory Effects 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 13
- 238000007637 random forest analysis Methods 0.000 claims description 8
- 238000012706 support-vector machine Methods 0.000 claims description 7
- 230000000116 mitigating effect Effects 0.000 claims description 4
- 230000002457 bidirectional effect Effects 0.000 claims description 3
- 230000004044 response Effects 0.000 claims description 2
- 238000013461 design Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/32—Flooding
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于软件定义网络的链路泛洪攻击防御方法及系统,其中方法包括:获取软件定义网络中各个链路的信息;根据各个链路的信息,确定关键链路;确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;对产生泛洪攻击的链路进行攻击防御和预防。能够在保留软件定义网络灵活性的同时也能有效缓解链路泛洪攻击对网络带来的伤害。
Description
技术领域
本发明涉及网络安全技术领域,特别是涉及基于软件定义网络的链路泛洪攻击防御方法及系统。
背景技术
本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。
在现实的网络环境中,用户经常会遇到各种各样的网络攻击,信息网络的快速发展给人们带来快捷的同时也导致了发动网络攻击所需要的学习成本越来越低,同时我们所使用的电脑系统中也存在很多的漏洞,这就导致了网络攻击形式的多样化,从而也使用户信息安全性以及网络的便利程度都受到不同层次的影响。
电脑上的防护软件以及网络边界上的防火墙确实可以抵挡一部分网络攻击,但如果攻击者能够绕过防火墙或者并不是直接攻击防火墙内区域,防火墙就会失效。攻击者利用网络性能瓶颈发动的攻击就属于这种类型,比如攻击者可以使用僵尸网络发动DoS攻击或者DDoS攻击会直接导致用户的网络传输被中止。现在对普通DDoS攻击的检测与防御许多厂商已经有了很多解决方案,并且都有了很好的防护效果。
近年来新出现了一种新型的DDoS攻击,被称为链路洪泛攻击(Link FloodingAttack,LFA)。攻击者利用大量僵尸网络的机器人向目标区域相关联的链路发送低速但数量多的流,造成网络性能的下降。因为并没有直接攻击主机,所以用户很难判断自己受到了攻击,用户会更加倾向于信号不好等因素,目标区域中传统的入侵检测系统以及防火墙也会失去效果。这种攻击的原理类似于传统的DDoS,但与DDoS攻击不同的是发动这种攻击的攻击者的目的并不是直接攻击目标主机,而是希望通过向其所在的主干网络或者与目标区域关联度较大的链路上的其他区域内的主机发送合法低速的数据流来堵塞相关链路,从而使受害的区域内的主机连接不上网络。因为“实际上的接收数据的区域”可能不在检测系统的检测范围之内,而且这种攻击也并不是直接攻击的目标区域(甚至系统都未感知到自己受到了攻击),这样就导致了传统的DDoS检测手段失去了作用。这种攻击会严重影响用户的使用体验,而且如果攻击者攻击的是政府机关或者一些社会基础设施的网络,则可能会导致更为严重的后果。
软件定义网络(Software-Defined Network,SDN)是美国斯坦福大学Clean-Slate课题研究组提出的一种新型的网络架构,它是一种网络虚拟化的实现方式。其核心技术是将数据平面和控制平面分离,从而实现流量的灵活控制。SDN通过控制与转发分离,将交换设备的控制逻辑集中到控制器中,控制器再通过统一的接口将指令下发到交换设备中。其本质特点就是控制平面和数据平面的开放性以及可编程性。软件定义网络的出现打破了传统网络设备的局限性和封闭性,使网络更加简单,灵活开放。
软件定义网络的出现给网络带来了新的生机和活力的同时也面临着各种挑战。控制逻辑的集中会消耗控制器极大的资源,而且这种网络架构对使用僵尸网络发动的网络攻击尤其的敏感。当软件定义网络在面对僵尸网络所发动的攻击时,网络中会产生大量的新的流量。而在SDN中每出现一个新的流量,SDN交换机中如果没有这个新的流的信息,那么其就会将这个流的信息发送给控制器,控制器就会处理这个信息的转发逻辑。但是僵尸网络的规模比较大,所以这会给控制器带来很大的负担。情况严重甚至会导致控制器进入死机并且不可自动恢复的状态,所以僵尸网络发动的DDoS攻击对于软件定义网络而言是致命的。LFA在原理上也属于DDoS的一种,当攻击者发动链路洪泛攻击时,SDN中受影响的交换机同样也会产生大量的Packet_In消息,这对于控制器的负载同样会变得很大。
发明内容
为了解决现有技术的不足,本发明提供了基于软件定义网络的链路泛洪攻击防御方法及系统;能够在保留软件定义网络灵活性的同时也能有效缓解链路泛洪攻击对网络带来的伤害。
第一方面,本发明提供了基于软件定义网络的链路泛洪攻击防御方法;
基于软件定义网络的链路泛洪攻击防御方法,包括:
获取软件定义网络中各个链路的信息;根据各个链路的信息,确定关键链路;
确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;
对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;
对产生泛洪攻击的链路进行攻击防御和预防。
第二方面,本发明提供了基于软件定义网络的链路泛洪攻击防御系统;
基于软件定义网络的链路泛洪攻击防御系统,包括:
关键链路确定模块,其被配置为:获取软件定义网络中各个链路的信息;根据各个链路的信息,确定关键链路;
负载均衡模块,其被配置为:确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;
攻击检测模块,其被配置为:对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;
缓解防御模块,其被配置为:对产生泛洪攻击的链路进行攻击防御和预防。
第三方面,本发明还提供了一种电子设备,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,
其中,所述计算机可读指令被所述处理器运行时,执行上述第一方面所述的方法。
第四方面,本发明还提供了一种存储介质,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,执行第一方面所述方法的指令。
第五方面,本发明还提供了一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现上述第一方面所述的方法。
与现有技术相比,本发明的有益效果是:
本发明基于软件定义网络架构,在获取网络视图以及流量数据上较为便捷,可以根据自身需求有针对性地设计流量路由方法,具有较强的灵活性;通过对当前链路的使用带宽和通过此条边的链路条数进行加权来确定潜在的危险链路,同时根据标准化后的可使用度和剩余带宽作为边的权值来进行负载均衡,剩余带宽可直接用链路总带宽减去当前负载,避免带来过多的系统开销。并且引入动态特征作为权值可以更好的适应复杂的网络环境,提高当前系统的鲁棒性;在使用算法检测攻击之前,流量数据会和危险链路名单比较,这样节省了算法的时间,同时提升了系统的准确度,保证了模型训练的高效性和准确性;使用随机森林和支持向量机算法来检测攻击,两个算法的结合使用能有效保障检测结果的正确性;防御方法中根据流量来源来使用双向黑名单,减少了数据计算量,减轻了系统开销,提高了系统稳定性。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1为本发明所针对的网络攻击LFA的原理图,其中s4与s6之间的链路为可能受到攻击的链路;
图2为本发明实施例所述的基于SDN的链路泛洪攻击防御系统的流程图;
图3为本发明实施例所述的基于SDN的链路泛洪攻击防御系统的系统概括图。
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本实施例所有数据的获取都在符合法律法规和用户同意的基础上,对数据的合法应用。
实施例一
本实施例提供了基于软件定义网络的链路泛洪攻击防御方法;
如图2所示,基于软件定义网络的链路泛洪攻击防御方法,包括:
S101:获取软件定义网络中各个链路的信息;根据各个链路的信息,确定关键链路;
S102:确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;
S103:对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;
S104:对产生泛洪攻击的链路进行攻击防御和预防。
进一步地,所述S101:获取软件定义网络中各个链路的信息;具体包括:通过当前链路的路径数量,网络中的主机数量,每条链路的原有带宽和每条链路的当前被使用带宽。
通过当前链路的路径数量,包括:网络拓扑中路径的总数量和通过各个链路的路径数量。
在实际计算时,网络拓扑中路径的总数量,通过当前软件定义网络控制器控制下的交换机连接主机的总数量来获取,为软件定义网络控制器控制的网络中主机数量的平方。
收集网络中链路拓扑信息和链路的实时状态,并将其转换成我们需要的信息格式。
进一步地,所述S101:根据各个链路的信息,确定关键链路;具体包括:
根据各个链路的信息,计算链路关键度;
选择链路关键度大于设定阈值的链路,作为关键链路。
应理解地,本发明基于软件定义网络的架构提供一种针对链路洪泛攻击的受害链路的查找方法,这同样也是网络中具有高可能性超负载链路的查找方法。查找此类链路不仅可以用于链路洪泛攻击的缓解与防御,同样也可以用于网络稳定性的提高以及减轻控制器的负载,因此具有较大的使用空间。
示例性地,所述S101:根据各个链路的信息,确定关键链路;具体包括:
S1011:利用SDN控制器全图视角的特点,获取每个交换机以及其相关链路的信息;
S1012:使用无向图以及预先定义好的节点类和边类来表示现实中的网络拓扑、交换机以及各条链路;
节点类的设计根据交换机所具有的信息,包括:IP地址,路由负载等信息。边类的设计一般包括带宽等信息;
S1013:根据目前网络的状况来计算出链路的关键度作为关键链路的选择条件,链路关键度的计算如下所示:
c=(bw/BW)*a+(paths/Paths)*(1-a) (1)
其中,a为根据当前网络类型设计的偏差值,根据不同的网络类型以及网络功能进行设定。bw是使用带宽,BW是当前链路总带宽,paths是路径通过条数,指当前通过此链路的路径的条数,Paths指的是当前网络拓扑可能存在的路径条数,可以简单计算为交换机数目的平方。使用带宽以及路径通过条数都是随着网络的变化来进行动态变化的。
关键链路确定,用于确定网络中比较容易受到攻击的链路或者正处于拥堵状态的链路。具体的,将链路信息收集模块收集来的网络信息进行处理,用图G=(V,E)来描述物理拓扑,其中V表示物理交换机的集合,E表示交换机之间的物理链路的集合。形成网络拓扑后根据计算的到的关键度c和当前网络的负载权值c2分别确定关键链路集合E1和拥堵链路集合E2。形成网络拓扑图后根据计算的到的关键度c确定关键链路集合S。
进一步地,所述S102:确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;具体包括:
根据设定的链路容量警戒值来进行确定关键链路是否发生拥堵;对发生拥堵的链路采用负载均衡的方式进行缓解。
其中,链路容量警戒值,设置为一个百分数乘总带宽,即:
链路容量警戒值=c%*BW
其中,BW是当前链路总带宽。
进一步地,所述S102:确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;具体包括:
S1021:记录超出链路容量警戒值的链路编号,将拥堵链路编号加入拥堵名单中,并且同时调整软件定义网络中链路的权值;并将权值以及链路编号上传到软件定义网络的控制器;
S1022:控制器使用最短链路算法,重新计算软件定义网络中的最短路径,同时启用备用链路;将备用链路编号加入拥堵名单中;
S1023:将计算过后的最短路径转化成流表命令下发到对应的交换机;
S1024:检查网络拥堵状况,若拥堵重复S1021~S1023;
S1025:同一链路引起的拥堵名单在三分钟内数量超过设定的初始阈值B_Max,启动链路洪泛攻击检测。
进一步地,所述S1021的软件定义网络中链路的权值,具体计算公式为:
c2=(bw2/BW)*b+(1-paths/Paths)*(1-b) (2)
其中,bw2为该条链路的剩余带宽,b指的是链路的可使用度,大部分场景下取值同上文a,但可根据特殊情况单独进行设定。公式(2)的BW、paths、Paths意义同上文。
应理解地,对于系统流量拥塞情况的突然出现,使用轻量级的负载均衡的方式对其进行缓解。对于突发性流量产生的类链路泛洪攻击,优先使用负载均衡的方式进行缓解,这样既可以避免误判,也可以减轻系统所面临的链路洪泛攻击所带来的压力。本发明使用静态的节点中心度和动态的链路负载作为负载依据,对这两个数值进行加权获得负载权值。
流量重路由,用于缓解网络中流量拥堵,并且同时为关键链路生成备用的链路。具体的,根据关键链路确定模块中生成的网络拓扑图G和关键链路集合E1,利用Dijkstra算法寻找前k个关键链路的备用链路,并将其记录在数据库中,当关键链路中带宽占用率大于警戒值ls即开始启用备用链路。相似的,对于拥堵状况下,将E2集合中链路从具有全局链路的图G中删除,然后重新计算最短路径,再将计算后的路径转换成流表下发到交换机中。
具体的,涉及到了关键链路名单、拥塞链路集合名单、以及Dijkstra算法在网络拓扑图中的实现问题。其中键链路名单里链路的数量k应该由网络管理员来设定,可以是具体的数字或者比例。拥塞链路名单存储当前拓扑中拥塞的链路,其名单中链路数量应该等同于当前SDN控制器所管辖链路数量,可避免出现越界错误。对于利用Dijkstra算法计算重路由路径,这对于现有传统网络以及SDN网络都是可行的,不过因为算法的实现需要计算全图的节点,所以这种方法可能会引起对系统鲁棒性的担忧,但最先进的SDN控制器被设计为提供高性能的分布式平台,从而能够内置支持监控大规模网络,所以我们默认这是没有问题的。
关键链路拥塞缓解模块,对于关键链路发生的拥塞进行缓解,确定备份链路。具体的,在图1中,当控制器收到关键链路<s4,s6>正处于拥塞状态时,正常用户到受害区域信息延迟增大。根据关键链路确定模块生成的无向图G,我们可以将其简化为s2到s9的最短路径选择。将G的E集合和S集合中的重复部分去掉,将负载权值c2作为权值使用Dijkstra算法重新计算s2到s9的最短路径,并且将<s4,s6>加入临时危险链路名单S2。
进一步地,所述S103:对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;具体包括:
S1031:先把拥塞链路与危险链路名单相比较,如果拥塞链路存在于危险链路名单中,就直接进入S1032,否则就再检查拥塞链路是否存在于临时危险链路名单,检查后如果拥塞链路存在于临时危险链路名单,就进入S1032,如果不存在就将其加入临时危险链路名单,然后返回继续负载均衡;
S1032:对流经当前链路的流量以及因为当前链路拥塞而启用的备用链路的流量均分别输入第一分类器和第二分类器中,并根据两个分类器的分类结果,给出对应的响应。
示例性地,危险链路名单,包括:受到过攻击的链路和关键链路。
临时危险链路,包括:短时间内引起攻击警告的链路。
危险链路名单,是前面S101确定的关键链路加上之前受过攻击的链路的名单,因为链路泛洪攻击需要找到能影响目标的相关链路,这种链路寻找很多条并不是特别容易(需要弄清楚部分网络拓扑),所以受到过攻击的链路再次受到攻击的可能性比其他链路要大。
临时危险链路名单,只是存储短时间内引起攻击警告的链路,如果连续引起两次警告,即一条链路在临时危险链路名单里出现两次,就需要对经过其的流量进行检测。
进一步地,第一分类器为随机森林模型;第二分类器为支持向量机模型;
当第一分类器的分类结果为正常,第二分类器的分类结果为正常,则返回继续负载均衡,重置拥塞名单;
当第一分类器的分类结果为正常,第二分类器的分类结果为异常,当前链路的标签为非危险链路,则执行的动作为返回负载均衡,将当前链路添加到危险主机名单中;
当第一分类器的分类结果为异常,第二分类器的分类结果为正常,当前链路的标签为非危险链路,则执行的动作为返回负载均衡,将当前链路添加到危险主机名单中;
当第一分类器的分类结果为正常,第二分类器的分类结果为异常,当前链路的标签为危险链路,则执行的动作为将当前链路添加到黑名单中;
当第一分类器的分类结果为异常,第二分类器的分类结果为正常,当前链路的标签为危险链路,则执行的动作为将当前链路添加到黑名单中;
当第一分类器的分类结果为异常,第二分类器的分类结果为异常,当前链路的标签为非危险链路,则执行的动作为将当前链路添加到黑名单中;将当前链路添加到危险主机名单中;
当第一分类器的分类结果为异常,第二分类器的分类结果为异常,当前链路的标签为危险链路,则执行的动作为将当前链路添加到黑名单中。
应理解地,在这一部分使用两种机器学习的算法,对流经该链路以及因为该链路拥塞而产生的备用链路的流量进行分类,机器学习算法可以有效地确定流量的类别,但不同的算法都具有各自的优缺点,并不能适用于所有的场景,所以可以结合起来使用,增加其可靠性。
第一分类器,选用随机森林。随机森林在网络相关的数据集上表现良好,两个随机性的引入,使得随机森林不容易陷入过拟合的同时也使得随机森林具有很好的抗噪声能力。而且它能够处理很高维度的数据,并且不需要做特征选择,对数据的适应能力强、训练速度快,十分适合在网络环境下使用。
第二分类器,使用支持向量机算法。支持向量机算法分类思想很简单,就是将样本与决策面的间隔最大化。我们使用高斯核函数把数据向高维空间进行映射,来解决网络数据中非线性的分类。虽然支持向量机在解决多分类问题上表现的并不是非常优秀,但是这里我们要做到的仅仅是判定是否是LFA,其分类效果较好,适合在此环境中使用。得到的分类结果根据以下规则执行下一步操作:
表1判定动作表
附:危险主机名单可以通过表中方式和其他条件下触发添加
攻击检测,对导致关键链路拥塞的流量进行检测,确定是否是链路泛洪攻击。具体的,当拥塞缓解模块处理b次后链路仍然在拥堵或者拥堵链路处于临时危险链路名单S2时,控制器就会将流量信息传给攻击检测模块,攻击检测模块接收后,将链路信息与危险链路名单S3进行比较,如果一致,就进入算法判定阶段。将链路中的流信息提取特征,使用支持向量机模型得到判定结果j1,使用随机森林模型得到判定结果j2,将得到的结果利用表一进行判定,得到最终判定。
进一步地,所述S104:对产生泛洪攻击的链路进行攻击防御和预防;具体包括:
根据流量的来源区分防御,对于同一软件定义网络控制器控制下的网络区域内的流量,根据源主机IP设定的黑名单进行防御;对于非同一软件定义网络控制器控制下的网络区域内的流量,使用双向黑名单进行防御。
示例性地,双向黑名单:本发明针对LFA攻击设计专门的黑名单,其基本原理如下:设置具有超时删除的黑名单,黑名单针对于两个目标,一个是源主机名单,一个是目标主机名单。目标主机名单针对于链路泛洪攻击,因为攻击一般是使用僵尸网络,是向目标区域发送低速流,相对而言,检测目标主机IP地址要更具有可信度一点,但为了防止恶意发送流量导致的误判,目标主机IP设计的超时删除时间会更短。
根据流量来源区分防御:根据不同的网络区域的对流量进行划分。对同一软件定义网络控制器控制下的网络区域内的流量,只需要使用根据源主机IP设定的黑名单即可,对于非同一软件定义网络控制器控制下的网络区域内的流量,则需要同时使用上述两个黑名单进行判别。
进一步地,所述S104:对产生泛洪攻击的链路进行攻击防御和预防;还包括:
将控制器下发的缓解指令流的优先级设置为最高级,优先保证指令流的下发;对指令链路增加备用链路的方式进行预防。
进一步地,所述指令链路,包括:连接交换机数量超过设定阈值的点所在的链路、流密集链路和高风险链路。
针对预防主机命令无法下发的问题,第一方面沿用最普通的方法,将控制器下发的缓解指令流的优先级设置为最高,优先保证指令流的下发,另一方面我们对指定的链路增加备用链路进行预防此类问题。
指定链路条件如下:
(1)中心度高的点所在的点的链路:即连接交换机多的点所在的链路,一般认为连接交换机越多,越容易被攻击者认为是关键链路。
(2)流密集链路:根据新数据包进入链路频率来判断流密集程度,可以通过控制器接收此链路的Packet_In数据包来进行计算。流密集程度高的越容易被认为是关键链路。
(3)高风险区:一定时间间隔内受到过攻击的链路或者节点所在的链路。
如果攻击检测模块确定是链路洪泛攻击,就利用设计好的黑名单进行防御。具体涉及到了关键链路名单、Dijkstra算法在网络拓扑图中的实现、临时危险链路名单、危险链路名单、以及黑名单设定的问题。其中键链路名单以及Dijkstra算法在网络拓扑图中实现可以参照前序步骤;临时危险链路名单S2指的是超过最大负载次数的链路名单,网络管理员可以设定最大负载均衡次数b,当一条链路负载均衡次数超过设定阈值b时就可以直接使用攻击检测,这样是为了避免大规模网络情况下无休止的负载均衡导致的网络服务变差;危险链路名单指的是已经遭受过链路泛洪攻击的链路名单,因为攻击者不可能像SDN控制器那样了解整个网络拓扑,所以攻击者想要攻击目标区域很有可能会使用同样的区域内的“内应主机”或者“诱饵”服务器,走“相同的链路”。所以受到过攻击的链路应该被重视;黑名单设定按照来源和目标来判定,对同一控制器控制区域内的流量,只需要使用根据源主机IP设定的黑名单即可,对于非同一控制器内的流量,则需要同时使用上述两个黑名单进行判别。
实施例二
本实施例提供了基于软件定义网络的链路泛洪攻击防御系统;
如图3所示,基于软件定义网络的链路泛洪攻击防御系统,包括:
关键链路确定模块,其被配置为:获取软件定义网络中各个链路的信息;根据各个链路的信息,确定关键链路;
负载均衡模块,其被配置为:确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;
攻击检测模块,其被配置为:对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;
缓解防御模块,其被配置为:对产生泛洪攻击的链路进行攻击防御和预防。
此处需要说明的是,上述关键链路确定模块、负载均衡模块、攻击检测模块和缓解防御模块对应于实施例一中的步骤S101至S104,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为系统的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
上述实施例中对各个实施例的描述各有侧重,某个实施例中没有详述的部分可以参见其他实施例的相关描述。
所提出的系统,可以通过其他的方式实现。例如以上所描述的系统实施例仅仅是示意性的,例如上述模块的划分,仅仅为一种逻辑功能划分,实际实现时,可以有另外的划分方式,例如多个模块可以结合或者可以集成到另外一个系统,或一些特征可以忽略,或不执行。
实施例三
本实施例还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述实施例一所述的方法。
应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。
实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元及算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
实施例四
本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.基于软件定义网络的链路泛洪攻击防御方法,其特征是,包括:
获取软件定义网络中各个链路的信息;根据各个链路的信息,确定关键链路;
确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;
对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;
对产生泛洪攻击的链路进行攻击防御和预防;
对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;具体包括:
先把拥塞链路与危险链路名单相比较,如果拥塞链路存在于危险链路名单中,就直接进入分类步骤,否则就再检查拥塞链路是否存在于临时危险链路名单,检查后如果拥塞链路存在于临时危险链路名单,就进入分类步骤,如果不存在就将其加入临时危险链路名单,然后返回继续负载均衡;
分类步骤:对流经当前链路的流量以及因为当前链路拥塞而启用的备用链路的流量均分别输入第一分类器和第二分类器中,并根据两个分类器的分类结果,给出对应的响应;
第一分类器为随机森林模型;第二分类器为支持向量机模型;
当第一分类器的分类结果为正常,第二分类器的分类结果为正常,则返回继续负载均衡,重置拥堵名单;
当第一分类器的分类结果为正常,第二分类器的分类结果为异常,当前链路的标签为非危险链路,则执行的动作为返回负载均衡,将当前链路添加到危险主机名单中;
当第一分类器的分类结果为异常,第二分类器的分类结果为正常,当前链路的标签为非危险链路,则执行的动作为返回负载均衡,将当前链路添加到危险主机名单中;
当第一分类器的分类结果为正常,第二分类器的分类结果为异常,当前链路的标签为危险链路,则执行的动作为将当前链路添加到黑名单中;
当第一分类器的分类结果为异常,第二分类器的分类结果为正常,当前链路的标签为危险链路,则执行的动作为将当前链路添加到黑名单中;
当第一分类器的分类结果为异常,第二分类器的分类结果为异常,当前链路的标签为非危险链路,则执行的动作为将当前链路添加到黑名单中;将当前链路添加到危险主机名单中;
当第一分类器的分类结果为异常,第二分类器的分类结果为异常,当前链路的标签为危险链路,则执行的动作为将当前链路添加到黑名单中。
2.如权利要求1所述的基于软件定义网络的链路泛洪攻击防御方法,其特征是,根据各个链路的信息,确定关键链路;具体包括:
根据各个链路的信息,计算链路关键度;
选择链路关键度大于设定阈值的链路,作为关键链路。
3.如权利要求1所述的基于软件定义网络的链路泛洪攻击防御方法,其特征是,确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;具体包括:
根据设定的链路容量警戒值来进行确定关键链路是否发生拥堵;对发生拥堵的链路采用负载均衡的方式进行缓解。
4.如权利要求1所述的基于软件定义网络的链路泛洪攻击防御方法,其特征是,确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;具体包括:
(1):记录超出链路容量警戒值的链路编号,将拥堵链路编号加入拥堵名单中,并且同时调整软件定义网络中链路的权值;并将权值以及链路编号上传到软件定义网络的控制器;
(2):控制器使用最短链路算法,重新计算软件定义网络中的最短路径,同时启用备用链路;将备用链路编号加入拥堵名单中;
(3):将计算过后的最短路径转化成流表命令下发到对应的交换机;
(4):检查网络拥堵状况,若拥堵重复(1)~(3);
(5):同一链路引起的拥堵名单在三分钟内数量超过设定的初始阈值B_Max,启动链路洪泛攻击检测。
5.如权利要求1所述的基于软件定义网络的链路泛洪攻击防御方法,其特征是,对产生泛洪攻击的链路进行攻击防御和预防;具体包括:
根据流量的来源区分防御,对于同一软件定义网络控制器控制下的网络区域内的流量,根据源主机IP设定的黑名单进行防御;对于非同一软件定义网络控制器控制下的网络区域内的流量,使用双向黑名单进行防御;
或者,
对产生泛洪攻击的链路进行攻击防御和预防;还包括:
将控制器下发的缓解指令流的优先级设置为最高级,优先保证指令流的下发;对指令链路增加备用链路的方式进行预防。
6.一种采用基于如权利要求1所述的基于软件定义网络的链路泛洪攻击防御方法的系统,其特征是,包括:
关键链路确定模块,其被配置为:获取软件定义网络中各个链路的信息;根据各个链路的信息,确定关键链路;
负载均衡模块,其被配置为:确定关键链路是否发生拥堵,对发生拥堵的链路进行缓解;
攻击检测模块,其被配置为:对网络拥堵的时长和数量均超过设定阈值的链路,启动链路泛洪攻击检测;
缓解防御模块,其被配置为:对产生泛洪攻击的链路进行攻击防御和预防。
7.一种电子设备,其特征是,包括:
存储器,用于非暂时性存储计算机可读指令;以及
处理器,用于运行所述计算机可读指令,
其中,所述计算机可读指令被所述处理器运行时,执行上述权利要求1-5任一项所述的方法。
8.一种存储介质,其特征是,非暂时性地存储计算机可读指令,其中,当所述非暂时性计算机可读指令由计算机执行时,执行权利要求1-5任一项所述方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111507854.5A CN114205147B (zh) | 2021-12-10 | 2021-12-10 | 基于软件定义网络的链路泛洪攻击防御方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111507854.5A CN114205147B (zh) | 2021-12-10 | 2021-12-10 | 基于软件定义网络的链路泛洪攻击防御方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114205147A CN114205147A (zh) | 2022-03-18 |
CN114205147B true CN114205147B (zh) | 2023-05-09 |
Family
ID=80652136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111507854.5A Active CN114205147B (zh) | 2021-12-10 | 2021-12-10 | 基于软件定义网络的链路泛洪攻击防御方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114205147B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664740B (zh) * | 2022-10-17 | 2024-07-23 | 济南大学 | 基于可编程数据平面的数据包转发攻击防御方法及系统 |
CN116668164B (zh) * | 2023-06-26 | 2024-01-02 | 中国电子信息产业集团有限公司第六研究所 | 工业防火墙安全隔离检测处理方法、系统及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3624402A1 (fr) * | 2018-09-13 | 2020-03-18 | Thales | Procédé de détection de sources illégitimes responsables d'une attaque distribuée par déni de service par inondation de lien et installation associée |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI590617B (zh) * | 2014-09-16 | 2017-07-01 | 科勞簡尼克斯股份有限公司 | 以彈性地定義之通信網路控制器為基礎之網路控制、操作及管理 |
CN105516184B (zh) * | 2015-12-31 | 2018-07-27 | 清华大学深圳研究生院 | 一种基于增量部署sdn网络的链路洪泛攻击的防御方法 |
CN106961387B (zh) * | 2017-03-30 | 2020-05-01 | 中国科学院信息工程研究所 | 一种基于转发路径自迁移的链路型DDoS防御方法及系统 |
CN109510843A (zh) * | 2019-01-04 | 2019-03-22 | 中国民航大学 | 一种Crossfire链路洪泛攻击的SND移动目标防御方法 |
CN111800419B (zh) * | 2020-07-06 | 2021-06-15 | 东北大学 | 一种SDN环境下DDoS攻击检测系统及方法 |
-
2021
- 2021-12-10 CN CN202111507854.5A patent/CN114205147B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3624402A1 (fr) * | 2018-09-13 | 2020-03-18 | Thales | Procédé de détection de sources illégitimes responsables d'une attaque distribuée par déni de service par inondation de lien et installation associée |
Also Published As
Publication number | Publication date |
---|---|
CN114205147A (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Imran et al. | Toward an optimal solution against denial of service attacks in software defined networks | |
CN112073411B (zh) | 一种网络安全推演方法、装置、设备及存储介质 | |
CN114205147B (zh) | 基于软件定义网络的链路泛洪攻击防御方法及系统 | |
EP3266156B1 (en) | Network infrastructure device to implement pre-filter rules | |
JP3968724B2 (ja) | ネットワーク保安システム及びその動作方法 | |
Ha et al. | Suspicious flow forwarding for multiple intrusion detection systems on software-defined networks | |
CN113472721B (zh) | 一种网络攻击检测方法及装置 | |
CN109194684B (zh) | 一种模拟拒绝服务攻击的方法、装置及计算设备 | |
EP3399723B1 (en) | Performing upper layer inspection of a flow based on a sampling rate | |
CN105991617B (zh) | 使用网络评分来选择安全路径的计算机实施系统及方法 | |
US11399034B2 (en) | System and method for detecting and preventing network intrusion of malicious data flows | |
KR101951208B1 (ko) | 방화벽에이전트를 이용해 네트워크 트래픽을 감시하는 방화벽 시스템 | |
Peneti et al. | DDOS attack identification using machine learning techniques | |
Rathore et al. | Hadoop based real-time intrusion detection for high-speed networks | |
CN108183884B (zh) | 一种网络攻击判定方法及装置 | |
Van et al. | An anomaly-based intrusion detection architecture integrated on openflow switch | |
CN112333191A (zh) | 违规网络资产检测与访问阻断方法、装置、设备及介质 | |
KR20110028106A (ko) | 접속 이력 기반 분산 서비스 공격 트래픽 제어 장치 및 그 방법 | |
CN113098827B (zh) | 基于态势感知的网络安全预警方法及装置 | |
KR101836214B1 (ko) | Sdn에서의 적응형 보안시스템 및 이의 구동방법 | |
CN110881016B (zh) | 一种网络安全威胁评估方法及装置 | |
Khalid et al. | A survey on the latest intrusion detection datasets for software defined networking environments | |
Chen et al. | An autonomic detection and protection system for denial of service attack | |
Sedaghat | The Forensics of DDoS Attacks in the Fifth Generation Mobile Networks Based on Software-Defined Networks. | |
RU2531878C1 (ru) | Способ обнаружения компьютерных атак в информационно-телекоммуникационной сети |
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 |