技术领域
[0001] 本发明涉及一种路径跳变动态防御系统及方法,尤其是一种基于SDN网络的路径跳变防御系统及实施方法。
相关背景技术
[0002] 网络攻击者有95%的时间用于收集目标网络信息并策划攻击方法。因此,网络扫描作为各种攻击手段的先导技术和初始阶段,为网络攻击的有效实施发挥着不可替代的作用。虽然现有防御方法已经发展的相当成熟,但是认知的局限性使防御方难以发掘所有的脆弱性信息;机制的固定性使传统防御方法难以抵挡攻击方离线阶段的持续侦测和长期分析,端节点信息,即IP地址和端口信息,作为网络攻击面的有机组成部分和网络扫描的主要对象,成为了亟需被防护的重要网络属性。随着网络扫描技术的不断发展,扫描攻击针对不同网络信息系统结构特点采用不同的扫描策略,极大地提高了攻击的有效性。另一方面,现有网络信息系统确定性和静态性的特征降低了攻击者实施扫描的难度。因此,网络扫描技术的“先进性”和实施策略的“针对性”与现有网络架构的“静态性”和信息系统的“确定性”不仅使得传统安全防御方式难以胜任新型威胁,更加剧了网络攻防双方地位的不对称。
[0003] 现有两种方式实现路径跳变。
[0004] 1)确定性多路径随机选择是通过预先获得尽可能多的路由节点不相交路径,从而在每次跳变时随机生成不同的转发路径以实现跳变的技术。文献《Formal approach for route agility against persistent attackers》提出了一种随机路由跳变方法(Random Route Mutation:RRM),通过可满足性模理论(Satisfiability Modulo Theory:SMT)形式化规约转发路径所需满足的限制条件,从而计算可生成的转发路径。该方法相较于静态网络中单路径转发可抵御约90%的链路监听。文献《SDN‑Based Private Interconnection》则提出了基于n‑k门限的多路径跳变方案,通过将一次会话中的数据流分为n份,仅允许少于k份的数据用相同路径转发,以防止数据传输过程中的被动监听。
[0005] 2)路由随机跳变则是通过预先获取所有符合要求的路由节点,从中随机生成下一跳路由节点进行数据流转发以实现跳变的技术。文章《Secure data collection in wireless sensor networks using randomized dispersive routes》通过设计随机路由生成算法,实现无线网络中的数据安全传输;文献《Game theoretic stochastic routing for fault tolerance and security in computer networks》则基于两种博弈模型计算从某一源节点到目的节点的多转发路径,并在此基础上随机生成跳变路由实现安全传输;文献《Agile virtualized infrastructure to proactively defend against cyber attacks》通过虚拟移动路由增加攻击者侦测难度,以抵御DDOS攻击。
[0006] 现有方式存在的问题:
[0007] 1)由于跳变路径的生成并未综合考虑路由节点和转发链路的性能约束,导致路径跳变过程出现瞬态问题,降低了路径跳变的可用性。
[0008] 2)由于跳变路由节点和跳变周期生成的不合理,导致路径跳变的实施难以充分发挥其防御能力。
具体实施方式
[0062] 为了使本领域的技术人员更好地理解本发明的技术方案,下面结合具体实施方式对本发明作进一步的详细说明。
[0063] 如图1所示,本发明提供一种基于SDN网络的路径跳变动态防御系统,该防御系统部署在软件自定义网络(Software Defined Network:SDN)中,包括跳变控制器(Randomization Controller:RC)以及若干跳变路由(Mutation Router:MR)。路径变换主要是依托SDN全网视图和集中控制的特性,进行路径跳变决策和部署,通过MR和RC实施协同跳变。
[0064] RC又包括三个功能模块:
[0065] 跳变路由管理模块,通过收集的网络路由节点状态以及网络拓扑信息,依据路由节点和转发路径要满足的约束构建符合约束条件的跳变路由集合;
[0066] 路径跳变决策模块,利用基于安全容量矩阵的最优跳变路径生成方法生成最优跳变路径和跳变周期组合;
[0067] 跳变路由实施模块,依据生成的跳变路径进行流表部署下发,以更新生成的跳变路由配置。路径跳变更新需要将新的流表信息下发并配置到多个MR上,流表更新过程易产生流表配置不一致的问题。因此,路径跳变更新过程采用逆序添加,顺序删除的更新方式。所谓“逆序添加”是指跳变控制器按照从目的节点到源节点的逆序方向对跳变路径上的路由节点安装流表信息;“顺序删除”则是指跳变控制器按照从源节点到目的节点的顺序方向删除旧的流表规则。
[0068] 本发明还提供一种基于SDN网络的路径跳变动态防御系统及方法,包括以下步骤。
[0069] S1跳变路由管理模块使用链路层发现协议(Link Layer Discovery Protocol:LLDP)获取全局网络拓扑结构,并在全局网络拓扑结构的基础上通过端口状态请求信息定时获取网络中跳变路由的状态消息。
[0070] S2跳变路由在收到端口状态请求信息后以反馈端口状态回复消息的形式将其状态信息上报至跳变路由管理模块。
[0071] S3跳变路由管理模块基于可满足性模理论(SMT)形式化规约跳变路由要满足的条件,并依据跳变路由反馈的网络拓扑和路由状态等信息构建符合约束条件的跳变路由集合。
[0072] 瞬态问题是跳变过程中网络性能急速下降的现象,它会导致包乱序和包丢失概率的增加。其中,包乱序的产生是由于跳变路径迁移造成的转发数据包序列错乱;包丢失则是由于转发节点和链路容量不足、转发路径不可达,以及流表更新不一致引起。此外,由于包乱序和包丢失会进而触发TCP重传机制,在实施路径跳变的网络中会造成TCP性能的恶化,导致路径跳变的可用性降低。为了保证网络服务质量,提高跳变实施的可用性,本发明采用基于SMT的跳变约束,从转发路径容量、传输时延和可达性三个方面形式化规约跳变路径所需满足的约束条件;并结合“逆序添加,顺序删除”的流表更新方法,以防止由于跳变路径切换引发的瞬态问题。
[0073] 路径跳变中网络资源容量是指网络系统中路由节点和转发链路的剩余可用资源量。其中路由节点的剩余可用资源量主要取决于剩余可用的流表项,这是因为路由节点的CPU消耗、存储剩余量等与流表项大小成正相关;转发链路的剩余可用资源量则主要取决于剩余的可用带宽。由于实际网络环境具有多流交汇的特点,因此路由节点和转发链路的开销是指某一时刻所有经过该路由或链路的数据流所需成本的累加和。定义布尔变量表示路由节点v在跳变周期TRMP内是否转发第k条数据流,若转发则 否则类似地,定义 表示转发链路e在跳变周期TRMP内是否传输第k条数据流,若数据流经该链路则 否则 跳变路径所需满足的约束具体为如下三个:
[0074] 1)转发路径容量约束:该约束通过选取可承载累计流表大小的路由节点和可承载累计转发数据流量的转发链路,以防止由于数据溢出造成的丢包问题。
[0075] 基于边际成本的指数函数被广泛用于量化不同条件下网络资源性能消耗的指标,如单播或者多播时路由节点及转发路径的性能消耗等,因此本技术采用基于边际成本的指数函数量化路由节点和转发链路的资源开销。
[0076]
[0077] 公式I表示添加一条新的流表项所需的边际成本函数。其中,σ为调整参数,经过分析设定参数值为σ=2n,n为网络路由节点数量; 表示当第k条数据流的转发信息添加到路由节点v后流表的利用率。
[0078]
[0079] 公式II说明流表累计增加的边际成本必须在所选路由节点可承载范围 之内,且剩余的流表长度不小于 从而不会出现数据溢出等问题。其中 表示路由节点MRv需要保留的最小数据量。
[0080]
[0081] 类似于公式(1),公式(3)表示转发一条数据流所需的边际成本。其中 表示当第k条数据流经转发路径e后带宽的利用率。
[0082]
[0083] 公式(4)说明了累计带宽消耗的边际成本必须在所选转发链路可承载的范围之内,且剩余的带宽不小于 使得转发链路具有剩余能力处理由于负载均衡和网络抖动等引起的数据波动。其中 表示转发链路MLe需要保留的最小数据量。
[0084] 2)转发路径时延约束:该约束通过选取总传输时延符合条件,且跳变路径时延差小于包间时延(Inter‑packet Delay)的转发路径,以防止跳变过程中产生的包乱序问题。
[0085]
[0086] 公式V表示每条数据流的转发路径长度不能超过设定的最大值Lmax。由于传输时延与转发路径中路由节点个数成正相关,因此通过限定转发路径长度防止传输时延过大导致的网络服务质量下降。
[0087] 若
[0088] 与此同时,公式VI通过判断备选的下一跳变周期的转发路径 中最小传输时延与现有转发路径 中的最大传输时延之差是否小于最小包间时延,以防止路径迁移过程不会造成额外的包乱序,从而保证相邻跳变周期内转发路径迁移时不会额外产生包乱序问题。
[0089] 3)转发路径可达性约束:该约束通过限制对转发路由节点的选取,以防止转发回路的出现,以及由此引发的包丢失问题。
[0090]
[0091] 公式VII表示在该条转发路径上,所有路由节点的入度和出度是相同的。
[0092] 若
[0093] 公式VIII中的每个转发路由节点都与其上一跳和下一跳路由节点是物理邻接的。其中,χ(MRv)表示转发路径中去除源地址和目的地址所属路由后剩余的转发路由节点集合。然而,将数据流从一个节点转发到其相邻的下一跳节点并不能保证数据的可达。
[0094] 若
[0095] 因此,公式XI发节点与目标路由节点间的距离进行了约束。它表示下一跳路由节点到目标节点的距离不大于现有转发节点到目标路由节点的距离,其中 表示MRv到目标节点的距离。公式XI了数据流在到达目标路由节点后将不会再被转发。
[0096] S4路径跳变决策模块基于安全容量矩阵利用最大流‑最小割理论生成最优的跳变路径和跳变周期组合。
[0097] 最优跳变路径生成方法依据最大流‑最小割理论,选取最优跳变路径和跳变周期组合,以提高抵御被动监听的能力,实现跳变防御收益的最大化。由于攻击者会对路由节点和转发链路进行恶意监听,而现有网络资源容量未将安全性考虑在内。因此,即使路由节点和转发链路满足步骤S3中的三种约束,其可用性会随着安全风险的增加而降低。基于网络资源容量矩阵的概念,定义了网络安全容量矩阵;在此基础上利用最大流‑最小割理论选取最优跳变路径和跳变周期组合,以实现路径跳变的收益最大化。
[0098] 实际网络可用有向图G(N,L)表示,其中N是图中的节点集合,它表示SDN网络中的跳变路由节点集合{MRv};L是图中的有向边集合,它表示转发链路集合{MLv}。若对于图G(N,L)中任意的源节点S和目的节点D,有{MRS,ML1,...,MRi,MLi,...,MRD},则记为图G中从S到D的一条转发路径
[0099] 给定一个网络G(N,L),它可以表示为加权有向图 其中W={C,B},C表示路由节点的安全容量;B表示转发链路的安全带宽。
[0100] 网络安全容量矩阵是基于 生成的Q[scS,D]n×n,其中n=|N|表示网络转发路由节点数量;scS,D表示任意地从源节点S∈N到目的节点D∈N可实现安全转发的路由节点和转发链路的资源容量大小。
[0101] scS,D=cS,D·ωsS,D X
[0102] 如公式X所示,它由S‑D间的最大剩余容量cS,D与安全系数ωsS,D共同组成。cS,D可通过实时在线获取的网络状态信息基础上计算得到。
[0103]
[0104] ωsS,D如公式XI所示,它是由攻击方所采取的监听策略和防御方所采取的跳变策略共同决定的:攻击方通过采用不同监听策略a∈A以实现攻击收益的最大化,即最小化s sωS,D;防御方则通过选取不同的跳变策略d∈D以最大化跳变防御的收益,即实现ω S,D的最s
大化。因此,ω S,D与时间T内攻击者的监听次数为RA=T/rA、跳变的次数为RD=T/TRMP、攻击者监听第j条链路的概率 和数据包经过第j条链路的概率Pj·有关。
[0105] S5路径跳变实施模块根据最优的跳变路径和跳变周期组合配制跳变路由。具体为,依据路径跳变决策的结果通过流表的Modify‑State消息配置跳变路由,并依据跳变周期设定idle_time值。跳变路由根据配制执行网络路径跳变。
[0106] 最优路径跳变算法在随机路径跳变的基础上依据软件自定义网络(Software Defined Network:SDN)的全局视图和基于SMT的跳变约束对转发路径中路由节点和转发链路所需满足的性能约束进行形式化规约,以防止路径跳变过程中出现瞬态问题;与此同时,通过借鉴最大流‑最小割的思想,提出基于安全容量矩阵的最优跳变路径生成方法,选取跳变路径和跳变周期的最优组合,提高抵御被动监听的能力,以实现防御收益的最大化。
[0107] 以上仅是本发明的优选实施方式,应当指出的是,上述优选实施方式不应视为对本发明的限制,本发明的保护范围应当以权利要求所限定的范围为准。对于本技术领域的普通技术人员来说,在不脱离本发明的精神和范围内,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。