In their publication at IEEE Symposium on Security and Privacy, Aviv Zohar, Laurent Vanbever and Maria Apostolaki study the feasibility and impact that internet routing attacks and malicious Internet Service Providers (ISP) can have on the Bitcoin network.
Detecting attacks via the internet infrastructure using routing attacks is challenging. as it requires inferring the exact forwarding paths taken by network traffic using measurements or routing data, both of which can be forged. Even mitigating network attacks after detection is also hard as it is essentially a human-driven process consisting of filtering, routing around or disconnecting the attacker. In 2008, it took Youtube close to 3 hours to locate and resolve rogue BGP announcements targeting its infrastructure.
Hijacking Primary Targets And Solutions
Being the most successful cryptocurrency also makes Bitcoin a primary target for attackers. It's important to appreciate that while the bitcoin network is secure, what secure means is ever evolving and to remain secure, the network must evolve and be able to pre-empt new attack vectors.
The publication argues that by manipulating routing advertisements (BGP hijacks) or by naturally intercepting traffic, Autonomous Systems (ASes) can intercept and manipulate a large fraction of Bitcoin traffic. The practicality of these attacks is also explored.
Centralization Of Routing And Mining
Routing attacks on the bitcoin network are often dismissed as too challenging to be practical since the network is decentralized with no single point of failure. This may have been true several years ago. However, with the advent of ASIC mining, a high volume of the network is located in few ASes hosting most of the nodes and mining power.
Most of the Bitcoin nodes are hosted in few Internet Service providers (ISPs), 13 ISPs host 30% of the entire bitcoin network. Most of the traffic exchanged between Bitcoin nodes traverse few ISPs, 3 ISPs can see 60% of all Bitcoin traffic. These two characteristics make it relatively easy for a malicious ISP to intercept a lot of Bitcoin traffic.
There are two general attacks that AS-level attackers can perform,
The goal of a partition attack is to completely disconnect a set of nodes from the network. This requires the attacker to divert and cut all the connections between the set of nodes and the rest of the network.
An attacker can use routing attacks to partition the network into two (or more) disjoint components. By preventing nodes within a component to communicate with nodes outside of it, the attacker forces the creation of parallel blockchains. After the attack stops, all blocks mined within the smaller component will be discarded together with all included transactions and the miners revenue.
The goal of a delay attack is to slow down the propagation of blocks towards or from a given set of nodes. Unlike partition attacks, which require a perfect cut, delay attacks are effective even when a subset of the connections are intercepted. Delay attacks are harder to detect as they are performed on naturally intercepted connections.
An attacker can use routing attacks to delay the delivery of a block to a victim node by 20 minutes while staying completely undetected. During this period the victim is unaware of the most recently mined block and the corresponding transactions. The impact of this attack varies depending on the victim. If the victim is a merchant, it is susceptible to double spending attacks. If it is a miner, the attack wastes its computational power. Finally, if the victim is a regular node, it is unable to contribute to the network by propagating the last version of the blockchain.
The potential damage to Bitcoin is worrying. Among others, these attacks could reduce miner's revenue and render the network much more susceptible to double spending. Such attacks could also prevent merchants and exchanges from performing transactions.
The high centralization of Bitcoin(from a mining and routing perspective), lack of authentication and integrity checks, and some design choices pertaining, for instance, to how a node requests a block make these attacks practical and potentially highly disruptive to the network.
First, peer selections could be made routing-aware. Bitcoin nodes could, for example, aim at maximizing the diversity of the internet paths seen by their connections to minimize the risk that an attacker can intercept all of them. Moreover, nodes could monitor the behavior of their connections to detect events like abrupt disconnections from multiple peers or unusual delays in block delivery. Finally, solutions like end-to-end encryption would also help (especially against delay attacks). Yet, encryption alone would not be sufficient to protect against partitioning attacks as an attacker can still drop encrypted Bitcoin connections.
The purpose of the research is to raise the awareness of the Bitcoin community on the need to prevent routing attacks from disrupting the cryptocurrency. The team behind the publication is currently in the process of implementing some of the countermeasures highlighted above.