Tor暗网的拒绝服务攻击

作者:{SJW}@ArkTeam

原文作者:Alex Biryukov, Ivan Pustogarov, Ralf-Philipp Weinmann

原文标题:Trawling for Tor Hidden Services: Detection, Measurement, Deanonymization

原文会议:2013 IEEE Symposium on Security and Privacy

原文链接:http://www.ieee-security.org/TC/SP2013/papers/4977a080.pdf

众所周知,Tor(The Onion Router,洋葱路由)提供客户端的p2p匿名通信,可以让用户实现匿名上网,隐藏用户隐私信息,避免追踪溯源。其实 Tor同样也可以提供服务器端的匿名,这就是暗网中的顶级域名为onion的网站。这些网站只能通过Tor网络才可以访问,相信很多用户是被这些网站下的一些服务所吸引而使用的 Tor暗网服务。

卢森堡大学的研究人员根据Tor的电路通信框架,设计并实现了对Tor暗网服务的拒绝服务攻击。下面先介绍Tor暗网服务的访问流程:


图1 Tor暗网访问流程

  1. 暗网服务启动,生成RSA密钥对,使用RSA公钥的ASN.1的编码版本的SHA-1值的前十个比特作为这个服务的地址。然后选择3个接入节点(IP1,IP2,IP3)并和每个节点建立电路连接。
  2. 暗网服务生成两个不同ID的标识符,同时将两个标识符和它的三个接入节点发送给隐藏服务的目录服务器(HSDir)。
  3. 用户想去访问暗网服务,先要去目录服务器获取暗网的接入节点。
  4. 用户也要寻找一个集合节点,为之后的连接提供中间节点。
  5. 用户将集合节点RP通过接入节点IP发送给暗网服务,告诉暗网服务器集合节点已经建立,请求连接。
  6. 暗网服务的接入节点IP将集合节点RP信息转发给暗网服务器。
  7. 暗网服务器建立匿名线路,去连接RP节点。

Tor暗网的访问需要依赖目录服务器(HSDir)为其提供类似DNS的寻址功能,卢森堡大学的研究人员通过控制目录服务器(HSDir),让想要访问暗网服务的用户接收不到暗网的三个接入节点信息,以至于实现拒绝攻击。

每个Tor节点都有自己的标识符,这个标识符由它生成RSA对的公钥的SHA-1值来表示,这个值也称为节点的指纹。整个Tor节点的指纹构成一个环状列表,如果在这些节点中带有HSDir标签,就可以变成目录服务器,用于给用户提供地址解析服务。暗网服务的标识符会存储在这些目录服务器中,每个节点的标识符会每25个小时重新计算生成一个新的,并重新发送给目录服务器进行更新。暗网服务的标识符计算完之后,暗网服务会根据自己的指纹,寻找后续链上最近的三个目录服务器,将标识符发送给这三个服务器。


图2 Tor节点指纹更新

研究人员根据Tor指纹链的算法,提出了一种攻击者抢占目录服务器的方法。由于指纹链不是连续的,会有大量的间隔存在,所以攻击者可以通过大量计算指纹,来将自己控制的的目录服务器插入到指纹链中,同时将位置插入到距离暗网服务指纹更接近的地方,这样暗网服务就会选择攻击者的目录服务器上传自己的标识符。


图3 抢占Tor暗网目录服务器

攻击者可以借助多个相近的目录服务器完全占有暗网服务器的目录服务,导致用户去访问该暗网时,所有请求的流量都会经过攻击者的目录服务器。研究人员通过上述方法抢占了三个暗网服务的目录服务器,并统计了三个暗网服务的访问流量。


图4 Tor暗网服务流量

发表评论

电子邮件地址不会被公开。 必填项已用*标注