1. 威客安全首页
  2. 安全资讯

关于近期多个Tor漏洞的分析解读

Aodzip@海特实验室

近期,Dr. Neal Krawetz在博客上(https://www.hackerfactor.com)发布了多篇关于Tor操作系统识别和连接阻断问题的博文。

Dr. Neal Krawetz在两篇博文中提到的若干安全问题可以总结如下:

  1. FireFox TorBrowser会被JavaScript探测到操作系统的类别

  2. Tor连接所使用的TLS证书易被网络审查设备所识别进而阻断

  3. Tor连接所使用的obfs4混淆算法易被网络审查设备所识别进而阻断

  4. Tor连接所使用的meek方式易被网络审查设备所识别进而阻断

FireFox TorBrowser会被JavaScript探测到操作系统的类别

在该安全问题中,作者将其描述为:”不同的操作系统具有不同的浏览器滚动条宽度,攻击者可以构造一个包含JavaScript的页面来诱骗用户访问,从而获取浏览器滚动条的宽度,进一步来判断浏览当前页面的操作系统类型。”。

在原文中,作者提到很多人对此不以为然,但是作者举证HackerOne平台接收了此漏洞并奖励了他100美金作为对重要性的支撑依据。并且提出,Tor组织只是将此问题提交给了上有的Firefox之后,便将此问题标记为已修复。但是经作者测试,此问题在最新的TorBrowser中仍存在。

Tor连接所使用的TLS证书易被网络审查设备所识别进而阻断

一个典型的TLS连接会以如下的方式进行

  1. 客户端进行一个典型的TCP三次握手请求

  2. 服务端发送一个SYN-ACK

  3. 客户端发送ACK来完成这个三次握手请求

  4. 客户端发送TLS Client-Hello请求,这是客户端所发出的第一个包含有效数据的封包

  5. 服务端相应一个TLS Server-Hello并且包含了由服务端第一次启动的是和生成的随机证书

这个服务器的证书小到可以在一个封包内发送完毕,而且总会有如下的格式

  • 自签名。一般来说TLS证书会有一个信任链,而Tor总是只包含一个证书

  • 特定的顺序。Tor总会以一个特定的顺序发送证书内容

  • 只有一个签发者。只包含一个通用名称字段,该字段总是以”www.”开头,以”.com”结尾,中间填充了8~20个字节的随机字母。并且较之正常的TLS证书,Tor的证书C、ST、O字段总是空的。

  • 只有一个主题。只包含一个通用名称字段,该字段总是以”www.”开头,以”.net”结尾,中间填充了8~20个字节的随机字母。并且较之正常的TLS证书,Tor的证书C、ST、O字段总是空的。

基于以上的信息,作者提出了一个识别Tor网桥节点的指纹模型

{{[2],#,{1.2.840.113549.1.1.#,NULL},{{{2.5.4.3,"www.X.com"}}},{"#Z","#Z"},{{{2.5.4.3,"www.X.net"}}},{{1.2.840.113549.1.1.1,NULL},D}},{1.2.840.113549.1.1.#,NULL},D}

其中

  • “X” 是一个符合Base32编码规则的8~20个字节长度的字符串

  • “D” 是可变数据

  • “#” 是一个或多个数字

  • 其他的字符必须保证相同的顺序

作者在文中指出,在2017年的测试中,这个指纹保持了100%的精准度,没有误报或者漏报的情况。

Tor连接所使用的obfs4混淆算法易被网络审查设备所识别进而阻断

作者把这个安全问题命名为Buring Bridge,意指“燃烧断桥”。该名字形象的阐述了这是一个用于阻断Tor用户与Tor网桥进行连接的方式。

Tor使用obfs4作为标准化的网桥混合协议,这意味着任何人一旦找到了如何识别和阻止obfs4协议的方法,就可以让用户几乎不可能连接到Tor网桥,作者认为,Tor将所有的鸡蛋都放在了一个篮子里。

作者提出了如下的方式来识别obfs4连接

  • 未知的协议: obfs4是一种木马协议(这里的木马引申为伪装含义),它经常运行于TCP 22或者TCP 443端口上,尽管它根本不运行与之相关的协议。比如说,如果一个运行在443端口上的服务,它缺少了一些运行HTTPS的必要头部,那就可以认为这是一个木马协议因为它根本就没有运行HTTPS协议。还有部分obfs4服务器并不使用标准端口,那么直接认为它可能是一个obfs4服务器并进行下一步的检查。

  • TCP PSH: PSH是TCP连接中的一个标志位,它代表”暂停”的含义,当接收方收到检测到此类标志,它将会立刻将buffer传递给应用程序而不管是否达到TCP开始传输时所约定的长度。一般来讲,正常的网络服务不会出现大量的PSH标志位,因为这不符合一般的业务逻辑。但是在obfs4-proxy中,每次客户端向服务器传输的最后一个包必定包含PSH标志。可以通过这个方式来排除上一步中非obfs4的协议。

  • 半双工连接: TCP本质上是一种全双工协议,绝大多数服务都会利用这一特性,而obfs4在握手和洋葱路由初始化过程中,TCP工作在一种半双工的模式下,在上面提到的PSH标志位被置位之前,数据只会沿着一个方向传输。作者指出,满足上述三个特征的流量,就已经排除了绝大部分的TCP业务流量,剩下的只可能是obfs4

  • 数据传输的长度: 当obfs4第一次开始连接的时候,它只会交换特定长度范围的数据。作者称Fortinet的工作人员对此做过测试,第一个报文的长度必然在141~8192字节,第二个响应报文必然在109~8160字节之间,而后的所有数据报文必然在21~8192字节的范围。

  • 并发连接: 作者指出,依据上述的方式一定可以排除掉正常的业务,但是仍存在10%的漏报率,如果想快速的识别出被漏报的obfs4连接,可以利用Tor的并发连接特性,也就是会同时连接多个网桥,当识别出某个客户端正在连接Tor网桥,则立刻对该客户端包含了PSH标记的所有TCP连接进行检查,如果发现其内容看起来全部都像随机内容的话,那么可以认为这个TCP连接也是一个obfs4连接,从而减少漏报率。

“Tor项目过多的注重其加密性,内容机密性看起来是无可置疑的。但是对于网络流量特征分析方面,开发人员似乎没有特别重视。”,作者表示,”我无需探究加密的内容是什么,就可以精准有效的识别出整个OBFS系列的传输协议,最后加以阻断”。

Tor连接所使用的meek方式易被网络审查设备所识别进而阻断

作者指出,目前唯一存活的Meek网桥为位于Microsoft Azure云中,由于阻止连接Microsoft网络的代价过大,该网桥被广泛使用在一些封锁较为严重的地区。虽然它建立TLS连接非常迅速,但是庞大的连接量导致一个问题,它的网络响应速度特别慢。基于这个特征,作者指出:”由于该网桥和ajax.microsoft.com使用了相同的TLS证书,而真实微软的系统应该是在TLS建立成功后可以迅速响应客户端,而这个Tor节点则会在较长的时间之后才响应”。作者认为,基于该特征,可以有效的识别一个连接是在请求真正的微软服务器还是用于连接Tor网络。

译者观点

Tor网络被用来实现匿名的互联网连接已经有足够长的历史,本次披漏的漏洞中并没有针对Tor客户端的入侵式威胁,也不能对已成功建立的Tor连接进行解密或者追踪溯源。作者主要阐述了Tor的连接是易于识别和阻断的,可能会被某些个人或阻止用于阻止Tor的用户正常连接到网络。对于作者来说,不能访问到Tor网络是违背了Tor组织建设匿名开放互联网初衷的,并且Tor组织似乎没有特别大的动力去修复它,便以0day的名称来标记这些漏洞。对于这些漏洞会对行业所带来的真正的影响,读者可自行斟酌。


HatLab知识星球


关于近期多个Tor漏洞的分析解读

关于近期多个Tor漏洞的分析解读

注:本文由E安全编译报道,转载请注原文地址 

https://www.easyaq.com

推荐阅读:


▼点击“阅读原文” 查看更多精彩内容

关于近期多个Tor漏洞的分析解读

喜欢记得打赏小E哦!



原文始发于微信公众号(E安全):关于近期多个Tor漏洞的分析解读

本文转为转载文章,本文观点不代表威客安全立场。

发表评论

登录后才能评论