1、http:/DOI:10.13700/j.bh.1001-5965.2021.0463基于 TCP 流 RTT 测量的 Tethering 行为检测架构戴显龙1,2,3,程光1,2,3,*,陆广垠1,2,3,金斌磊1,2,3(1.东南大学网络空间安全学院,南京211189;2.东南大学江苏省泛在网络安全工程研究中心,南京211189;3.紫金山实验室,南京211111)摘要:Tethering 行为是一种移动设备通过自身传输介质共享其互联网连接服务的行为,其不仅对移动互联网造成运营压力和收益影响,还对移动互联网隐藏其内部网络结构,造成网络安全隐患。由于 Tethering 存在诸多混淆和规避方
2、法,现有 Tethering 行为检测技术难以有效检测。鉴于此,分析了移动互联网通信基站中,Tethering 行为终端在数据流量的处理、转发等特征,以及移动互联网用户流量中传输控制协议(TCP)流往返时延(RTT)的相关特性,提出一种基于 TCP 流RTT 测量的 Tethering 检测架构,构建了所提架构的测试网络环境。实验结果表明:所提架构在检测 Tethering 行为中具有有效性,实现了利用无监督学习和被动监测网络流量对移动互联网中Tethering 行为的有效检测,对 Tethering 行为检测的准确率达到 97.50%。关键词:Tethering 检测;往返时延;网络地址转换
3、检测;无监督学习;移动互联网中图分类号:TP393文献标志码:A文章编号:1001-5965(2023)06-1414-10Tethering 行为是专指移动设备通过使用自身的通用串行总线(universalserialbus,USB)、蓝牙或Wi-Fi 来实现共享自身互联网连接的行为1,其核心实质是基于网络地址转换(networkaddresstranslation,NAT)技术来构建移动热点共享网络。与园区网边界提供 NAT 技术的高性能路由设备不同,Tethering设备在进行转发数据的同时,其自身也可进行互联网服务的使用与访问,因此,其转发与吞吐能力有限。随着大量手持终端开始配备高吞吐
4、量无线网卡(如支持 802.11ac/ax 协议2),以及无限流量套餐的普及,在各Tethering 行为的媒介中,Wi-FiTethering行为已最为常见。用户可通过设备自身的 Wi-Fi 网卡构建小型无线局域网,将其移动数据网络作为互联网连接出口,实现互联网服务的共享。然而,Tethering 行为作为一种会私自提供互联网服务的潜在行为,对移动网络运营商的运营和收益造成冲击。如今手持终端上网已经成为访问互联网的主要方式,据统计,截止 2023 年 1 月3,全球蜂窝移动数据连接数已高达 84.6 亿,超过世界人口总数,仅在中国蜂窝移动数据连接数就高达约16.9 亿。而另一方面,Tethe
5、ring 行为可以对外隐藏内网结构,为攻击者提供非法隐匿接入互联网的便利。因此,对 Tethering 行为进行检测和管控有重要意义。在现有研究中,检测 Tethering 行为主要基于NAT 设备检测方案,即面向签名的检测方案和面向行为的检测方案。面向签名的检测方案主要是在传输控制协议(transmissioncontrolprotocol,TCP)、网际协议(internetprotocol,IP)、超文本传输协议(hypertexttransferprotocol,HTTP)等协议字段中寻找签名或指纹实现检测,但此类方案常受限于字段修改、加密等规避行为。面向流量行为特征的识别方法主要依据
6、 NAT 转发前后的流量行为特征,结合机器学习(machinelearning,ML)方法进行识别,收稿日期:2021-08-13;录用日期:2021-11-14;网络出版时间:2021-11-2309:24网络出版地址: J.北京航空航天大学学报,2023,49(6):1414-1423.DAI X L,CHENG G,LU G Y,et al.Tethering behavior detection architecture based on RTT measurement of TCP flowsJ.Journal ofBeijing University of Aeronautics
7、and Astronautics,2023,49(6):1414-1423(in Chinese).2023年6月北京航空航天大学学报June2023第49卷第6期JournalofBeijingUniversityofAeronauticsandAstronauticsVol.49No.6但网络环境等差异性因素,将直接影响模型训练的准确性。因此,传统方案难以有效检测 Tethering行为。往返时延(roundtriptime,RTT)4是指从发送方发出数据包开始,到发送方收到来自接收方的确认(接收端收到数据后便立即发送确认消息)所经历的时间差,是评估网络性能的一个重要指标,也是评估网络利用
8、率的依赖机制之一5。通常,RTT不仅包括传播时延,还包括末端处理时延、中间节点的处理时延、排队时延及转发数据时的发送时延。因此,RTT 是整个待测量网络的一个固有属性,是无法人为修改的。针对 Tethering 行为检测所面临的困难,基于对移动基站中 Tethering 行为终端对数据流量的处理、转发等流量特征及移动互联网用户流量中TCP 流 RTT 的相关特性,以及 RTT 在待测量网络中不可修改的特性,本文提出一种基于 TCP 流RTT 测量的 Tethering 行为检测架构,该架构包括预处理、无监督分析与模型训练、检测与识别三部分。其次,本文构建了所提架构的网络测试实验环境。最后,通过
9、实验验证了本文架构的有效性,实现了基于被动监测网络流量,对移动互联网中的Tethering 行为进行有效检测,达到 97.50%的准确度。1相关工作1.1传统 Tethering 行为检测方案在现有的产品中,思科 ASR5500 系列产品6中利用包括生存时间(timetolive,TTL7)、用户代理(useragent,UA)字符串8、操作系统指纹、域名及TCP 同步数据包的序列号9作为检测所需特征来实现对 Tethering 行为进行检测。这类传统的检测方法主要基于协议字段中类似签名或指纹的固有特殊字段来实现检测,且这些字段通常不会因为Tethering 行为的使用而发生变化,并具有一定的
10、NAT 转发特征。此外,面向签名的 Tethering 检测方案中,有研究者结合应用层协议标识特征来实现识别,Zhang 等10通过对比分析 NAT 转发前后的数据包,收集 HTTP 数据并提取 cookie 标识、应用标识、用户代理信息等字段来识别不同的主机。此类方法存在一定局限性,受限于特殊字段可篡改性、应用程序相关使用场景限制及字段加密等诸多因素。另一方面,面向流量行为特征的 Tethering 行为检测方法,主要依据不同场景下产生流量的行为特征,即区别单 IP 对应多终端(NAT/Tethering)与单IP 对应单终端(非 NAT/非 Tethering)这 2 种场景下的不同流量行
11、为特征,并结合 ML 算法来有效识别。例如,Abt 等11选取 NetFlow 数据的 9 个特征,分别利用支持向量机(supportvectormachines,SVM)和C4.5 算法实现被动识别。Gokcen 等12利用朴素贝叶斯和 C4.5 算法,根据 7 个流量特征来识别。Komarek等13提出利用 HTTP 的 8 个相关特征结合 SVM 识别。Salomonsson14利用各版 Windows 更新与不同厂 商 杀 毒 软 件 的 流 量 特 征 来 构 建 识 别 模 型。Khatouni 等15通过对流级统计信息被动测量,使用去除了 IP 地址、端口号和应用层信息相关属性之
12、后的 8 个特征实现对 NAT 行为的检测,并对 10 个不同的 ML 分类算法在该任务场景中的效果进行评估。1.2基于 RTT 的无线网络测量RTT 是网络传输中固有的属性,也是评价网络性能的一个重要指标。目前利用 RTT 属性在无线网络中的应用主要有无线网络测量、设备定位、隐私保护、异常检测等不同领域。Ibrahim 等16基于 IEEE802.11mc 协议实现了一种基于信号飞行时间的高精度测距方法,该方法利用时间测量协议测量出 RTT,可实现 Wi-Fi 设备定位,允许设备自我测量与其他 Wi-Fi 设备的距离。Han 等17通过集成 RTT 和行人航位推算测量,来估计终端的位置,该方
13、法可以扩展到车辆、无人机定位、压缩传感等领域。由于缺乏集中权限,通过 Mesh 技术组建的无线网络(wirelessMeshnetwork,WMN)容易受到外部和内部攻击,因此,Roy 和 Khan18提出一种有效的切换认证协议,在切换过程中保护随机数和转移票的隐私以防止外部攻击,并提出基于 RTT 的检测协议来抵抗 WMN 内部的攻击。Hou 等19提出一种基于 RTT 时间序列的异常检测方法,通过无监督机器学习方法,首先,将数据序列分割方面的优化问题形式化来找到大规模 RTT时间序列中的变化点。然后,利用其分布统计数据,在变化点的不同侧将这些段标记为正常或异常,从而实现异常节点的识别。文献
14、 6-10 基于流量中特殊字段的相关检测方法会受限于修改、加密等规避行为;而文献 11-15基于流量行为特征和机器学习的检测方法会受限于共享网络中终端数量及其他网络因素的制约。因此,现有 NAT 检测技术的核心思想难以有效地检测 Tethering 行为。然而,RTT 作为网络传输中固有的属性,作为评价网络性能的重要指标,在网络测量方面具有一定的参考价值,且不会因为协议字段的修改、流量的加密而产生变化。因此,本文利用 TCP 流 RTT 的相关特性来弥补传统 NAT 检测第6期戴显龙,等:基于 TCP 流 RTT 测量的 Tethering 行为检测架构1415方案在 Tethering 行为
15、检测上的不足。2Tethering 行为检测架构通常,智能终端使用 Wi-FiTethering 功能的行为场景如图 1 所示,通常发生在具有 4G/5G 数据上网功能的终端设备上。设备 D 通过自身的 Wi-Fi网卡构建小型无线局域网 V,并充当共享网络 V 的网关,将自身移动数据网络作为互联网连接出口,挂载多个终端,共享互联网服务。因此,A、B、C 的全部流量会通过 D 的打包和转发来使用外部公用网络。由于 D 自身会产生直接访问外部网络的流量,Tethering 行为会增加设备 D 对流量的处理时间和传输时间。因此,A、B、C 的流量数据包 RTT 相较于 D 存在明显突变。由于设备的转
16、发性能限制,TCP 流 RTT 始终存在,基于这一测度,可以有效避免传统 NAT 检测的规避行为,具有较强的适应性。基于此,本文提出一种基于 TCP 流 RTT 测量的 Tethering 行为检测架构,如图 2 所示,本文架构包括预处理、无监督分析与模型训练、检测与识别三部分,可部署在定制的测量设备中,并挂载在移动基站上进行测量。其中,预处理阶段是对于给定的待测设备 IP 所对应的 TCP 流进行收集并逐流计算其 RTT 值,通过去噪声处理,生成最终的 RTT 样本集合;在无监督分析与模型训练阶段,对 TCP 流RTT 样本集合进行无监督分析,进而训练生成检测模型;最后,检测与识别阶段,利用生成的检测模型对待测设备的 TCP 流进行在线检测,并实现对该设备 Tethering 行为的流量监管。2.1预处理本阶段主要对移动基站中待测设备 IP 对应的所有 TCP 流进行处理,并逐流计算、存储和分析RTT 值,最终生成 RTT 样本集合。预处理阶段的核心算法如下所示:输入:全流量 All_Traffic,待检测 IP 地址 IP_Detect,处理系数 k输出:RTT 样本集合 rtt_