03-tor
3. 洋葱路由
洋葱路由是在1990年中期,由美国海军研究室发起的一个项目,最初目的是为了保障美国情报人员在网上的信息安全,后面交由美国国防高级研究计划局进行开发。
Tor是洋葱路由The Onion Router的缩写,它是一个由上千个中继器组成的开放网络,用于隐藏用户的地址和网络使用信息。其原理就是用户和最终目标之间通过一个个的中继器来传递消息,Tor会将数据和下一个中继器的地址进行加密,在通过中继节点的时候进行解密,这样一层层的好像剥洋葱一样,所以叫做洋葱网络。每个中继器只知道它的下一个节点,而不知道其上一个节点,这样就很好的隐藏了用户的信息。
Tor不是为了完全解决用户的匿名问题,而是为了解决目标网站反追踪用户信息的问题。
Onion services
Tor并不仅仅可以将用户信息匿名,还可以隐藏网站服务。当然这些服务不是用服务器IP地址来定位的,而是用Onion浏览器通过Onion地址来定位的。Tor网络通过地址的公钥和一个分布式的Hash表来进行路由的定位工作。
攻击目标
Tor主要提供匿名网络访问,那么对其攻击的目标就是让用户不再匿名,即弄清楚到底是哪个用户访问了什么资源。
通信分析攻击
有两种通信分析攻击方式:主动和被动。
被动通信分析攻击 在被动通信分析攻击里面,攻击者从一个交互流程的一端提取特征信息,然后在网络的出口端进行查找,从而进行匹配。
主动通信分析攻击 在主动通信分析攻击里面,攻击者可以通过特定的方式来修改在一个流程里面传输的数据包,然后在网络的出口端进行查找匹配,从而将入口和出口进行关联,让用户匿名失效。
Tor 出口节点屏蔽
由于Tor的特殊匿名性,有些互联网站点可能会将Tor的出口节点进行屏蔽,禁止他们访问其服务。这样就会对Tor的应用进行限制。
嗅探攻击
攻击者可以利用DDoS攻击正常节点,让正常节点无法对外提供服务,从而让用户的请求只能通过未受攻击的黑客节点。
坏苹果攻击
2011年3月的时候, 法国的一个研究团队列出了一种攻击,这种攻击主要针对于构建在Tor协议上的BitTorrent网络,这种攻击会暴露用户的IP地址。 这种获取IP地址的手段主要有三种方式:
通过分析BitTorrent的控制消息,会发现在追踪者的声明和外部协议握手阶段,有可能会带上客户端的IP地址。
中间人攻击
统计分析distributed hash tables (DHT),从而找到目标IP信息。
鼠标指纹
2016年3月,西班牙的一项研究表明可以利用JavaScript在毫秒级的鼠标移动轨迹,可以唯一定位同一个用户。这样,如果这个用户同时打开了Tor网站和一个普通网站,那么利用这项技术就有可能定位这两个访问网站的行为是同一用户,从而获得该用户的IP地址。
快速中继通信确认攻击
洋葱路由网络是由很多个路由节点组成,节点跟节点之间有可能会有网络延时问题,为了更加快速的构建节点网络,Tor引用了一个Relay early空间的概念。
通信确认攻击就是攻击者观察或者控制了一个Tor请求的出入节点,通过比较通信时间,流量或者其他特征向量来确认这两个节点在同一个Tor路径上,从而就能知道谁访问了谁。
在这种攻击中,攻击者控制了两种节点:HSDir(隐藏的服务节点),Guard(出入节点),当客户端请求HSDir时候,攻击者将请求服务和客户信息放到Relay early空间,当Guard节点接收到请求之后,回去查找Relay early空间,从而获得用户的信息和请求信息。
更多教程请参考 flydean的博客
最后更新于