CN115913749B - 基于去中心化联邦学习的区块链DDoS检测方法 - Google Patents
基于去中心化联邦学习的区块链DDoS检测方法 Download PDFInfo
- Publication number
- CN115913749B CN115913749B CN202211554244.5A CN202211554244A CN115913749B CN 115913749 B CN115913749 B CN 115913749B CN 202211554244 A CN202211554244 A CN 202211554244A CN 115913749 B CN115913749 B CN 115913749B
- Authority
- CN
- China
- Prior art keywords
- local
- node
- training
- data
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于去中心化联邦学习的区块链DDoS检测方法,本发明属于隐私计算中的联邦学习技术领域,包括:建立联邦学习系统,所述联邦学习系统包括若干本地节点,获取若干所述本地节点的本地数据集;初始化本地节点的LSTM模型;对所述本地节点的本地数据集处理,得到本地节点预处理数据,其中,所述本地节点预处理数据包括训练集和测试集;将所述本地节点预处理数据的训练集对应输入到本地节点的LSTM模型进行训练,得到本地节点的最终模型;将所述测试集输入本地节点的最终模型,得到本地节点检测攻击的准确率。本发明既能确保有效检测区块链中DDoS攻击的同时又能保证大幅减少训练过程中的通信开销。
Description
技术领域
本发明属于隐私计算中的联邦学习技术领域,特别是涉及一种基于去中心化联邦学习的区块链DDoS检测方法。
背景技术
区块链是一种分布式账本,其中数据块以顺序方式组成链式数据结构。由于其去中心化、不可篡改和不可伪造的特性,区块链在许多领域得到广泛应用。但区块链潜在的巨大价值使其成为许多攻击的目标,包括自私挖矿、区块链分叉、51%攻击、双花、女巫攻击和分布式拒绝服务(DDoS)攻击。其中,DDoS攻击危害尤其大,因为区块链网络层的对等节点之间的通信依赖于P2P架构,这使得攻击者很容易在区块链上实施DDoS攻击。
DDoS攻击是指攻击者控制多个僵尸网络,对一个或多个目标发起拒绝服务(DoS)攻击,从而使DoS攻击的威力倍增。通常,DDoS攻击利用目标系统网络服务功能的缺陷或直接消耗其系统资源,使目标系统无法正常提供服务。最常见的DDoS攻击是泛洪攻击,攻击者利用分布式、大流量的恶意数据包攻击目标服务器,导致服务器不可用。DDoS攻击的危害也在逐年增加,给物联网、云计算、区块链等诸多领域带来严重的经济损失。由于区块链的P2P网络拓扑结构和数据验证等监管机制的缺失,DDoS攻击在区块链中激增。基于区块链的网络因具有非结构化的网络系统,混合数据流量复杂度高,控制难度大,网络协议不统一等特点,成为DDoS攻击的主要目标。此外,区块链中的内存池、交易所平台等重要组件也遭受了不同程度的DDoS攻击,造成严重的经济损失。显然,传统网络中的DDoS攻击对区块链也产生了严重威胁。如何抵御DDoS攻击已经成为一个亟待解决的问题。
近年来,人们越来越关注DDoS攻击,并提出了不同的解决方案。具体来说,主要包括两种检测DDoS攻击的方法:基于统计的方法和基于机器学习的方法。然而,现有的这些方法中还存在以下局限性:(1)基于机器学习或统计的研究方法大多依赖大规模数据集来实现高识别精度。在实际的区块链场景中,单个节点很难获得如此大的数据量;(2)由于DDoS攻击模式一直在不断变化,已有的方法已经难以检测新一代的DDoS攻击;(3)在区块链P2P网络拓扑下,很难找到可以信任且在训练过程中不会出现故障的中心节点,而且整个训练过程会产生大量的通信开销。因此,迫切需要符合实际区块链环境的防御方法来抵御DDoS攻击。
为了克服已有方案的局限性并取长补短,本发明提出了基于去中心化联邦学习的区块链DDoS检测方法,既能确保有效检测区块链中DDoS攻击的同时又能保证大幅减少训练过程中的通信开销。
发明内容
本发明的目的是提供一种基于去中心化联邦学习的区块链DDoS检测方法,以解决上述现有技术存在的问题。
为实现上述目的,本发明提供了一种基于去中心化联邦学习的区块链DDoS检测方法,包括:
建立联邦学习系统,所述联邦学习系统包括若干本地节点,获取若干所述本地节点的本地数据集;初始化本地节点的LSTM模型;
对所述本地节点的本地数据集处理,得到本地节点预处理数据,其中,所述本地节点预处理数据包括训练集和测试集;
将所述本地节点预处理数据的训练集对应输入到本地节点的LSTM模型进行训练,得到本地节点的最终模型;
将所述测试集输入本地节点的最终模型,得到本地节点检测攻击的准确率。
可选的,对所述本地节点的本地数据集处理,得到本地节点预处理数据的过程包括:
删除含有-1或空值的数据,得到第一数据;对所述第一数据进行特征选择,得到第二数据;对所述第二数据进行z-score规范化处理,得到预处理数据。
可选的,基于所述特征选择得到第二数据的过程包括:
删除IP地址、端口号特征,得到第一特征;基于所述第一特征,计算任意两个特征间的皮尔逊相关系数,基于所述皮尔逊相关系数删除高相关性的冗余特征,得到第二特征,基于所述第二特征的数据,得到第二数据。
可选的,对本地节点的LSTM模型训练包括:本地训练和协同训练。
可选的,所述本地训练过程包括:
基于随机梯度下降法,将所述训练集输入本地节点的LSTM模型进行迭代训练,直至收敛,获得本地节点的本地训练模型。
可选的,所述协同训练过程包括:
在参与本地训练的节点中选取若干节点,若干节点包括发送方节点集合和接收方节点集合;
所述发送方节点集合中各节点将本地训练模型发送至所述接收方节点集合中各节点;
所述接收方节点集合中各节点基于Fedavg聚合规则更新模型,直至收敛,得到各节点的最终模型。
可选的,所述发送方节点集合中各节点将本地训练模型发送至所述接收方节点集合中个节点的过程中包括:
所述发送方节点集合中的节点和所述接收方节点集合中的节点一一对应。
本发明的技术效果为:
1.现有的其他区块链DDoS攻击检测方法基本上采用的都是集中学习技术,这种技术实际上并不能很好地应用于区块链场景中,在实际场景中很难让一个节点获取如此众多的数据用于模型训练,并且保证在训练过程中不受任何影响。本发明中利用去中心化联邦学习技术,让多节点协同训练,符合区块链网络的P2P拓扑结构,同时也能够避免模型过拟合导致的模型泛化能力下降。最终在数据有限的情况下让每个节点都能够得到训练良好的本地模型;
2.相比于中心化联邦学习技术,去中心化联邦学习舍弃掉了中心服务器,因此在本发明中各节点可以按照事先设定好的通信模式传输模型,在训练过程中即便有某个节点发生宕机也不会影响其他节点的模型训练步骤。而且在一对一的通信模式下,一轮训练产生的通信开销要远小于中心化联邦学习中的通信开销,这能够大大减缓实际区块链场景中资源有限的节点的资源消耗。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例中的基于去中心化联邦学习的区块链DDoS检测方法的系统图;
图2为本发明实施例中的基于去中心化联邦学习的区块链DDoS检测方法在10节点区块链场景下,各节点的模型检测攻击准确率的示意图;
图3为本发明实施例中的基于去中心化联邦学习的区块链DDoS检测方法与基于集中学习、基于中心化联邦学习以及基于单一节点训练的DDoS攻击检测方法的模型检测攻击准确率的对比示意图;
图4为本发明实施例中的基于去中心化联邦学习的区块链DDoS检测方法在10节点、50节点以及100节点3类区块链场景下模型检测攻击准确率的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
实施例一
本实施例中提供一种基于去中心化联邦学习的区块链DDoS检测方法,包括:
步骤1、联邦学习系统初始化
建立一个包含多个本地节点的联邦学习系统;
其中,多个本地节点具有本地数据集和本地计算资源,能够完成本地模型训练的需求,同时具备模型聚合能力,能够聚合其他节点发送的模型;
步骤2、数据处理
各个节点对自身拥有的数据进行处理,使其能够与LSTM模型的输入层相匹配。具体的数据处理过程包括如下子步骤:
步骤2.1、数据验证:各个节点对于本地数据集中每条数据进行验证,删除含有-1或空值的数据;
步骤2.2、特征选择:各个节点首先从本地数据集中移除IP地址、端口号等对于模型训练无用的特征,接着计算每两个特征间的皮尔逊相关系数其中fi和fj分别代表数据集中的第i个和第j个特征,cov(fi,fj)表示特征fi和fj的协方差,σ(fi)和σ(fj)分别表示特征fi和fj的标准差。计算完所有特征间的相关性后,删除高相关性的冗余特征;
步骤2.3、数据规范化:各个节点对本地数据集进行z-score规范化处理,具体来说,针对数据集中的每列特征fl中的每个值zli计算其中E(fl)和σ(fl)分别为fl的数学期望和标准差;
步骤3、本地训练
各个节点i依据训练任务初始化一个用于机器学习的LSTM初始模型随后在每一轮训练中,利用本地数据集Di对上一轮的模型进行多轮本地训练直到收敛,最终得到第t轮的本地模型/>其中,各个节点在训练自己的本地模型时依据各自设定的学习率lr,训练轮数M等参数信息利用随机梯度下降法SGD进行独立的训练;
步骤4、协同训练
在第t轮中从总共N个节点中挑选2Q个节点参与协同训练,这2Q个节点可以分为两个集合,分别为发送方集合和接收方集合集合/>中的节点/>将本地训练的模型/>发送给集合/>中的节点/>节点/>在收到其他节点的模型后利用Fedavg聚合规则来更新自己的模型其中/>和/>分别代表个人数据集/>和/>的大小。
上述步骤3至步骤4迭代运行,经过T轮迭代后直至各节点的模型达到收敛。至此,经过步骤1到步骤4,完成了对LSTM模型的训练,每个节点i最终得到训练好的模型
实施例二
本实施例中详细阐述了本发明的基于去中心化联邦学习的区块链DDoS检测方法在区块链DDoS攻击数据集下具体模型训练的步骤,如图1所示,图1是基于去中心化联邦学习的区块链DDoS检测方法的系统图,由图1可假设现有一个由10个节点组成的联邦学习系统。其中每个节点都在本地拥有一部分区块链DDoS攻击数据集,该数据集总共包含11200条数据,其中攻击数据5600条,正常数据5600条。每个节点在训练过程中可以利用本地的手机、笔记本电脑等设备将本地模型传输给其他节点,在经过多轮迭代更新后每个节点的本地模型都将会收敛。
该系统完整的去中心化联邦学习模型训练过程具体包括如下步骤:
步骤1、搭建一个联邦学习系统,系统中10个节点,每个节点在本地拥有区块链DDoS攻击数据集的一部分,在方案中我们假设数据集在各节点之间都是非独立同分布的;
步骤2、每个节点在训练开始前对自身拥有的数据集进行处理作为模型的输入。完整的数据处理过程包括如下子步骤:
步骤2.1、数据验证:各个节点对于本地数据集中每条数据进行验证,删除含有-1或空值的数据;
步骤2.2、特征选择:各个节点首先从本地数据集中移除源IP地址、目的IP地址、源端口号、目的端口号、时间戳等对于模型训练无用的特征,接着计算每两个特征间的皮尔逊相关系数其中fi和fj分别代表数据集中的第i个和第j个特征,cov(fi,fj)表示特征fi和fj的协方差,σ(fi)和σ(fj)分别表示特征fi和fj的标准差。计算完所有特征间的相关性后,删除高相关性的冗余特征,其中阈值设为0.92,超过0.92则将该特征删除;
步骤2.3、数据规范化:各个节点对本地数据集进行z-score规范化处理,具体来说,针对数据集中的每列特征fl中的每个值zli计算其中E(fl)和σ(fl)分别为fl的数学期望和标准差;
步骤3、各个节点i调用PyTorch库初始化一个LSTM模型随后在每一轮训练中,利用本地数据集Di对上一轮的模型进行多轮本地训练直到收敛,最终得到第t轮的本地模型/>其中,各个节点在训练自己的本地模型时依据各自设定的学习率lr,训练轮数M等参数信息利用随机梯度下降法SGD进行独立的训练。此处统一设置学习率为0.01,本地训练轮数为1;
步骤4、在第t轮中从总共10个节点中挑选6个节点参与协同训练,这6个节点可以分为两个集合,分别为发送方集合和接收方集合集合/>中的每个节点/>将本地训练的模型/>发送给集合/>中的对应节点/>节点/>在收到其他节点的模型后利用Fedavg聚合规则来更新自己的模型其中/>和/>分别代表个人数据集/>和/>的大小。
步骤5、上述步骤3至步骤4迭代进行,直至每个节点的模型收敛,在实验中设置收敛条件为训练100轮。为了验证每个节点的本地模型是否能够检测DDoS攻击,我们用每个节点的本地模型对测试集中的数据进行DDoS攻击检测;用检测攻击的准确率来衡量最终获得的每个节点的本地模型的性能、评估本发明所述检测攻击方法的效果;实验结果如图2所示,可以看到每个节点的模型检测攻击准确率均能够达到98%以上,证明了本发明的有效性;
步骤6、为了进一步证明本发明的实用性,将本发明与常用的两种检测DDoS攻击的基线方法进行比较。第一种基线方法是基于集中学习的DDoS检测方法,第二种是基于传统的集中联合学习技术的DDoS检测方法;实验结果图3表明在经过多轮训练后,本发明的模型检测攻击准确率与另外两种基线方法的模型检测攻击准确率相接近,证明了本发明能够在应用于实际区块链场景的同时也不会降低模型的性能;同时,与单一节点训练方法相比的结果证明了本发明中协同训练的有效性;假设传输一个模型的开销为|C|,中心化联合学习每轮产生20|C|的通信开销,而本发明每轮仅产生3|C|的通信开销,进一步证明了本发明可以减少训练过程中产生的通信开销,能够让资源有限的节点也能够参与模型训练;
步骤7、更改节点数量为50和100,模型的检测攻击准确率如图4所示,可以看到当系统中的节点数量增加时,模型的性能也不会下降,这表明本发明不仅可以应用于节点数量少的区块链场景中,也可以扩展到大量节点的区块链场景,具有较强的可扩展性;
上述流程的实验结果表明,本发明不仅能够有效地检测区块链中的DDoS攻击,同时兼具实用性和可扩展性,真正能够应用于实际的区块链场景中。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (4)
1.一种基于去中心化联邦学习的区块链DDoS检测方法,其特征在于,包括以下步骤:
建立联邦学习系统,所述联邦学习系统包括若干本地节点,获取若干所述本地节点的本地数据集;初始化本地节点的LSTM模型;
对所述本地节点的本地数据集处理,得到本地节点预处理数据,其中,所述本地节点预处理数据包括训练集和测试集;
将所述本地节点预处理数据的训练集对应输入到本地节点的LSTM模型进行训练,得到本地节点的最终模型;
将所述测试集输入本地节点的最终模型,得到本地节点检测攻击的准确率;
对本地节点的LSTM模型训练包括:本地训练和协同训练;
本地训练的过程包括:各个节点i依据训练任务初始化一个用于机器学习的LSTM初始模型随后在每一轮训练中,利用本地数据集Di对上一轮的模型进行多轮本地训练直到收敛,最终得到第t轮的本地模型/> 其中,各个节点在训练自己的本地模型时依据各自设定的学习率lr,训练轮数M,利用随机梯度下降法SGD进行独立的训练;
协同训练的过程包括:在第t轮中从总共N个节点中挑选2Q个节点参与协同训练,这2Q个节点可以分为两个集合,分别为发送方集合 和接收方集合集合/>中的节点/>将本地训练的模型/>发送给集合/>中的节点/>节点/>在收到其他节点的模型后利用Fedavg聚合规则来更新自己的模型其中/>和/>分别代表个人数据集/>和/>的大小。
2.根据权利要求1所述的基于去中心化联邦学习的区块链DDoS检测方法,其特征在于,对所述本地节点的本地数据集处理,得到本地节点预处理数据的过程包括:
删除含有-1或空值的数据,得到第一数据;对所述第一数据进行特征选择,得到第二数据;对所述第二数据进行z-score规范化处理,得到预处理数据。
3.根据权利要求2所述的基于去中心化联邦学习的区块链DDoS检测方法,其特征在于,基于所述特征选择得到第二数据的过程包括:
删除IP地址、端口号特征,得到第一特征;基于所述第一特征,计算任意两个特征间的皮尔逊相关系数,基于所述皮尔逊相关系数删除高相关性的冗余特征,得到第二特征,基于所述第二特征的数据,得到第二数据。
4.根据权利要求1所述的基于去中心化联邦学习的区块链DDoS检测方法,其特征在于,所述发送方节点集合中各节点将本地训练模型发送至所述接收方节点集合中个节点的过程中包括:
所述发送方节点集合中的节点和所述接收方节点集合中的节点一一对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211554244.5A CN115913749B (zh) | 2022-12-06 | 2022-12-06 | 基于去中心化联邦学习的区块链DDoS检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211554244.5A CN115913749B (zh) | 2022-12-06 | 2022-12-06 | 基于去中心化联邦学习的区块链DDoS检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115913749A CN115913749A (zh) | 2023-04-04 |
CN115913749B true CN115913749B (zh) | 2023-09-29 |
Family
ID=86487932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211554244.5A Active CN115913749B (zh) | 2022-12-06 | 2022-12-06 | 基于去中心化联邦学习的区块链DDoS检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115913749B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794675A (zh) * | 2021-07-14 | 2021-12-14 | 中国人民解放军战略支援部队信息工程大学 | 基于区块链和联邦学习的分布式物联网入侵检测方法及系统 |
CN114358907A (zh) * | 2022-01-06 | 2022-04-15 | 广东启链科技有限公司 | 一种基于区块链联邦学习的金融风险预测方法和系统 |
CN114626547A (zh) * | 2022-02-08 | 2022-06-14 | 天津大学 | 一种基于区块链的群组协同学习方法 |
CN115102763A (zh) * | 2022-06-22 | 2022-09-23 | 北京交通大学 | 基于可信联邦学习多域DDoS攻击检测方法与装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210211468A1 (en) * | 2016-05-27 | 2021-07-08 | Wells Fargo Bank, N.A. | Systems and methods for service compliance via blockchain |
-
2022
- 2022-12-06 CN CN202211554244.5A patent/CN115913749B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113794675A (zh) * | 2021-07-14 | 2021-12-14 | 中国人民解放军战略支援部队信息工程大学 | 基于区块链和联邦学习的分布式物联网入侵检测方法及系统 |
CN114358907A (zh) * | 2022-01-06 | 2022-04-15 | 广东启链科技有限公司 | 一种基于区块链联邦学习的金融风险预测方法和系统 |
CN114626547A (zh) * | 2022-02-08 | 2022-06-14 | 天津大学 | 一种基于区块链的群组协同学习方法 |
CN115102763A (zh) * | 2022-06-22 | 2022-09-23 | 北京交通大学 | 基于可信联邦学习多域DDoS攻击检测方法与装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115913749A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Popoola et al. | Federated deep learning for zero-day botnet attack detection in IoT-edge devices | |
Rahman et al. | Internet of things intrusion detection: Centralized, on-device, or federated learning? | |
Friha et al. | FELIDS: Federated learning-based intrusion detection system for agricultural Internet of Things | |
Sagirlar et al. | AutoBotCatcher: blockchain-based P2P botnet detection for the internet of things | |
Haghighi et al. | On the race of worms and patches: Modeling the spread of information in wireless sensor networks | |
Miller et al. | The role of machine learning in botnet detection | |
CN113645197B (zh) | 一种去中心化的联邦学习方法、装置及系统 | |
CN111181930A (zh) | DDoS攻击检测的方法、装置、计算机设备及存储介质 | |
Dai et al. | Eclipse attack detection for blockchain network layer based on deep feature extraction | |
Hallaji et al. | Label noise analysis meets adversarial training: A defense against label poisoning in federated learning | |
Wang et al. | Mining Network Traffic with the k‐Means Clustering Algorithm for Stepping‐Stone Intrusion Detection | |
Feng et al. | Securing cooperative spectrum sensing against rational SSDF attack in cognitive radio networks | |
CN115913749B (zh) | 基于去中心化联邦学习的区块链DDoS检测方法 | |
CN110784487B (zh) | 一种基于数据包抽检模型的sdn节点防御方法 | |
Miller et al. | The impact of different botnet flow feature subsets on prediction accuracy using supervised and unsupervised learning methods | |
Huang | A Data‐Driven WSN Security Threat Analysis Model Based on Cognitive Computing | |
Wadate et al. | Edge-Based Intrusion Detection using Machine Learning Over the IoT Network | |
Concone et al. | A novel recruitment policy to defend against sybils in vehicular crowdsourcing | |
CN113837398A (zh) | 一种基于联邦学习的图分类任务中毒攻击方法 | |
Xu et al. | NetSpirit: A smart collaborative learning framework for DDoS attack detection | |
Aljammal et al. | Performance Evaluation of Machine Learning Approaches in Detecting IoT-Botnet Attacks. | |
Topalova et al. | Neural network implementation for detection of denial of service attacks | |
McCullough | Lightweight Deep Learning for Botnet DDoS Detection on IoT Access Networks | |
Ma et al. | A new implementation of federated learning for privacy and security enhancement | |
Banitalebi Dehkordi | Examining the status of CPU working load, processing load and controller bandwidth under the influence of packet-in buffer status located in Openflow switches in SDN-based IoT framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |