一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的虚假流规则注入攻击检测与预防系统和方法与流程

2021-10-27 18:07:00 来源:中国专利 TAG:区块 计算机网络 注入 虚假 预防


1.本发明涉及计算机网络技术领域,尤其涉及一种基于区块链的虚假流规则注入攻击检测与预防系统和方法。


背景技术:

2.软件定义网络(software

defined networking,sdn)作为一种新型网络范式,实现了数据平面和控制平面的完全解耦,设计控制器实施集中式控制。一方面,控制器开放北向接口与应用程序进行交互;另一方面,控制器基于openflow通道与数据平面交换机进行通信,包括交换机上传流请求,控制器下发流规则等。
3.基于openflow通道,控制器通过发送流规则给数据平面交换机来管理网络行为。交换机基于控制器规则转发数据流,实现流量传输。因此,流规则完整性对于保证正确sdn网络功能是十分重要的。
4.通常,tls协议用于保证控制器和交换机之间openflow通道的安全性。然而,tls协议是官方推荐并非强制实施。即使开启了tls,攻击者可以利用tls存在的漏洞发起中间人攻击,即攻击者可以将自身加入到控制器和交换机之间的通信会话中。它可以截获双方的信息,并删除,编辑和修改信息。这种攻击使得攻击者可以秘密地截获和篡改流规则并且对网络管理员无感。


技术实现要素:

5.针对sdn网络中存在的虚假流规则注入攻击的问题,本发明提供一种基于区块链的虚假流规则注入攻击检测与预防系统和方法。
6.第一方面,本发明提供基于区块链的虚假流规则注入攻击检测和预防系统,包括:控制器、交换机和区块链节点;控制器,用于承载sdn应用,以及为交换机中未匹配的流生成流规则;交换机,用于根据控制器生成的流规则处理流,与区块链节点进行流规则交互,包括:将交换机内部存储的流规则传递给区块链节点,或者从区块链节点处请求流规则副本;以及比较流规则和流规则副本;区块链节点,用于保存控制器发送的流规则副本,将存储的流规则副本传递给交换机,请求交换机内部的流规则,以及比较流规则和流规则副本。
7.第二方面,本发明提供一种基于区块链的虚假流规则注入攻击检测与预防方法,采用上述的基于区块链的虚假流规则注入攻击检测与预防系统,所述方法包括:在时延敏感的网络场景中,当一个新流到达交换机时,交换机通过openflow协议向控制器发送一个请求,请求控制器为该流提供合适的流规则;控制器基于相应的sdn应用处理收到的请求,并为该请求生成相应的流规则,下发流规则给交换机,同时复制该流规则并将流规则副本发送给区块链节点;交换机收到控制器下发的流规则后立即执行该流规则;
区块链节点接收到控制器发送的流规则副本之后,向交换机请求控制器下发的流规则;在区块链节点内部,比较交换机发送的流规则和存储在区块链节点的流规则副本,若两个规则不一致,区块链节点则告知网络管理员发现虚假流规则注入攻击。
8.进一步地,该方法还包括:在非时延敏感的网络场景中,当一个新流到达交换机时,交换机通过openflow协议向控制器发送一个请求,请求控制器为该流提供合适的流规则;控制器基于相应的sdn应用处理收到的请求,并为该请求生成相应的流规则,下发流规则给交换机,同时复制该流规则并将流规则副本发送给区块链节点;交换机收到控制器下发的流规则后,先不执行该流规则;交换机再次向区块链节点发送请求,请求区块链节点向其发送流规则副本;在交换机内部,比较区块链节点发送的流规则副本和存储在交换机内部的流规则,若两个规则一致,交换机则立即执行交换机内部流规则;若两个规则不一致,交换机则执行区块链节点发送的流规则副本,并告知网络管理员发现虚假流规则注入攻击。
9.第三方面,本发明还提供一种基于区块链的虚假流规则注入攻击检测与预防方法,采用上述的基于区块链的虚假流规则注入攻击检测与预防系统,所述方法包括:在非时延敏感的网络场景中,当一个新流到达交换机时,交换机通过openflow协议向控制器发送一个请求,请求控制器为该流提供合适的流规则;控制器基于相应的sdn应用处理收到的请求,并为该请求生成相应的流规则,下发流规则给交换机,同时复制该流规则并将流规则副本发送给区块链节点;交换机收到控制器下发的流规则后,先不执行该流规则;交换机再次向区块链节点发送请求,请求区块链节点向其发送流规则副本;在交换机内部,比较区块链节点发送的流规则副本和存储在交换机内部的流规则,若两个规则一致,交换机则立即执行交换机内部流规则;若两个规则不一致,交换机则执行区块链节点发送的流规则副本,并告知网络管理员发现虚假流规则注入攻击。
10.本发明的有益效果:本发明利用区块链技术在安全领域具有鲁棒特征,选择区块链技术来确保sdn网络安全,特别地,在架构设计上,本发明基于传统sdn框架外挂式构建区块链节点,该区块链节点与控制器和交换机都存在交互。针对sdn中不同网络场景的安全和性能需求,本发明分为两个模块:虚假流规则注入攻击检测和攻击预防。当控制器为未匹配流生成流规则后,一方面将流规则下发给数据平面交换机,另一方面将流规则副本存储于区块链节点。对于时延敏感的网络场景实施攻击检测,在区块链节点层面比较交换机执行的流规则和保存的流规则副本二者是否一致,如果不一致则上报虚假流规则给网络管理员并停止传输。对于非时延敏感的网络场景实施攻击预防,在交换机层面,交换机收到控制器发送的流规则后不会立即执行,而是再次请求存储在区块链节点的流规则副本,比较二者是否一致,如果不一致则上报虚假流规则给网络管理员并执行区块链节点中存储的流规则。通过区分不同网络场景来实施基于区块链的虚假流规则注入攻击检测与预防,能够实现流规则的正确性和一致性,防止攻击者发起中间人攻击蓄意破坏sdn网络。
附图说明
11.图1为本发明实施例提供的基于区块链的虚假流规则注入攻击检测与预防系统的结构框图;图2为本发明实施例提供的基于区块链的虚假流规则注入攻击检测与预防方法的流程示意图之一;图3为本发明实施例提供的基于区块链的虚假流规则注入攻击检测与预防方法的流程示意图之二。
具体实施方式
12.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
13.如图1所示,本发明实施例提供了一种基于区块链的虚假流规则注入攻击检测与预防系统,包括:控制器、交换机和区块链节点;控制器,用于承载sdn应用,以及为交换机中未匹配的流生成流规则;交换机,用于根据控制器生成的流规则处理流,与区块链节点进行流规则交互,包括:将交换机内部存储的流规则传递给区块链节点,或者从区块链节点处请求流规则副本;以及比较流规则和流规则副本;区块链节点,用于保存控制器发送的流规则副本,将存储的流规则副本传递给交换机,请求交换机内部的流规则,以及比较流规则和流规则副本。
14.具体地,本发明实施例提供的基于区块链的虚假流规则注入攻击检测与预防系统,在传统sdn框架的基础上进行改进,增加区块链节点。基本思想是,基于区块链技术,保证位于交换机中所有流规则和控制器提供的所有流规则是相同的,并且控制器发送的所有流规则被正确地插入到交换机中。根据图1所示架构,该系统主要包含3个组件:(1)控制器:控制器向上承载sdn应用,向下为交换机中未匹配的流生成流规则。它不仅将流规则下发给交换机,而且主动复制流规则将副本发送至区块链节点;(2)交换机:交换机根据控制器生成的流规则处理流。不同与传统的sdn交换机,该方法中交换机具备可编程特性。它会与区块链节点进行交互,包括传递交换机内部流规则给区块链节点,或者从区块链节点请求流规则副本。此外,它还具备比较流规则和流规则副本的功能。(3)区块链节点:区块链节点是一种基于区块链技术开发的可信设备。它与控制器和交换机都存在交互。一方面,区块链节点保存控制器发送的流规则副本;另一方面,区块链节点发送存储的流规则副本给交换机或者请求交换机内部流规则。同样,区块链节点也具备比较流规则和流规则副本的功能。
15.如图2所示,本发明实施例还提供一种基于区块链的虚假流规则注入攻击检测与预防方法,包括以下步骤:(1)在时延敏感的网络场景中,当一个新流到达交换机时,交换机的流表中不存在处理该流的流规则,交换机通过openflow协议向控制器发送一个请求,请求控制器为该流提供合适的流规则;(2)控制器基于相应的sdn应用处理收到的请求,并为该请求生成相应的流规则,
下发流规则给交换机,同时复制该流规则并将流规则副本发送给区块链节点;(3)交换机收到控制器下发的流规则后立即执行该流规则;区块链节点接收到控制器发送的流规则副本之后,向交换机请求控制器下发的流规则;(4)在区块链节点内部,比较交换机发送的流规则和存储在区块链节点的流规则副本,若两个规则不一致,区块链节点则告知网络管理员发现虚假流规则注入攻击。
16.由于时延敏感的网络场景要求尽可能无时延转发数据流,本发明实施例提供的基于区块链的虚假流规则注入攻击检测与预防方法,交换机在接收到控制器发送的流规则之后会立即执行,然后在区块链节点层面检测是否存在虚假流规则注入攻击,因此本发明方法非常适用于时延敏感的网络场景。
17.如图3所示,本发明实施例还提供一种基于区块链的虚假流规则注入攻击检测与预防方法,包括以下步骤:(1)在非时延敏感的网络场景中,当一个新流到达交换机时,交换机的流表中不存在处理该流的流规则,交换机通过openflow协议向控制器发送一个请求,请求控制器为该流提供合适的流规则;(2)控制器基于相应的sdn应用处理收到的请求,并为该请求生成相应的流规则,下发流规则给交换机,同时复制该流规则并将流规则副本发送给区块链节点;(3)交换机收到控制器下发的流规则后,先不执行该流规则;交换机再次向区块链节点发送请求,请求区块链节点向其发送流规则副本;(4)在交换机内部,比较区块链节点发送的流规则副本和存储在交换机内部的流规则,若两个规则一致,交换机则立即执行交换机内部流规则;若两个规则不一致,交换机则执行区块链节点发送的流规则副本,并告知网络管理员发现虚假流规则注入攻击。
18.由于非时延敏感的网络场景对于流处理时间不做强制要求,本发明实施例提供的基于区块链的虚假流规则注入攻击检测与预防方法,交换机在接收到控制器发送的流规则之后不会立即执行,而是在交换机层面预防虚假流规则注入攻击之后,再执行相应的流规则。
19.可以理解,图2所示的方法和图3所示的方法之间是两套可以并行独立执行且互不干扰的方法,图2所示的方法主要是面向时延敏感的网络场景,在区块链节点层面基于流规则一致性检测攻击;图3所示的方法主要是面向非时延敏感的网络场景,在交换机层面基于流规则一致性预防攻击。因此,图2和图3所示的方法可以进行组合。需要说明的是,网络场景划分由网络管理员依据网络风险率,网络数据流类型等要素进行提前判定。
20.面向不同的网络场景,上述两个方法互为补充,并行执行。因此本发明实施例可以基于区块链有效地检测和预防虚假流规则注入攻击。
21.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜