APP下载

基于区块链技术的DDoS协同防御方法研究

2020-07-27赵婵张瑞生

现代信息科技 2020年5期
关键词:分布式区块链

赵婵 张瑞生

摘  要:针对DDoS攻击,文章提出了一种基于区块链的分布式防御架构,利用分散在各处的闲置网络带寬和计算资源进行DDoS流量的转发和清洗处理。首先,将闲置网络带宽和计算资源上链,实现DDoS防御能力的全网共享;然后,依据链上共享的能力对发往受害者的流量进行转发清洗;最后,依据上链的流量清洗记录以及带宽使用记录进行奖励。该方案以分布式的网络带宽及计算资源有效应对大规模的DDoS攻击流量,提高了防御的时效性。通过服务能力聚合,充分利用闲置带宽和处理能力,显著降低DDoS防御的成本;基于DDoS防御贡献的公正记录进行奖励,构成协同防御的有效正反馈。

关键词:DDoS攻击;区块链;分布式

中图分类号:TP311.13;TP309    文献标识码:A 文章编号:2096-4706(2020)05-0152-04

Research on DDoS Cooperative Defense Method Based on Blockchain

ZHAO Chan,ZHANG Ruisheng

(School of Information Science and Engineering,Lanzhou University,Lanzhou  730000,China)

Abstract:Aiming at DDoS attacks,this paper proposes the distributed defense architecture based on blockchain that utilizes idle network bandwidth and computing resources scattered around to forward and clean DDoS traffic. First,idle bandwidth and idle computing resources are proposed onto blockchain to realize DDoS defense capability sharing across the network. Then,the traffic sent to the victim is forwarded and cleaned according to the capacity on blockchain. Finally,the processing records and bandwidth usage on blockchain are used for rewards. This solution uses distributed network bandwidth and computing resources to effectively resolve large-scale DDoS attack,realizing traffic offloading,and improve the timeliness of defense. Through service capacity aggregation and full use of idle bandwidth and processing capabilities,DDoS defense cost is significantly reduced;reward based on the fair records of DDoS defense contributions forms an effective positive feedback on collaborative defense.

Keywords:DDoS attack;blockchain;distributed

0  引  言

DoS(Denial of Service)攻击通过消耗存储、带宽或可用的其他服务资源来阻塞通信[1]。在此基础上升级演变而来的DDos攻击(分布式拒绝服务)危害更大,是当前主流网络攻击方式之一。2018年2月,全球著名的代码托管网站GitHub遭受到有史以来规模最大的DDoS攻击,为有效应对攻击,GitHub只能向国际著名CDN服务商Akamai求助,为此付出了高昂的服务费用[2]。

传统的DDoS防御方式包括检测和清洗两步。检测的目的是确认目标受害者是否遭受了DDoS攻击,清洗则将发往目标受害者的所有流量(包括正常流量和DDoS流量)转发到清洗服务器进行清洗。这种集中式防御方式无法高效处理DDoS攻击,不仅存在滞后性,而且流量清洗成本较高,同时在清洗DDoS流量时容易导致网络堵塞[3]。

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,具有分布式基础架构与计算范式[4],可有效应对分布式网络攻击。本文利用分布的闲置带宽和计算资源来应对DDoS攻击的流量,形成了DDoS协同防御效果。

1  背景知识

1.1  DDoS主流攻击方式和防御方式

按照攻击发起方式的差异,DDoS攻击可分为3类[5]。

1.1.1  流量型攻击

通过产生大量的数据流量消耗网络带宽,大量表面看似合法的TCP、UDP或ICMP数据包被传送到特定目的地,常常同时使用源地址欺骗,即不停地变化源地址。这种攻击因特征明显,目前比较容易识别。

1.1.2  连接型攻击

利用TCP和HTTP等协议定义漏洞来不断占用计算资源,以阻止计算机处理正常的事务和请求。

1.1.3  流量+连接混合型攻击

既利用了协议、系统的缺陷,又具备了海量的攻击流量,是当前的主流攻击方式。

主流的DDoS防御方式是采用被称为高防服务器构建的DDoS攻击防护系统[6]。在被防护网站发生攻击时,将攻击流量导流至高防IP节点。高防IP节点的DDoS清洗设备对流量进行清洗,保障被防护网站正常对外提供服务。因高防IP的数量有限,在应对巨大流量的DDoS攻击时,时效性会降低,同时流量清洗代价较大。

1.2  区块链相关知识介绍

区块链是由多方共同维护的分布式数据记录,具有四大特性[7]:

(1)多方写入,实时共享:区块链参与方通过共识算法对上链数据进行确认,确认一致后数据会同时写入各参与方的账本,从而实现了数据的实时共享;

(2)分布式信任体系:节点之间互不信任,但依托于区块链的共识机制,多中心构建分布式信任关系,各节点之间可以就上链数据达成信任;

(3)可追溯:区块链以时间戳的形式按顺序记录了所有的操作记录;

(4)防篡改:区块内容和时序通过密码学技术进行保护,任何一方难对其进行篡改、抵赖、造假。

2  相关工作介绍

同济大学和中科院计算技术研究所团队[8]研究了物联网场景下区块链底层技术以及区块链物联网所面临的问题与挑战,认为分布式网络环境下的身份验证、数据隐私、网络安全等问题非常突出。RUKAVITSYN A团队[9]利用Netflow协议收集有关网络流量的数据,并利用新数据重新自我学习检测模型的方式进行DDoS攻击检测。张桐[10]结合区块链的去中心化、公开透明、信息很难篡改和匿名性等特点,从身份验证、数据保密性和完整性、环节DDoS攻击、保护隐私信息、更安全的DNS共5个方面介绍了区块链的应用安全。毕宇[11]从参与者、智能合约要约、运行流程3个方面设计了基于区块链智能合约的PKI-CA体系,较好地解决了传统PKI-CA认证体系所面临的难题,提出了防止DDos攻击的思路,但该方案未证明可操作性和可行性。陈飞[12]等结合DDoS攻击的特性,提出下一代网络安全体系构建仍然存在两类问题,即DDoS早期的高精确度识别问题和安全体系中各环节的信任以及安全性保障问题。陈旭等[13]提出了基于区块链技术的网络DDoS联合防御方法。在公有区块链基础上,解决了跨组织联合防御的实施难题。但没有对方案进行验证。杨翊[14]等采用区块链技术进行分布式存储和共享,设计了一种新的防御DDoS攻击的模型,但实际应用效果未做验证。

为响应国家号召,落实网络强国战略,培养高水平网络空间安全人才,2018年初兰州大学成立了“兰州大学网络空间安全研究院”,依托兰州大学信息科学与工程学院,开展网络安全教学与科研工作。针对上述仍存在的问题,本文设计了基于区块链技术的DDoS协同防御方法,有效利用闲置带宽和计算资源应对DDoS攻击,形成了协同防御的机制。

3  方法总体介绍

目前在互联网上特定时段存在大量闲置带宽和计算资源,可以通过区块链技术进行整合利用,并用于DDoS攻击的防御。

如图1所示,方案总体思路如下:

第1步:公司或个人等首先在区块链网络中登记闲置资源,提供在应对DDoS攻击时可提供最大能力的闲置资源配置。各个计算中心(节点1,2,…,N)的闲置资源在区块链网上进行全网共享;

第2步:当检测到DDoS攻击时,根据区块链网络上的闲置资源登记情况,将发往目标受害者的混合流量(包含正常流量及DDoS流量)转发至具有闲置带宽和计算资源的计算中心(节点1,2,…,N);

第3步:计算中心(节点1,2,…,N)依据清洗规则,对DDoS攻击流量进行清洗,过滤掉DDoS流量,并将正常流量返回给目标,同时将清洗记录以及带宽使用情况向区块链全网进行广播,经过共识机制确认后记录到区块链网络上。

上述同时,建立并运行合理的评价激励体系,依据链上不可篡改的流量清洗记录以及带宽使用记录,对贡献闲置带宽和计算资源的计算中心实体进行奖励。

4  设计与实现

4.1  闲置资源参数定义与上链

对目前互联网上闲置的带宽和闲置计算资源进行登记,将相关信息通过固定数据格式向区块链网络发布。数据格式定义为:

(闲置资源属主ID,闲置资源类型,可用时间段,最大可用能力)。

对闲置资源类型,取值为0或1,0代表带宽资源,1代表计算资源。例如(0001,0,8:00-17:00,20 M)代表ID为0001的用户,在每天的8:00~17:00期间带宽资源闲置,最大可用带宽为20 M。

将具有闲置资源的计算机数据记录向全网进行广播,所有接收节点对数据记录的合法性进行校验,通过共识机制校验后数据记录被纳入区块链网络中储存。通过此方式,闲置资源在整个区块链网络中进行了共享。

4.2  依托区块链网络登记信息转发DDoS流量

当目标受害者疑似受到攻击时,需要将目标受害者接收的混合流量,通过闲置带宽将流量转发给具有闲置资源的计算中心。比如,从DDoS攻击的受害者,经过带宽线路X、带宽线路Y和带宽线路Z),最终到达闲置计算中心A。如果某闲置计算中心无法利用闲置带宽搭建从目标受害者到该计算中心的通路,则该计算中心不可用,不参与DDoS防御。根据闲置资源参数中“最大可用能力”定义,在流量转发时分配不超过最大带宽、最大计算资源的混合流量。

4.3  對混合流量进行清洗并将处理记录上链

计算中心依据特定的DDoS判定规则,过滤DDoS攻击流量,将正常流量返回给目标受害者。计算中心完成混合流量清洗后,将本次处理记录向区块链网络发布,经过校验后记录上链。上链数据定义为(计算中心属主ID,带宽使用记录,本次处理的混合流量的体量,恶意DDoS攻击流量的体量,处理时长)。

例如(0001,[带宽线路X,带宽线路Y,带宽线路Z],100 M,80 M,5 h),代表通过[带宽线路X,带宽线路Y,带宽线路Z]将流量转发给0001的计算中心,该计算中心处理的混合流量为100 M/s,其中DDoS攻击流量为80 M/s,流量清洗时间为5 h。

4.4  依据区块链网络登记信息进行奖励

为形成良性协同防御正反馈,需对提供带宽和计算资源的实体,以积分或其他形式进行奖励。DDoS攻击的目标受害者,根據区块链上的流量清洗记录进行计算,提供奖励积分,发送给参与协同防御的实体。区块链不可篡改的特性,可确保建立公正公平的记录信息。

5  测评与分析

以太坊(Ethereum)[15]是一个开源的有智能合约功能的区块链平台,提供去中心化的以太虚拟机(Ethereum Virtual Machine)来处理点对点合约,支持自定义创世区块,创建私有链。为了验证本文思路,我们利用以太坊区块链平台环境,搭建区块链网络进行了仿真验证,并对结果进行了综合分析评价。

5.1  验证环境和参数

在区块链上,共有15个计算机节点(虚拟机),模拟互联网上存在的15个闲置的计算中心。每个计算中心安装Ubuntu 16.04操作系统。

将所有计算中心组成区块链网络,并部署智能合约。其中,智能合约涵盖了主要的几个操作步骤:

(1)将闲置资源配置情况记入区块链的操作;

(2)DDoS攻击发生时,依据计算中心的位置及可用带宽进行流量转发的操作;

(3)计算中心将处理结果记入区块链的操作。

5.2  验证步骤

(1)在各计算中心节点(共15个)安装cbm网络带宽监控工具,部署自定义Shell脚本程序。设置每个节点定时(每1 min)采集当前节点的CPU使用率(cpuinfo)和网络带宽信息(transmit),经过计算后按照4.1节数据格式将闲置的资源(带宽、CPU计算资源)情况登记到区块链网络,在整个区块链网络共享;

(2)在各计算中心节点(共15个)安装Anti-DDoS开源程序(https://github.com/anti-ddos/Anti-DDOS),通过配置iptables规则,对特定IP 地址的数据包进行转发,以实现流量清洗的效果;

(3)指定计算中心节点中的1台A计算机作为DDoS攻击的目标,指定另一台B计算机安装LOIC工具,产生DDoS攻击流量,作为DDoS攻击的发动方,对A主机发起持续1 h的DDoS攻击。

5.3  验证结果

(1)通过Wireshark软件的流量统计功能,可以看到发往目标主机的所有流量依据区块链记录的资源配置情况分别转发给15个计算中心。在验证环境中,由于各虚拟节点配置参数相同,因此转发到各个节点的混合流量水平接近相同;

(2)各计算中心对流量进行有效过滤,只保留了特定IP(A主机和B主机)的流量,过滤掉了DDoS流量。正常流量返回给了目标主机A;

(3)目标主机A提供的150个积分平均分配给了15个参与协同防御的计算中心(在实际生产情况中,会依据计算中心的能力及实际处理流量体量的不同,进行奖励分配)。

5.4  综合分析和评价

本方案与现有流行的抗DDoS方案(阿里云云盾服务、知道创宇抗D保服务、腾讯云大禹服务)相比,都能防御常见的各类DDoS攻击。同时本方案有以下优势:

(1)时效性和扩展性更佳。本文方案采用分布式的防御,防御的时效性和扩展性在生产环境中将更佳;

(2)流量清洗的成本更低。现有的抗DDoS方案需要额外的流量引流网络以及流量清洗设备,因此成本较高。根据阿里云、腾讯云等官网服务报价,20 GB的流量清洗带宽报价在1.5万/月以上。本文方案通过利用闲置带宽和计算资源,采用合作共赢的方式,没有增加额外的带宽和计算资源费用,流量清洗成本相对较低。

但本方案也存在问题需要继续优化。由于仿真资源受限,本文只通过小规模的资源从可行性和有效性方面对方案进行了验证,仿真的DDoS攻击与现实中的DDoS攻击在流量规模方面存在较大差距。后续需进一步在大规模部署条件下进行验证和分析。

6  结  论

本文提出了一种基于区块链技术的DDoS攻击防御架构,利用分散在互联网上的闲置网络带宽和计算资源,对DDoS流量进行清洗。通过区块链聚合闲置带宽和处理能力,应对DDoS攻击流量,提高了防御的时效性,降低了DDoS防御的成本。同时,本文提出基于DDoS防御贡献的公正记录进行奖励,构成了有效的协同防御正反馈。

参考文献:

[1] 黄强.基于分布式的DDoS攻击及防范技术研究 [D].合肥:合肥工业大学,2011.

[2] The GitHub Blog. February 28th DDoS Incident Report [EB/OL].(2018-03-01).https://github.blog/2018-03-01-ddos-incident-report/.

[3] 滕建,陈骏君,赵英.基于用户网络行为模型的DDoS攻击检测 [C]//中国计算机用户协会网络应用分会2018年第二十二届网络新技术与应用年会,2018.

[4] 袁勇,王飞跃.区块链技术发展现状与展望 [J].自动化学报,2016,42(4):481-494.

[5] 贾斌.基于机器学习和统计分析的DDoS攻击检测技术研究 [D].北京:北京邮电大学,2017.

[6] 邓诗钊.DNS域名安全实时检测的研究 [D].成都:电子科技大学,2015.

[7] 王元地,李粒,胡谍.区块链研究综述 [J].中国矿业大学学报(社会科学版),2018,20(3):74-86.

[8] 何正源,段田田,張颖,等.物联网中区块链技术的应用与挑战[J].应用科学学报,2020,38(1):22-33.

[9] RUKAVITSYN A,BORISENKO K,SHOROV A. Self-learning method for DDoS detection model in cloud computing [C]//Young Researchers in Electrical & Electronic Engineering.IEEE,2017:544-547.

[10] 张桐.区块链技术与网络安全 [C]//数字中国 能源互联——2018电力行业信息化年会论文集.中国电机工程学会电力信息化专业委员会:人民邮电出版社电信科学编辑部,2018:312-314.

[11] 毕宇.基于区块链智能合约的PKI-CA体系设计 [J].金融科技时代,2018(7):44-46.

[12] 陈飞,毕小红,王晶晶,等.DDoS攻击防御技术发展综述 [J].网络与信息安全学报,2017,3(10):16-24.

[13] 陈旭.基于区块链技术的网络DDoS联合防御方法研究 [J].网络安全技术与应用,2017(11):29-30+39.

[14] 杨翊,彭扬,矫毅.基于区块链的DDoS防御云网络 [EB/OL].北京:中国科技论文在线.(2016-11-04).http://www. paper.edu.cn/releasepaper/content/201611-59.

[15] 以太坊网站.What is Ethereum. [EB/OL].[2020-02-06].https://ethereum.org.

作者简介:赵婵(1986.06-),女,汉族,新疆塔城人,在读硕士研究生,主要研究方向:网络空间安全;张瑞生(1962. 06-),男,汉族,甘肃天水人,教授,博士生导师,主要研究方向:高性能计算、服务计算技术等。

猜你喜欢

分布式区块链
居民分布式储能系统对电网削峰填谷效果分析
基于Paxos的分布式一致性算法的实现与优化
保险企业的区块链技术应用方向选择研究
区块链技术在金融领域的应用与前景研究
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
基于区块链技术的数字货币与传统货币辨析
用“区块链”助推中企走出去