Attacks on Bitcoin just keep coming: ETH Zurich boffins have worked with Aviv Zohar of The Hebrew University in Israel to show off how to attack the crypto-currency via the Internet's routing infrastructure.
That's problematic for Bitcoin's developers, because they don't control the attack vector, the venerable Border Gateway Protocol (BGP) that defines how packets are routed around the Internet.
BGP's problems are well-known: conceived in a simpler era, it's designed to trust the information it receives. If a careless or malicious admin in a carrier or ISP network sends incorrect BGP route information to the Internet, they can black-hole significant chunks of 'net traffic.
In this paper at arXiv, explained at this ETH Website, Zohar and his collaborators from ETH, Maria Apostolaki and Laurent Vanbever, show off two ways BGP can attack Bitcoin: a partition attack, and a delay attack.
The upside of both of these attacks is that they need an insider, because they happen at the ISP level.
They are, however, serious attacks.
In the partition attack, if an ISP is the only route between significant chunks of the Bitcoin network, a blackhole would stop the two sides communicating with each other.
Since the two “islands” will keep going – processing transactions, and mining new Bitcoin. When the “evil ISP” connects the islands together again, they have no option but to discard mined Bitcoins, transactions, and mining revenue.
The delay attack is nastier, in a way, because unlike the partitioning attack, the researchers say it's undetectable.
Here's how it works:
- Step 0: Nodes A and B advertise the same block to the victim, node C.
- Step 1: Node C requests the block via a GETDATA from node A. The attacker changes the content of the GETDATA such that it triggers the delivery of an older block from node A.
- Step 2: The older block is delivered.
- Step 3: Shortly before 20 minutes after the original block request made by node C, the attacker triggers its delivery by modifying another GETDATA message originated by C.
- Step 4: The block is delivered just before the 20 minutes timeout. The victim does not disconnect from node A.
The delay attack impacts merchants by making them susceptible to double-spending attacks; miners waste their processing power; and ordinary nodes can't propagate the latest version of the blockchain.
How did we get to this point?
Part of the problem is that Bitcoin's nodes have tended to gather together at relatively few ISPs: thirteen in all host about 30 percent of the whole Bitcoin network; and 60 percent of Bitcoin traffic is visible to just three ISPs.
The researchers say BGP hijacking (which is usually but not always inadvertent) already affects as many as 100 Bitcoin nodes a month. November 2015 saw a peak in this: around 8 percent of the whole Bitcoin network (447 nodes) suffered a traffic hijack in that month.
The work is to be presented at the IEEE Symposium on Security and Privacy 2017 in May, in San Jose. The trio also say they'll release code on GitHub offering a prototype of the delay attack. ®