HS——暗网服务器
Jonas——攻击者/*呵,自己的实验用自己的名字命名有什么不对*/
RP——随机通信点/*第0篇文章有提到*/
第零篇文章讲到了我亲自试验过的HS定位法,本打算第一篇讲讲我没试过的方法,主要就是翻译文献,那既然这样,倒不如先讲第二篇,如何保护自己的HS。/*听上去挺诱人?*/
由于洋葱路由的特性使得要攻击HS总比保护HS要容易,但是如果你对HS进行过特殊的处理/*本文主要内容*/,那么可以减少被攻击的风险,或者,减缓攻击。
为了节省时间,所有的TOR客户端(包括HS)会离线地生成一条环路(链)来供客户端随机选择一条确切的三路跳转访问网络。同样,我们的HS也总会有一条路线到达RP以供人们所使用。
这样就美了Jonas。可以通过运作一个中间人攻击节点/*我指:一个不允许流量出去的节点*/这样的话,不仅仅减少了运作一个真正的TOR节点的开销/*不需要大的带宽*/,而且还能保证这个我们自己搭的中间人节点实在HS和RP之间的一点,这样的话我们的节点就会总是被列为“入口”或“中继”节点/*因为我们不允许这个节点有对“ClearNet”的流量,听上去是不是很坏:)*/这样的话为Jonas极大地提供了攻击的效率,速度大大滴提高了。
在匿名通信中,虚假的流量(Dummy Traffic)/*AKA 流量混淆*/用来对付对于流量分析来说总是一个好的方法/*不知道你们还能否想起MEEK插件的原理,对了,就是把TOR流量混迹于云计算流量中来混过一些网络防线——G.F.W之类的*/
然而,混淆流量的代价很大,并且,除了(主要学术上的)研究之外,混淆的流量被证明可以防御几乎所有的【低延迟网络系统】/*Tor是其中之一*/的攻击,当然,系统可能会为了回应一个没有发送信息的客户端而停掉大部分的网络。/*这句话是从文献中摘的,原文如下unless the system will also bring most or all of the network to a stop in response to one non-sending client*/
这也许是最简单,并且能一定程度上提高HS安全性的办法了,可以杜绝流量分析/*但是对简单的时序攻击还是并没有什么太大作用*/
就像这张图片所演示的
如果我同时拥有两个节点(图片中为NODE 1和RP),那么我可以把自己的客户端做为节点中的一个/*图片中既作为NODE1又作为RP*/如果另一个节点(NODE 3)是由HS或NODE2所决定的,那么我可以很自信地确认这一点,因为两个节点都是直接连着Node3的。
一个简单的防范方法就是让HS到RP之间再多跳一步
可以通过修改HS的源代码的形式来达到这一点/*貌似忘了搭建HS的教程,看这里!*/无论是在RP之前加节点还是让HS自己来选择RP都可以一定程度上增加整个网络的安全性。
/*文章写到这里,我感觉好像有些乱*/
这种属于比较土豪的方法。图示如下:
使用自定义的,确定是安全的/*比如自己的拥有的*/节点层来作为出口。如果在之前,Jonas可以通过自己搭建Node的方式来找到HS的位置,目前而言,Jonas若要确认Layer1他必须先搞定与之有关联的Layer2的其中一台。
使用层的办法需要对TOR的源代码有较大的改动/*懂代码的人可能觉得还相对轻松一点*/
我这个实验展示了TOR的HS并不是完全地隐藏的,要进行类似的攻击,我只需要拥有一个在TOR网络中的节点,然后HS就被找到了。
实验中,如果HS是作为客户端的话只需要花几分钟/*当然事先的知识基础和准备工作可不仅仅是几分钟*/。另一个团队(L. Øverlier and P. Syverson)针对“作为TOR网络一部分的HS”进行攻击时花了几个小时(a couple of hours)
网络不是绝对安全的(包括TOR)。