Tor and autonomous system

| 分类 Infosec  | 标签 Tor 

image

Tor 在自治域(As-level)上面的一些论文阅读和相关知识介绍

引言

近年来越来越多的顶会和文章在做Tor匿名网络相关的攻防工作,其中比较出名的就是Raptor[1]和 Counter Raptor[2] 这两篇文章所讨论的对象是(AS-level)自治域级别上的攻防。自治域上的Tor攻防最早是由[3]在2004年提出的。此后在AS-level上进行攻防研究的论文就很多,本篇就不一一列举了,读者可以翻看论文参考文献和相关工作。这些攻防内容的基本原理不变:

  1. AS-level上的攻击的基本原理是:无论采用主动或者被动手段,使得如果Tor选择的链路,用户到入口段和出口到目的地段都在同一个AS内,那么该AS就可以利用流量分析和简单的统计关联技术将用户和目的地关联起来。
  2. As-level上的防御基本原理是:既然用户选路在同一个AS内部存在风险,那么就进行As-aware的选路吧,使得用户选择的路径尽量通过不同的AS。

BGP协议的基本概念

BGP协议是运行在AS之间的路由协议,大多数互联网服务提供商(ISP)必须使用BGP来与其他ISP创建路由连接。BGP属于矢量路由协议,采用TCP协议,端口号为179。BGP路由器会周期地发送19字节的保持存活keep-alive消息来维护连接(默认周期为60秒)。在路由协议中,只有BGP使用TCP作为传输层协议。

Raptor


Raptor[1]和之前的AS-level的文章不同,之前AS-level的文章都是假设网络上的的路由都是对称的。这篇文章从asymmetric nature of Internet routingBGP Churn, BGP Hijack, BGP Interception四种新的方法讨论对Tor的攻击。Raptor攻击的基本思想是,首先利用之前论文的一些方法锁定用户的入口位置(AS号),然后再利用BGP interception或者hijack来进行流关联分析(对比用户到入口和出口到目标网站之间的流量,主要利用TCP ack和sequence number来进行关联对比),最终达到用户关联溯源目的。

非对称性路由

互联网路由的非对称性在该文章中表现在,1)Tor出口节点到网站的所经过的路由可能和网站到出口节点所经过的路由不同。2)用户到入口节点所经过的路由和从入口节点返回Tor用户所经过的路由不同。

Natural Churn

引起Natural Churn的原因是网络底层链路变化,例如,链路失效,增加减少新的路由设备,ISP直接的新合作等等。这些变化可以给恶意AS提供溯源优势,因为可能链路变化后AS之间的传输路径就恰好通过了恶意AS。

作者在文章中是利用某一时期的BGP update数据,以及同一时期的Tor链路数据,进行仿真计算出来链路的变化。

BGP Hijack 和BGP Interception

BGP Hijack可以参考[4]。这里简单总结一下,BGP劫持的基本原理是,BGP协议会选择两种路径作为AS通信的下一跳,第一种是路径最短的,如果路径相同那么就选择一条前缀更具体的链路。 BGP 劫持后,Tor用户会感受到断路,因为Tor用户最后去向的入口节点的数据包会被丢弃。但是BGP劫持攻击已经可以缩小和暴露用户的IP地址集合,从而破坏了匿名性。

BGP Interception本质上类似于中间人攻击,让攻击者能够成为Tor用户到Tor入口节点之间的AS,换句话说就是BGP interception会将traffic重新发送给入口节点,而不会将traffic丢弃,这样攻击方式更隐蔽,因为Tor用户不会体会到断路现象。 BGP Interception 和 BGP攻击原理类似,不同就是恶意AS声明的也是前缀同样具体的自治域。BGP Hijack, BGP Interception还有一点不同就是,BGP Hijack发出的错误路由信息会影响整个网络,从而导致恶意AS不能将traffic重新传送到消息原来发出的地方。值得注意的是,即便声明和自治域相同的前缀也不一定能够部分或者全部截取流量到恶意自治域,这里面考虑的因素包括IGP metrics以及运营商自定义的优先处理规则等,可以参考下图和参考文献[6]。

image image

在[5]中作者比较了BGP Hijack 和BGP Interception成功概率的大小。

image

上图表现了由于ASes之间的相互关系(Costomer-to-provider, peer, Provider-to-comstomer)在不同层级AS上BGP Hijack 和BGP Interception成功概率。如图所示,最高T1级AS成功概率最大,因为这一级的AS只有peer, Provider-to-comstomer之间的通信关系。文章重要结论之一是:Invalid routes advertised by ASes lower down in the hierarchy wouldn’t have as significant an impact.

Counter Raptor

Counter Raptor的基本思想是,文章提出一个算法来对AS抗攻击属性进行量化,然后利用这个指标来辅佐原来的Tor选路算法进行选路,从而降低链路被BGP hijack或intercetption的概率。具体如何计算的,参考[2]。

Interception检测

检测方法包括检测routing advertisements的错误,判断hop count changes等都不能实时检测Interception。还有其他大多数的方案都是基于前缀劫持的以下两个重要特征来研究相关检测技术[7]:

  1. MOAS 冲突:即一个 prefix 匹配多个 origin AS 的行为。这是前缀劫持之于路由控制平面最重要的一个特征
  2. IP 地址冲突: 在数据平面层次上,前缀劫持直接导致了一个目的 IP 地址(被劫持的前缀)存在多个不同 的路由目的地的问题.也就是说:假设 16.1.0.0/16 为 AS 1 所有,但被 AS 2 劫持,则目的地址为 16.1.0.0/ 16 的数据包可能分别从 AS 1 和 AS 2 返回.或者,源地址为 16.1.0.0/16 的数据包可能有去无回(返回 数据包被路由到 AS 2).
内部网关协议OSPF和RIP

OSPF协议同时使用单播(Unicast)和组播(Multicast)来发送Hello包和链路状态更新(Link State Updates),使用的组播地址为224.0.0.5和224.0.0.6。与RIP和BGP不同的是,OSPF协议不使用TCP或者UDP协议而是承载在IP协议之上,IP协议号为89,工作在OSI模型的传输层。OSPF协议将不同路由划分为不同区域,相同区域内的所有路由器都维护一份相同的链路状态数据库(LSDB),如果一台路由器属于多个区域,那么它将为每一个区域维护一份LSDB。

RIP是距离向量算法,在实际使用中已经较少适用。RIP使用UDP端口号为520。

这里总结内部网关协议的目的,是为了探索内部选路的是否可以对Tor造成一定影响,不过目前来看好像影响不大,除非用户选路都在同一个AS中的情况或许还有可能进行追踪。


参考(Refs)

[1] Sun Y, Edmundson A, Vanbever L, et al. RAPTOR: Routing Attacks on Privacy in Tor[C]//USENIX Security. 2015: 271-286.

[2] Sun Y, Edmundson A, Feamster N, et al. Counter-RAPTOR: Safeguarding Tor Against Active Routing Attacks[J]. arXiv preprint arXiv:1704.00843, 2017 S&P accepted.

[3] Feamster N, Dingledine R. Location diversity in anonymity networks[C]//Proceedings of the 2004 ACM workshop on Privacy in the electronic society. ACM, 2004: 66-76.

[4] http://www.freebuf.com/articles/network/75305.html

[5] Ballani H, Francis P, Zhang X. A study of prefix hijacking and interception in the Internet[C]//ACM SIGCOMM Computer Communication Review. ACM, 2007, 37(4): 265-276.

[6] http://www.h3c.com.cn/MiniSite/Technology_Circle/Net_Reptile/The_Tthree/Home/Catalog/201010/696835_97665_0.htm

[7]黎松, 诸葛建伟, 李星. BGP 安全研究[J]. 软件学报, 2013, 24(1).

Posted by 灵犀一点00 - 2017-05-03
如需转载,请注明: 本文来自 Jasonzhuo's Blog