浅谈几种区块链 络攻击以及防御方案之拒绝服务攻击

旧博文,搬到 csdn
原文:http://rebootcat.com/2020/04/14/network_attack_of_blockchain_ddos_attack/

写在前面的话

自比特币诞生到现在,比特币( 络)经历过大大小小非常多次的攻击,尤其在比特币诞生之初的几年,并且随着比特币价格的一路飙涨,黑客针对比特币 络的攻击就一直没有停止过。据估算,目前大约有 350 ~ 400 万比特币永久丢失,价值大约 240 ~ 280 亿美元。当然其中不只有由于黑客的攻击导致的丢失,毕竟比特币最初的几年很多人都没有意识到比特币的价值,很多的私钥都遗失了。

同系列:

  • 浅谈几种区块链 络攻击以及防御方案之51%攻击
  • 浅谈几种区块链 络攻击以及防御方案之日蚀攻击
  • 浅谈几种区块链 络攻击以及防御方案之女巫攻击
  • 浅谈几种区块链 络攻击以及防御方案之拒绝服务攻击
  • 浅谈几种区块链 络攻击以及防御方案之其它 络攻击

拒绝服务攻击(Denial of Service Attack)

分布式拒绝服务攻击(Distributed Denial of Service Attack)

概念

信息安全的三要素——“保密性”、“完整性”和“可用性”中,拒绝服务攻击,针对的目标正是“可用性”。该攻击方式利用目标系统 络服务功能缺陷或者直接消耗其系统资源,使得该目标系统无法提供正常的服务。

拒绝服务攻击(DoS) 问题一直得不到合理的解决,目前还是世界性难题,究其原因是因为这是由于 络协议本身的安全缺陷造成的,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。

而分布式拒绝服务攻击 (DDoS) 是指攻击者采用分布式攻击手法施行 DoS 攻击,通常是控制了多台机器向目标主机或者路由器发起 DoS 攻击。

针对区块链来说,攻击者通过 DDoS 攻击试图减慢 络速度,或者迫使 络停止运作。也可用于针对矿池,使矿池脱机,或者针对特定的目标主机,使其从 络离线。

详情可以查看 GitHub 的官方声明: February 28th DDoS Incident Report

此次的 DDoS 攻击是属于中心化世界里面的一次较为著名的攻击,而且类似于这样的攻击每天都在发生。

大家可以看一下这个 站,来自卡巴斯基实验室的数据(多观看几分钟能看到 3D 攻击画面,还是挺震撼的): 络威胁实时地图

2016 年以太坊 DDoS 攻击

2016 年以太坊发生过一次严重的 DDoS 攻击,此次攻击也被称为 “EXTCODESIZE” 攻击。

攻击者让矿工和节点需要花费很长的时间 (20 ~ 60 秒) 来处理一些区块。造成这次攻击的原因是一个 EXTCODESIZE 的操作码,它具有相当低的 gas 价格,需要节点从磁盘读取状态信息。攻击交易调用此操作码的频率大约是 50000 次每区块。这样的后果就是, 络大大放缓了,但没有共识故障或是内存超载发生。

因为此次攻击事件,很多媒体都宣告了以太坊的末日。可见在区块链世界里,DDoS 攻击的后果是比较严重的。

以太坊 Fomo3D,黑客拿走 2200 万

Fomo3D 是以太坊上一个比较火爆的 Dapp,是一个类似于资金盘的游戏。此次攻击过程还是挺有趣的,各位可以往下看。

首先,介绍一下 Fomo3D 这个游戏的规则:

规则1: 每个人参与游戏需要购买一个 Key

规则2: 在一轮游戏中,谁是最后一个购买 Key 的人,则可以拿走奖池中的大奖

规则3: 只要有人购买一个 Key, 游戏倒计时就会增加 30 秒

规则4: 游戏启动从 24 小时倒计时

规则里面最吸引人的一条是,只要你是最后一个购买的人,你就是最终的大奖得主,是不是很有 Du博 的感觉/p>

浅谈几种区块链 络攻击以及防御方案之拒绝服务攻击

所以看到规则后,你会怎么做/p>

正常人一般都是在倒数的最后几分钟或者几秒钟去购买 Key,这样的话自己也许是倒计时结束后最后一个购买的人。但是这个想法是大多数人的想法,我们毕竟只是普通玩家。

那么稍微高级一点的玩家呢,比如程序员,可能会写个脚本,自动化的方式来购买 Key,速度是不是比手工快多了。

那么来看看黑客玩家是怎么做的/p>

但是说起来容易,实际做起来还是不太容易操作的。因为你要能确保你购买成功后的 DDos 攻击能让后续的交易都失败,不然弄巧成拙,帮助了某个漏 之鱼,别人恰好因为你的攻击成为了最后一个购买的人。

了解以太坊的人应该听说过 gas 机制,可以理解为一个交易的手续费,而矿工通常会优先打包 gas 费用较高的交易,那么这位黑客利用自己的智能合约创建了大量的交易,并且具有高额的 gas 费用,几乎垄断了以太坊 络的所有算力,这样就造成了以太坊拥堵了接近 3 分钟,进而使其他的玩家无法打包购买 Key 的交易,从而成为大奖得主。

该黑客此前还尝试过多次这样的攻击,直至最后一次才成功。

是不是还是很有趣的块链公链本身具有比较致命的缺陷就是 tps 很低,单位时间处理的交易有限。后续的交易只能在排队,尤其是在 络被攻击拖慢的情况下,交易成功的时间会大大拉长。

DDoS 防御方案

高防服务器

高防服务器就是指能独立硬防御 50Gbps 以上的服务器,本身就能抑制一定的 DDoS 攻击。这个没什么好说的,买就是了,只是比较贵。

CDN 加速

CDN 本身就就有大带宽,多节点的优势,并且隐藏了真实的 站 IP。通过把流量分配到多地多节点降低攻击负载,防止源站崩溃。

配置防火墙

防火墙能防御 DDoS 和其他的一些攻击。防火墙有软件防火墙和硬件防火墙之分。必要可以两者结合。

攻击检测和溯源

通过分析攻击的方法和手段,追踪攻击的路由,检测出恶意的 IP 和路由,做好相应的屏蔽,保护主机。

黑名单机制

通过建立黑名单机制,限制黑名单的访问。

写在最后

DDoS 攻击每天都在发生,对于区块链系统来说,由于接入的节点性能参差不齐以及无许可的特征,想要利用中心化的防御机制去做好 DDoS 防御可能还是有难度。况且由于区块链本身的弊端,性能瓶颈,更容易被攻击者利用。

BlockChain中DDos攻击的深入剖析

DDOS攻击疯狂危害大 谈谈如何防御攻击

Blog:

  • rebootcat.com

  • email: linuxcode2niki@gmail.com

2020-04-14 于杭州
By 史矛革

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年8月1日
下一篇 2020年8月1日

相关推荐