aboutsummaryrefslogtreecommitdiffstats
path: root/.gitignore
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-03-25 23:45:53 +0800
committerFelix Lange <fjl@twurst.com>2015-04-01 23:00:12 +0800
commitde7af720d6bb10b93d716fb0c6cf3ee0e51dc71a (patch)
treeb4ece2cb300a989ec349ff30ea84e8906131fdaf /.gitignore
parent92928309b2f0e274a6103b21a650eb07e78f88ea (diff)
downloadgo-tangerine-de7af720d6bb10b93d716fb0c6cf3ee0e51dc71a.tar
go-tangerine-de7af720d6bb10b93d716fb0c6cf3ee0e51dc71a.tar.gz
go-tangerine-de7af720d6bb10b93d716fb0c6cf3ee0e51dc71a.tar.bz2
go-tangerine-de7af720d6bb10b93d716fb0c6cf3ee0e51dc71a.tar.lz
go-tangerine-de7af720d6bb10b93d716fb0c6cf3ee0e51dc71a.tar.xz
go-tangerine-de7af720d6bb10b93d716fb0c6cf3ee0e51dc71a.tar.zst
go-tangerine-de7af720d6bb10b93d716fb0c6cf3ee0e51dc71a.zip
p2p/discover: implement node bonding
This a fix for an attack vector where the discovery protocol could be used to amplify traffic in a DDOS attack. A malicious actor would send a findnode request with the IP address and UDP port of the target as the source address. The recipient of the findnode packet would then send a neighbors packet (which is 16x the size of findnode) to the victim. Our solution is to require a 'bond' with the sender of findnode. If no bond exists, the findnode packet is not processed. A bond between nodes α and β is created when α replies to a ping from β. This (initial) version of the bonding implementation might still be vulnerable against replay attacks during the expiration time window. We will add stricter source address validation later.
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions