BitTorrent published a couple of blog posts on Thursday to detail the steps taken to prevent its products from being abused for distributed reflective denial-of-service (DRDoS) attacks.
Earlier this month at the USENIX conference, researchers revealed the existence of vulnerabilities in the BitTorrent peer-to-peer (P2P) file sharing protocol. Experts demonstrated the the flaws could be exploited by malicious actors to reflect and amplify traffic.
During their experiments, researchers managed to obtain an amplification factor of 50 for BitTorrent clients and an amplification factor of 120 for BTSync.
Fortunately, no such attacks have been spotted in the wild and since the researchers reported their findings to BitTorrent before disclosing the vulnerabilities, steps have been taken to prevent abuse.
The vulnerabilities affect BitTorrent products that use the UDP protocol, which allows the source address to be spoofed. An attacker can send small packets to amplifiers, which send larger packets to the victim.
BitTorrent, uTorrent and BitTorrent Sync use libµTP, an open source implementation of the Micro Transport Protocol (µTP), as the transport backend. According to BitTorrent’s Francisco De La Cruz, libuTP is used in many BitTorrent products because it’s capable of detecting network congestion and automatically throttle itself, which makes these products more efficient on home networks.
However, a weakness in how libuTP handles incoming connections leaves clients vulnerable to abuse. µTP uses acknowledgement numbers when a connection is established. Attacks are possible because libuTP allows the reflector to accept any acknowledgement number without checking its validity.
BitTorrent has addressed the issue with the release of uTorrent 3.4.4 40911, BitTorrent 7.9.5 40912 and BitTorrent Sync 2.1.3. As of August 4, these applications still allow an attacker to initiate a connection to the reflector, but the attack packets will not reach the victim unless the acknowledgement number is valid.
“It would be fairly difficult for an attacker to guess the acknowledgement number for a sufficiently large number of targets. This means that any packets falling outside of an allowed window will be dropped by a reflector and will never make it to a victim,” Christian Averill, VP of Communications and Brand at BitTorrent, Inc., wrote in a blog post.
BitTorrent says the same mitigation also works for other protocols that use libuTP, such as the Message Stream Encryption (MSE) which is also referenced in the research paper presented at USENIX.
BitTorrent has pointed out that even before updates were released, it was difficult for attackers to exploit the vulnerability via Sync.
“First, the attacker would have to know the Sync user they are trying to exploit to get their ‘Secret’ – or the Sync user would have to have exposed that ‘Secret’ publicly in some way. In addition, Sync, by design, limits the amount of peers in a share making the attack surface much smaller. It would not serve as an effective source to mount large scale attacks,” BitTorrent told SecurityWeek.