一种检测SDN中流表一致性的方法和系统技术方案

技术编号:15441754 阅读:89 留言:0更新日期:2017-05-26 06:49
本发明专利技术公开了一种检测SDN中流表一致性的方法和系统,可根据基于流表篡改的监听攻击的特征定制需要检测的字段,只要是防护已知流表篡改类型的监听攻击就能实现百分之百的检测率;同时,由于该方法只需要交换机返回指定字段的计数内容,因而占用网络传输带宽小,占用控制器、交换机端处理时间也更少。因而,本发明专利技术提出了一种针对性更强、检测率更高、检测效率更快的方法和系统,以较低的网络传输负荷、较高检测率对流表的一致性进行检测,弥补了SDN分层结构缺乏对流表规则一致性检测措施的不足,是对SDN流表一致性检测防护方面的补充和改进,提高SDN网络控制的可靠性,为SDN网络数据传输提供安全保证。

Method and system for detecting consistency of SDN flow table

The invention discloses a method for detecting SDN in table consistency method and system, according to the field features custom flow table tampering attacks need to monitor detection based on, as long as the door known flow meter tampering with the type of eavesdropping attacks can achieve a detection rate of one hundred percent; at the same time, the contents of the counting methods only need to switch back to the specified the field, which occupy the network bandwidth occupied by small, controller, switch side processing time is less. Therefore, the present invention provides a more targeted, higher detection rate and faster detection speed detection method and system with low network transmission load, high detection rate of convection table consistency, to make up for the lack of the layered structure of SDN convection table rules consistency detection measures, is complementary to the table and the improvement of protection the consistency of detection of SDN flow, improve the reliability of SDN control network, providing security for SDN network data transmission.

【技术实现步骤摘要】
一种检测SDN中流表一致性的方法和系统
本专利技术涉及SDN安全领域。更为具体的,本专利技术涉及一种检测SDN中流表一致性的方法和系统。
技术介绍
软件定义网络(Software-definedNetworking,SDN),其核心的思想是将复杂的网络设备一分为二。转发功能由单一的硬件来实现,称之为数据面;而较为复杂的控制、管理、服务功能由软件来实现,称之为控制面。分离的控制层和数据层使得SDN架构存在转发规则不一致的隐患。由于中央控制器将数据平面转发规则安装到下层交换机,以指导数据包转发或其他操作,一旦交换机端的规则被恶意篡改,而控制器没有察觉,则下层网络的实际运转情况将不受控制器控制。SDN中的转发规则称作流表,以现在主流的SDN南向接口OpenFlow协议v1.3.0为例,一条流表包含以下字段:(1)MatchFields字段,表示需要匹配的数据包的具体包头字段,当流经数据包的包头特定字段的数值等于该流表项指明的数值时,则将对该数据包做出流表项规定的后续操作;(2)Priority,表示该流表项的优先级,优先级越高的流表项最先匹配;(3)Counters,表明该流表项已经匹配的数据包的个数;(4)Instructions,为将要对数据包进行的操作,如丢弃、转发等;(5)Cookie,是被远程控制器用来筛选FlowStatistics、FlowModification或者FlowDeletion行为的指示值。由于现在主流的OpenFlow协议各版本都没有对流表一致性问题进行处理,且一些OpenFlow交换机留有监听模式,即网络管理者可以通过未认证的TCP端口来操纵交换机上的流表数据,进而攻击者可以通过预留接口,为交换机的特定数据流添加镜像端口,从而窃听数据流。国外研究人员Markku等人在《SpookinYourNetwork:AttackinganSDNwithaCompromisedOpenFlowSwitch》分析了该种威胁的具体实现细节,并指出其可造成网络监听,但未提出有效的防护措施。Kevin等人在《Openflowvulnerabilityassessment》指出当前可行的检测流表一致性的方案,需要导出并检测交换机所有流表是否被改动,该方法计算量大,且占用较多网络传输带宽,可行性低。关于检测交换机是否被入侵而导致其行为违反了控制器所下发的转发规则,Chi等人在文章《HowtodetectacompromisedSDNswitch》提出了一种周期性的抽样检测方法,从全网随机选定一些交换机,并从每个交换机上随机抽取小部分流表项,并向网络中发送与该流表项匹配的数据包,如果相应的交换机未按照流表规则来处理数据包,则认为该交换机遭到了入侵。然而,上述已有的解决方案在检测效率、检测准确性、检测覆盖范围方面均有一定限制。
技术实现思路
针对上述问题,本专利技术提供了一种检测SDN中流表一致性的方法和系统,以较低的网络传输负荷、较高检测率对流表的一致性进行检测,弥补了SDN分层结构缺乏对流表规则一致性检测措施的不足,提高SDN网络控制的可靠性,为SDN网络数据传输提供安全保证。为实现上述目的,本专利技术采用如下技术方案:一种检测SDN中流表一致性的方法,其步骤包括:1)用户在控制器端配置待检测流表的目标字段以及查询频率;2)在控制器端备份已下发过的所有流表以及所有流表对应的目标字段的数目;3)根据步骤1)的配置向交换机发起查询请求;4)交换机根据接收到查询请求,将待检测流表的目标字段的实时统计信息返回控制器端;5)将步骤4)返回的实时统计信息中目标字段的数目与步骤2)备份的目标字段的数目进行比对,完成对SDN中流表一致性的检测。进一步地,步骤1)中用户根据检测需要,基于流表篡改的监听攻击的特征选择目标字段。进一步地,步骤2)中,在控制器端针对每一个交换机进行备份。进一步地,所述查询请求包括:消息编号值,当次查询中需查询的目标字段的数目以及需查询的目标字段的编号列表。进一步地,所述实时统计信息包括:消息编号值,当次查询中需回复的目标字段的数目,以及需回复的目标字段的信息列表。进一步地,需回复的目标字段的信息列表包括需回复的目标字段的编号以及该编号对应的目标字段的计数值。进一步地,每次查询中控制器端的实时统计信息中的消息编号值与查询请求中的消息编号值是对应一致的。进一步地,步骤4)中所述交换机通过对检测前已有的待检测流表的目标字段进行计数,且每当待检测流表有安装、删除、修改动作时,对其目标字段的数目进行更新,得到待检测流表的目标字段的实时统计信息。一种检测SDN中流表一致性的系统,包括:部署有流表备份模块、管理配置模块和查询模块的控制器,以及部署有字段计数模块和信息回复模块的交换机;所述流表备份模块用于备份控制器已下发过的所有流表以及所有流表对应的目标字段数目,所述管理配置模块用于配置待检测流表的目标字段以及查询频率,所述查询模块用于根据管理配置模块的配置向交换机发送查询消息,并根据信息回复模块的回复检测流表一致性;所述字段计数模块用于对检测前已有的待检测流表的目标字段进行计数,并实时更新待检测流表的目标字段的计数值,所述信息回复模块用于根据查询消息提取查询时待检测流表的目标字段的当前计数值并回复给查询模块。进一步地,所述查询模块向交换机发送的查询消息包括:消息编号值,当次查询中需查询的目标字段的数目以及需查询的目标字段的编号列表。进一步地,所述信息回复模块的回复包括:消息编号值,当次查询中需回复的目标字段的数目,以及需回复的目标字段的信息列表。进一步地,每次查询中,查询消息的消息编号值与回复的消息编号值是对应一致的。进一步地,需回复的目标字段的信息列表包括需回复的目标字段的编号以及该编号对应的目标字段的计数值。进一步地,所述查询模块将信息回复模块回复的待检测流表的目标字段的当前计数值与所述流表备份模块备份的目标字段的数目进行比较以检测流表一致性。与现有技术相比,本专利技术的有益效果是:本专利技术基于现有的检测SDN流表一致性的方法,提出了一种针对性更强、检测率更高、检测效率更快的方法和系统。该方法和系统可根据基于流表篡改的监听攻击的特征定制需要检测的字段,只要是防护已知流表篡改类型的监听攻击就能实现百分之百的检测率;同时,由于该方法只需要交换机返回指定字段的计数内容,因而占用网络传输带宽小,占用控制器、交换机端处理时间也更少。因而,本专利技术是对SDN流表一致性检测防护方面的补充和改进。附图说明图1是本专利技术检测SDN中流表一致性的系统模块图。图2为控制器向交换机进行查询的消息格式示意图。图3为本专利技术中交换机回复控制器的消息格式示意图。图4为图3所示的结构体<ActfieldCount>的结构示意图。图5是本专利技术流表字段检测方法测试的攻击场景模拟图。图6是实施例中控制器向交换机进行查询的消息格式示意图。图7是实施例中交换机回复控制器的消息中结构体<ActfieldCount>的示意图。图8是实施例中交换机回复控制器的消息格式示意图。具体实施方式以单个交换机为例,本专利技术检测SDN中流表一致性的系统如图1所示,控制器端主要负责流表备份,管理配置以及发出查询请求,交换机则记录待检测流表目标字段数目变化,本文档来自技高网
...
一种检测SDN中流表一致性的方法和系统

【技术保护点】
一种检测SDN中流表一致性的方法,其步骤包括:1)用户在控制器端配置待检测流表的目标字段以及查询频率;2)在控制器端备份已下发过的所有流表以及所有流表对应的目标字段的数目;3)根据步骤1)的配置向交换机发起查询请求;4)交换机根据接收到查询请求,将待检测流表的目标字段的实时统计信息返回控制器端;5)将步骤4)返回的实时统计信息中目标字段的数目与步骤2)备份的目标字段的数目进行比对,完成对SDN中流表一致性的检测。

【技术特征摘要】
1.一种检测SDN中流表一致性的方法,其步骤包括:1)用户在控制器端配置待检测流表的目标字段以及查询频率;2)在控制器端备份已下发过的所有流表以及所有流表对应的目标字段的数目;3)根据步骤1)的配置向交换机发起查询请求;4)交换机根据接收到查询请求,将待检测流表的目标字段的实时统计信息返回控制器端;5)将步骤4)返回的实时统计信息中目标字段的数目与步骤2)备份的目标字段的数目进行比对,完成对SDN中流表一致性的检测。2.如权利要求1所述的检测SDN中流表一致性的方法,其特征在于,步骤1)中用户根据检测需要,基于流表篡改的监听攻击的特征选择目标字段;步骤2)中,在控制器端针对每一个交换机进行备份。3.如权利要求1所述的检测SDN中流表一致性的方法,其特征在于,所述查询请求包括:消息编号值,当次查询中需查询的目标字段的数目以及需查询的目标字段的编号列表;所述实时统计信息包括:消息编号值,当次查询中需回复的目标字段的数目,以及需回复的目标字段的信息列表。4.如权利要求3所述的检测SDN中流表一致性的方法,其特征在于,需回复的目标字段的信息列表包括需回复的目标字段的编号以及该编号对应的目标字段的计数值。5.如权利要求3所述的检测SDN中流表一致性的方法,其特征在于,每次查询中控制器端的实时统计信息中的消息编号值与查询请求中的消息编号值是对应一致的。6.如权利要求1所述的检测SDN中流表一致性的方法,其特征在于,步骤4)中所述交换机通过对检测前已有的待检测流表的目标字段进行计数,且每当待检测...

【专利技术属性】
技术研发人员:王利明宋晨
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1