BitTorrent修复DDoS放大攻击漏洞

BitTorrent修复DDoS放大攻击漏洞

在上次《BitTorrent DDoS放大攻击》中提到,由于BT客户端所使用uTP协议没有校验从从peer1返回的包(下面虚线部分),进而被攻击者利用,形成DDoS放大式攻击,足以导致某些大型网站瘫痪。该漏洞存在于使用基于UDP的libuTP协议的大量客户端中,包括UTorrent、BitTorrent、BitTorrent Sync等。

BT没有校验返回报文

BT没有校验返回报文

BitTorrent补丁校验返回包

据称,BitTorrent公司(位于旧金山)已修复该漏洞,该漏洞存在于libuTP中。libuTP是uTP协议的一种实现形式,很多流行的BitTorren客户端(包括uTorrent、Vuze、Transmission和BitTorrent Mainline)都采用uTP协议。

两周前,伦敦城市大学Florian Adamsky领导的研究小组公开披露了该漏洞。为了修复该漏洞,BitTorrent公司对libuTP协议进行维护并修改数据库,对二次请求的ACK码进行有效验证。如果ACK码与第一个数据包中的ACK码不匹配,客户端将断掉连接。然后,这一改变由于BT的架构,并不能阻止DDoS攻击,只是可以消除放大攻击的影响。

BitTorrent公司的一位工程师在周四的博文中详细介绍了修复细节。他说,“(修复后)攻击者很难猜到ACK码以找到足够多的反射器”。 据其官方称,从8月4日起,BitTorrent公司开发的最新版本uTorrent、BitTorrent Mainline和BitTorrent Sync都已修复该问题。 “这一变化不会影响这些应用程序向后兼容旧版本或与使用libuTP的第三方BitTorrent客户端兼容”,一位工程师在电子邮件说道,“尽管如此,我们还是鼓励其他开发人员确保他们的应用能够正确执行ACK码排序”。

由此,BitTorrent公司设计的依赖libuTP的其他协议,比如消息流加密(MSE)协议,将同样受到保护。

uTP协议简介

Micro Transport Protocol 或者µTP协议由BitTorrent公司开发,是一个基于UDP协议的开放的BT点对点文件共享协议,旨在减轻延迟并且解决传统的基于TCP的BT协议所遇到的拥塞控制问题,提供可靠的有序的传送。当BT传送干扰到其他应用时,uTP协议的设计能够帮助自动减少数据包的传送速度。比如在同一电脑上,BT应用与浏览器共用ADSL连接,当uTP侦测到自己的流量过大时,它会主动减少自己的流量,以便保障浏览器的速度。

“许多BitTorrent产品使用libuTP的原因是,libuTP可以探测网络拥塞并能进行自我遏制。这种自我遏制的特性使BitTorrent、µTorrent、BitTorrent Sync更适用于家庭网络。”BitTorrent公司的技术博客解释,“然而,libuTP在处理返回连接时存在一个问题,使得很多客户端在不知不觉中变成反射放大器,成为DDoS放大攻击的帮凶。”

BT放大式攻击防护

对于普通用户,请尽快将您的BT客户端升级到最新版本,以便可以避免被利用,成为攻击者。如果出于某些原因,您还无法升级or安装补丁,那么建议考虑从如下方面进行防护: – 调整为TCP连接方式。对于bittorrent客户端,可以考虑改用原来的tcp方式,杜绝虚假源导致的放大攻击。 – 对uTP连接限速。防护设备对uTP报文的payload做识别, 然后针对uTP连接做限速等策略。

识别uTP报文

uTP前两个字节是有特征的,第1个字节代表版本号和类型,对于放大的报文,该字段为0x01;第2个字节 代表uTP的扩展字段,有3种取值:0x00、0x01、0x02,一般情况下该字段为0x00.

注:以上部分媒体信息引自网络。

发表评论