论文部分内容阅读
网络功能虚拟化(Network Function Virtualization,NFV)技术将网络功能与专有硬件解耦,使由软件实现的虚拟网络功能(Virtualized Network Function,VNF)运行于通用硬件平台上,且可随虚拟机、容器等虚拟化运行环境灵活部署与迁移。服务功能链(Service Function Chain,SFC)是网络功能的链式集合,NFV技术改变了传统服务功能链的编排与部署模式,使利用VNF服务功能链的端到端的网络服务交付形式具有灵活可扩展的优势,在5G移动网络、物联网等场景具有广泛的潜在应用价值。然而,与传统网络功能相比,更具开放性的VNF面临更加严重的软件漏洞安全威胁,令VNF服务功能链的安全性无法保障。目前,已有研究者针对VNF服务功能链的安全问题进行了研究,但大多数防御方法依然只针对特征已知的攻击方式,无法应对基于未知漏洞的安全威胁,具体表现为:(1)当前服务功能链中的VNF具有单一性与静态性,使攻击者容易获知上线VNF实例的信息并进行漏洞利用,且传统防御方法无法有效防御基于未知漏洞的攻击;(2)在对单个VNF进行安全防护时,未考虑服务功能链中VNF之间的安全相关性与服务功能链的整体安全性,使安全等级较低的VNF成为攻击者的主要攻破目标;(3)“单链”的部署形式使服务功能链的可用性强依赖于链中VNF的可用性,使攻击者可通过同一漏洞的重复攻击导致服务功能链反复中断,严重影响其可用性。网络主动防御是一类作用于攻击后果对系统产生影响前的、不依赖攻击先验知识的防御方法,比如移动目标防御、拟态防御等,主要通过增加攻击者对未知漏洞的利用难度减轻未知安全威胁,而VNF灵活加载与可迁移的能力降低了主动防御机制的开销,主动防御机制可被应用于VNF安全防护中。针对以上问题,本文首先提出一种VNF动态防御方法,利用VNF实例的动态轮换扰乱攻击者信息收集与漏洞利用过程,提升服务功能链中VNF的安全性;随后将动态防御方法进行推广至服务功能链,从服务功能链层面考虑动态防御方法的安全收益与成本;最后改变服务功能链的“单链”部署模式,将流量处理任务分配至由不同VNF实例组成的异构并行子链,以提升重复攻击下服务功能链的可用性。主要研究内容与成果如下:1、针对未知漏洞攻击下VNF的单点故障问题,提出了基于安全度量与实例相关性的VNF动态防御方法。该方法使用在软件应用、运行环境方面不同的VNF实例,在服务功能链生命周期内对VNF的上线实例进行动态轮换,以提升攻击者信息收集与漏洞利用的成本。同时综合考虑VNF实例安全性与切换实例相关性对防御效果的影响,提出一种动态轮换策略,达到最小化攻击者在特定时间内攻击成功率的目的。仿真结果表明,所提出的动态防御方法能有效应对未知漏洞攻击,同时基于安全度量与实例相关性的动态轮换策略能够显著提升动态防御效果。2、针对未知漏洞攻击下服务功能链的整体安全性问题,提出了基于攻防博弈的VNF服务功能链节点调度机制。该方法将动态轮换防御方法推广至整个服务功能链,在每一动态轮换周期选择服务功能链中的一种在线VNF进行异构实例的动态调度。同时在服务功能链的动态调度防御场景下,将防御者对不同VNF节点的调度与攻击者对不同VNF节点的选择攻击过程建模为斯坦柯尔伯格博弈,通过最大化防御者收益对最优调度概率进行求解。仿真结果表明,对服务功能链中VNF进行调度具有良好的防御效果与可以接受的调度开销。3、针对重复攻击导致服务功能链可用性下降问题,提出了基于异构并行子链的服务功能链编排与部署方法。具体地,将服务功能链解构为共同对外服务的并行子链,使每条子链分别承担一部分用户流量处理任务,并在不同子链中使用相互异构的VNF实例以提升服务功能链在重复攻击下的可用性;同时,提出指标度量不同编排方法下的服务功能链可用性损耗,以最小化编排阶段的可用性损耗期望与部署阶段的底层资源占用为目标,将异构并行子链的编排与部署问题建模为二阶段混合整数规划问题,并使用遗传算法求解。仿真结果表明,所提出方法能够提升服务功能链在重复攻击下的可用性。