当前位置: 首页 > 专利查询>东南大学专利>正文

一种面向隧道封装的Tor流量识别方法技术

技术编号:36863036 阅读:12 留言:0更新日期:2023-03-15 18:42
本发明专利技术公开一种面向隧道封装的Tor流量识别方法,属于流量分析和匿名网络技术领域。该方法首先通过隧道封装的Tor流量自动化采集;然后判断自动化采集的Tor流量是否为UDP协议,如果为UDP协议,则从UDP流单个方向上提取Tor流量特征;如果仅为代理工具下的流量,则分别在Shadowsocks、V2ray、Trojan三种应用层代理转发Tor流量时提取Tor流量特征,如果为代理工具加网桥混淆下的Tor流量,则从一段时间窗口内多个TCP连接的状态信息中提取代理加网桥混淆的Tor流量特征;最后根据提取的Tor流量特征,利用机器学习训练SVM分类器实现从真实网络流量中自动化识别Tor流量。络流量中自动化识别Tor流量。络流量中自动化识别Tor流量。

【技术实现步骤摘要】
一种面向隧道封装的Tor流量识别方法


[0001]本专利技术涉及一种Tor流量识别技术,属于流量分析(Traffic Analysis)和匿名网络(Anonymity Network)
,具体涉及一种面向隧道封装的Tor流量识别方法。

技术介绍

[0002]随着互联网及移动通信技术的不断发展,个人隐私与上网安全问题越发受到重视,不少用户开始使用匿名通信系统来接入互联网。其中Tor是使用最广泛的匿名通信系统,据统计显示,截至2022年10月整个Tor网络中在线用户数已经达到约250万,其中包含大量带有非法目的的用户,因此针对Tor的可识别性研究一直是流量识别领域的热点方向。当前已经有大量基于原始Tor流量进行的流量识别研究,通过对原始的Tor流量提取特征并训练对应的分类器可以从真实网络流量中以极高的准确率识别出Tor流量。为了掩盖原始Tor流量的特征以提高接入Tor网络的安全性,近年来有不少用户开始使用Shadowsocks、V2ray、OpenVPN、Obfs4网桥等多种隧道工具将Tor流量伪装成常见协议的流量。然而目前还缺乏相应的研究工作来探讨这些经过隧道伪装的Tor流量与正常流量的可区分性,因此设计一种面向隧道封装的Tor流量识别方法有重要作用。

技术实现思路

[0003]专利技术目的:针对大量带有非法目的的用户通过Shadowsocks、V2ray、OpenVPN、Obfs4网桥等多种隧道工具将Tor流量伪装成常见协议的流量来逃避审查的问题,本专利技术提出一种面向隧道封装的Tor流量识别方法,该方法首先自动化大量采集Tor流量,然后对采集的Tor流量进行协议判断,进而分别从使用UDP协议的Tor流量、仅在代理工具场景下使用TCP协议的Tor流量、在代理工具加网桥场景下使用TCP协议的Tor流量中提取特征,最后训练模型自动化识别经隧道伪装后的Tor流量。
[0004]本专利技术采用如下技术方案:一种面向隧道封装的Tor流量识别方法,该方法包括如下步骤:S1.通过隧道封装的Tor流量自动化采集:用Tcpdump流量抓取工具捕获Tor浏览器通过隧道工具访问流行站点的流量,所述隧道工具包括Shadowsocks、V2ray、Trojan、OpenVPN、Obfs4网桥中的任意一个或多个;S2.Tor流量的使用协议判断和特征提取:判断自动化采集的Tor流量是否为UDP协议,如果为UDP协议,则从UDP流单个方向上提取Tor流量特征;如果为TCP协议,则进一步判断是否为代理工具加网桥下的流量,如果仅为代理工具下的流量,则分别在Shadowsocks、V2ray、Trojan三种应用层代理转发Tor流量时提取TCP连接单个方向上包长数量占比、频率的Tor流量特征,如果为代理工具加网桥混淆下的Tor流量,则从一段时间窗口内一群TCP连接的状态信息中提取代理加网桥混淆的Tor流量特征;S3.自动化识别Tor流量:根据S2中提取的Tor流量特征,利用机器学习训练SVM分类器实现从真实网络流量中自动化识别Tor流量。
[0005]进一步地,所述步骤S1具体包括:S11.Tor浏览器及隧道工具的Docker容器封装:将Tor浏览器和Shadowsock、V2ray、Trojan、OpenVPN、Obfs4网桥这些隧道工具封装在Docker容器中,通过Docker容器在进程上实行网络空间层面的隔离;S12.利用流量抓取工具Tcpdump抓取Tor流量:Tor浏览器通过自搭建的Shadowsock、V2ray、Trojan、OpenVPN代理、VPN服务器同时结合Tor网桥连入Tor网络,并通过Python脚本自动化访问Alexa提供的Top 100站点产生大量Tor流量,Tcpdump通过监听代理客户端与服务器之间的网络通信捕获这些流量。
[0006]进一步地,所述步骤S2具体包括:S21.提取使用UDP协议的Tor流量特征:从S12所采集的Tor流量中识别出使用UDP协议的流量,从使用UDP协议的流量的单个方向上提取相关的Tor流量特征;S22.提取仅在代理工具场景下使用TCP协议的Tor流量特征:先从S12所采集的Tor流量中识别出使用TCP协议的流量,在此基础上进一步识别出仅在代理工具场景下的Tor流量,从中分别提取Shadowsocks、V2ray、Trojan三种应用层代理工具下的Tor流量特征;S23.提取在代理工具加网桥场景下使用TCP协议的Tor流量特征:先从S12所采集的Tor流量中识别出使用TCP协议的流量,在此基础上进一步识别出在代理工具加网桥场景下的Tor流量,从一段时间窗口内一群TCP连接的状态信息中提取代理加网桥混淆的Tor流量特征。
[0007]进一步地,步骤S21提取使用UDP协议的Tor流量特征具体包括:S211.提取UDP有效载荷长度列表:OpenVPN客户端转发Tor流量会使用UDP协议,该隧道工具将获取到的IP包加密和封装后生成的UDP有效载荷长度满足以下公式:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,n是Tor信元的数量,k是TLS数据包的数量,h1是OpenVPN协议的头部长度再加上40字节长度的TCP和IP头部,M1是OpenVPN客户端与服务端链路之间的MSS长度,M1‑
h1为Tor客户端到OpenVPN客户端之间虚拟网络链路的MSS长度;对任意一个UDP流中提取所有UDP载荷统计包长可得该UDP流单向UDP有效载荷长度列表len_list;S212.删除不利于提取特征的数据包:从S211提取的len_list中删除包长最大为MSS大小的包和包长最小为h1大小的包,删除这些包后生成新的len_list;S213.生成包长度频率映射关系:对S212中生成的新的len_list进行频率统计,以获得包长度频率映射关系freq_map,映射中元素的键是包长度,值是其出现频率;S214.计算特定包长数量占比:由S213的包长度频率映射关系freq_map计算出满足公式(1)的包长数量占比;S215.生成特征向量:由S214中计算的包长数量占比和S213包长度频率映射关系构成特征向量并返回。
[0008]进一步地,步骤S22提取仅在代理工具场景下使用TCP协议的Tor流量特征具体包括:S221.提取TCP有效载荷长度列表:应用层代理转发Tor流量时会使用TCP协议,对自身与Tor客户端TCP连接中的数据包进行处理,对其中任意一个TCP连接中的所有TCP载荷
统计包长可得该TCP连接的单向TCP有效载荷长度列表len_list;S222.生成包长度频率映射关系:对S221中的len_list进行频率统计,以获得包长度频率映射关系freq_map,映射中元素的键是包长度,值是其出现频率;S223.计算特定包长数量占比:通过代理转发的Tor流量所产生的TCP有效负载长度理应满足如下计算公式:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中,h2为代理协议的头部及填充长度,与代理的种类及加密算法有关;M2是代理客户端与代理服务器之间链本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向隧道封装的Tor流量识别方法,其特征在于,该方法包括如下步骤:S1.通过隧道封装的Tor流量自动化采集:用Tcpdump流量抓取工具捕获Tor浏览器通过隧道工具访问流行站点的流量,所述隧道工具包括Shadowsocks、V2ray、Trojan、OpenVPN、Obfs4网桥中的任意一个或多个;S2. Tor流量的使用协议判断和特征提取:判断自动化采集的Tor流量是否为UDP协议,如果为UDP协议,则从UDP流单个方向上提取Tor流量特征;如果为TCP协议,则进一步判断是否为代理工具加网桥下的流量,如果仅为代理工具下的流量,则分别在Shadowsocks、V2ray、Trojan三种应用层代理转发Tor流量时提取TCP连接单个方向上包长数量占比、频率的Tor流量特征,如果为代理工具加网桥混淆下的Tor流量,则从一段时间窗口内一群TCP连接的状态信息中提取代理加网桥混淆的Tor流量特征;S3.自动化识别Tor流量:根据S2中提取的Tor流量特征,利用机器学习训练SVM分类器实现从真实网络流量中自动化识别Tor流量。2.根据权利要求1所述的一种面向隧道封装的Tor流量识别方法,其特征在于:所述步骤S1具体包括:S11.Tor浏览器及隧道工具的Docker容器封装:将Tor浏览器和Shadowsock、V2ray、Trojan、OpenVPN、Obfs4网桥这些隧道工具封装在Docker容器中,通过Docker容器在进程上实行网络空间层面的隔离;S12.利用流量抓取工具Tcpdump抓取Tor流量:Tor浏览器通过自搭建的Shadowsock、V2ray、Trojan、OpenVPN代理、VPN服务器同时结合Tor网桥连入Tor网络,并通过Python脚本自动化访问Alexa提供的Top 100站点产生大量Tor流量,Tcpdump通过监听代理客户端与服务器之间的网络通信捕获这些流量。3.根据权利要求2所述的一种面向隧道封装的Tor流量识别方法,其特征在于:所述步骤S2具体包括:S21.提取使用UDP协议的Tor流量特征:从S12所采集的Tor流量中识别出使用UDP协议的流量,从使用UDP协议的流量的单个方向上提取相关的Tor流量特征;S22.提取仅在代理工具场景下使用TCP协议的Tor流量特征:先从S12所采集的Tor流量中识别出使用TCP协议的流量,在此基础上进一步识别出仅在代理工具场景下的Tor流量,从中分别提取Shadowsocks、V2ray、Trojan三种应用层代理工具下的Tor流量特征;S23.提取在代理工具加网桥场景下使用TCP协议的Tor流量特征:先从S12所采集的Tor流量中识别出使用TCP协议的流量,在此基础上进一步识别出在代理工具加网桥场景下的Tor流量,从一段时间窗口内一群TCP连接的状态信息中提取代理加网桥混淆的Tor流量特征。4.根据权利要求3所述的一种面向隧道封装的Tor流量识别方法,其特征在于:步骤S21提取使用UDP协议的Tor流量特征具体包括:S211.提取UDP有效载荷长度列表:OpenVPN客户端转发Tor流量会使用UDP协议,该隧道工具将获取到的IP包加密和封装后生成的UDP有效载荷长度满足以下公式:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中,n是Tor信元的数量,k是TLS数据包的数量,h1是OpenVPN协议的头部长度再加上40
字节长度的TCP和IP头部,M1是OpenVPN客户端与服务端链路之间的MSS长度,M1‑ꢀ
h1为Tor客户端到OpenVPN客户端之间虚拟网络链路的MSS长度;对任意一个UDP流中提取所有UDP载荷统计包长可得该UDP流单向UDP有效载荷长度列表len_list;S212.删除不利于提取特征的数据包:从S211提取的len_list中删除包长最大为MSS大小的包和包长最小为h1大小的包,删除这些包后生成新的len_list;S213.生成包长度频率映射关系:对S212中生成的新的len_list进行频率统计,以获得包长度频率映射关系freq_map,映射中元素的键是包长度,值是其出现频率;S214.计算特定包长数量占比:由S213的包长度频率映射关系freq_map计算出满足公式(1)的包长数量占比;S215.生成特征向量:由S214中计算的包长数量占比和S213包长度频率映射关系构成特征向量并返回。5.根据权利要求3所述的一种面向隧道封装的Tor流量识别方法,其特征在于:步骤S22提取仅在代理工具场景下使用TCP协议的T...

【专利技术属性】
技术研发人员:顾晓丹宋亚峰杨明赵哲淳
申请(专利权)人:东南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1