CN112929200B - 一种面向sdn多控制器的异常检测方法 - Google Patents

一种面向sdn多控制器的异常检测方法 Download PDF

Info

Publication number
CN112929200B
CN112929200B CN202110020074.1A CN202110020074A CN112929200B CN 112929200 B CN112929200 B CN 112929200B CN 202110020074 A CN202110020074 A CN 202110020074A CN 112929200 B CN112929200 B CN 112929200B
Authority
CN
China
Prior art keywords
packet
controller
message
switch
information
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
CN202110020074.1A
Other languages
English (en)
Other versions
CN112929200A (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.)
Zhejiang Gongshang University
Original Assignee
Zhejiang Gongshang University
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 Zhejiang Gongshang University filed Critical Zhejiang Gongshang University
Priority to CN202110020074.1A priority Critical patent/CN112929200B/zh
Publication of CN112929200A publication Critical patent/CN112929200A/zh
Application granted granted Critical
Publication of CN112929200B publication Critical patent/CN112929200B/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0695Management of faults, events, alarms or notifications the faulty arrangement being the maintenance, administration or management system
    • 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

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种面向SDN多控制器的异常检测方法。它包括如下步骤:1‑1)在SDN控制器集合中采用Raft一致性算法选出“主控制器”,其余为“从控制器”;1‑2)“主控制器”与SDN交换机建立连接,向交换机发送Features Request请求参数信息,交换机回复Features Reply消息给“主控制器”;1‑3)交换机把收到的数据包Data封装成Packet In消息上报给“主控制器”;1‑4)“主控制器”利用BFT机制广播Packet In消息,每个控制器将验证到的Packet In消息上报给Proxy;1‑5)Proxy将收集到的信息放入同一元组归类,与之前收集到的信息进行比对,判断Data传输路径,判断异常的控制器和交换机,判决出可靠的Packet In消息并封装成Packet Out消息下发给交换机。本发明改进了当前网络安全中涉及到检测异常SDN控制器和交换机设备的问题。

Description

一种面向SDN多控制器的异常检测方法
技术领域
本发明涉及网络安全技术领域,特别涉及一种面向SDN多控制器的异常检测方法。
背景技术
传统的网络体系结构的复杂性和封闭性,使得网络管理员在考虑网络动态和各种应用需求时难以进行管理和操作。为了解决这些问题,一种新型网络架构软件定义网络(Software-defined Network,简称SDN)被提出。典型的SDN架构由三层组成,包括网络应用程序组成的应用程序层,充当SDN大脑的集中式SDN控制器软件,以及由转发设备交换机等组成的数据平面层。SDN将网络控制平面与转发平面分开,提高了网络的灵活性。SDN网络具有可拓展性、灵活性、可靠性、安全性、可编程性,比传统的网络具有更高性能和可用性。
在SDN中,交换机和路由器依靠集中式SDN控制器为查找路径和分配资源提供必要的配置。而在部署大规模SDN网络时,单控制器存在单点故障,容量瓶颈等问题。SDN控制器、交换机和控制器应用存在的脆弱性,导致SDN设备容易受到攻击者的恶意攻击,攻击者恶意劫持控制器并删除所属交换机上的所有流表项,监听并篡改交换机数据,将导致控制器原本属于合法用户的网络资源被窃取。因此,及时地检测到异常SDN设备是非常重要的。
目前,已经出现一些相关SDN安全的研究来降低SDN设备被劫持的风险:(1)目前常用的开源的SDN控制器Ryu(Ryu SDN Framework Community,2014)主要集中在单控制器场景中,没有针对控制器分布进行优化;(2)Casado的研究团队提出了FortNOX架构,它是一种基于OpenFlow控制器NOX的软件扩展,提供了身份认证和安全约束机制,这种架构使控制器能够实时地检查流表项中的冲突,及时发现恶意应用,然而,它只能检测单个控制器的异常,并不能检测其他SDN设备的异常。
发明内容
本发明的目的是解决当前网络安全中涉及到检测异常SDN设备存在的问题,并提供一种面向SDN多控制器的异常检测方法,能避免SDN异常的错误或攻击危害网络。
一种面向SDN多控制器的异常检测方法,包括如下步骤:
1-1)在SDN控制器集合中采用Raft一致性算法选出“主控制器”,其余为“从控制器”,负责对Packet In消息的具体操作,并配置代理Proxy,负责对控制器集合的验证结果进行逻辑判决;
1-2)“主控制器”与SDN交换机建立连接,向交换机发送Features Request请求详细参数信息,交换机回复包含Datapath Id和Port等信息的Features Reply消息给“主控制器”;
1-3)交换机把收到的数据包Data封装成携带Cookie信息的Packet In消息上报给“主控制器”;
1-4)“主控制器”利用BFT机制广播Packet In消息,每个控制器将验证到的PacketIn消息上报给Proxy;
1-5)Proxy将收集到的Datapath Id、Cookie信息放入同一元组归类,与之前收集到的信息进行比对,判断Data的传输路径,判断异常的控制器和交换机,判决出可靠的Packet In消息并封装成Packet Out消息下发给交换机。
所述的步骤1-2)中:“主控制器”向交换机发送Features Request请求交换机详细参数信息,如交换机ID,缓冲区数量,端口及端口属性等。交换机回复Features 和Port等消息发送给“主控制器”,Features Reply消息包含64比特的Datapath Id,Port等信息,Datapath Id作为数据通道标识符,用来表示交换机唯一的身份。
所述的步骤1-3)中:主机发送数据包给交换机,交换机会根据数据包中的路由相关信息(如源、目的IP地址、目的物理地址、源、目的端口)从流表中搜索匹配项;匹配的流表项中记载的行动为“发送给OpenFlow控制器”,那么交换机把数据包封装成由OpenFlow定义的Packet In消息上报给“主控制器”,Packet In消息携带Cookie信息,可通过Cookie推断出Datapath Id匹配的数据包。
所述的步骤1-4)中,所述的“主控制器”利用BFT机制广播Packet In消息:
4-1)“主控制器”运用BFT机制对其他“从控制器”进行Packet In消息广播;
4-2)“从控制器”接收到2f个收到与自身相匹配的Packet In消息后,对其他控制器进行广播;
4-3)每个控制器验证到2f+1个来自其他控制器的Packet In消息;
4-4)控制器集合把根据BFT机制处理的Packet Out消息发送给Proxy。
本发明的有益效果:
针对当前网络安全中涉及到检测异常SDN设备的问题,面向SDN多控制器的异常检测,采用BFT容错机制的多控制器方案,对异常的SDN设备进行检测,不仅能检测出异常的SDN设备,避免异常的错误或攻击危害网络,还可以下发正确的流表命令,有效提高了SDN网络的安全性。
附图说明
图1是一种面向SDN多控制器的异常检测方法结构图。
具体实施方式
下面结合附图和实施例对本发明做进一步阐述和说明。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
一种面向SDN多控制器的异常检测方法,该方法包括以下步骤::
1-1)在SDN控制器集合中采用Raft一致性算法选出“主控制器”,其余为“从控制器”,负责对Packet In消息的具体操作,并配置代理Proxy,负责对控制器集合的验证结果进行逻辑判决;
1-2)“主控制器”与SDN交换机建立连接,向交换机发送Features Request请求详细参数信息,交换机回复包含Datapath Id和Port等信息的Features Reply消息给“主控制器”;
1-3)交换机把收到的数据包Data封装成携带Cookie信息的Packet In消息上报给“主控制器”;
1-4)“主控制器”利用BFT机制广播Packet In消息,每个控制器将验证到的PacketIn消息上报给Proxy;
1-5)Proxy将收集到的Datapath Id、Cookie信息放入同一元组归类,与之前收集到的信息进行比对,判断Data的传输路径,判断异常的控制器和交换机,判决出可靠的Packet In消息并封装成Packet Out消息下发给交换机。
所述的步骤1-2)中:“主控制器”向交换机发送Features Request请求交换机详细参数信息,如交换机ID,缓冲区数量,端口及端口属性等。交换机回复Features 和Port等消息发送给“主控制器”,Features Reply消息包含64比特的Datapath Id,Port等信息,Datapath Id作为数据通道标识符,用来表示交换机唯一的身份。
所述的步骤1-3)中:主机发送数据包给交换机,交换机会根据数据包中的路由相关信息(如源、目的IP地址、目的物理地址、源、目的端口)从流表中搜索匹配项;匹配的流表项中记载的行动为“发送给OpenFlow控制器”,那么交换机把数据包封装成由OpenFlow定义的Packet In消息上报给“主控制器”,Packet In消息携带Cookie信息,可通过Cookie推断出Datapath Id匹配的数据包。
所述的步骤1-4)中,所述的“主控制器”利用BFT机制广播Packet In消息:
4-1)“主控制器”运用BFT机制对其他“从控制器”进行Packet In消息广播;
4-2)“从控制器”接收到2f收到与自身相匹配的Packet In消息后,对其他控制器进行广播;
4-3)每个控制器验证到 2f +1个来自其他控制器的Packet In消息;
4-4)控制器集合把根据BFT机制处理的Packet Out消息发送给Proxy。
实施例
为了便于本领域一般技术人员理解和实施本发明,现给出一种本发明所述方法的具体实施案例。一种面向SDN多控制器的异常检测的方法的核心思想是:采用BFT容错机制的多控制器方案,对异常的SDN设备进行检测,避免异常的攻击危害网络。
下面用一个案例来描述本实施例。
使用Mininet生成一个由OpenFlow1.3交换机s1、s2和s3、主机h1和h2组成的网络,另外,用OpenDaylight部署4个控制器,采用Raft一致性算法选出 “主控制器”c0,其余为“从控制器”c1、c2、c3,控制器负责对Packet In消息的具体操作,并配置代理Proxy,负责对控制器集合的验证结果进行逻辑判决。如图1结构图所示,所有的主机和交换机都标有相应的编号。
c0与s1建立连接,向s1发送Features Request请求s1详细参数信息,包括交换机ID、缓冲区数量、端口及端口属性等,s1回复Features Reply消息给c0,Features Reply消息包含了64比特的Datapath Id、Actions以及Port等信息,Features Reply消息如表1所示。
Figure 283473DEST_PATH_IMAGE001
h1发送数据包Data到s1,Data格式如表2所示,Title表示配置动作的类型,Add_flows表示添加流表,内容为:Datapath Id= 0000000000000002 ,actions=“a new flowentry by port1”,Src为用户地址52:54:00:64:bd:54,Dst为访问地址52:54:00:26:ea:85,Actions表示输出端口1,命令s1从端口1发送Data给s2,s2增加actions=“a new flowentry by port1”的流表项。
Figure 13531DEST_PATH_IMAGE002
s1流表匹配的流表项中记载的行动为“发送给OpenFlow控制器”,即OFPR_ACTION,通过Packet In事件将数据包上报给c0,Packet In消息如表3所示。
Figure 88935DEST_PATH_IMAGE003
c0运用BFT机制对其他“从控制器”进行Packet In消息广播,此时模拟攻击者篡改c1的Packet In消息的输出端口为2:
from execute1 s1 type Add_flows message
data:dl_src=52:54:00:64:bd:54,dl_dst=52:54:00:26:ea:85 actions=output:2
其他控制器将各自验证到的Packet In消息上报给Proxy。
Proxy匹配收集到的数据库中保存的验证数据,判决出可靠的Packet In消息,在判决结果中显示:
result Add_flows message data to 0000000000000001:
data: dl_src=52:54:00:64:bd:54,dl_dst=52:54:00:26:ea:85 actions=output:1
并封装成Packet Out消息下发给s1,表4是提取数据库中保存的部分验证数据,表5是输出Packet Out消息的格式。
Figure 613457DEST_PATH_IMAGE004
Figure 522114DEST_PATH_IMAGE005
s1执行Packet Out消息,此时使用dump-flows命令查看s2的流表信息,如表6所示,在篡改了c1的输出流表动作后,Proxy仍然得到正确的判决结果,s1下发了正确的流表项命令,成功防御了控制器对流表篡改的攻击。
Figure 727967DEST_PATH_IMAGE006
接下来模拟恶意主机篡改s1的Actions的输出端口为2,使data的传输路径为s1-s3-s2,s3的Datapath id 为0000000000000003,Proxy根据保存的Cookie和Datapath id信息判决:
Verification results: s1 error
not_switch : 0000000000000003
表明s1-s2传输路径缺少0000000000000003这台交换机,即Data不应该经过s3却经过了s3,由此判决s1受到了非法攻击。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,所属领域的普通技术人员参照上述实施例依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。

Claims (1)

1.一种面向SDN多控制器的异常检测方法,其特征在于,该方法包括以下步骤:
1-1)在SDN控制器集合中采用Raft一致性算法选出主控制器,其余为从控制器,控制器集合负责对Packet In消息的具体操作,并配置代理Proxy,负责对控制器集合的验证结果进行逻辑判决;
1-2)主控制器与SDN交换机建立连接,向交换机发送Features Request请求详细参数信息,交换机回复Features Reply消息给主控制器;所述的Features Reply消息包括Datapath Id和Port信息;
1-3)交换机把收到的数据包Data封装成携带Cookie信息的Packet In消息上报给主控制器;
1-4)主控制器利用BFT机制广播Packet In消息,每个控制器将验证到的Packet In消息上报给Proxy;
1-5)Proxy将收集到的Datapath Id、Cookie信息放入同一元组归类,与之前收集到的信息进行比对,判断Data的传输路径,判断异常的控制器和交换机,判决出可靠的PacketIn消息并封装成Packet Out消息下发给交换机;
所述的步骤1-2)中:主控制器向交换机发送Features Request请求交换机详细参数信息,包括交换机ID,缓冲区数量,端口及端口属性;交换机回复Features Reply消息包括64比特的Datapath Id,Port信息,Datapath Id作为数据通道标识符,用来表示交换机唯一的身份;
所述的步骤1-3)中:主机发送数据包给交换机,交换机根据数据包中的路由相关信息,包括源、目的IP地址、目的物理地址、源、目的端口信息,从流表中搜索匹配项;匹配的流表项中记载的行动为“发送给OpenFlow控制器”,那么交换机把数据包封装成由OpenFlow定义的Packet In消息上报给主控制器,Packet In消息携带Cookie信息,可通过Cookie推断出Datapath Id匹配的数据包;
步骤1-4)中,所述的主控制器利用BFT机制广播Packet In消息:
4-1)“主控制器”运用BFT机制对其他“从控制器”进行Packet In消息广播;
4-2)“从控制器”接收到2f个收到与自身相匹配的Packet In消息后,对其他控制器进行广播;
4-3)每个控制器验证到2f+1个来自其他控制器的Packet In消息;
4-4)控制器集合把根据BFT机制处理的Packet Out消息发送给Proxy。
CN202110020074.1A 2021-01-07 2021-01-07 一种面向sdn多控制器的异常检测方法 Active CN112929200B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110020074.1A CN112929200B (zh) 2021-01-07 2021-01-07 一种面向sdn多控制器的异常检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110020074.1A CN112929200B (zh) 2021-01-07 2021-01-07 一种面向sdn多控制器的异常检测方法

Publications (2)

Publication Number Publication Date
CN112929200A CN112929200A (zh) 2021-06-08
CN112929200B true CN112929200B (zh) 2022-11-25

Family

ID=76163168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110020074.1A Active CN112929200B (zh) 2021-01-07 2021-01-07 一种面向sdn多控制器的异常检测方法

Country Status (1)

Country Link
CN (1) CN112929200B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448900B (zh) * 2022-04-02 2022-08-02 南京邮电大学 基于扩展raft算法的SDN控制器交互方法及***
CN114978580B (zh) * 2022-04-08 2023-09-29 中国电信股份有限公司 网络检测方法及装置、存储介质及电子设备
CN117134998B (zh) * 2023-10-26 2024-03-19 国网冀北电力有限公司 基于SDN的Gossip区块链的电力信息认证方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222478A (zh) * 2017-05-27 2017-09-29 暨南大学 基于区块链的软件定义网络控制层安全机制构建方法
CN110225033A (zh) * 2019-06-11 2019-09-10 西安电子科技大学 基于异常感知的异构控制器集群业务主动变迁***及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020221416A1 (en) * 2019-04-29 2020-11-05 Siemens Aktiengesellschaft Method and apparatus for selecting a communication device of a plurality of communication devices for communication packet processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222478A (zh) * 2017-05-27 2017-09-29 暨南大学 基于区块链的软件定义网络控制层安全机制构建方法
CN110225033A (zh) * 2019-06-11 2019-09-10 西安电子科技大学 基于异常感知的异构控制器集群业务主动变迁***及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Byzantine Fault Tolerant Software-Defined Networking (SDN) Controllers;Karim ElDefrawy;《IEEE》;20160825;第2-3节 *

Also Published As

Publication number Publication date
CN112929200A (zh) 2021-06-08

Similar Documents

Publication Publication Date Title
CN112929200B (zh) 一种面向sdn多控制器的异常检测方法
US11902120B2 (en) Synthetic data for determining health of a network security system
CN110225008B (zh) 一种云环境下sdn网络状态一致性验证方法
US8959197B2 (en) Intelligent integrated network security device for high-availability applications
US10313233B2 (en) Method for routing data, computer program, network controller and network associated therewith
US10680893B2 (en) Communication device, system, and method
US7555774B2 (en) Inline intrusion detection using a single physical port
EP3200399B1 (en) Automated mirroring and remote switch port analyzer (rspan)/encapsulated remote switch port analyzer (erspan) functions using fabric attach (fa) signaling
US9699202B2 (en) Intrusion detection to prevent impersonation attacks in computer networks
CN103891206A (zh) 网络数据流检测状态的同步方法和设备
CN106921527B (zh) 堆叠冲突的处理方法及装置
CN110011941B (zh) 一种报文转发方法及设备
CN109347705A (zh) 一种环路检测方法及装置
CN103747026A (zh) openflow流表的告警方法及告警装置
Sun et al. Detecting and mitigating ARP attacks in SDN-based cloud environment
CN113709160B (zh) 基于转发路由完整性验证的软件定义网络拓扑防御方法
US20150128260A1 (en) Methods and systems for controlling communication in a virtualized network environment
CN117319032A (zh) 网络安全主动防御方法及***
CN115051851B (zh) 物联网场景下的用户访问行为管控***和方法
KR102587055B1 (ko) 인공지능 기반 컴퓨터 이상 탐지 시스템
CN105407095B (zh) 不同网络间安全通信装置及其通信方法
US11509565B2 (en) Network link verification
KR101914831B1 (ko) 호스트 추적 서비스에 대한 공격을 방지할 수 있는 소프트웨어 정의 네트워크 및 이에 포함되는 컨트롤러
JP3715628B2 (ja) パケット転送システム、パケット転送装置、プログラム及びパケット転送方法
CN116319112B (zh) 一种报文完整性验证方法及***

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