Being the most successful and most popular cryptocurrency to date, bitcoin represents an attractive target for hackers and cybercriminals. Even though most attack vectors have been extensively analyzed, one essential attack vector has not been adequately tackled; attacking the cryptocurrency via means of the web’s routing infrastructure. Practically speaking, Autonomous Systems (ASes) can manipulate routing ads (BGP hijacks) and/or intercept network traffic which makes it possible to sniff and manipulate a great proportion of bitcoin’s network traffic.
A recently published paper presented the frameworks of routing attacks and how they can influence the bitcoin ecosystem, while considering small scale attacks, which often target individual nodes, as well as large scale attacks, which target the whole network. The paper proved that two key features render routing attacks practical to launch:
- The efficiency of the process of routing manipulation.
- The centralized nature of bitcoin’s mining (as miners arrange themselves in mining pools) and routing.
The authors of the paper found out that any adversary can hijack a small number of BGP prefixes, e.g. < 100,which would help him/her to isolate around 50% of bitcoin’s mining power, despite the fact that mining pools are massively multi-homed. They also proved that on-path network adversaries can markedly slow down the process of block propagation via interfering with a small number of bitcoin messages.
The researchers demonstrated the feasibility of launching such attacks against the implemented bitcoin software. They also managed to quantify the effectiveness of these attacks on the present bitcoin topology when data collected from a supernode is used in combination with BGP routing data.
The potential damage to bitcoin’s network by routing attacks is quite alarming. Via routing attacks, adversaries can lead to wastage of a significant proportion of the network’s mining power through isolation of large parts of the network and/or delay of the process of block propagation. This can lead to loss of revenue and opens the door for a myriad of exploits including double spending attacks. To practically prevent the occurrence of such effects, the authors of the paper provided both long and short term countermeasures.
Short term countermeasures:
- Increasing node connections’ diversity
- Taking routing into consideration when selecting bitcoin peers.
- Monitoring the round trip time (RTT)
- Monitoring additional statistics.
- Embracing churn. Nodes have to allow the natural churn of the network in order to refresh connections.
- Use gateways in various ASes.
Long term countermeasures:
- Encryption of bitcoin communication and/or adoption of MAC.
- Using data channels and distinct control.
- Using UDP heartbeats.
- Requesting a block via multiple connections.
The paper presented an analysis of bitcoin’s vulnerabilities when networking is considered. They showed that from a practical point of view, bitcoin is somehow centralized. The researchers showed that adversaries can partition the network via means of hijacking no more than 100 prefixes. They also proved that AS-level adversaries can markedly delay the process of block propagation while remaining undetected.
Image from Flickr