一种SDN/NFV服务部署的拟态防御构架及方法与流程

文档序号:17159558发布日期:2019-03-20 00:28阅读:650来源:国知局
一种SDN/NFV服务部署的拟态防御构架及方法与流程

本发明涉及服务部署和拟态安全防御领域,具体涉及一种sdn/nfv服务部署的拟态防御构架及方法。



背景技术:

服务功能链(servicefunctionchain,sfc)是一组有序的服务功能的集合。对于传统的服务功能链部署,首先根据用户下发的业务请求得出具体的服务功能需求,生成最初的服务功能逻辑链,再将具体的物理设备手动部署到网络中。在传统的网络架构中,像网络地址转换(nat)、防火墙(fw)、入侵检测(ids)均是使用专业的物理设备来实现的,但是他们价格昂贵,升级困难,摆放位置固定。因此,网络管理人员需要对物理网络的部署方式进行复杂、严谨的设计。当网络拓扑发生变化时很难及时地进行调整,无法灵活调用服务功能,造成不必要的网络开销和潜在的利润损失。

随着软件定义网络(softwaredefinednetwork,sdn)技术和网络功能虚拟化(networkfunctionvirtualization,nfv)技术的出现和运用,服务功能链的部署又重新焕发出了生机。基于sdn/nfv技术进行服务功能链部署,nfv技术能够虚拟化常见的物理设备,并且能够为各种网络服务功能构建资源池。sdn技术通过将网络设备的控制与转发进行分离,可以动态的、集中地调度流量的路径,从而提供定制化和灵活的对接。用户和运营商可以通过nfv技术识别业务的需求,创建服务功能链上的各个虚拟服务功能(virtualnetworkfunction,vnf),并且可以自动地配置这些虚拟服务功能的业务逻辑,再通过sdn控制器自动地引导相关业务流量依次、有序的通过这些虚拟服务功能,来完成服务功能链的创建。

当下越来越多的场景开始使用基于sdn和nfv技术的服务功能链部署,而网络空间的威胁也越来越多,各种网络系统被攻击与信息泄露事件屡见不鲜。服务部署是实现网络业务的关键,若在其过程中被黑客攻击,将造成较大影响和损失。其中,服务编排是服务功能链部署过程中的核心步骤,类似于整个服务部署的中心控制模块。它主要是通过nfv编排器对服务路径与服务功能进行编排和管理,形成逻辑上的服务功能链。sdn控制器将服务功能链转化成对应的转发规则,引导流量经过编排好的服务功能。最后将转发规则下发至网络层从而实现用户的服务功能链请求。

在整个服务部署过程中,可能会出现如下安全问题:

(1)攻击者篡改服务编排结果,致使服务路径发生改变,或选取错误的服务功能,导致形成的服务功能链与用户的要求不一致,甚至将攻击者自身的服务器伪装成服务功能加入服务功能链,从而导致部署失败,业务流量被截取。

(2)攻击者可能会直接攻击sdn控制器的转发规则生成过程,从而篡改转发规则,导致网络层的流量无法通过正确的服务功能,甚至影响整个网络的正常运行。

(3)黑客对服务部署系统直接进行ddos或其他资源消耗式攻击,导致sdn控制器与nfv编排器非常缓慢地处理消息,导致服务部署过程变得非常得缓慢甚至直接失败。

(4)当sdn控制器转发规则下发至网络层交换机的传输过程中可能会受到攻击者可能会在下发过程中截取、篡改或者伪造转发规则。

(5)服务器的vnf实例化过程可能会受到攻击者的攻击,即攻击者直接对底层服务器或实例服务功能进行攻击。

其中,第(4)(5)的安全问题分别是普遍的sdn中南向接口协议安全问题与服务器安全问题,已有较多相关研究与防御方法。



技术实现要素:

本发明为了弥补传统服务部署方法安全防御的不足,提出了一种sdn/nfv服务部署的拟态防御构架及方法,本发明主要面对服务部署过程中关键步骤的安全问题,根据邬江兴院士的拟态安全防御思想研究提出了一种基于动态异构冗余模型(dynamicheterogeneousredundancy,dhr)的服务功能链部署拟态防御体系架构,并结合服务部署的实际需求进行关键技术的改进,从而实现服务部署过程的随机主动防御机制。

本发明解决其技术问题所采用的技术方案如下:一种sdn/nfv服务部署的拟态防御构架,包括:

用户业务请求层,用于用户下发服务功能链请求;

控制层,控制层主要包括执行体池、调度器、判决器和南向接口协议栈,调度器动态随机的从执行体池中选择m个执行体进行工作,同时,调度器再将用户下发的服务功能链请求复制m份并分发给每个被选择的执行体;执行体进行nfv服务编排与转发规则生成工作,最后将形成的openflow流表发送到判决器中进行判决;判决器对m份openflow流表进行判决,判决出相对正确的结果;根据统计的结果,判决器在正常的执行体集合中随机选择一个执行体,通过被选执行体的sdn控制器与底层的网络设备进行连接,由该sdn控制器向网络层下发流表,再将有执行体发生异常的消息发送给调度器;调度器对异常执行体进行下线或清洗工作;

网络层,网络层与控制层之间通过南向接口协议进行通信,用于形成满足用户服务功能链请求的服务功能链。

进一步的,所述网络层划分为物理设备层和虚拟服务功能层,物理设备层主要包括交换机、服务器,虚拟服务功能层主要包括若干虚拟服务功能。

进一步的,所述虚拟服务功能包括网络地址转换(nat)、防火墙(fw)、入侵检测(ids)、深度包检测(dpi)、负载均衡(lb)。

进一步的,所述执行体池由多个执行体构成,执行体的异构性是采用操作系统、sdn控制器以及nfv编排器的多样性来实现的,并且将不同的操作系统、sdn控制器以及nfv编排器通过不同方式的组合来增加执行体的异构性。

本发明的另一目的是提供一种sdn/nfv服务部署的拟态防御方法,包括如下步骤:

(1)用户向控制层下发一个服务功能链请求;

(2)调度器动态随机的从执行体池中选择m个执行体进行工作,同时,调度器再将用户下发的服务功能链请求复制m份并分发给每个被选择的执行体;

(3)执行体进行nfv服务编排与转发规则生成工作,最后将形成的openflow流表发送到判决器中进行判决;

(4)判决器对m份openflow流表进行判决,判决出相对正确的结果;

(5)根据统计的结果,判决器在正常的执行体集合中随机选择一个执行体,通过被选执行体的sdn控制器与底层的网络设备进行连接,由该sdn控制器向网络层下发流表,再将有执行体发生异常的消息发送给调度器;

(6)调度器对异常执行体进行下线或清洗工作;

(7)网络层接收到控制层下发的openflow流表,形成满足用户服务功能链请求的服务功能链。

进一步的,所述m为奇数。

进一步的,判决器进行流表判决的方法为:

判决器对每个执行体发送来的m=2m+1份openflow流表中相同的流表进行统计工作,根据统计的结果,若统计出相同的流表大于m+1份,则为步骤(4)中所述的判决器最终相对正确的结果。

与传统服务部署方法相比,本发明的有益效果如下:利用该方法可基本做到服务部署关键流程的防御,执行体的异构性与动态随机调度使得对增加了攻击者对系统扫描与漏洞挖掘难度。判决器随机选择控制器与网络层的连接,也对外呈现不确定性。若攻击者突破动态异构的阻碍,成功实现对某个或者相对多个执行体的入侵,即便对服务部署结果进行篡改也无法影响最终的结果,除非将执行体中的大部分均实现攻击,而执行体之间保持一定的异构度,这将大大增加攻击者的攻击难度与开销。

附图说明

图1是动态异构冗余模型;

图2是sdn/nfv服务部署的拟态防御方法实现架构图;

图3是服务部署的拟态防御工作流程图。

具体实施方式

下面结合附图详细说明本发明。

本发明提出的一种sdn/nfv服务部署的拟态防御构架及方法,如图1所示,该方法利用动态异构冗余架构来实现服务部署过程,从而增大攻击难度,提高服务部署的安全性。传统的服务部署架构主要为三个部分:用户业务请求层、控制层、网络层,而本方法主要对控制层这一关键部分进行拟态设计,在控制层中增加了执行体池、判决器和调度器。相比于传统服务部署方法,该架构能够更加有效的防御外来攻击。

进一步的,如图2所示,本发明的sdn/nfv服务部署的拟态防御构架包括:

用户业务请求层:用于用户下发的能够形成满足自己特定需求的服务功能链请求;

控制层:控制层是整个架构的核心部分,控制层主要包括执行体池、调度器、判决器和南向接口协议栈,执行体池中含有多个实现服务链编排部署的功能等价执行体;

网络层:网络层可以划分为物理设备层和虚拟服务功能层,物理设备层主要包括交换机、服务器,虚拟服务功能层主要包括一些虚拟服务功能,如网络地址转换(nat)、防火墙(fw)、入侵检测(ids)、深度包检测(dpi)、负载均衡(lb),网络层与控制层之间通过南向接口协议进行通信;

进一步的,本发明的核心在于控制层的实现:

控制层是实现服务部署的关键部分,是攻击者的主要攻击对象,控制层中的执行体并行处理服务请求,通过配合调度器与判决器来实现拟态防御。

执行体的异构性是采用操作系统、sdn控制器以及nfv编排器的多样性来实现的。并且将不同的操作系统、sdn控制器以及nfv编排器通过不同方式的组合来增加执行体的异构性。操作系统、sdn控制器以及nfv服务编排器的多样性以及不同的组合方式共同构成了执行体的异构性,多个执行体构成了执行体池。

调度器收到服务功能链请求后,动态随机的从执行体池中选择m个执行体进行工作,同时,调度器再将用户下发的服务功能链请求复制m份并分发给每个被选择的执行体;执行体进行nfv服务编排与转发规则生成工作,最后将形成的openflow流表发送到判决器中进行判决。执行体的多样性和动态性的实现使得攻击者更加难以通过扫描发现漏洞,隐藏了后门和未知漏洞的可见性。调度器会根据判决器发送来的反馈控制消息对执行体池中发生异常的执行体进行清洗或者下线处理,确保了执行体池的纯洁性。

判决器主要是用来对从执行体池中的执行体发送来的openflow流表进行判决,通过判决算法得出相对正确的流表。该判决过程可以将异常执行体过滤,实现了对系统内部执行体的异常感知,并且将消息反馈给调度器。判决器在正常的执行体集合中随机选择一个执行体,通过其控制器与底层的网络设备进行连接,由该控制器向网络层下发流表。

最终,该控制器引导流表依次通过用户所需要的虚拟服务功能,在网络层形成满足用户服务功能链请求的服务功能链。

进一步的,该方法相比于传统服务部署过程,如图3所示,具体工作过程如下:

(1)用户向控制层下发一个服务功能链请求,调度器动态随机的从执行体池中选择m个执行体进行工作。同时,调度器再将用户下发的服务功能链请求复制m份并分发给每个被选择的执行体;

(2)执行体进行服务编排与转发规则生成工作,最后将形成的openflow流表发送到判决器中进行判决;

(3)判决器对m份openflow流表进行判决,判决出相对正确的结果;

(4)根据统计的结果,判决器在正常的执行体集合中随机选择一个执行体,通过其sdn控制器与底层的网络设备进行连接,由该sdn控制器向网络层下发流表,再将有执行体发生异常的消息发送给调度器;

(5)调度器对异常执行体进行下线或清洗工作;

(6)网络层中的交换机接收到控制层下发的openflow流表,由步骤(4)步中选择的控制器引导流表通过相应的虚拟服务功能,形成满足用户服务功能链请求的服务功能链。

进一步的,该过程中判决器进行流表判决的方法为:

判决器对每个执行体发送来的m=2m+1份openflow流表中相同的流表进行统计工作,根据统计的结果,若统计出相同的流表大于m+1份,则为步骤(3)中所述的判决器最终相对正确的结果。

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