You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Preface: At the time the attack was tested there wasn't any official announcements explicitly declaring that attacks were prohibited until the 15th.
It seems it was just implicitly assumed since the registrations were extended - but it was never fully explicitly communicated that the deadline for attacks had also been extended. So according to official announcements attacks still seemed to be good to go for the 9th, hence why I experimented with the attack.
FYI:
I was fully unaware that the deadline had implicitly been moved to the 15th, and
was unaware that testing my attack would negatively effect node/network measurements (sorry about that), and
that anti-flooding was disabled, and finally,
I wasn't actually intending to fully launch the attack yesterday (I just ran it briefly) - it was intended as a test (to get Ed25519 signing to work properly), but since @LucianMincu was curious about what was going on in the validator chat, I decided to reach out and explain that I was testing my tool.
With this stuff out of the way, the actual attack:
Tx spam/DDoS -> Node OOM-reaping
This is pretty much very similar to the previous OOM/spam attack I did back in last Battle of Nodes, basically:
Mass spam txs with huge payloads
Consensus eventually gets affected (I could temporarily stop consensus on Shard 0 & 1 yesterday while I fully tested the attack)
Nodes get OOM-reaped / go offline
I did write a new tool from scratch tho this time around (which leverages a separate Elrond Golang SDK I made) to perform the attack.
The plan for the tool wasn't to just simply repeat the old DDoS/OOM attack - but I'll leave the original attack idea for the 15th and onwards (now that there's an official - explicit - announcement about when attacks can start).
Download the latest p2p economics.toml file from ElrondNetwork/elrond-config and place it in configs/economics.toml: curl -o configs/economics.toml https://raw.githubusercontent.com/ElrondNetwork/elrond-config/master/economics.toml
I briefly ran the attack while testing it yesterday and also did a quick session earlier this morning (UTC).
Yesterday I could stop consensus on shard 0 & shard 1 while the attack was running (I stopped the last iteration of the attack after ~15 minutes or so - shards eventually recovered):
About 50 nodes or so also went offline because of the attack:
I also ran the attack for like ~20 minutes or so this morning to investigate memory usage, and during that time about ~40 nodes also went offline:
Do note that the network was running WITHOUT anti-flooding enabled when I experimented with the attack / tested my tool.
It could very well be that this attack vector is fully mitigated when anti-flooding is enabled again.
I'll sync with @LucianMincu to run additional testing & update this ticket with the results from running the attack with anti-flooding enabled.
The text was updated successfully, but these errors were encountered:
Preface: At the time the attack was tested there wasn't any official announcements explicitly declaring that attacks were prohibited until the 15th.
It seems it was just implicitly assumed since the registrations were extended - but it was never fully explicitly communicated that the deadline for attacks had also been extended. So according to official announcements attacks still seemed to be good to go for the 9th, hence why I experimented with the attack.
FYI:
With this stuff out of the way, the actual attack:
Tx spam/DDoS -> Node OOM-reaping
This is pretty much very similar to the previous OOM/spam attack I did back in last Battle of Nodes, basically:
I did write a new tool from scratch tho this time around (which leverages a separate Elrond Golang SDK I made) to perform the attack.
The plan for the tool wasn't to just simply repeat the old DDoS/OOM attack - but I'll leave the original attack idea for the 15th and onwards (now that there's an official - explicit - announcement about when attacks can start).
Code is available here:
Attack tool: https://github.com/SebastianJ/elrond-stress
SDK: https://github.com/SebastianJ/elrond-sdk
CLI: https://github.com/SebastianJ/elrond-cli
How to perform the attack:
Installation:
git clone https://github.com/SebastianJ/elrond-stress.git && cd elrond-stress
make clean && make all
mkdir -p keys data configs
.pem
certs inkeys/
data/receivers.txt
data/data.txt
- I used thiscurl -o configs/economics.toml https://raw.githubusercontent.com/ElrondNetwork/elrond-config/master/economics.toml
Usage:
Regular usage (using Elrond's API:s):
Custom usage (using local nodes):
Effectiveness:
I briefly ran the attack while testing it yesterday and also did a quick session earlier this morning (UTC).
Yesterday I could stop consensus on shard 0 & shard 1 while the attack was running (I stopped the last iteration of the attack after ~15 minutes or so - shards eventually recovered):
About 50 nodes or so also went offline because of the attack:
I also ran the attack for like ~20 minutes or so this morning to investigate memory usage, and during that time about ~40 nodes also went offline:
Do note that the network was running WITHOUT anti-flooding enabled when I experimented with the attack / tested my tool.
It could very well be that this attack vector is fully mitigated when anti-flooding is enabled again.
I'll sync with @LucianMincu to run additional testing & update this ticket with the results from running the attack with anti-flooding enabled.
The text was updated successfully, but these errors were encountered: