CN113472717B - Sdn访问控制方法、装置和计算机可读存储介质 - Google Patents
Sdn访问控制方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113472717B CN113472717B CN202010238721.1A CN202010238721A CN113472717B CN 113472717 B CN113472717 B CN 113472717B CN 202010238721 A CN202010238721 A CN 202010238721A CN 113472717 B CN113472717 B CN 113472717B
- Authority
- CN
- China
- Prior art keywords
- period
- openflow application
- time threshold
- openflow
- future
- 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
- 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
-
- 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/147—Network analysis or design for predicting network behaviour
-
- 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
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)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种SDN访问控制方法、装置和计算机可读存储介质,涉及网络安全领域。SDN访问控制方法包括:根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中OpenFlow应用下发的流表数;根据预测的未来的周期中流表数和预设的初始访问次数阈值,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值,以便根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。本发明的实施例在保证通信效率的基础上最大限制地限制恶意流表的下发。并且本申请的方案产生的额外时延较小。在减小对OpenFlow应用的正常使用的影响的情况下,提高了SDN控制器的安全性。
Description
技术领域
本发明涉及网络安全领域,特别涉及一种SDN访问控制方法、装置和计算机可读存储介质。
背景技术
SDN(Software Defined Network,软件定义网络)北向接口是连接控制器和用户应用之间的重要纽带。通过北向接口,网络业务的开发者通过OpenFlow应用程序、以编程的形式调用各种网络资源,从而把控整个网络的资源状态,以便对资源进行统一的调度。由于北向接口在设计之初就被赋予了描述业务的意图和统一管控复杂网络结构资源的能力,因此SDN北向接口是灵活的、可扩展的。一般的OpenFlow应用使用RESTAPI对北向接口进行访问。
在相关技术中,根据控制器提供的北向接口的功能,将OpenFlow的应用访问控制器资源分为READ(读)、ADD(添加)、UPDATE(更新)和REMOVE(移除)四类,以针对每一种权限的威胁设计相应的安全方案。
相关技术通过对SDN(Software Defined Network,软件定义网络)北向接口访问控制进行研究,发现恶意OpenFlow应用程序经常通过ADD权限滥用北向接口,从而会造成控制器功能失效甚至崩溃等严重危害。在相关技术中,通过设置静态阈值的方案控制OpenFlow应用的访问,来对控制器进行保护。
发明内容
发明人经过分析后发现,对于ADD权限,针对不同的控制器,其连接的交换机内流表的数目会影响控制器的功能,严重的会导致控制器的崩溃。例如,在相关技术的研究中,OpenvSwitch和Floodlight控制器可以存储148223条流规则,但是一旦恶意的OF应用插入的流表超过这个限制,新来的流表就会替换原来的流表、甚至是防火墙流表,从而破坏网络本身安全规则。在发明人进行的测试中,当RYU控制器连接到OVS交换机、并且一台交换机的流表大于60000条后,控制器会自动删除之前存储的流表,危害网络结构。而ONOS控制器在交换机流条目超过45000条后,就会出现直接控制器崩溃的严重后果。此外,目前市场上大多数的实体OpenFlow交换机,通常会有更小的流表存储量,大约为8000条左右。因此一个恶意的OpenFlow应用甚至多个合法的OpenFlow应用都有可能过度地滥用ADD权限来添加流表,从而造成SDN网络结构甚至是控制器功能进行破坏。
相关技术设置的静态阈值不对不同的OpenFlow应用的访问加以识别和区分,从而当阈值过低时,会造成管控失效、存在较大的安全隐患,当阈值过高时,会影响OpenFlow应用的正常使用。
本发明实施例所要解决的一个技术问题是:如何在减小对OpenFlow应用的正常使用的影响的情况下,提高SDN控制器的安全性。
根据本发明一些实施例的第一个方面,提供一种SDN访问控制方法,包括:根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中OpenFlow应用下发的流表数;根据预测的未来的周期中流表数和预设的初始访问次数阈值,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值,以便根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
在一些实施例中,根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中OpenFlow应用下发的流表数包括:根据多个历史的周期中OpenFlow应用下发的流表数,采用二次移动平均法确定一次移动平均值和二次移动平均值;基于一次移动平均值和二次移动平均值,确定未来的周期中OpenFlow应用下发的流表数。
在一些实施例中,根据多个历史的周期中OpenFlow应用下发的流表数,采用二次移动平均法确定未来的周期对应的一次移动平均值和二次移动平均值包括:对于多个历史周期、以及多个历史周期的下一个周期中的每一个周期,确定周期之前的预设数量个周期中OpenFlow应用下发的流表数的平均值,作为周期对应的一次移动平均值;将多个历史周期的一次移动平均值的均值,作为多个历史周期的下一个周期的二次移动平均值。
在一些实施例中,基于一次移动平均值和二次移动平均值,确定未来的周期中OpenFlow应用下发的流表数包括:根据多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值,确定初始点修正参数和趋势变动参数;根据初始点修正参数、趋势变动参数和未来的周期相对于多个历史周期的推移周期数,确定未来的周期中OpenFlow应用下发的流表数。
在一些实施例中,基于一次移动平均值和二次移动平均值,确定未来的周期中OpenFlow应用下发的流表数包括采用以下公式确定未来的周期中OpenFlow应用下发的流表数:
Mt+T=at+bt·T
其中,t表示最后一个历史周期的标识,T表示未来的周期相对于多个历史周期的推移周期数,Mt+T表示未来的周期中OpenFlow应用下发的流表数;at表示初始点修正参数;bt表示趋势变动参数;和分别表示多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值。
在一些实施例中,根据预测的未来的周期中流表数和预设的初始访问次数阈值,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值包括:在预测的未来的周期中流表数大于预设的初始访问次数阈值的情况下,将OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值调高,作为OpenFlow应用对应的、在未来的周期的动态访问次数阈值;在预测的未来的周期中流表数小于预设的初始访问次数阈值的情况下,将OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值调低,作为OpenFlow应用对应的、在未来的周期的动态访问次数阈值。
在一些实施例中,在预测的未来的周期中流表数大于预设的初始访问次数阈值的情况下,根据OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值与调整幅度之差,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值,调整幅度基于预设的安全因子以及趋势变动参数的绝对值确定的,趋势变动参数根据多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值确定;在预测的未来的周期中流表数不大于预设的初始访问次数阈值的情况下,根据OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值与调整幅度之和确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值。
在一些实施例中,在预测的未来的周期中流表数不大于预设的初始访问次数阈值的情况下,将预测的未来的周期的上一个周期的动态访问次数阈值与调整幅度之和、以及初始访问次数阈值中的最小值确定为OpenFlow应用对应的、在未来的周期的动态访问次数阈值。
在一些实施例中,用于下发流表的访问是使用ADD权限的访问。
根据本发明一些实施例的第二个方面,提供一种SDN访问控制方法,包括:获取OpenFlow应用对应的、在未来的周期的动态访问次数阈值,其中,动态访问次数阈值是根据基于多个历史的周期中OpenFlow应用下发的流表数预测的未来的周期中流表数的变动趋势、以及预设的初始访问次数阈值确定的;根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
在一些实施例中,根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制包括:记录OpenFlow应用在相应周期的、进行用于下发流表的访问的次数;响应于记录的访问的次数超出相应的动态访问次数阈值,限制OpenFlow应用在相应周期内进行用于下发流表的访问。
在一些实施例中,根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制包括:对获取的访问请求进行识别,确定发出访问请求的OpenFlow应用的标识;根据OpenFlow应用的标识确定相应的控制策略模板,其中,控制策略模板中包括应用的标识、OpenFlow应用所属用户的类型、周期的长度、阈值,阈值为初始访问次数阈值或者动态访问次数阈值;在OpenFlow应用所属用户的类型为预设类型的情况下,根据策略控制模板对相应的OpenFlow应用在当前周期的、进行用于下发流表的访问的次数进行控制。
根据本发明一些实施例的第三个方面,提供一种SDN访问控制装置,包括:预测模块,被配置为根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中OpenFlow应用下发的流表数;阈值确定模块,被配置为根据预测的未来的周期中流表数和预设的初始访问次数阈值,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值,以便根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
根据本发明一些实施例的第四个方面,提供一种SDN访问控制装置,包括:获取模块,被配置为获取OpenFlow应用对应的、在未来的周期的动态访问次数阈值,其中,动态访问次数阈值是根据基于多个历史的周期中OpenFlow应用下发的流表数预测的未来的周期中流表数的变动趋势、以及预设的初始访问次数阈值确定的;控制模块,被配置为根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
根据本发明一些实施例的第五个方面,提供一种SDN访问控制系统,包括:前述两种SDN访问控制装置,分别作为系统中的第一SDN访问控制装置和第二SDN访问控制装置。
根据本发明一些实施例的第六个方面,提供一种SDN访问控制装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种SDN访问控制方法。
根据本发明一些实施例的第七个方面,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现前述任意一种SDN访问控制方法。
上述发明中的一些实施例具有如下优点或有益效果:本发明的实施例可以及时地发现OpenFlow应用恶意下发流表的行为,并根据预测结果动态地为OpenFlow应用适应性地设置阈值,从而在保证通信效率的基础上最大限制地限制恶意流表的下发。并且本申请的方案产生的额外时延较小。在减小对OpenFlow应用的正常使用的影响的情况下,提高了SDN控制器的安全性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明一些实施例的SDN访问控制方法的流程示意图。
图2示出了根据本发明一些实施例的流表数预测方法的流程示意图。
图3示出了根据本发明另一些实施例的SDN访问控制方法的流程示意图。
图4示出了根据本发明一些实施例的SDN访问控制装置的结构示意图。
图5示出了根据本发明一些实施例的SDN访问控制装置的结构示意图。
图6示出了根据本发明一些实施例的SDN访问控制系统的结构示意图。
图7示出了SDN访问控制系统的应用场景示意图。
图8示出了根据本发明另一些实施例的SDN访问控制装置的结构示意图。
图9示出了根据本发明又一些实施例的SDN访问控制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出了根据本发明一些实施例的SDN访问控制方法的流程示意图。如图1所示,该实施例的SDN访问控制方法包括步骤S102~S106。
在步骤S102中,根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中OpenFlow应用下发的流表数。
在一些实施例中,用于下发流表的访问是使用ADD权限的访问。表1示例性地示出了部分类型的SDN控制器需要保护的ADD权限。
表1
在一些实施例中,采用二次移动平均法进行预测。后文将示例性地对这种预测方式进行更详细的介绍。
在步骤S104中,根据预测的未来的周期中流表数和预设的初始访问次数阈值,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值。
在一些实施例中,在预测的未来的周期中流表数大于预设的初始访问次数阈值的情况下,将OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值调高,作为OpenFlow应用对应的、在未来的周期的动态访问次数阈值;在预测的未来的周期中流表数小于预设的初始访问次数阈值的情况下,将OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值调低,作为OpenFlow应用对应的、在未来的周期的动态访问次数阈值。通过这种方式,当OpenFlow应用对应的预测值大于预设的初始访问次数阈值时,可以判定这个OpenFlow应用可能存在恶意下发流表的行为,滥用了ADD权限。为了保障控制器的安全,需要适当地降低阈值,来减轻恶意的OpenFlow应用产生的威胁。
在步骤S106中,根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。例如,在相应的周期内,只允许该OpenFlow应用进行不超过动态访问次数阈值的次数的、用于下发流表的访问。
在一些实施例中,记录OpenFlow应用在相应周期的、进行用于下发流表的访问的次数;响应于记录的访问的次数超出相应的动态访问次数阈值,限制OpenFlow应用在相应周期内进行用于下发流表的访问。
上述实施例可以及时地发现OpenFlow应用恶意下发流表的行为,并根据预测结果动态地为OpenFlow应用适应性地设置阈值,从而在保证通信效率的基础上最大限制地限制恶意流表的下发。并且本申请的方案产生的额外时延较小。在减小对OpenFlow应用的正常使用的影响的情况下,提高了SDN控制器的安全性。
下面参考图2示例性地描述基于二次移动平均法进行预测的实施例。
图2示出了根据本发明一些实施例的流表数预测方法的流程示意图。如图2所示,该实施例的流表数预测方法包括步骤S202~S204。
在步骤S202中,根据多个历史的周期中OpenFlow应用下发的流表数,采用二次移动平均法确定一次移动平均值和二次移动平均值。
二次移动平均法,是对一次移动平均数再进行第二次移动平均,再以一次移动平均值和二次移动平均值为基础建立预测模型,计算预测值的方法。二次移动平均法可以纠正滞后偏差,解决了预测值滞后于实际观察值的问题。
在一些实施例中,采用二次移动平均法的具体计算过程如下:对于多个历史周期、以及多个历史周期的下一个周期中的每一个周期,确定周期之前的预设数量个周期中OpenFlow应用下发的流表数的平均值,作为周期对应的一次移动平均值;将多个历史周期的一次移动平均值的均值,作为多个历史周期的下一个周期的二次移动平均值。
在一些实施例中,使用公式(1)和(2)确定一次移动平均值和二次移动平均值。
在公式(1)中,i表示周期标识;表示多个历史周期的下一个周期对应的一次移动平均值;n表示计算过程中涉及的周期数;Yi表示i周期OpenFlow应用下发的流表数,该流表数为实际下发的流表数。对于每一个周期,均可以利用公式(1)计算响应的一次移动平均值。如果历史周期的数据有缺失,则可以进行补零处理。
通过采用公式(2)的二次移动平均计算,消除了预测值的滞后现象,使得预测结果更准确。
在步骤S204中,基于一次移动平均值和二次移动平均值,确定未来的周期中OpenFlow应用下发的流表数。
在一些实施例中,根据多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值,确定初始点修正参数和趋势变动参数;根据初始点修正参数、趋势变动参数和未来的周期相对于多个历史周期的推移周期数,确定未来的周期中OpenFlow应用下发的流表数。
在一些实施例中,预测的OpenFlow应用下发的流表数Mt+T使用公式(3)~(5)确定。T表示未来的周期相对于多个历史周期的推移周期数,例如,想要预测历史周期后第5个周期的数据时,T=5。
Mt+T=at+bt·T (3)
在公式(3)~(5)中,和的含义和计算方式参考公式(1)和(2),这里不再赘述;at是截距,作为初始点修正参数,用于对预测的初始点进行修正,以消除预测值的滞后现象;bt是斜率,作为趋势变动参数。由此可知,当bt的值比较大时,预测到未来OpenFlow应用下发的流表数的变动幅度会比较大。从而,趋势变动参数可以体现OpenFlow应用对ADD权限的滥用程度。
当进行动态访问次数阈值的调整时,也可以利用趋势变动参数。在一些实施例中,基于预设的安全因子以及趋势变动参数的绝对值确定调整幅度。安全因子可以根据SDN控制器所处环境的安全需求的高低进行调整。
在一些实施例中,在预测的未来的周期中流表数大于预设的初始访问次数阈值的情况下,根据OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值与调整幅度之差,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值;在预测的未来的周期中流表数不大于预设的初始访问次数阈值的情况下,根据OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值与调整幅度之和确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值。
例如,可以通过公式(6)确定动态访问次数阈值St+1。
在公式(6)中,Sthr表示初始访问次数阈值;α表示安全因子;bt表示趋势变动参数,其具体计算方式可以参考公式(5)。
在一些实施例中,在预测的未来的周期中流表数不大于预设的初始访问次数阈值的情况下,将预测的未来的周期的上一个周期的动态访问次数阈值与调整幅度之和、以及初始访问次数阈值中的最小值确定为OpenFlow应用对应的、在未来的周期的动态访问次数阈值。即,保持St+1≤Sthr。从而,不论如何进行调整,动态访问次数阈值的上限为Sthr,提升了系统的安全性。
通过上述实施例的方法,可以根据OpenFlow应用对下发流表的滥用程度动态调整阈值。当控制平面出现滥用操作后,流表阈值预测算法会主动地减少阈值,限制恶意流表下发;当滥用操作解除后,阈值预测算法会主动的增加阈值来保证OpenFlow应用正常的访问。
在一些实施例中,当确定了动态访问次数阈值后,可以为OpenFlow应用生成相应的控制策略模板,以便对不同的OpenFlow应用发出的请求进行有针对性的控制。下面参考图3描述本发明基于模板进行访问控制的实施例。
图3示出了根据本发明另一些实施例的SDN访问控制方法的流程示意图。如图3所示,该实施例的SDN访问控制方法包括步骤S302~S306。
在步骤S302中,对获取的访问请求进行识别,确定发出访问请求的OpenFlow应用的标识。
在一些实施例中,可以通过请求中的用户名和口令来验证OpenFlow应用的合法性。当验证结果不通过时,则可以直接停止相应应用的访问权限。
在步骤S304中,根据OpenFlow应用的标识确定相应的控制策略模板,其中,控制策略模板中包括应用的标识、OpenFlow应用所属用户的类型、周期的长度、阈值,阈值为初始访问次数阈值或者动态访问次数阈值。
在一些实施例中,用户的类型可以通过使用角色来表示。例如包括“ADMIN”(管理员)和“DEFAULT”(默认)。
ADMIN拥有最高的安全等级,默认情况下拥有该权限的OpenFlow应用可以随意地通过安全扩展对控制器进行ADD操作,而不受阈值的限制。因此,对于此类OpenFlow应用的访问请求可以不进行额外的控制。
DEFAULT设置为一般应用程序的访问,针对这类权限的OpenFlow应用容易出现滥用ADD权限的情况,可以参考前述实施例的方式,根据OpenFlow应用的滥用程度动态设置阈值。
ADMIN和DEFAULT对应的一个示例性的模板如下:
“apps”:[
{
“appname”:“ofapp1”,
“api-roles”:“admin”,
“threshold seconds”:“”,
“times”:“”,
},
{
“appname”:“ofapp2”,
“api-roles”:“default”,
“threshold seconds”:“60”,
“times”:“50”,
}
]
由该示例可知,该模板不对作为ADMIN用户的OpenFlow应用ofapp1的访问进行限制,但对作为DEFAULT用户的OpenFlow应用ofapp2进行每60秒不超过50次访问的限制。
在步骤S306中,在OpenFlow应用所属用户的类型为预设类型的情况下,根据策略控制模板对相应的OpenFlow应用在当前周期的、进行用于下发流表的访问的次数进行控制。
在一些实施例中,还可以通过多线程的方式实现访问控制。例如,线程一作为记录周期内访问的总数,并通过预测算法调整阈值,随后清空周期内访问数量,以便记录下一周期的访问数,调整下一周期的阈值;线程二作为动态访问控制的主线程,该线程会先判断每次OpenFlow应用的访问次数,并与线程一计算出的阈值进行判断,如果访问次数小于阈值则允许访问请求。
通过上述实施例的方法,可以结合动态访问控制方案制定策略模板、以动态控制OpenFlow应用的访问,保护SDN控制器免受ADD权限滥用的威胁。
下面参考图4描述本发明SDN访问控制装置的实施例。该实施例的SDN访问控制装置用于确定阈值。
图4示出了根据本发明一些实施例的SDN访问控制装置的结构示意图。如图4所示,该实施例的SDN访问控制装置400包括:预测模块410,被配置为根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中OpenFlow应用下发的流表数;阈值确定模块420,被配置为根据预测的未来的周期中流表数和预设的初始访问次数阈值,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值,以便根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
在一些实施例中,预测模块410进一步被配置为根据多个历史的周期中OpenFlow应用下发的流表数,采用二次移动平均法确定一次移动平均值和二次移动平均值;基于一次移动平均值和二次移动平均值,确定未来的周期中OpenFlow应用下发的流表数。
在一些实施例中,预测模块410进一步被配置为对于多个历史周期、以及多个历史周期的下一个周期中的每一个周期,确定周期之前的预设数量个周期中OpenFlow应用下发的流表数的平均值,作为周期对应的一次移动平均值;将多个历史周期的一次移动平均值的均值,作为多个历史周期的下一个周期的二次移动平均值。
在一些实施例中,预测模块410进一步被配置为根据多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值,确定初始点修正参数和趋势变动参数;根据初始点修正参数、趋势变动参数和未来的周期相对于多个历史周期的推移周期数,确定未来的周期中OpenFlow应用下发的流表数。
在一些实施例中,预测模块410进一步被配置为采用以下公式确定未来的周期中OpenFlow应用下发的流表数:
Mt+T=at+bt·T
其中,t表示最后一个历史周期的标识,T表示未来的周期相对于多个历史周期的推移周期数,Mt+T表示未来的周期中OpenFlow应用下发的流表数;at表示初始点修正参数;bt表示趋势变动参数;和分别表示多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值。
在一些实施例中,阈值确定模块420进一步被配置为在预测的未来的周期中流表数大于预设的初始访问次数阈值的情况下,将OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值调高,作为OpenFlow应用对应的、在未来的周期的动态访问次数阈值;在预测的未来的周期中流表数小于预设的初始访问次数阈值的情况下,将OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值调低,作为OpenFlow应用对应的、在未来的周期的动态访问次数阈值。
在一些实施例中,阈值确定模块420进一步被配置为:在预测的未来的周期中流表数大于预设的初始访问次数阈值的情况下,根据OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值与调整幅度之差,确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值,调整幅度基于预设的安全因子以及趋势变动参数的绝对值确定的,趋势变动参数根据多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值确定;在预测的未来的周期中流表数不大于预设的初始访问次数阈值的情况下,根据OpenFlow应用对应的、未来的周期的上一个周期的动态访问次数阈值与调整幅度之和确定OpenFlow应用对应的、在未来的周期的动态访问次数阈值。
在一些实施例中,阈值确定模块420进一步被配置为在预测的未来的周期中流表数不大于预设的初始访问次数阈值的情况下,将预测的未来的周期的上一个周期的动态访问次数阈值与调整幅度之和、以及初始访问次数阈值中的最小值确定为OpenFlow应用对应的、在未来的周期的动态访问次数阈值。
在一些实施例中,用于下发流表的访问是使用ADD权限的访问。
下面参考图5描述本发明SDN访问控制装置的实施例。该实施例的SDN访问控制装置用于进行访问控制。
图5示出了根据本发明一些实施例的SDN访问控制装置的结构示意图。如图5所示,该实施例的SDN访问控制装置50包括:获取模块510,被配置为获取OpenFlow应用对应的、在未来的周期的动态访问次数阈值,其中,动态访问次数阈值是根据基于多个历史的周期中OpenFlow应用下发的流表数预测的未来的周期中流表数的变动趋势、以及预设的初始访问次数阈值确定的;控制模块520,被配置为根据动态访问次数阈值,对OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
在一些实施例中,控制模块520进一步被配置为记录OpenFlow应用在相应周期的、进行用于下发流表的访问的次数;响应于记录的访问的次数超出相应的动态访问次数阈值,限制OpenFlow应用在相应周期内进行用于下发流表的访问。
在一些实施例中,控制模块520进一步被配置为:对获取的访问请求进行识别,确定发出访问请求的OpenFlow应用的标识;根据OpenFlow应用的标识确定相应的控制策略模板,其中,控制策略模板中包括应用的标识、OpenFlow应用所属用户的类型、周期的长度、阈值,阈值为初始访问次数阈值或者动态访问次数阈值;在OpenFlow应用所属用户的类型为预设类型的情况下,根据策略控制模板对相应的OpenFlow应用在当前周期的、进行用于下发流表的访问的次数进行控制。
图6示出了根据本发明一些实施例的SDN访问控制系统的结构示意图。如图6,该实施例的SDN访问控制系统60包括:用于确定动态访问次数阈值的第一SDN访问控制装置610,其具体实施方式可以参考SDN访问控制装置400;对用于下发流表的访问的次数进行控制的第二SDN访问控制装置620,其具体实施方式可以参考SDN访问控制装置500。
在一些实施例中,SDN访问控制系统60可以设置在OpenFlow应用和SDN控制器之间。图7示出了SDN访问控制系统的应用场景示意图。如图7所示,OpenFlow应用OFapp701、OFapp702、OFapp703发送的请求经过SDN访问控制系统71的控制处理,被允许的访问继续传送到SDN控制器OpenDaylight721、Floodlight722、ONOS723、RYU724进行处理。
图8示出了根据本发明另一些实施例的SDN访问控制装置的结构示意图。如图8所示,该实施例的SDN访问控制装置80包括:存储器810以及耦接至该存储器810的处理器820,处理器820被配置为基于存储在存储器810中的指令,执行前述任意一个实施例中的SDN访问控制方法。
其中,存储器810例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
图9示出了根据本发明又一些实施例的SDN访问控制装置的结构示意图。如图9所示,该实施例的SDN访问控制装置90包括:存储器910以及处理器920,还可以包括输入输出接口930、网络接口940、存储接口950等。这些接口930,940,950以及存储器910和处理器920之间例如可以通过总线960连接。其中,输入输出接口930为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口940为各种联网设备提供连接接口。存储接口950为SD卡、U盘等外置存储设备提供连接接口。
本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种SDN访问控制方法。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (17)
1.一种SDN访问控制方法,包括:
根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中所述OpenFlow应用下发的流表数;
根据预测的所述未来的周期中流表数和预设的初始访问次数阈值,确定所述OpenFlow应用对应的、在所述未来的周期的动态访问次数阈值,以便根据所述动态访问次数阈值,对所述OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
2.根据权利要求1所述的SDN访问控制方法,其中,所述根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中所述OpenFlow应用下发的流表数包括:
根据多个历史的周期中OpenFlow应用下发的流表数,采用二次移动平均法确定一次移动平均值和二次移动平均值;
基于所述一次移动平均值和所述二次移动平均值,确定未来的周期中所述OpenFlow应用下发的流表数。
3.根据权利要求2所述的SDN访问控制方法,其中,所述根据多个历史的周期中OpenFlow应用下发的流表数,采用二次移动平均法确定未来的周期对应的一次移动平均值和二次移动平均值包括:
对于多个历史周期、以及所述多个历史周期的下一个周期中的每一个周期,确定所述周期之前的预设数量个周期中OpenFlow应用下发的流表数的平均值,作为所述周期对应的一次移动平均值;
将所述多个历史周期的一次移动平均值的均值,作为所述多个历史周期的下一个周期的二次移动平均值。
4.根据权利要求3所述的SDN访问控制方法,其中,所述基于所述一次移动平均值和所述二次移动平均值,确定未来的周期中所述OpenFlow应用下发的流表数包括:
根据所述多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值,确定初始点修正参数和趋势变动参数;
根据所述初始点修正参数、所述趋势变动参数和所述未来的周期相对于所述多个历史周期的推移周期数,确定所述未来的周期中所述OpenFlow应用下发的流表数。
6.根据权利要求1~5中任一项所述的SDN访问控制方法,其中,根据预测的所述未来的周期中流表数和预设的初始访问次数阈值,确定所述OpenFlow应用对应的、在所述未来的周期的动态访问次数阈值包括:
在所述预测的所述未来的周期中流表数大于预设的初始访问次数阈值的情况下,将所述OpenFlow应用对应的、所述未来的周期的上一个周期的动态访问次数阈值调高,作为所述OpenFlow应用对应的、在所述未来的周期的动态访问次数阈值;
在所述预测的所述未来的周期中流表数小于预设的初始访问次数阈值的情况下,将所述OpenFlow应用对应的、所述未来的周期的上一个周期的动态访问次数阈值调低,作为所述OpenFlow应用对应的、在所述未来的周期的动态访问次数阈值。
7.根据权利要求6所述的SDN访问控制方法,其中,
在所述预测的所述未来的周期中流表数大于预设的初始访问次数阈值的情况下,根据所述OpenFlow应用对应的、所述未来的周期的上一个周期的动态访问次数阈值与调整幅度之差,确定所述OpenFlow应用对应的、在所述未来的周期的动态访问次数阈值,所述调整幅度基于预设的安全因子以及趋势变动参数的绝对值确定的,所述趋势变动参数根据所述多个历史周期的下一个周期对应的一次移动平均值和二次移动平均值确定;
在所述预测的所述未来的周期中流表数不大于预设的初始访问次数阈值的情况下,根据所述OpenFlow应用对应的、所述未来的周期的上一个周期的动态访问次数阈值与所述调整幅度之和确定所述OpenFlow应用对应的、在所述未来的周期的动态访问次数阈值。
8.根据权利要求7所述的SDN访问控制方法,其中,在所述预测的所述未来的周期中流表数不大于预设的初始访问次数阈值的情况下,将所述预测的所述未来的周期的上一个周期的动态访问次数阈值与所述调整幅度之和、以及所述初始访问次数阈值中的最小值确定为所述OpenFlow应用对应的、在所述未来的周期的动态访问次数阈值。
9.根据权利要求1所述的SDN访问控制方法,其中,所述用于下发流表的访问是使用ADD权限的访问。
10.一种SDN访问控制方法,包括:
获取OpenFlow应用对应的、在未来的周期的动态访问次数阈值,其中,所述动态访问次数阈值是根据基于多个历史的周期中OpenFlow应用下发的流表数预测的所述未来的周期中流表数的变动趋势、以及预设的初始访问次数阈值确定的;
根据所述动态访问次数阈值,对所述OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
11.根据权利要求10所述的SDN访问控制方法,其中,所述根据所述动态访问次数阈值,对所述OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制包括:
记录所述OpenFlow应用在相应周期的、进行用于下发流表的访问的次数;
响应于记录的访问的次数超出相应的动态访问次数阈值,限制所述OpenFlow应用在所述相应周期内进行用于下发流表的访问。
12.根据权利要求10或11所述的SDN访问控制方法,其中,所述根据所述动态访问次数阈值,对所述OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制包括:
对获取的访问请求进行识别,确定发出所述访问请求的OpenFlow应用的标识;
根据所述OpenFlow应用的标识确定相应的控制策略模板,其中,所述控制策略模板中包括应用的标识、所述OpenFlow应用所属用户的类型、周期的长度、阈值,阈值为初始访问次数阈值或者动态访问次数阈值;
在所述OpenFlow应用所属用户的类型为预设类型的情况下,根据所述策略控制模板对相应的OpenFlow应用在当前周期的、进行用于下发流表的访问的次数进行控制。
13.一种SDN访问控制装置,包括:
预测模块,被配置为根据多个历史的周期中OpenFlow应用下发的流表数,预测未来的周期中所述OpenFlow应用下发的流表数;
阈值确定模块,被配置为根据预测的所述未来的周期中流表数和预设的初始访问次数阈值,确定所述OpenFlow应用对应的、在所述未来的周期的动态访问次数阈值,以便根据所述动态访问次数阈值,对所述OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
14.一种SDN访问控制装置,包括:
获取模块,被配置为获取OpenFlow应用对应的、在未来的周期的动态访问次数阈值,其中,所述动态访问次数阈值是根据基于多个历史的周期中OpenFlow应用下发的流表数预测的所述未来的周期中流表数的变动趋势、以及预设的初始访问次数阈值确定的;
控制模块,被配置为根据所述动态访问次数阈值,对所述OpenFlow应用在相应周期的、进行用于下发流表的访问的次数进行控制。
15.一种SDN访问控制系统,包括:
权利要求13所述的SDN访问控制装置,作为第一SDN访问控制装置;
权利要求14所述的SDN访问控制装置,作为第二SDN访问控制装置。
16.一种SDN访问控制装置,包括:
存储器;以及
耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1~12中任一项所述的SDN访问控制方法。
17.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1~12中任一项所述的SDN访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238721.1A CN113472717B (zh) | 2020-03-30 | 2020-03-30 | Sdn访问控制方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010238721.1A CN113472717B (zh) | 2020-03-30 | 2020-03-30 | Sdn访问控制方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472717A CN113472717A (zh) | 2021-10-01 |
CN113472717B true CN113472717B (zh) | 2022-09-23 |
Family
ID=77866130
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010238721.1A Active CN113472717B (zh) | 2020-03-30 | 2020-03-30 | Sdn访问控制方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472717B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168205A (zh) * | 2014-08-06 | 2014-11-26 | 杭州华三通信技术有限公司 | 报文处理方法及装置 |
CN105721316A (zh) * | 2016-02-05 | 2016-06-29 | 北京邮电大学 | 一种下发流表的方法及装置 |
CN105812277A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 访问请求的控制方法和系统、通信设备 |
CN107222412A (zh) * | 2017-06-08 | 2017-09-29 | 全球能源互联网研究院 | 一种基于网络拓扑判定的sdn混合模式流表下发方法及装置 |
CN107436835A (zh) * | 2017-06-21 | 2017-12-05 | 北京小度信息科技有限公司 | 访问控制方法和装置 |
CN108334774A (zh) * | 2018-01-24 | 2018-07-27 | 中国银联股份有限公司 | 一种检测攻击的方法、第一服务器及第二服务器 |
CN110838982A (zh) * | 2019-11-21 | 2020-02-25 | 中国联合网络通信集团有限公司 | 网络流表参数的调整方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150089566A1 (en) * | 2013-09-24 | 2015-03-26 | Radware, Ltd. | Escalation security method for use in software defined networks |
-
2020
- 2020-03-30 CN CN202010238721.1A patent/CN113472717B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168205A (zh) * | 2014-08-06 | 2014-11-26 | 杭州华三通信技术有限公司 | 报文处理方法及装置 |
CN105812277A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 访问请求的控制方法和系统、通信设备 |
CN105721316A (zh) * | 2016-02-05 | 2016-06-29 | 北京邮电大学 | 一种下发流表的方法及装置 |
CN107222412A (zh) * | 2017-06-08 | 2017-09-29 | 全球能源互联网研究院 | 一种基于网络拓扑判定的sdn混合模式流表下发方法及装置 |
CN107436835A (zh) * | 2017-06-21 | 2017-12-05 | 北京小度信息科技有限公司 | 访问控制方法和装置 |
CN108334774A (zh) * | 2018-01-24 | 2018-07-27 | 中国银联股份有限公司 | 一种检测攻击的方法、第一服务器及第二服务器 |
CN110838982A (zh) * | 2019-11-21 | 2020-02-25 | 中国联合网络通信集团有限公司 | 网络流表参数的调整方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113472717A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868673B2 (en) | Network access control based on distributed ledger | |
CN108900559B (zh) | 登录凭证的管理方法、装置、计算机设备及存储介质 | |
US9332019B2 (en) | Establishment of a trust index to enable connections from unknown devices | |
US20150220455A1 (en) | Methods and apparatus for protecting operating system data | |
US20170161120A1 (en) | Information processing system and network resource management method | |
AU2021202560B2 (en) | Application startup control method and control device | |
US20190281062A1 (en) | Security bypass environment for circumventing a security application in a computing environment | |
US20100100929A1 (en) | Apparatus and method for security managing of information terminal | |
CN111919198B (zh) | 内核函数回调的方法和系统 | |
Stach et al. | Design and implementation of the privacy management platform | |
CN111400723A (zh) | 基于tee扩展的操作系统内核强制访问控制方法及系统 | |
US10503882B2 (en) | File execution | |
CN105827645B (zh) | 一种用于访问控制的方法、设备与系统 | |
CN104318156A (zh) | 一种进程访问安全方法及系统 | |
KR20170119903A (ko) | 랜섬웨어를 포함한 멀웨어 제어 방법 및 그 제어 장치 | |
US20170346837A1 (en) | Real-time security modification and control | |
KR101657180B1 (ko) | 프로세스 접근 제어 시스템 및 방법 | |
CN113472717B (zh) | Sdn访问控制方法、装置和计算机可读存储介质 | |
CN114860481A (zh) | 剪贴板保护方法、系统、存储介质及计算机设备 | |
JP2018147444A (ja) | 分析プログラムを実行する計算機システム、及び、分析プログラムの実行を監視する方法 | |
CN113645217A (zh) | 自适应调整访问阈值的方法 | |
JP2002318700A (ja) | 仮想計算機システムの運用管理情報提供制御方法および仮想計算機システム | |
US10809924B2 (en) | Executable memory protection | |
WO2020030270A1 (en) | Apparatus and method for secure interprocess messaging | |
US10546118B1 (en) | Using a profile to provide selective access to resources in performing file operations |
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 |