SkypeMorph: 将通往Tor网桥的流量进行伪装成Skype流量以躲避防火墙的拦截




众所周知, Tor网络是专门用于给用户提供低延迟匿名通信的网络。在Tor网络中用户安装的Tor客户端通过公共的转发表建立起与目标服务器匿名通信的链路。但是因为这个转发表是任何人都可以获得的,那么防火墙也可以通过获得该转发表来进行拦截。在这种情况下,Tor将一部分转发表进行隐藏,只有通过特定的方式才能获得,而列表中的Tor网络的入口点便是人们所称的网桥。但防火墙依然可以通过检测流量的情况发现用户的翻墙行为.在这种情况下,作者提出一种模型,其通过skype的通信协议将客户端与网桥之间的流量进行混淆,使得防火墙等审查机构即便是通过统计比较也无法确切得出其为翻墙流量。

该模型有如下作用:

1.Tor traffic obfuscation: 将Tor流量进行混淆化,模型SkypeMorph将网桥和客户端之间的通信伪装成Skype用户之间的视频通信,用以抵抗DPI的流量分析

2. Innocuous-looking traffic: 客户端要想访问SkypeMorph的网桥就会先运行作者的模型和Tor的客户端, 从而指导Tor客户端将SkypeMorph用作传输处理协议。一旦开始, SkypeMorph先登录Skype,之后与目的网桥建立Skype通话。一旦网桥收到通话请求,客户端便会丢弃通话功能,从而保留该通道用以发送经过混淆处理之后的Tor信息。 并且作者对该流量与Skype的视频流量做了比较,并观察到对监测机构来说很难去区分两者的区别,即便是监测机构要去拦截那也会不可避免地拦截到大量合法的连接。

3. UDP-based implementation: 因为Skype主要使用UDP作为传输协议,因此在传输Tor数据的时候,作者也采用了UDP。这里用到了Tor project上的一篇博客的知识,作者是sjmurdoch,标题为Moving Tor to a datagram transport,有兴趣的读者可上google搜索,大意如下:

      当前Tor的数据要想在两个节点之间的加密过的TLS信道中传输,通常都是通过TCP作为传输层协议,但是最近的研究已经表明TCP对性能的影响比较大。例如,当在两个Tor节点之间的数据包出现丢弃和损坏,TCP机制会让数据分组重传。但是与此同时,通过这对节点的所有电路都会因此停止。

发布了5 篇原创文章 ·
获赞 4 ·
访问量 1万+