基于区块链的DDoS攻击联合防御系统及方法与流程

    专利2022-07-07  118


    本发明涉及ddos攻击防御
    技术领域
    ,具体地说是基于区块链的ddos攻击联合防御系统及方法。
    背景技术
    :近年来随着5g和物联网(internetofthings,iot)的飞速的发展,万物互联已成为不可改变的大趋势。在大多数的物联网设备的系统设计中会忽略安全问题,黑客可以轻易将物联网设备的安全漏洞作为传统网络攻击的新工具(如mirai、aidra等恶意代码感染智能设备)发动ddos(distributeddenialofservice)攻击,造成目标拒绝服务和相关服务下线等严重后果。针对ddos攻击,传统的方式是从被攻击目标处进行防御,但是高频率的数据包到达速率和连接上下文的缺失使得在被攻击目标处的部署方案只能进行有限的统计分析导致分析结果错误率较高。为了克服在攻击目标处检测ddos的缺陷可以考虑在ddos攻击发起的源头处对ddos异常流量信息进行检测。在边缘节点网络中可以通过边缘节点控制其下辖的物联网终端设备进行通信。因此,我们可以规定边缘节点对其下辖的物联网设备进行流量的异常检测和过滤。在边缘节点环境中,大多数情况下攻击者和受害者不在同一个网络域内,单纯的域内防御并不能取得最佳的效果,因此应当将域内的检测扩展到域间的协作使整个网络中所有的边缘节点都参与到整个网络ddos攻击防御中去。软件定义网络(softwaredefinednetworking)架构是为了克服现有传统网络架构存在的缺陷而开发的,sdn体系结构将网络控制与转发设备分离,控制器可以获得网络的全局视图具有高可靠性、简单性和灵活性的特点,能够有效的解决域间的通信问题。但是,sdn中集中式的网络控制存在单点攻击的风险,始终是系统的一个隐患。基于上述,如何实现安全、快速、有效的对ddos攻击进行防御,是需要解决的技术问题。技术实现要素:本发明的技术任务是针对以上不足,提供一种基于区块链的ddos攻击联合防御系统及方法,来解决如何实现安全、快速、有效的对ddos攻击进行防御的技术问题。第一方面,本发明提供一种基于区块链的ddos攻击联合防御系统,包括:终端设备,所述终端设备至少一个,ddos攻击的发起源头为终端设备;边缘设备,所述边缘设备至少一个并均部署有以太坊客户端,所述边缘设备验证合法性后,加入区块链网络作为边缘节点,并将所述边缘节点下属的终端设备广播至区块链网络;;区块链,所述区块链中部署有设备信息共享智能合约和设备过滤智能合约,所述区块链用于基于区块链共识机制实现各个边缘节点之间的信息共享;所述边缘设备用于进行ddos异常检测,得到ddos异常流量信息,通过本地数据存储ddos异常流量信息,并基于设备信息共享智能合约将ddos异常流量信息上传区块链;基于攻击设备过滤规则和ddos异常流量信息,所述区块链用于通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;所述边缘节点用于基于ddos攻击设备过滤信息对ddos攻击设备进行过滤,并向ddos攻击设备过滤信息的提供者提供积分进行奖励;所述边缘节点用于基于ddos异常流量信息进行ddos异常检测模型训练并优化所述ddos异常检测模型的参数,所述积分用于支持所述ddos攻击设备过滤信息的提供者以区块链交易的方式向所述边缘节点获取上述优化后的参数。作为优选,网络环境存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的信息摘要上传区块链,所述区块链基于区块链共识机制将所述ddos异常流量信息的信息摘要同步至其它边缘节点;网络环境不存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的详细信息上传区块链,所述区块链基于区块链共识机制将所述ddos异常流量信息的详细信息同步至其它边缘节点。作为优选,所述区块链配置有信息共享模型,所述信息共享模型为s-chain信息共享模型,包括:设备过滤链,所述设备过滤链用于存储ddos异常流量信息的信息摘要,并用于基于区块链共识机制将ddos异常流量信息的信息摘要同步至其它边缘节点;设备信息链,所述设备信息链用于存储ddos异常流量信息的详细信息,用于基于区块链共识机制将ddos异常流量信息的详细信息同步至其它边缘节点,ddos异常流量信息的详细信息用于训练ddos异常检测模型。作为优选,所述边缘节点基于ddos异常检测模型对网络流量进行检测分类;ddos异常检测模型通过rf算法识别ddos攻击流量和正常流量,包括如下步骤:(1)对待检测的网络流量进行流量包提取;(2)按照设备和时间进行特征包分组;(3)对特征包进行特征向量提取;(4)以提取的特征向量为测试数据,将测试数据输入随机森林,通过投票表决分类结果,决定测试数据的类别;所述随机森林的构建方法为:(1)从训练ddos异常流量样本集中采用bootstrapping的方法有放回的重采样选出n个ddos异常流量样本;(2)从ddos异常流量的所有属性中有选择地选出k个属性,选择最佳属性作为节点建立决策树;(3)重复上述步骤m次,建立m棵决策树;(4)上述m个决策树形成决策森林。作为优选,所述设备过滤智能合约中配置有攻击设备过滤规则,区块链用于基于所述攻击设备过滤规则和ddos异常流量信息,通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;所述攻击设备过滤规则为:按照ddos攻击的特性,将异常设备进行等级划分,按照危险等级对设备的过滤顺序进行排列,并通过如下公式计算ddos危险等级,所述公式为:dl=n·5% t·5% t·20% f·40% b·30%其中,n表示连续次数,t表示连接周期,t表示连续持续时间,f表示发送数据包频率,b表示源到目标的字节计算。作为优选,所述边缘节点通过防御模型对攻击者进行过滤,所述防御模型包括:无偿防御模型,所述无偿防御模型应用于攻击者和受害者属于同一个边缘节点的场景,无偿防御模型检测到ddos异常流量信息后,边缘节点根据ddos异常流量信息查询攻击者对应的ip地址和mac地址,在ddos异常设备过滤过程中,边缘节点对攻击者的ip地址以及攻击者下属终端设备的mac地址进行过滤;有偿防御模型,所述有偿防御模型应用于攻击者和受害者属于不同边缘节点的场景,有偿防御模型检测到ddos异常流量信息后,边缘节点基于设备信息共享智能合约将ddos异常流量信息广播至区块链,其它边缘节点接收到所述ddos异常流量信息后,根据所述ddos异常流量信息查询攻击者对应的ip地址和mac地址,如果收到所述ddos异常流量信息的其它边缘节点下属的终端设备存在攻击者或受害者,所述其它边缘节点将攻击者或伪装者过滤,同时向提供所述ddos异常流量信息的边缘节点提供积分;如果收到ddos异常流量信息的其它边缘节点下属的终端设备不存在攻击者或受害者,当收到ddos异常流量信息的其它边缘节点下存在新的终端设备加入到所述其它边缘节点时,需要查询所述ddos流量信息,若发布所述ddos异常流量信息的边缘节点共享的ddos异常流量信息帮助所述其它边缘节点过滤恶意设备的接入,所述其它边缘节点为提供所述ddos异常流量信息的边缘节点提供积分。作为优选,所述区块链由创世区块和普通区块组成;所述创世区块为区块链中第一个区块,区块序号为0,区块链网络中两个对等的边缘节点具有相同的区块,所述两个对等的边缘节点彼此之间配对并同步区块;所述普通区块由区块头和区块体组成,所述区块头包括三组元数据,分别为第一元数据组、第二元数据组和第三元数据组,所述第一元数据组包括索引数据,所述第二元数据组包括挖矿难度、随机数和时间戳,所述第三元数据组包括默克尔数根数据;所述索引数据用于连接前面的区块和父区块的哈希值;所述挖矿难度、随机数和时间戳用于工作量证明;所述默克尔树根数据用于总结并归纳校验区块中所有交易数据;所述区块体包括交易数据,所述交易数据包括但不限于ddos的异常流量信息以及积分。第二方面,本发明提供一种基于区块链的ddos攻击联合防御方法,通过如第一方面任一项所述的基于区块链的ddos攻击联合防御系统实现ddos攻击发起设备的过滤,所述方法包括如下步骤:边缘设备进行ddos异常检测,得到ddos异常流量信息,通过边缘设备本地数据存储ddos异常流量信息,并基于设备信息共享智能合约将ddos异常流量信息上传区块链,区块链基于区块链共识机制实现各个边缘节点之间的信息共享;基于攻击设备过滤规则和ddos异常流量信息,区块链通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;边缘节点基于ddos攻击设备过滤信息对ddos攻击设备进行过滤,并向ddos攻击设备过滤信息的提供者提供积分进行奖励;边缘节点基于ddos异常流量信息进行ddos异常检测模型训练并优化所述ddos异常检测模型的参数,所述ddos攻击设备过滤信息的提供者基于积分以区块链交易的方式向所述边缘节点获取上述优化后的参数。作为优选,网络环境存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的信息摘要上传区块链,区块链基于区块链共识机制将所述ddos异常流量信息的信息摘要同步至其它边缘节点;网络环境不存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的详细信息上传区块链,区块链基于区块链共识机制将所述ddos异常流量信息的详细信息同步至其它边缘节点;区块链配置有信息共享模型,所述信息共享模型为s-chain信息共享模型,包括:设备过滤链,所述设备过滤链用于存储ddos异常流量信息的信息摘要,并用于基于区块链共识机制将ddos异常流量信息的信息摘要同步至其它边缘节点;设备信息链,所述设备信息链用于存储ddos异常流量信息的详细信息,用于基于区块链共识机制将ddos异常流量信息的详细信息同步至其它边缘节点,ddos异常流量信息的详细信息用于训练ddos异常检测模型。作为优选,ddos异常检测模型通过rf算法识别ddos攻击流量和正常流量,包括如下步骤:(1)对待检测的网络流量进行流量包提取;(2)按照设备和时间进行特征包分组;(3)对特征包进行特征向量提取;(4)以提取的特征向量为测试数据,将测试数据输入随机森林,通过投票表决分类结果,决定测试数据的类别;所述随机森林的构建方法为:(1)从训练ddos异常流量样本集中采用bootstrapping的方法有放回的重采样选出n个ddos异常流量样本;(2)从ddos异常流量的所有属性中有选择地选出k个属性,选择最佳属性作为节点建立决策树;(3)重复上述步骤m次,建立m棵决策树;(4)上述m个决策树形成决策森林;所述设备过滤智能合约中配置有攻击设备过滤规则,区块链基于所述攻击设备过滤规则和ddos异常流量信息,通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;所述攻击设备过滤规则为:按照ddos攻击的特性,将异常设备进行等级划分,按照危险等级对设备的过滤顺序进行排列,并通过如下公式计算ddos危险等级,所述公式为:dl=n·5% t·5% t·20% f·40% b·30%其中,n表示连续次数,t表示连接周期,t表示连续持续时间,f表示发送数据包频率,b表示源到目标的字节计算。本发明的基于区块链的ddos攻击联合防御系统及方法具有以下优点:1、区块链和智能合约的出现不但可以用于跨多个域间的信息交互还可以消除单点攻击的风险,通过使用基于区块链的交互方案具有灵活性的同时在一定程度上可以简化现有信息共享方法;2、当存在攻击者试图攻击系统时需要控制网络中超过51%的边缘节点才能对网络造成破坏,该系统由众多的边缘节点组成,不存在集中式的中心节点,有效地避免了单点攻击的风险,具有强大的抗攻击能力;3、信息存储分为三种形式:本地存储、设备过滤链存储以及设备信息存储,边缘节点检测到ddos异常流量信息,部署在区块链上的设备摘要信息共享智能合约将ddos异常流量信息的信息摘要上传至设备过滤链,当ddos异常流量信息的信息摘要上传结束,并且网络中不存在ddos攻击时,部署在区块链上的设备信息共享智能合约将ddos异常流量信息上传至设备信息链,当本地存储的数据受到破坏时,可以随时下载区块链中的数据进行维护,从而保证了数据的完整性;4、由于区块链中的数据是以默克尔树(merkletree)的形式存储的,信息被修改后会立即暴露,同时,区块链的共识机制会做到将被修改过的区块执行数据一致性操作使恶意修改变得无效,确保了信息存储的安全性;5、在区块链共识机制的作用下,新的边缘节点申请加入区块链网络需要得到区块链中任意边缘节点认证即可加入,一定程度上降低了所有节点共同验证所消耗的时间,提高了节点验证的速度,区块链中现有边缘节点首先验证新加入边缘节点的节点号的合法性,验证通过后新加入边缘节点将及下属的终端设备广播到网络中让其它边缘节点拥有该边缘节点及其下属的终端设备保证ddos攻击防御顺利进行,设备扩展主要由部署在边缘节点的以太坊客户端中的集成方法进行验证,在验证过程中不存在外力的干扰,确保了安全性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。下面结合附图对本发明进一步说明。图1为实施例1基于区块链的ddos攻击联合防御系统的网络架构图;图2为实施例1基于区块链的ddos攻击联合防御系统中防御模型的原理框图;图3为实施例1基于区块链的ddos攻击联合防御系统的工作原理框图;图4为实施例2基于区块链的ddos攻击联合防御方法的流程框图。具体实施方式下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。需要理解的是,本发明实施例提供基于区块链的ddos攻击联合防御系统及方法,用于解决如何实现安全、快速、有效的对ddos攻击进行防御的技术问题。实施例1:如图1所示,本发明的一种基于区块链的ddos攻击联合防御系统,包括终端设备、边缘设备和区块链,终端设备至少一个,ddos攻击的发起源头为终端设备;边缘设备至少一个并均部署有以太坊客户端,边缘设备加入区块链网络作为边缘节点;区块链中部署有设备信息共享智能合约和设备过滤智能合约,区块链用于基于区块链共识机制实现各个边缘节点之间的信息共享。边缘设备用于进行ddos异常检测,得到ddos异常流量信息,通过本地数据存储ddos异常流量信息,并基于设备信息共享智能合约将ddos异常流量信息上传区块链;基于攻击设备过滤规则和ddos异常流量信息,区块链用于通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;边缘节点用于基于ddos攻击设备过滤信息对ddos攻击设备进行过滤,并向ddos攻击设备过滤信息的提供者提供积分进行奖励;边缘节点基于ddos异常流量信息以及积分进行ddos异常检测模型训练。本实施例中,终端设备包含人类生活中常见的智能交通灯,计算机以及智能摄像头等终端设备。通常情况下,ddos攻击的发起源头为这些终端设备。上述多个终端设备组成终端层。边缘设备为ddos攻击发起者的主要攻击目标,边缘设备验证合法性后,加入区块链网络作为边缘节点,并将边缘节点下属的终端设备广播至区块链网络。区块链中现有边缘节点首先验证新加入边缘节点的节点号的合法性,验证通过后新加入边缘节点将及下属的终端设备广播到网络中让其它边缘节点拥有该边缘节点及其下属的终端设备保证ddos攻击防御顺利进行。设备扩展主要由部署在边缘节点的以太坊客户端中的集成方法进行验证。在本实施例中边缘设备主要承担ddos异常检测、ddos异常检测模型训练以及ddos异常设备过滤的责任。区块链由部署在边缘设备上的以太坊客户端构成,区块链主要通过区块链共识机制实现各边缘节点间的信息共享。部署以太坊客户端的边缘设备在验证通过后可以加入到区块链网络,新加入区块链网络的边缘设备通过区块链的共识机制实现与网络中原有边缘设备的数据一致性。边缘节点基于ddos异常检测模型对网络流量进行检测分类,ddos异常检测模型通过rf算法识别ddos攻击流量和正常流量。ddos异常检测模型通过rf算法识别ddos攻击流量和正常流量,包括如下步骤:(1)对待检测的网络流量进行流量包提取;(2)按照设备和时间进行特征包分组;(3)对特征包进行特征向量提取;(4)以提取的特征向量为测试数据,将测试数据输入随机森林,通过投票表决分类结果,决定测试数据的类别。随机决策森林由贝尔实验室的何天琴所提出,随后发展成随机森林的算法。该算法方法结合breimans的bootstrapaggregating想法和ho的randomsubspacemethod想法以建造决策树的集合。随机森林是一个包含多个决策树的分类器,并且其输出的类别是由所有决策树的输出结果进行统计,取票数最多的结果作为随机森林的最终输出结果而定。原理为:从n个ddos异常流量样本中有放回抽取n次,肯定会选择到相同ddos异常流量样本的可能性。我们假设u(k)表示第k次抽取ddos异常流量样本抽取到不同样本的概率。那么u(k-1)则表示第k-1次抽样抽取到ddos异常流量不同样本的概率。第k-1次抽样到ddos异常流量不同样本的概率:u(k-1),同时有nu(k-1)个ddos异常流量样本还没有被抽取。第k次抽样时,还有nu(k-1)-u(k-1)的ddos异常流量样本没有被抽取。因此其中,u(1)=1。因此k次放回抽样的不同ddos异常流量样本的期望值为:利用等比数列的性质,得到:当n足够大,并且k=n的情况下:每一次bootstrapping采样重复抽取n次,只有63.2%的样本会被采样到。随机森林实现流程为:(1)从训练ddos异常流量样本集中采用bootstrapping的方法有放回地重采样选出n个ddos异常流量样本,即每棵树的训练数据集都是不同的,里面包含重复的ddos异常流量训练样本。(2)从ddos异常流量的所有属性中有选择地选出k个属性,选择最佳属性作为节点建立决策树。(3)重复以上步骤m次,即建立了m棵决策树。(4)这m个决策树形成随机森林,通过投票表决分类结果,决定测试数据是属于哪一类。网络环境存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的信息摘要上传区块链,区块链基于区块链共识机制将上述ddos异常流量信息的信息摘要同步至其它边缘节点。边缘节点间信息共享包括终端设备信息共享、ddos异常流量信息的信息摘要共享和ddos异常流量信息的详细信息共享。本实施例中编写设备信息共享智能合约,设计双链模式(strong-chain)的信息共享模型以来以太坊区块链平台的pow共识机制共同作用实现各边缘节点之间信息共享。如图3所示,信息共享模型为s-chain信息共享模型,该信息共享模型由两条私有链组成,即设备过滤链和设备信息链,设备过滤链主要存储ddos异常流量信息的信息摘要,ddos异常流量信息的信息摘要包括攻击者ip地址,攻击者mac地址,受害者ip地址;设备过滤链的主要目的是将边缘节点检测到的ddos异常流量信息在第一时间同步到其它边缘节点,帮助被攻击的边缘节点能够准确、快速的过滤ddos攻击的发起设备。设备信息链主要存储ddos异常流量信息的详细信息,用于基于区块链共识机制将ddos异常流量信息的详细信息同步至其它边缘节点,其主要目的是当ddos攻击检测模型无法准确检测ddos异常流量信息时为模型提供最新的ddos异常流量信息对模型进行训练,使ddos攻击检测模型始终保持较高的识别率。在设备信息共享智能合约作用的区块链网络环境中s-chain信息共享模型通过以下过程实现边缘节点间的ddos异常流量信息共享。(1)网络环境不存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的详细信息上传区块链,区块链基于区块链共识机制将ddos异常流量信息的详细信息同步至其它边缘节点;(2)区块链由创世区块和普通区块两类组成,按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构;(3)其它边缘节点收到同步信息后首先验证信息发送方的身份和发送信息的合法性。当两者信息均验证通过后更新本地的ddos异常流量信息的信息摘要库和ddos异常流量信息详细信息库。创世区块是区块链中的第一个区块,其区块序号是0。它是区块链中唯一一个不指向前一个区块的区块,同时,它也不包含任何交易信息。各边缘节点间的信息同步是由创世区块决定的,如果网络中的两个对等的边缘节点有相同的创世区块,那么边缘节点彼此间进行配对并同步区块,否则它们将彼此拒绝。普通区块,在区块链中除创世区块外其它的区块都是普通区块。每个区块由区块头(blockheader)和区块体(block)组成。区块头包括三组元数据,分别为第一元数据组、第二元数据组和第三元数据组,第一元数据组包括用于连接前面的区块、父区块哈希值的索引数据,第二元数据组包括用于工作量证明的挖矿难度、随机数和时间戳,随机数(nonce)作为工作量证明算法的计数器,第三元数据组包括能够总结并快速归纳校验区块中所有交易数据的merkle(默克尔)树根数据。区块体主要是包含交易数据(transaction,tx),交易数据包括ddos的异常流量信息以及积分等。ddos异常流量信息的信息摘要添加成功后会自动触发设备过滤智能合约,设备过滤智能合约根据预设的规则进行计算,最后将过滤信息发送给对应边缘节点以太坊客户端,进而通过边缘节点对异常设备进行过滤同时免受损害的边缘节点向ddos异常流量信息发布边缘节点提供积分奖励。本实施例中,设备过滤智能合约中配置有攻击设备过滤规则,区块链基于攻击设备过滤规则和ddos异常流量信息,通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息。攻击设备过滤规则为:按照ddos攻击的特性,将异常设备进行等级的划分,然后按照危险等级对设备的过滤顺序进行排列。如表1所示,ddos攻击的评分规则和权重,通过规则制定ddos危险等级(dl)。计算公式如下:dl=n·5% t·5% t·20% f·40% b·30%表1评分及权值分布:评分规则权重(%)连接次数(n)5连接周期(t)5连接持续时间(t)20发送数据包频率(f)40源到目标的字节计数(b)30如图2所示,边缘节点通过防御模型对攻击者进行过滤,防御模型包括无偿防御模型和有偿防御模型。无偿防御模型应用于攻击者和受害者属于同一个边缘节点的场景,无偿防御模型检测到ddos异常流量信息后,边缘节点根据ddos异常流量信息查询攻击者对应的ip地址和mac地址,在ddos异常设备过滤过程中,边缘节点对攻击者的ip地址以及攻击者下属终端设备的mac地址进行过滤;有偿防御模型应用于攻击者和受害者属于不同边缘节点的场景,有偿防御模型检测到ddos异常流量信息后,边缘节点基于设备信息共享智能合约将ddos异常流量信息广播至区块链,其它边缘节点接收到所述ddos异常流量信息后,根据所述ddos异常流量信息查询攻击者对应的ip地址和mac地址,如果收到所述ddos异常流量信息的其它边缘节点下属的终端设备存在攻击者或受害者,所述其它边缘节点将攻击者或伪装者过滤,同时向提供所述ddos异常流量信息的边缘节点提供积分;如果收到ddos异常流量信息的其它边缘节点下属的终端设备不存在攻击者或受害者,当收到ddos异常流量信息的其它边缘节点下存在新的终端设备加入到所述其它边缘节点时,需要查询所述ddos流量信息,若发布所述上述ddos异常流量信息的边缘节点共享的ddos异常流量信息帮助所述其它边缘节点过滤恶意设备的接入,所述其它边缘节点为提供所述ddos异常流量信息的边缘节点提供积分。如图3所示,本发明基提出的一种基于区块链的ddos攻击联合防御系统,在系统由所有的物联网设备如边缘设备和终端设备共同参与完成。边缘节点a(存在受害者的边缘节点),如附图3中疏虚线所示,当终端设备a1作为ddos发起的攻击者对终端设备d1(受害者)发起攻击时边缘节点a将会检测到终端设备a1存在异常通信行为后将终端设备a1的信息(如:ip地址,mac地址,每秒钟的连接次数以及被攻击者ip)通过s-chain信息共享模型实现ddos异常流量信息共享。边缘节点b、边缘节点c以及边缘节点d收到共享后信息后分别更新本地异常设备信息表,并且通过终端设备a1的mac地址查询其下属终端设备是否存在伪造者(如图3中密虚线所示边缘设备a1伪造边缘设备b2的ip地址向边缘设备d1发起持续攻击,进而对物联网设备资源过度消耗的影响)或受害者。边缘节点b(存在伪造者的边缘节点):通过查询本地异常设备信息表中的mac地址和受害者的ip地址发现其下属终端设备b2为伪造者(不存在受害者),边缘节点b将终端设备b2的信息共享到网络中。由于边缘节点b通过边缘节点a提供的ddos异常流量信息过滤了伪造者,因此边缘节点b需要向边缘节点a提供信息共享积分。边缘节点c(正常的边缘节点):通过查询本地异常设备信息表中的mac地址和受害者的ip地址发现其下属终端设备不存在伪造者和受害者,边缘节点c暂时不用为边缘节点a提供信息共享积分。当新的终端设备加入到边缘节点c时,边缘节点c会自动检测该终端设备的mac地址是否在本地异常设备信息表中,如果存在则禁止该设备加入到边缘节点c,同时向边缘节点a提供信息共享积分。边缘节点d(存在受害者的边缘节点)通过查询本地异常设备信息表中的mac和受害者的ip地址发现其下属终端设备存在受害者(不存在伪造者),边缘节点d向边缘设备a和边缘设备b提供信息共享积分。当边缘节点a,边缘节点b收到边缘节点d提供的信息共享积分后分别过滤其下属的终端设备a1和终端设备b2。本发明的基于区块链的ddos攻击联合防御系统,假定存在ddos攻击发起设备对区块链网络中某一终端设备发起ddos攻击,工作流程为:(1)部署边缘节点的ddos攻击检测模型将自动识别ddos攻击异常流量;(2)边缘节点通过设备过滤信息共享智能合约将ddos异常流量信息的信息摘要上传至设备过滤链,其它边缘节点根据区块链的共识机制实现各边缘节点间ddos异常流量信息的信息摘要同步(在网络环境不存在ddos攻击的情况下,边缘设备将上一次检测到的ddos异常流量信息的详细信息通过设备信息共享智能合约上传至设备信息链,其它边缘节点根据区块链的共识机制实现各边缘节点间ddos异常流量信息的详细信息同步;(3)根据共享的ddos异常流量信息和攻击设备过滤规则,通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;(4)边缘节点根据接收到的攻击设备过滤信息对攻击设备进行过滤,并向该攻击设备过滤信息的提供者(ddos异常信息提供边缘设备)提供积分奖励,获得积分的其它边缘节点可以通过积分优先进行ddos攻击检测模型的更新以保持ddos检测模型能够检测最新的ddos攻击信息。边缘节点可以根据其检测到的ddos异常流量信息对本地的ddos异常检测模型进行训练,以优化其参数,获得积分的其它边缘节点通过区块链交易的方式向边缘节点获取其优化后的参数。以积分和优化后的参数作为交易对象,基于积分通过区块链交易的方式获取优化后的参数,选用现有已公开的区块链交易方式。实施例2:本发明的基于区块链的ddos攻击联合防御方法,通过实施例1公开的基于区块链的ddos攻击联合防御系统实现ddos攻击发起设备的过滤。如图4所示,该方法包括如下步骤:s100、边缘设备进行ddos异常检测,得到ddos异常流量信息,通过边缘设备本地数据存储ddos异常流量信息,并基于设备信息共享智能合约将ddos异常流量信息上传区块链,区块链基于区块链共识机制实现各个边缘节点之间的信息共享;s200、基于攻击设备过滤规则和ddos异常流量信息,区块链通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;s300、。ddos异常检测模型通过rf算法识别ddos攻击流量和正常流量,包括如下步骤:(1)对待检测的网络流量进行流量包提取;(2)按照设备和时间进行特征包分组;(3)对特征包进行特征向量提取;(4)以提取的特征向量为测试数据,将测试数据输入随机森林,通过投票表决分类结果,决定测试数据的类别。随机决策森林由贝尔实验室的何天琴所提出,随后发展成随机森林的算法。该算法方法结合breimans的bootstrapaggregating想法和ho的randomsubspacemethod想法以建造决策树的集合。随机森林是一个包含多个决策树的分类器,并且其输出的类别是由所有决策树的输出结果进行统计,取票数最多的结果作为随机森林的最终输出结果而定。原理为:从n个ddos异常流量样本中有放回抽取n次,肯定会选择到相同ddos异常流量样本的可能性。我们假设u(k)表示第k次抽取ddos异常流量样本抽取到不同样本的概率。那么u(k-1)则表示第k-1次抽样抽取到ddos异常流量不同样本的概率。第k-1次抽样到ddos异常流量不同样本的概率:u(k-1),同时有nu(k-1)个ddos异常流量样本还没有被抽取。第k次抽样时,还有nu(k-1)-u(k-1)的ddos异常流量样本没有被抽取。因此其中,u(1)=1。因此k次放回抽样的不同ddos异常流量样本的期望值为:利用等比数列的性质,得到:当n足够大,并且k=n的情况下:每一次bootstrapping采样重复抽取n次,只有63.2%的样本会被采样到。随机森林实现流程为:(1)从训练ddos异常流量样本集中采用bootstrapping的方法有放回地重采样选出n个ddos异常流量样本,即每棵树的训练数据集都是不同的,里面包含重复的ddos异常流量训练样本。(2)从ddos异常流量的所有属性中有选择地选出k个属性,选择最佳属性作为节点建立决策树。(3)重复以上步骤m次,即建立了m棵决策树。(4)这m个决策树形成随机森林,通过投票表决分类结果,决定测试数据是属于哪一类。网络环境存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的信息摘要上传区块链,区块链基于区块链共识机制将所述ddos异常流量信息的信息摘要同步至其它边缘节点。边缘节点间信息共享包括终端设备信息共享、ddos异常流量信息的信息摘要共享和ddos异常流量信息的详细信息共享。本实施例中编写设备信息共享智能合约,设计双链模式(strong-chain)的信息共享模型以来以太坊区块链平台的pow共识机制共同作用实现各边缘节点之间信息共享。信息共享模型为s-chain信息共享模型,该信息共享模型由两条私有链组成,即设备过滤链和设备信息链,设备过滤链主要存储ddos异常流量信息的信息摘要,ddos异常流量信息的信息摘要包括攻击者ip地址,攻击者mac地址,受害者ip地址;设备过滤链的主要目的是将边缘节点检测到的ddos异常流量信息在第一时间同步到其它边缘节点,帮助被攻击的边缘节点能够准确、快速的过滤ddos攻击的发起设备。设备信息链主要存储ddos异常流量信息的详细信息,用于基于区块链共识机制将ddos异常流量信息的详细信息同步至其它边缘节点,其主要目的是当ddos攻击检测模型无法准确检测ddos异常流量信息时为模型提供最新的ddos异常流量信息对模型进行训练,使ddos攻击检测模型始终保持较高的识别率。在设备信息共享智能合约作用的区块链网络环境中s-chain信息共享模型通过以下过程实现边缘节点间的ddos异常流量信息共享。(1)网络环境不存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的详细信息上传区块链,区块链基于区块链共识机制将ddos异常流量信息的详细信息同步至其它边缘节点;(2)区块链由创世区块和普通区块两类组成,按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构;(3)其它边缘节点收到同步信息后首先验证信息发送方的身份和发送信息的合法性。当两者信息均验证通过后更新本地的ddos异常流量信息的信息摘要库和ddos异常流量信息详细信息库。ddos异常流量信息的信息摘要添加成功后会自动触发设备过滤智能合约,设备过滤智能合约根据预设的规则进行计算,最后将过滤信息发送给对应边缘节点以太坊客户端,进而通过边缘节点对异常设备进行过滤同时免受损害的边缘节点向ddos异常流量信息发布边缘节点提供积分奖励。设备过滤智能合约中配置有攻击设备过滤规则,区块链基于攻击设备过滤规则和ddos异常流量信息,通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息。本实施例攻击设备过滤规则为:按照ddos攻击的特性,将异常设备进行等级的划分,然后按照危险等级对设备的过滤顺序进行排列。ddos攻击的评分规则和权重,通过规则制定ddos危险等级(dl)。计算公式如下:dl=n·5% t·5% t·20% f·40% b·30%其中,n表示连续次数,t表示连接周期,t表示连续持续时间,f表示发送数据包频率,b表示源到目标的字节计算。上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。当前第1页1 2 3 
    技术特征:

    1.基于区块链的ddos攻击联合防御系统,其特征在于包括:

    终端设备,所述终端设备至少一个,ddos攻击的发起源头为终端设备;

    边缘设备,所述边缘设备至少一个并均部署有以太坊客户端,所述边缘设备验证合法性后,加入区块链网络作为边缘节点,并将所述边缘节点下属的终端设备广播至区块链网络;

    区块链,所述区块链中部署有设备信息共享智能合约和设备过滤智能合约,所述区块链用于基于区块链共识机制实现各个边缘节点之间的信息共享;

    所述边缘设备用于进行ddos异常检测,得到ddos异常流量信息,通过本地数据存储ddos异常流量信息,并基于设备信息共享智能合约将ddos异常流量信息上传区块链;

    基于设备过滤智能合约和ddos异常流量信息,所述区块链用于通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;

    所述边缘节点用于基于ddos攻击设备过滤信息对ddos攻击设备进行过滤,并向ddos攻击设备过滤信息的提供者提供积分进行奖励;

    所述边缘节点用于基于ddos异常流量信息进行ddos异常检测模型训练并优化所述ddos异常检测模型的参数,所述积分用于支持所述ddos攻击设备过滤信息的提供者以区块链交易的方式向所述边缘节点获取上述优化后的参数。

    2.根据权利要求1所述的基于区块链的ddos防御系统,其特征在于网络环境存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的信息摘要上传区块链,所述区块链基于区块链共识机制将所述ddos异常流量信息的信息摘要同步至其它边缘节点;

    网络环境不存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的详细信息上传区块链,所述区块链基于区块链共识机制将所述ddos异常流量信息的详细信息同步至其它边缘节点。

    3.根据权利要求2所述的基于区块链的ddos防御系统,其特征在于所述区块链配置有信息共享模型,所述信息共享模型为s-chain信息共享模型,包括:

    设备过滤链,所述设备过滤链用于存储ddos异常流量信息的信息摘要,并用于基于区块链共识机制将ddos异常流量信息的信息摘要同步至其它边缘节点;

    设备信息链,所述设备信息链用于存储ddos异常流量信息的详细信息,用于基于区块链共识机制将ddos异常流量信息的详细信息同步至其它边缘节点,ddos异常流量信息的详细信息用于训练ddos异常检测模型。

    4.根据权利要求1所述的基于区块链的ddos防御系统,其特征在于所述边缘节点基于ddos异常检测模型对网络流量进行检测分类;

    ddos异常检测模型通过rf算法识别ddos攻击流量和正常流量,包括如下步骤:

    (1)对待检测的网络流量进行流量包提取;

    (2)按照设备和时间进行特征包分组;

    (3)对特征包进行特征向量提取;

    (4)以提取的特征向量为测试数据,将测试数据输入随机森林,通过投票表决分类结果,决定测试数据的类别;

    所述随机森林的构建方法为:

    (1)从训练ddos异常流量样本集中采用bootstrapping的方法有放回的重采样选出n个ddos异常流量样本;

    (2)从ddos异常流量的所有属性中有选择地选出k个属性,选择最佳属性作为节点建立决策树;

    (3)重复上述步骤m次,建立m棵决策树;

    (4)上述m个决策树形成决策森林。

    5.根据权利要求1所述的基于区块链的ddos防御系统,其特征在于所述设备过滤智能合约中配置有攻击设备过滤规则,区块链用于基于所述攻击设备过滤规则和ddos异常流量信息,通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;

    所述攻击设备过滤规则为:按照ddos攻击的特性,将异常设备进行等级划分,按照危险等级对设备的过滤顺序进行排列,并通过如下公式计算ddos危险等级,所述公式为:

    dl=n·5% t·5% t·20% f·40% b·30%

    其中,n表示连续次数,t表示连接周期,t表示连续持续时间,f表示发送数据包频率,b表示源到目标的字节计算。

    6.根据权利要求1所述的基于区块链的ddos防御系统,其特征在于所述边缘节点通过防御模型对攻击者进行过滤,所述防御模型包括:

    无偿防御模型,所述无偿防御模型应用于攻击者和受害者属于同一个边缘节点的场景,无偿防御模型检测到ddos异常流量信息后,边缘节点根据ddos异常流量信息查询攻击者对应的ip地址和mac地址,在ddos异常设备过滤过程中,边缘节点对攻击者的ip地址以及攻击者下属终端设备的mac地址进行过滤;

    有偿防御模型,所述有偿防御模型应用于攻击者和受害者属于不同边缘节点的场景,有偿防御模型检测到ddos异常流量信息后,边缘节点基于设备信息共享智能合约将ddos异常流量信息广播至区块链,其它边缘节点接收到所述ddos异常流量信息后,根据所述ddos异常流量信息查询攻击者对应的ip地址和mac地址,如果收到所述ddos异常流量信息的其它边缘节点下属的终端设备存在攻击者或受害者,所述其它边缘节点将攻击者或伪装者过滤,同时向提供所述ddos异常流量信息的边缘节点提供积分;如果收到ddos异常流量信息的其它边缘节点下属的终端设备不存在攻击者或受害者,当收到ddos异常流量信息的其它边缘节点下存在新的终端设备加入到所述其它边缘节点时,需要查询所述ddos流量信息,若发布所述ddos异常流量信息的边缘节点共享的ddos异常流量信息帮助所述其它边缘节点过滤恶意设备的接入,所述其它边缘节点为提供所述ddos异常流量信息的边缘节点提供积分。

    7.根据权利要求1所述的基于区块链的ddos防御系统,其特征在于所述区块链由创世区块和普通区块组成;

    所述创世区块为区块链中第一个区块,区块序号为0,区块链网络中两个对等的边缘节点具有相同的区块,所述两个对等的边缘节点彼此之间配对并同步区块;

    所述普通区块由区块头和区块体组成,所述区块头包括三组元数据,分别为第一元数据组、第二元数据组和第三元数据组,所述第一元数据组包括索引数据,所述第二元数据组包括挖矿难度、随机数和时间戳,所述第三元数据组包括默克尔数根数据;

    所述索引数据用于连接前面的区块和父区块的哈希值;

    所述挖矿难度、随机数和时间戳用于工作量证明;

    所述默克尔树根数据用于总结并归纳校验区块中所有交易数据;

    所述区块体包括交易数据,所述交易数据包括但不限于ddos的异常流量信息以及积分。

    8.基于区块链的ddos攻击联合防御方法,其特征在于通过如权利要求1-7任一项所述的基于区块链的ddos攻击联合防御系统实现ddos攻击发起设备的过滤,所述方法包括如下步骤:

    边缘设备进行ddos异常检测,得到ddos异常流量信息,通过边缘设备本地数据存储ddos异常流量信息,并基于设备信息共享智能合约将ddos异常流量信息上传区块链,区块链基于区块链共识机制实现各个边缘节点之间的信息共享;

    基于攻击设备过滤规则和ddos异常流量信息,区块链通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;

    边缘节点基于ddos攻击设备过滤信息对ddos攻击设备进行过滤,并向ddos攻击设备过滤信息的提供者提供积分进行奖励;

    边缘节点基于ddos异常流量信息进行ddos异常检测模型训练并优化所述ddos异常检测模型的参数,所述ddos攻击设备过滤信息的提供者基于积分以区块链交易的方式向所述边缘节点获取上述优化后的参数。

    9.根据权利要求8所述的基于区块链的ddos攻击联合防御方法,其特征在于网络环境存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的信息摘要上传区块链,区块链基于区块链共识机制将所述ddos异常流量信息的信息摘要同步至其它边缘节点;

    网络环境不存在ddos攻击的情况下,边缘节点基于设备信息共享智能合约将ddos异常流量信息的详细信息上传区块链,区块链基于区块链共识机制将所述ddos异常流量信息的详细信息同步至其它边缘节点;

    区块链配置有信息共享模型,所述信息共享模型为s-chain信息共享模型,包括:

    设备过滤链,所述设备过滤链用于存储ddos异常流量信息的信息摘要,并用于基于区块链共识机制将ddos异常流量信息的信息摘要同步至其它边缘节点;

    设备信息链,所述设备信息链用于存储ddos异常流量信息的详细信息,用于基于区块链共识机制将ddos异常流量信息的详细信息同步至其它边缘节点,ddos异常流量信息的详细信息用于训练ddos异常检测模型。

    10.根据权利要求8或9所述的基于区块链的ddos攻击联合防御方法,其特征在于ddos异常检测模型通过rf算法识别ddos攻击流量和正常流量,包括如下步骤:

    (1)对待检测的网络流量进行流量包提取;

    (2)按照设备和时间进行特征包分组;

    (3)对特征包进行特征向量提取;

    (4)以提取的特征向量为测试数据,将测试数据输入随机森林,通过投票表决分类结果,决定测试数据的类别;

    所述随机森林的构建方法为:

    (1)从训练ddos异常流量样本集中采用bootstrapping的方法有放回的重采样选出n个ddos异常流量样本;

    (2)从ddos异常流量的所有属性中有选择地选出k个属性,选择最佳属性作为节点建立决策树;

    (3)重复上述步骤m次,建立m棵决策树;

    (4)上述m个决策树形成决策森林;

    所述设备过滤智能合约中配置有攻击设备过滤规则,区块链基于所述攻击设备过滤规则和ddos异常流量信息,通过设备过滤智能合约向边缘节点发送ddos攻击设备过滤信息;

    所述攻击设备过滤规则为:按照ddos攻击的特性,将异常设备进行等级划分,按照危险等级对设备的过滤顺序进行排列,并通过如下公式计算ddos危险等级,所述公式为:

    dl=n·5% t·5% t·20% f·40% b·30%

    其中,n表示连续次数,t表示连接周期,t表示连续持续时间,f表示发送数据包频率,b表示源到目标的字节计算。

    技术总结
    本发明公开了基于区块链的DDoS攻击联合防御系统及方法,属于DDoS攻击防御技术领域,要解决的技术问题为如何实现安全、快速、有效的对DDoS攻击进行防御。系统,包括:终端设备,至少一个;边缘设备,至少一个并均部署有以太坊客户端;区块链,部署有设备信息共享智能合约和设备过滤智能合约,区块链用于基于区块链共识机制实现各个边缘节点之间的信息共享;边缘设备用于进行DDoS异常检测,得到DDoS异常流量信息,通过本地数据存储DDoS异常流量信息,并基于设备信息共享智能合约将DDoS异常流量信息上传区块链。

    技术研发人员:禹继国;王越;闫碧薇;王桂娟;董安明
    受保护的技术使用者:齐鲁工业大学
    技术研发日:2020.11.13
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-8012.html

    最新回复(0)