[发明专利]一种面向隧道封装的Tor流量识别方法有效
申请号: | 202310080343.2 | 申请日: | 2023-02-08 |
公开(公告)号: | CN115801467B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 顾晓丹;宋亚峰;杨明;赵哲淳 | 申请(专利权)人: | 东南大学 |
主分类号: | H04L9/40 | 分类号: | H04L9/40;H04L69/164;H04L69/163;H04L12/46 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 许小莉 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 隧道 封装 tor 流量 识别 方法 | ||
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流量;
所述步骤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通过监听代理客户端与服务器之间的网络通信捕获这些流量;
所述步骤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流量特征;
步骤S21提取使用UDP协议的Tor流量特征具体包括:
S211.提取UDP有效载荷长度列表:OpenVPN客户端转发Tor流量会使用UDP协议,该隧道工具将获取到的IP包加密和封装后生成的UDP有效载荷长度满足以下公式:
{(514×n+22×k)mod(M1-h1)}+h1 (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包长度频率映射关系构成特征向量并返回;
步骤S22提取仅在代理工具场景下使用TCP协议的Tor流量特征具体包括:
S221.提取TCP有效载荷长度列表:应用层代理转发Tor流量时会使用TCP协议,对自身与Tor客户端TCP连接中的数据包进行处理,对其中任意一个TCP连接中的所有TCP载荷统计包长可得该TCP连接的单向TCP有效载荷长度列表len_list;
S222.生成包长度频率映射关系:对S221中的len_list进行频率统计,以获得包长度频率映射关系freq_map,映射中元素的键是包长度,值是其出现频率;
S223.计算特定包长数量占比:通过代理转发的Tor流量所产生的TCP有效负载长度理应满足如下计算公式:
(h2+514×n+22×k)mod M2 (2)
其中,h2为代理协议的头部及填充长度,与代理的种类及加密算法有关;M2是代理客户端与代理服务器之间链路的MSS的大小,由S222的包长度频率映射关系freq_map计算出满足公式(2)的包长数量占比;
S224.生成特征向量:由S223中计算的包长数量占比和S222包长度频率映射关系构成特征向量并返回;
步骤S23提取在代理工具加网桥场景下使用TCP协议的Tor流量特征具体包括:
S231.识别被网桥插件和代理工具封装的Tor流量:启用Obfs4网桥插件后,Tor浏览器产生的流量被网桥插件修改并封装,之后通过代理工具选择最合适的网桥节点建立TCP连接后并发送封装后的数据,此时Tor浏览器行为会表现为短时间内向同一个IP的同一个端口发起多个连接;
S232.提取代理工具加网桥混淆下的Tor流量特征:从一段时间窗口内一群TCP连接的状态信息中提取代理加网桥混淆的Tor流量特征,代理加网桥混淆的Tor流量特征包括:香农熵、相关TCP连接之间平均间隔、一条连接中数据包平均时间间隔、一条连接中非零数据包比例、一条连接中数据包数量与所有相关连接中总数据包的比值、相关连接的加权平均包长、一条连接中数据包长度平均值这七个特征。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310080343.2/1.html,转载请声明来源钻瓜专利网。