洋葱网络流量识别方案

时间:2024-03-28 21:34:18

洋葱网络Tor流量检测方案
1.Tor简介
Tor通过连接一系列虚拟隧道从而允许组织和个人通过公共网络共享信息而不会损害隐私。同样,Tor是一种有效的审查规避工具,允许其用户访问其他被阻止的目的地或内容。Tor的用户越多,节点越多,匿名性就越受到保护。Tor网络上的数据包不是采用从源到目的地的直接路由,而是通过几个中继采用随机路径,因此任何单点的观察者都无法知道数据来自何处。客户端为电路中的每一跳协商一组单独的加***,以确保每一跳在通过时不能跟踪这些连接。由于每个中继在电路中看到不超过一跳,因此窃听者和受损中继都不能使用流量分析来链接连接的源和目的地。为了提高效率,Tor软件使用相同的电路进行相同的十分钟左右的连接。后来的请求被赋予一个新的电路,以防止人们将您之前的行为与新的行动联系起来。
2. Tor原理
2.1获取节点列表
步骤一:Tor客户端连接Tor网络,获取Tor网络节点列表,如图1:
洋葱网络流量识别方案
图1
2.2建立加密通道
洋葱网络流量识别方案
图2
步骤二:随机选择三个节点建立连接并生成**开始加密传输,如图2。
2.3定期更新节点
步骤三:连接会定期进行更新,减小被发现和**的可能性,如图三。

洋葱网络流量识别方案
图3
2.4完整流程说明
洋葱网络流量识别方案
图4
如图4所示,Bob为了访问Alice,先访问Tor的目录服务器,获取一部分Tor节点的IP地址,并从中随机选择三个节点的IP地址A、B、C。
a) Bob和节点C通过Curve25519椭圆曲线算法协商一个对称**keyC。之后,Bob和节点C之间就会用这把对称**keyC进行加密通信。
b) Bob把B的IP地址和与B协商**所需的参数用对称**keyC加密后发送给C。C用keyC解密后,将Bob与B协商**所需的参数发送到B的IP地址。B收到参数后产生了对称**keyB,并将与Bob协商**所需的参数发还给C。C将参数通过keyC加密后发还给Bob。Bob通过算法计算出对称**keyB。
c) Bob通过相同的方法和A协商出keyA。
d) 至此,Bob有了三把钥匙keyA、keyB、keyC。Bob往Alice发送数据包时,先将数据Data用keyA加密,再用keyB加密,再用keyC加密,层层包裹,然后发往节点C。节点C解开一层加密,发往节点B。节点B解开一层加密,发往节点A。节点A解开一层加密,得到明文,最终发送给Alice。
3.检测方案
3.1方案1 基于TLS指纹的Tor流量识别

洋葱网络流量识别方案
以上是TLS加密流量传输过程,我们通过全流量平台获取所有TLS访问数据,在此基础上过滤出所有“服务器发送Certificate”的数据包,之后查看所有的证书的授权商和授权时间。证书来源为******,地址为,证书的时间为15年到25年。
洋葱网络流量识别方案
一般Tor流量的证书起效时间与当前时间接近,证书周期短,证书颁发机构和拥有者名称结构固定。具体的字段:validitty获取证书时间、Certificates获取证书相关内容,从证书的相关内容出发做出判断。
3.2基于报文长度分布的Tor流量识别
Tor流量可认为是少数典型长度报文大量出现,但由于上层应用的不同、Tor读写事件调度的不确定性和网络环境的实时变化,具体到每条Tor流量时其报文长度分布可能各不相同,因而难以建立统一的报文长度分布的线性模型。
可以采用支持向量机分类算法判断待识别流的报文长度分布是否满足Tor流量的分布特征。由客户端发出的流量为上行流量,接收到的流量为下行流量。在特征选取阶段,针对数据集中所有Tor上行流量,将典型长度报文按出现的频率由高到低排序,并选取频率和值大于设定的门限值,如90%的前l位频率组成特别流量(Tor流量)的报文长度分布,统计每条Tor上行流量和其他类型流量中相同特征报文出现的频率,形成相应的区分标准,从而在其他场景中应用判断。