一种适用于SDN网络的混合包标记溯源系统和方法与流程

文档序号:11292225阅读:360来源:国知局
一种适用于SDN网络的混合包标记溯源系统和方法与流程

本发明涉及数据溯源领域,尤其是sdn网络下数据溯源领域,具体是指一种适用于sdn网络的混合包标记溯源系统。混合包标记主要是指数据包标记和日志记录技术。



背景技术:

sdn(softwaredefinednetworking,软件定义网络)是一种新型的网络架构,为了解决传统网络难以满足云计算、大数据,以及相关业务提出的灵活的资源需求,sdn提出了将控制平面和数据平面分离的理念,支持集中化的网络状态控制,实现底层网络设施对上层应用的透明。sdn的出现使得网络技术工作者(包括网络管理者、科研者、网络服务提供商等)能够根据实际需求更加灵活方便地配置和管理网络,能够更加自由友好地定制和优化网络等;但毫无疑问的,sdn的集中特性也使得网络攻击者蠢蠢欲动,一旦sdn控制器被攻破,网络攻击者将会获得操控整个网络的最高权限,这意味着一旦sdn网络沦陷将面临着比传统网络更大的危机。为了应对此类威胁,提高sdn控制器的健壮性,目前大多数研究都围绕防御和检测展开,然而,当攻击发生时,这些技术无法定位攻击源头,有效地缓解和扼止攻击。因此,如何在防御和检测的基础上,设计一种有效合理的溯源方法帮助定位攻击源,加强sdn控制器的鲁棒性是目前sdn网络亟待解决的问题和挑战。

一种适用于sdn网络的混合包标记溯源系统和方法主要需考虑两个方面的问题:(1)如何设计一种新的安全理论架构,即如何在结合sdn集中特性的基础上,融合检测、溯源和缓解等不同的安全机制多方位加强sdn网络安全;(2)如何设计一种有效的溯源技术,即如何在尽可能不增加网络负担、影响网络性能的前提下,提出一种准确高效的溯源方法快速定位攻击源头,重构攻击路径,为后续执行应对策略提供理论基础。总之,由于sdn还处于初步发展阶段,研究和完善sdn网络下的安全机制对加快sdn的推广与普及意义深远。



技术实现要素:

本发明的目的在于提供了一种适用于sdn网络的混合包标记溯源系统和方法,将传统网络下的入侵检测技术与溯源技术结合起来,并应用于sdn网络。入侵检测技术主要是根据设定好的规则或策略对网络行为进行检测和分析,并对异常行为实施相应操作;溯源技术强调的是一种追本溯源的技术,根据追踪路径重现数据的历史状态和演变过程,实现数据历史档案的追溯;在该系统中,数据溯源更多的是指利用标记信息确定数据包在网络传输过程中所转发的路径。当sdn遭受分布式拒绝服务攻击或恶意数据包攻击时,在数据包标记的基础上,能够准确又高效地实现数据包的溯源,并在数据包攻击路径节点处部署相应的安全策略,这在一定程度上能够比较快速地缓解或防御分布式拒绝服务攻击或恶意数据包攻击。

为达到上述目的,本发明所采用的技术方案为一种适用于sdn网络的混合数据包标记溯源系统,所述系统是由区域代理模块、异常检测模块、数据处理模块和溯源管理模块组成,其中

所述区域代理模块包括:

(1)与控制器通信功能

一旦在sdn网络部署该溯源系统,溯源系统中的区域代理模块利用openflow协议与控制器进行通信,要求获得某个区域内所有交换机的信息;同时,区域代理模块需要以一定的周期向控制器发送消息,当网络拓扑发生变化时,区域代理模块能够较快获取所管理区域内发生变化的交换机信息;

(2)生成交换机映射表功能

在与控制器通信的基础上,区域代理模块根据所获得的关于某个区域内交换机信息生成交换机映射表,同时记录生成交换机映射表的时间;当网络拓扑发生变化时,能及时更新交换机映射表,记录更新的时间,同时还需要维护原来的交换机映射表;

所述异常检测模块对经过该溯源系统管辖区域内所有数据包进行异常检测分析;

所述数据处理模块实现数据包标记功能,假定该溯源系统是安全的,数据处理模块既能对数据包某些字段进行标记,也能对数据包自身信息进行记录,当某个数据包经过交换机时,数据处理模块将检查数据包的标记字段,如果标记字段未被填满,且余下标记空间能存储所标记的信息,数据处理模块将标记信息写入数据包标记字段,并将数据包按照正常流程进行转发;当数据处理模块发现标记字段已被填满或者余下空间不足,数据处理模块将提取该数据包标记字段及其他信息,并将提取的信息进行存储,同时清空该数据包的标记字段,再将数据包按照正常流程转发出去;

所述溯源管理模块包括:

(1)与控制器通信功能

当确定某可疑数据包确实是攻击数据包时,通过控制器向溯源管理模块发出溯源请求,在溯源信息中包含攻击信息,溯源管理模块收到溯源请求后给予回应,告知控制器该溯源请求已被受理;当溯源管理模块根据攻击信息重构其攻击路径后,将攻击路径发送至控制器,控制器收到攻击路径后,向溯源管理模块给予回应;

(2)重构攻击路径功能

当溯源管理模块收到控制器发出的溯源请求后,系统调用数据处理模块,根据溯源请求包含的攻击信息,与数据处理模块存储的数据包标记信息进行匹配,分析匹配成功的标记信息,然后系统调用区域代理模块,通过查询交换机映射表,获取各标记信息所对应的交换机,根据到达各交换机的顺序重构攻击路径,最后系统利用溯源管理模块将重构的攻击路径发送给控制器。

进一步,上述系统的区域代理模块与控制器通信时获得某个区域内所有交换机的信息是指可以用来唯一识别和确定各个交换机的信息。

进一步,上述系统的区域代理模块生成交换机映射表时,需要不同交换机的识别信息能唯一确定对应的交换机,且识别信息较交换机本身信息存储量小,便于存储。

进一步,上述异常检测模块设定的匹配规则分为两种:白名单和模式识别,白名单包含目前技术上能检测出正常数据包的报文格式和特征,模式识别包含数据包分析、匹配和评估。

上述系统的数据处理模块对数据包某些字段进行标记时该数据包可以是由异常检测模块分析出的可疑数据包。

上述系统的溯源管理模块在向控制器发送攻击路径时,如有必要,需将重构攻击路径时使用的标记信息和记录信息一并发送给控制器。

本发明还进一步提出一种利用上述适用于sdn网络的混合包标记溯源系统进行混合包标记溯源方法,包括如下步骤:

步骤1:数据包标记阶段

(1)一旦该溯源系统被成功部署,区域代理模块向控制器发送请求,请求获取某个区域内所有交换机信息,然后按照一定规则或策略生成交换机映射表;

(2)异常检测模块检测进入该区域的数据包,查看数据包是否在白名单上,若不在,提取数据包相关特征,并进行模式识别,若检测出该数据包异常或无法识别,此时通知数据处理模块;若数据包在白名单上或检测出数据包是安全包,则将数据包按照正常流程继续转发;

(3)数据处理模块按照指定的策略或规则对需要标记的数据包进行标记,若标记字段已满或余下空间不足,提取数据包标记字段及其他信息,按照指定的策略或规则进行存储,同时清空数据包标记字段,然后将数据包按照正常流程继续转发,否则将标记后的数据包按照正常流程直接转发;

(4)在对数据包进行标记的过程中,所标记的交换机信息需要通过查询区域代理模块生成的交换机映射表来实现;

步骤2:数据包溯源阶段

(1)一旦网络发现异常或遭受攻击,控制器确定攻击包,并向该系统溯源管理模块发送溯源请求,溯源请求中包含攻击信息;

(2)溯源管理模块收到溯源请求后,提取溯源请求中包含的攻击信息,然后查询数据处理模块存储的数据包标记信息,并进行匹配,匹配成功执行步骤(3),否则继续查询直至匹配;

(3)根据步骤(2)匹配成功后的标记信息,查询区域代理模块管理的交换机映射表,识别标记信息所对应的交换机;

(4)根据步骤(3)所得到的交换机,然后按照到达各交换机先后顺序,即数据包到达交换机的时间重构攻击路径,并将该路径发送给控制器,若有必要,还需将重构路径的相关信息一并发送给控制器。

进一步,上述方法的数据包标记阶段中对数据包进行异常检测为可选操作。

与现有技术相比,本发明的有益效果:

1,本发明针对sdn网络可能遭受的分布式拒绝服务或恶意数据包攻击,通过对数据包某些字段进行标记和存储,配合使用一些方法完成对数据包的追踪,重构攻击路径。

2,异常检测与混合包标记的结合使用,在保证溯源正确率的基础上,也提高了溯源效率;同时,可选择地对某些数据包进行标记,既为可疑数据包溯源提供了依据,也在一定程度上降低了信息存储量。

3,采用本发明的系统和方法,当sdn网络遭受分布式拒绝服务攻击、恶意数据包攻击等安全威胁时,可以为sdn网络进行事后追踪或防御提供一种技术手段,具有广泛的技术和市场应用价值。

附图说明

图1是本发明溯源系统结构示意图。

图2为本发明溯源系统数据包标记流程图。

图3为本发明溯源系统数据包溯源流程图。

具体实施方式

以下结合说明书附图对本发明创造作进一步的详细说明。

如图1所示,本发明提供了一种适用于sdn网络的混合包标记溯源系统,该系统主要是将异常行为检测与数据溯源技术结合起来,有选择地对数据包进行标记或记录,来达到数据溯源的目的,提高了数据溯源的正确率和效率。该系统主要由区域代理模块、异常检测模块、数据处理模块和溯源管理模块四个模块组成,具体包括如下:

一、区域代理模块

区域代理模块管理一个特定网络区域下所有交换机相关信息,由于sdn网络拓扑的复杂性,每个溯源系统中区域代理模块只负责管理一个特定区域内所有交换机的部分信息。主要包括以下几个功能:

(1)与控制器通信功能

一旦在sdn网络部署该溯源系统,溯源系统中的区域代理模块利用openflow协议与控制器进行通信,要求获得某个区域内所有交换机的信息,这里主要是指可以用来唯一识别和确定各个交换机的信息;对于给定区域范围,例如我们可以假定包含32台交换机的区域归属一个区域代理模块来管理。同时,区域代理模块需要以一定的周期向控制器发送消息,当网络拓扑发生变化时,区域代理模块能够较快获取所管理区域内发生变化的交换机信息。

(2)生成交换机映射表功能

在与控制器通信的基础上,区域代理模块根据所获得的关于某个区域内交换机信息生成交换机映射表,同时记录生成交换机映射表的时间;当网络拓扑发生变化时,能及时更新交换机映射表,记录更新的时间,同时还需要维护原来的交换机映射表。对于交换机映射表生成,我们可以假定不同交换机的mac地址对应不同的编号,诸如0,1,2等,选定编号也就选定了某台交换机。

三、异常检测模块

异常检测模块主要是对经过该溯源系统管辖区域内所有数据包进行异常检测分析,设定的匹配规则主要分为两种:白名单和模式识别。白名单主要包含目前技术上能检测出正常数据包的报文格式和特征等,模式识别主要包含数据包分析、匹配、评估等相关技术。

对到达该管辖区域内的数据包,异常检测模块首先会对该数据包进行全协议栈解析,也就是按照协议的层次划分从底到顶逐层进行解析;然后与设定好的白名单进行匹配,匹配成功对该数据包不做处理,匹配失败调用模式识别规则;模式识别首先根据数据包全协议栈解析后的结果,即该数据包的相关特征和协议变量,对模式匹配输入规则树进行统计分析,然后根据分析结果选择最优的模式匹配算法,最后对模式匹配结果进行评估,给出数据包相关特性,如安全包、可疑包(未知包)和恶意包,对不同特性的数据包执行不同的操作。在本发明中,对安全包不做处理,恶意包选择丢弃,如果是可疑包需要告知该溯源系统的数据处理模块,交由数据处理模块对该数据包实施相应操作。

四、数据处理模块

数据处理模块是进行溯源任务的基础单元,也是整个系统的核心,主要实现数据包标记功能。在该数据处理模块中,我们需要假定该溯源系统是安全的。

该系统由于采用混合包标记溯源算法,因此数据处理模块既能对数据包某些字段进行标记,也能对数据包自身信息进行记录。当某个数据包(可以是由异常检测模块分析出的可疑数据包)经过交换机时,数据处理模块将检查数据包的标记字段,如果标记字段未被填满,且余下标记空间能存储所标记的信息,数据处理模块将标记信息写入数据包标记字段,并将数据包按照正常流程进行转发;当数据处理模块发现标记字段已被填满或者余下空间不足,数据处理模块将提取该数据包标记字段及其他信息,如数据包源、目的ip,端口,并将提取的信息进行存储,同时清空该数据包的标记字段,再将数据包按照正常流程转发出去。

对于数据包的标记方法,例如,我们可以假定使用ip包头部的tos域的后两位2bit、16bitid域和1bitrf域来存储标记信息,作为标记字段,总计19bit,存储时按照tos域,id域,rf域依次存储。当数据包经过某台交换机时,数据处理模块首先查询由区域代理模块管理的交换机映射表,获得该交换机映射表中的唯一标识,如编号011,将其写入数据包相应标记字段;另外,如果编号的前两位不为11,需要在写入数据包时在编号之前添加11;但如果编号的前两位是11,此时需要在写入数据包时在编号之前添加00,即0011x;如果编号的前四位为1111,需要在写入数据包时将编号改为00000;添加相关数据的方法主要是用来区分经过不同交换机时存储的交换机编号,可选用其他方法,能实现该功能即可。

五、溯源管理模块

溯源管理模块负责整个网络溯源的信息处理,能够根据数据处理模块对数据包标记的相应信息重构攻击包在网络转发过程中的攻击路径,主要包括以下几个功能:

(1)与控制器通信功能

当确定某可疑数据包确实是攻击数据包时,通过控制器向溯源管理模块发出溯源请求,在溯源信息中包含攻击信息,如攻击包信息,受害者地址,获取时间等。溯源管理模块收到溯源请求后给予回应,告知控制器该溯源请求已被受理;当溯源管理模块根据攻击信息重构其攻击路径后,将攻击路径发送至控制器,如有必要,需要把重构攻击路径时使用的标记信息、记录信息等一并发送给控制器,控制器收到攻击路径后,向溯源管理模块给予回应。

(2)重构攻击路径功能

当溯源管理模块收到控制器发出的溯源请求后,系统调用数据处理模块,根据溯源请求包含的攻击信息,与数据处理模块存储的数据包标记信息进行匹配,分析匹配成功的标记信息,然后系统调用区域代理模块,通过查询交换机映射表,获取各标记信息所对应的交换机,根据到达各交换机的顺序重构攻击路径。最后系统利用溯源管理模块将重构的攻击路径发送给控制器。

如图2和图3所示,本发明还提供了一种适用于sdn网络的混合包标记溯源方法,其实施主要包括两个阶段:数据包标记阶段和数据包溯源阶段,具体实施步骤如下:

步骤1:数据包标记阶段

(1)一旦该溯源系统被成功部署,区域代理模块向控制器发送请求,请求获取某个区域内所有交换机信息,然后按照一定规则或策略生成交换机映射表;

(2)异常检测模块检测进入该区域的数据包,查看数据包是否在白名单上,若不在,提取数据包相关特征,并进行模式识别,若检测出该数据包异常或无法识别,此时通知数据处理模块;若数据包在白名单上或检测出数据包是安全包,则将数据包按照正常流程继续转发;

(3)数据处理模块按照指定的策略或规则对需要标记的数据包进行标记,若标记字段已满或余下空间不足,提取数据包标记字段及其他信息,按照指定的策略或规则进行存储,同时清空数据包标记字段,然后将数据包按照正常流程继续转发,否则将标记后的数据包按照正常流程直接转发;

(4)在对数据包进行标记的过程中,所标记的交换机信息需要通过查询区域代理模块生成的交换机映射表来实现。

步骤2:数据包溯源阶段

(1)一旦网络发现异常或遭受攻击,控制器确定攻击包,并向该系统溯源管理模块发送溯源请求,溯源请求中包含攻击信息;

(2)溯源管理模块收到溯源请求后,提取溯源请求中包含的攻击信息,然后查询数据处理模块存储的数据包标记信息,并进行匹配,匹配成功执行(3),否则继续查询直至匹配;

(3)根据(2)匹配成功后的标记信息,查询区域代理模块管理的交换机映射表,识别标记信息所对应的交换机;

(4)根据(3)所得到的交换机,然后按照到达各交换机先后顺序(数据包到达交换机的时间)重构攻击路径,并将该路径发送给控制器,若有必要,还需将重构路径的相关信息一并发送给控制器。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1