[发明专利]一种软件定义网络中多应用间的规则冲突检测与消除方法在审
申请号: | 201611162507.2 | 申请日: | 2016-12-15 |
公开(公告)号: | CN106656591A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 赵兴文;毛小乐;李晖;林佳萍 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 西安长和专利代理有限公司61227 | 代理人: | 黄伟洪 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 定义 网络 应用 规则 冲突 检测 消除 方法 | ||
技术领域
本发明属于信息网络技术领域,尤其涉及一种软件定义网络中多应用间的规则冲突检测与消除方法。
背景技术
随着互联网技术的飞速发展,越来越多的网络设备需要管理。不同厂家不同型号的网络设备往往具有不同的配置指令,这样就会导致设备管理员需要查阅很多的资料来对相应的设备进行配置管理,面对日益庞大的网络系统,网络设备的配置管理将是一个非常繁琐的问题。2006年,斯坦福大学启动了“Clean-Slate Design for the Internet”项目,该项目旨在研究提出一项新的网络技术,突破当前互联网基础架构的限制,其核心理念是使网络软件化,并充分实现网络开放,使得网络能够像软件一样便捷,灵活。为支持这个项目的实现,2008年斯坦福大学的教授Nick Mckeown教授提出了OpenFlow,其核心思想是将传统网络设备的数据平面和控制平面分离,通过集中控制器以标准接口对各种网络设备进行分配和管理。随后经由斯坦福项目的推广,这个概念逐渐扩展为软件定义网络(SDN)。软件定义网络将控制平面与数据平面分离,以达到控制平面可编程和数据平面抽象化的目的。软件定义网络主要分为三层架构,从上到下依次是:应用层,控制层,基础设施层。应用层主要由上层应用组成,控制层由SDN控制器组成,基础设施层由SDN交换机和一些主机组成。SDN交换机在接收到数据时根据交换机中的流表对数据包进行处理,如果没有匹配的流表,数据包的头部信息将转发给控制器,由控制器制定出相应的处理规则,转发给交换机,由交换机来进行处理。软件定义网络的提出使得管理员可以忽略底层硬件的差别,对网络设备进行集中统一管理。大大降低了网络管理的复杂性。然而,因为软件定义网络的集中控制,使得多个应用之间的规则可能会产生冲突。如防火墙应用与交换机流表间规则的冲突,交换机流表自身的规则冲突,负载均衡与访问控制应用规则之间的冲突,共享资源分配的冲突等。这些冲突的规则如果不进行检测与消除,将会使得整个软件定义网络瘫痪。现有技术包括三类;第一类:Porras P,Shin S,Yegneswaran V,et al.A security enforcement kernel for OpenFlow networks[C]//Proceedings of the first workshop on Hot topics in software defined networks.ACM,2012:121-126.主要内容:提出了针对NOX控制器因提供动态OpenFlow应用时所产生的潜在冲突流规则的检测与消除方法。它是在NOX控制器上增加角色认证和增强安全技术来实时检测流规则冲突,并提出了基于别名集的SDN安全策略冲突检测方法,该方法将通信中的源地址和目的地址分别放在两个地址集合中,并将Set-Filed操作中被修改的地址也加入到上述两个集合,然后将源地址集合与目标地址集合与防火墙的安全规则进行比较从而发现策略冲突。别名集合方法可以找到一些简单的由于修改流表造成的安全策略冲突。王鹃,王江,焦虹阳,等.一种基于OpenFlow的SDN访问控制策略实时冲突检测与解决方法[J].计算机学报,2015,38(4):872-883.针对防火墙中的安全规则可能会因为交换机的流表项被改写而绕过,提出了一种基于Flowpath的实时动态策略冲突检测与解决方法,通过实时获取SDN网络状态,能够检测出防火墙规则和交换机中流表规则的直接或者间接违反,如果发现冲突,使用基于Flowpath进行自动化和细粒度的冲突解决。王鑫,高能,马存庆,等.分布式SDN控制器的规则冲突解决方案[J].信息网络安全,2014(9):6-11.将FortNox的研究扩展到分布式系统中,并添加基于端到端路径的控制器规则冲突解决机制,同时增加了控制器的自举过程。Hu H,Han W,Ahn G J,et al.FLOWGUARD:Building robust firewalls for software-defined networks[C]//Proceedings of the third workshop on Hot topics in software defined networking.ACM,2014:1-3.提出了FLOWGUARD方案,方案能够在网络状态更新的时候实时地检测防火墙安全规则是否被违反,并及时解决。基于Header Space Analysis方法,将防火墙规则分为5个域:源地址,源端口,目标地址,目标端口,协议。入口流路径的头域由源地址,源端口和协议组成。出口流路径的头域由目标地址和目标端口组成。将重写流路径条目称为转移流路径(shifted flow paths),转移流路径组成了一个图称为:Shifted Flow Path Graph。防火墙中的规则建立一个Authorization Space。通过比较Shifted Flow Path Graph和Deny Authorization Space这两个空间来判断是否有冲突的策略。如果存在冲突则按照优先级修改防火墙和交换机流表中的规则。Wang J,Wang Y,Hu H,et al.Towards a Security-Enhanced Firewall Application for OpenFlowNetworks[M]//Cyberspace Safety and Security.Springer International Publishing,2013:92-103。Auyoung A,Ma Y,Banerjee S,et al.Democratic Resolution of Resource Conflicts Between SDN Control Programs[C]//ACM International on Conference on Emerging NETWORKING Experiments and Technologies.ACM,2014.针对所有共享网络(重点是SDN网络)中模块之间的资源分配的冲突问题提出来检测与消除方案。冲突来源:不同租户之间的资源分配(可以是带宽,虚拟机等)。方案提出了处理的过程:(1)租户发出请求(2)SDN控制器获得全网的视图(3)新增加的模块给出相应的建议(多个建议)(4)比较这些建议(5)使用投票机制来决定具体的实施方案(建议中的方案之一)。方案的提出提高的系统的通用性,并且没有将网络中的各个模块中所使用的算法暴露给其他的模块,即保证了网络中模块间的低耦合。Maldonado-Lopez F A,Calle E,Donoso Y.Detection and prevention of firewall-rule conflicts on software-defined networking[C]//International Workshop on Reliable Networks Design and Modeling.IEEE,2015.提出了将Alloy模型,模型中指出了流表中的规则怎么进行模型的转化,然后利用树结构来进行冲突检测。只针对防火墙中的规则表。Natarajan S,Huang X,Wolf T.Efficient conflict detection in flow-based virtualized networks[C]//Computing,Networking and Communications(ICNC),2012International Conference on.IEEE,2012:690-696.介绍了检测SDN网络中的防火墙的规则冲突的方案,提出了规则的划分模型。即将每一个规则划分为这五个元素:索引,IP地址,端口,协议,动作。然后使用树结构进行规则的冲突检测。并提出了两种检测方法,一种基于散列树的检测方法,这种方案分别比较12个值(即openflow表中的所有值)将这12个值分为两组。一组是radix-trie,另一组是hash-trie。然后将12个域值所返回的结果使用对称矩阵来进行分析,判断是否有冲突。另外一种方法是:与第一种类似,将规则转换一种表述形式,例如将掩码表示的IP地址转换为由一个最大值和一个最小值表示的范围。然后在相应的取值范围内(各个域值)对其进行冲突检测。Lo C C,Wu P Y,Kuo Y H.Flow entry conflict detection scheme for software-defined network[C]//International Telecommunication Networks and Applications Conference.2015:220-225.针对一个新的数据包可能匹配交换机流表的多个规则提出了检测方案。方案是基于bit向量。将具有相同前缀长度的表项分为一组,然后根据划分的向量采取相应的方法检测向量中的冗余比特。Son S,Shin S,Yegneswaran V,et al.Model checking invariant security properties in OpenFlow[J].IEEE ICC-2013:1974-1979.针对交换机中的流表可能会违反安全规则提出了检测方案-flover。将openflow规则和网络中的安全策略规则转换为一个检测集合,然后通过检测模块来进行检测。上述的技术方案只针对交换机流表可能会间接违反防火墙的规则或者只针对防火墙自身的冲突规则或者是其他的一种类型冲突,即只是针对一种类型的冲突给出了检测与消除方案。第二类针对多应用之间的冲突,但是没有给出具体的检测模型,支持应用层策略下发的openflow控制器的设计与实现提出了三个问题,其中之一就是多个应用处理同一个流时可能会产生一个冲突。比如转发应用和访问控制应用之间一个要求转发一个拒绝转发。解决方案:采用一种规则预定义配合策略缓冲池的方法。对应用进行优先级划分。控制器对每一个交换机设置一个策略缓冲池,控制器先将策略发给交换机的缓冲模块,然后由决策算法来对策略进行检测以及之后的工作。策略缓冲池是一种临时存储未下发策略的数据结构。包括四个域:优先级,有效性,匹配,动作。Openflow交换机的消息进入控制器后,就被转发给对应列表依次进行处理。应用在处理完消息后会将处理结果以及结果的优先级,是否为空的标识和该应用的名称添加到缓冲池中,在所有应用的处理结果添加完毕后,由决策策略模块对策略缓冲池中的所有策略进行计算,以得出最优策略后,再下发给openflow交换机。策略决策模块是用来实现从缓冲池中挑选出最优策略。对最优策略的评判标准因时而异,与具体的应用环境有很大的关系。开发人员可以根据需求实现自定义的最优策略。第三类是针对多应用,但是对于每一类的应用使用不同的检测方案,没有统一模型,Wonkyu Han,Hu H,Ahn G J.LPM:Layered Policy Management for Software-Defined Networks[C]//Wg 11.3Conference on Data and Applications Security and Privacy.2014:356-363.提出了四个不同模块的应用:防火墙,路由,负载均衡,监控;针对这些模块,将冲突划分为两种:模块内部的,模块之间的;并针对模块内部和模块之间的冲突给出了各自的解决方案。针对软件定义网络应用之间的规则冲突问题,目前的解决方法主要有如下几种:1.针对交换机流表规则可能会间接的违反防火墙应用的安全规则提出检测与消除方案。这种方法尽管可以检测到这类冲突,但是软件定义网络中其他应用之间也会存在规则冲突;2.针对应用间策略的冲突问题,提出了策略缓冲和策略决策机制,但并没有给出具体的冲突检测方案;3.针对网络中的各个应用模块,将冲突划分为应用模块自身的冲突和应用模块之间的冲突,针对不同应用和不同类型的冲突分别使用不同的方案进行处理。这种方法虽然解决了多个应用规则之间的冲突,但是并没有一个统一的检测模型和处理方案,随着应用越来越多就会需要不断地提出针对新应用的检测方案,因此方案不具有通用性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611162507.2/2.html,转载请声明来源钻瓜专利网。