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 样本集合进行无监督分析,进而训练生成检测模型;最后,检测与识别阶段,利用
17、生成的检测模型对待测设备的 TCP 流进行在线检测,并实现对该设备 Tethering 行为的流量监管。2.1预处理本阶段主要对移动基站中待测设备 IP 对应的所有 TCP 流进行处理,并逐流计算、存储和分析RTT 值,最终生成 RTT 样本集合。预处理阶段的核心算法如下所示:输入:全流量 All_Traffic,待检测 IP 地址 IP_Detect,处理系数 k输出:RTT 样本集合 rtt_list1foreachtcp_packetvinAll_Trafficdo2ifv.dst=IP_Detectthen3ifv.SYN=1orv.FIN=1then4seqToackNUM v.Se
18、q+15else6seqToackNUM v.Seq+len(v.payload)7endif8TSseqToackNUM v.tsInternet通信基站外部公用网络开启Wi-Fi Tethering功能的手机接入Tethering共享网络设备内部Wi-Fi Tethering共享网络ABCD图1智能终端 Tethering 行为场景描述Fig.1Tetheringbehaviorscenariodescriptionforsmartdevice流量到达预处理包含待测设备IP的TCP分组包含待测设备IP的TCP流逐流计算RTT分析与处理RTT样本集合MSCR算法ClutersCluters数
19、量=1?无 TetheringClustersLabeling构建训练集模型训练检测识别无监督分析与模型训练Tethering行为检测结果检测模型按IP区分的实时流量检测与识别YN图2本文架构Fig.2Frameworkofthispaper1416北 京 航 空 航 天 大 学 学 报2023年9elseifv.src=IP_Detectthen10flow_rtt.append(TSv.Ack-v.ts)11endif12ifTCP 流结束then13pre_rtt.append(min(flow_rtt)14endif15endfor16rtt_list=pre_rtt.sort()17
20、rtt_list.remove(rttforrttinr_listifrtt.count_number1)18 rtt_list.remove(rtt for rtt in r_list if rtt r_listlen(r_list)*k)19returnrtt_list鉴于 Tethering 设备可能存在的系统卡顿、数据包排队、转发、吞吐量等影响因素,计算不同TCP 流 RTT 值的平均值或中位数会带入更多的环境因素影响,因此,选取更具有代表性的最小值。为排除相关噪声影响,本阶段将统计所有 TCP 流的 RTT 值生成一个集合,对集合中个数为 1 的 RTT值进行删除,此外,按照处理系数
21、 k 来保留相应数量的 RTT 值,生成最终的样本集合。其中 ts 表示 TCP 包到达检测点的时间戳,TS字典用来存储 TCP 包的回复包的确认号和 TCP 包的时间戳。对于待检流量,在给定待检测 IP 地址后,算法的 28 行处理“目的 IP”为待检测 IP 的TCP 包,提取 TCP 包的序列号 Seq,当 SYN 或 FIN位置为 1 时,Seq 值加上 1,否则 Seq 值加上 TCP 包的载荷长度,得到 TCP 包的回复包的确认号 seq-ToackNUM,与 TCP 包的 ts 值作为键值对存入 TS字典中。计算方法如下:RTT=tsACK=Seq+1tsSeqSYN=1,Ack
22、=1或FIN=1,Ack=1tsACK=Seq+payloadLentsSeqSYN=0且FIN=0(1)911 行是对源 IP 为待检测 IP 的 TCP 包进行处理,提取 TCP 包的确认号 Ack,在 TS 字典中查找 Ack 值对应的 ts 值,与 TCP 包的 ts 值的差值存入 TCP 流的 flow_rtt 列表中。1214 行获取 TCP 流的 RTT 值,1618 行是对 RTT 值进行分析预处理。考虑到 Tethering 设备一般为智能终端设备,其转发性能远不及专用路由设备。在设备不开启 Tethering 行为时,其产生的RTT 值势必存在抖动。然而多数情况下,抖动会存
23、在于一个较为平稳的区间内,只有当设备发热、处理数据卡顿等时,其抖动会有明显激增,从而导致RTT 值异常的偏大。这些因抖动较大而产生的元素会由聚类算法单独聚为一类或多类别,对真实的聚类结果造成一定影响。同理,若开启 Tethering 行为,相应挂载的设备也会因为设备自身的因素而产生个别明显的抖动。因此,本文架构将这些异常的样本视为噪声样本。通过大量实验,保留从小到大85%93%的样本元素,可以得到较好的聚类效果。本文架构引入系数 k 来指代这一去噪声比例。此外,样本中个数为 1 的元素与其他元素的相关性不强,本文视其为异常情况,在预处理阶段也将其一起删除。基于上述预处理思路生成最终的 RTT样
24、本集合。本阶段的时间复杂度应为 O(n2),其中 n 为流数。若计算产生的 RTT 个数为 m,则预处理去除噪声所产生的时间复杂度应为 O(m2),因此,本阶段的总体复杂度为 O(n2+m2)。2.2无监督分析与模型训练本阶段核心任务是对预处理阶段生成的 RTT样本集合进行无监督分析,并训练出检测模型,是本文架构的核心阶段。无监督分析可以通过聚类对 RTT 样本集合作出分析,用于区分少量挂载设备的流量和噪声流量,对于样本中类别数量事先不明确的情况能够有效应对。基于这几个因素的考虑,现有的无监督学习算法中,Meanshift 算法20可以不依赖任何先验条件,且原理简单、迭代效率高。其基本思想是在
25、数据集中选定一个初始点并以该点为中心划定大小为 L 的搜索区域,并利用指定参数带宽 b 使算法在迭代搜索过程中对 L 的大小进行确定。带宽b 也决定了参与迭代的采样点数量及聚类的收敛速度和准确性21。本文架构基于 Meanshift 算法思想,提出一种面 向 RTT 的 聚 类 分 析 算 法(MeanshiftclusteringalgorithmforRTT,MSCR),以评估样本集合中 RTT值的类别数量。MSCR 步骤描述如下:输入:RTT 样本集合 rtt_list,带宽参数 b阈值 d输出:类别数量 n_clusters,聚类中心集合 T1n 02foreachrainrtt_li
26、stdo3while|shift|ddo4M.clear()5 M.append(u for each u in rtt_list ifdistance(um,ra)b)6num_k len(M)7C C.extend(M)8foreachuinMdo9shift calculate_meanshift(u,ra)10endfor第6期戴显龙,等:基于 TCP 流 RTT 测量的 Tethering 行为检测架构1417ra.ra,11renew(shift)12endwhile13f=014forifrom0ton1do15if|Tira|dthen16Ci.extend(C);f=1;br
27、eak17endif18endfor19iff=0then20Tn ra;Cn C;n+21endif22endfor23n_cluster n124returnn_cluster,Trtt_list=ri,i 1,n,i N+步骤1对于有着 n 个 RTT 值的样本集合中,随机选取一个元素ra作为中心点;M=um,m 1,k,m N+步骤2对于给定的带宽 b,获取离中心点元素 ra距离不大于 b 的所有元素(num_k 个),记做集合,并设集合 M 中的元素属于簇 C,算法第 35 行。步骤3计算从中心点 ra开始到集合 M 中每个元素 u 的偏移量并相加,计算平均值,得到偏移均值 shif
28、t:calculate_meanshift(u,ra)=1kumLb(umra)(2)LbumLb M式中:为以带宽 b 划定的搜索区域;为搜索区域范围内的点,其中。步骤4中心点沿着 shift 的方向移动,移动距离是偏移均值的模,移动到偏移均值位置,更新中心点:rt+1a=Mt+rta(3)Mtrta式中:为 t 状态下求得的偏移均值;为 t 状态下的中心,此步骤对应算法第 11 行中的 renew()函数,即利用 t 状态下 ra的更新 t+1 状态下的 ra。步骤5重复步骤 24,直到偏移量的大小满足设定的阈值要求,记住此时的中心点。步骤6重复步骤 15 直到所有的点都被归类。步骤7分类
29、:计算每类对每个点的访问频率,结果最大的,即为当前点集合的所属类。步骤8输出类别数量 n_cluster 与聚类中心集合 T。本阶段用到的特征样本属于一维,因此,用到的核函数维度较低,由于使用了 BallTree 函数对每个聚类内核成员进行了相应的查找,因此,MSCR的复杂度为 O(*n*log(n),其中,n 为样本总量,为迭代次数。利用 MSCR 得到的类别数量 n_cluster 与聚类中心 T,对于聚类为 1 类,本文架构认为该待测设备具有 Tethering 行为,可暂停检测或重新获取 RTT样本集合进行聚类分析;对于聚类为多类别的,则认为有 Tethering 行为,基于聚类中心集
30、合 T 生成训练集,进而训练出相应的检测模型,以支持后续的持续检测。模型生成过程如下,其中 34 行是生成模型的具体流程。输入:聚类中心集合 T,聚类类别数量 n_cluster输出:训练模型1train_dataset=Empty2ifn_cluster1:3train_dataset.cluster_labeling(T)4model=MSCR.train(train_dataset)5returnmodel6else:7returnNo_Tethering8endif2.3检测与识别本阶段任务主要是对已经确定开启 Tethering行为设备的流量进行持续关注,利用上一阶段生成的检测模型对
31、该设备进行持续检测,并对该设备的Tethering 行为流量进行统计,以达到监管的目的。具体任务如下,对于确定有 Tethering 行为的设备IP 对应的 TCP 流进行在线统计,计算每一条 TCP流的 RTT 值,并通过上一阶段生成的检测模型进行检测,从而实现对 Tethering 行为的持续检测与关注。本阶段任务具体描述如下:输入:检测模型 model,确定 IP 对应的实时流量 R_Traffic输出:检测结果 result1whileTrue:2foreachtcp_flowinR_Trafficdo3rtt=calculate_rtt()4result=MeanShfit.pred
32、ict(rtt,model)5endfor6returnresult7endwhile本阶段检测与关注的对象是持续到达的流量。其中,第 3 行是对每条 TCP 流的 RTT 值进行获取,第 4 行是通过获取的 RTT 值和上一阶段获取的检测模型进行检测。对于实时流量,本阶段功能模块在按照待测 IP 的单条 TCP 流进行 RTT 值计算时所产生的时间复杂度为 O(n),n 为该待测 IP 单条1418北 京 航 空 航 天 大 学 学 报2023年TCP 流产生的 RTT 值总数。由于预测阶段仅需要根据已经生成的预测模型直接进行预测,预测阶段的时间复杂度即为 O(1)。因此,本阶段的总体时间复
33、杂度为 O(n)。3实验验证与分析3.1流量数据集构建方法3.1.1训练集流量采集、构建方法本文实验所用的训练集流量即为 Tethering 设备的全流量,这对应了真实环境中 Tethering 设备在基站中产生的所有流量。由于实验硬件条件限制,本文使用 PC 充当模拟基站并作为测量点,进而模拟真实基站,全流量采集示意图如图 3 所示。Internet模拟基站开启Wi-Fi Tethering功能的手机接入Tethering共享网络设备内部Wi-Fi Tethering共享网络外部公用网络ABCD图3全流量采集示意图Fig.3Thedescriptionofthetrafficmeasurem
34、ent流量采集具体步骤如下:1)充当模拟基站的 PC 通过网卡 1 接入互联网,并通过网卡 2 构建无线网络 W,模拟手机上网所需网络。2)设备 D 关闭移动数据上网功能,接入无线网络 W,同时开启 Tethering 行为,构建共享网络 V。3)设备 A、B、C 接入共享网络 V 中进行上网。4)在模拟基站中对网卡 2 的全部数据流量通过 wireshark 或 tcpdump 等工具进行获取,最终通过预处理阶段的算法构建本文实验中的训练集。3.1.2测试集流量采集、构建方法测试集的建立,旨在验证本文架构训练得到的分类模型对于该 IP 产生的流量在实时检测中的可行性与准确性,对于测试集的采集
35、与构建,本文利用如图 4 所示的采集环境。Internet模拟基站开启Wi-Fi Tethering功能的手机接入Tethering共享网络设备内部Wi-Fi Tethering共享网络外部公用网络EAD图4测试数据集采集与构建Fig.4Collectionandestablishmentoftestdataset具体步骤如下:1)充当模拟基站的 PC,E 通过网卡 1 接入互联网,并通过网卡 2 构建无线网络 W;设备 D 接入无线网络 W,通过 Tethering 行为构建共享网络 V;A 接入共享网络 V。2)同时在 E 和 A 上通过 wireshark 或 tcpdump等工具采集网
36、络流量,E 抓取的 DataSet18 为将要分类的测试集,包含有 D 转发后的 A 流量;而设备A 上抓取的 DataSet19 为其自身产生的流量,即为Tethering 设备转发之前的流量。3)比对 DataSet18 和 DataSet19 中的数据包,含有相同数据的包,即为有 Tethering 行为数据;剩下的则为无 Tethering 行为数据。最终生成验证使用的测试集 S。3.2实验环境与数据集本文实验中,为了验证 MSCR 的有效性,以及尽可能接近真实基站的情况,在硬件环境的选择上,避免了同一设备的反复使用。数据集的采集工作,选用性能不同的 2 台笔记本电脑作为模拟基站,选用
37、不同品牌的手机作为 Tethering 行为设备,并挂载不同数量的终端。实验的硬件平台主要参数如表 1 所示。本文实验采用的网络流量,来源于实验模拟基站,共计约 16.40GB。其中包含无 Tethering 行为、第6期戴显龙,等:基于 TCP 流 RTT 测量的 Tethering 行为检测架构1419有 Tethering 行为(挂载不同数量上网终端)。此外,DataSet1DataSet17 为模拟基站采集的全流量,用于验证本文架构在检测 Tethering 行为的有效性,其中,DataSet1DataSet11 为Dell 笔记本模拟基站获取,DataSet12DataSet17 为
38、 X911 笔记本模拟基站获取。DataSet18 和 DataSet19 为生成标注行为标签测试集的数据集,为了验证本文架构训练得到的模型在新到流量中识别 Tethering 行为的有效性,基于本文的流量采集与处理方法,DataSet18 和 DataSet19构 建 的 测 试 集 中 共 有 7712 个 TCP 流,其 中 有Tethering 行为流4312 个,无Tethering 行为流3400 个。表 2 为实验数据集的具体信息。表2实验数据集信息Table2Informationofdatasetsintheexperiment数据集Tethering模式手机设备型号待测设备
39、IP地址大小/MB分组个数DataSet1无Tetheringiphone6192.168.137.10910031000000DataSet2无TetheringP40192.168.137.1579121000000DataSet3无TetheringP40192.168.137.157412600000DataSet4TetheringD+AP40、iphone6192.168.137.1579731000000DataSet5TetheringD+AP40、iphone6192.168.137.1579101000000DataSet6TetheringD+AP40、iphone619
40、2.168.137.1579001000000DataSet7TetheringD+AP40、iphone6192.168.137.1579431000000DataSet8TetheringD+AP40、iphone6192.168.137.157466500000DataSet9TetheringD+AP40、iphone6192.168.137.157439500000DataSet10TetheringD+A+BP40、iphone6、iphone8Plus192.168.137.1579611000000DataSet11TetheringD+A+B+CP40、iphone6、iph
41、one8Plus、Redmi7192.168.137.15719352000000DataSet12无TetheringMi10Pro192.168.137.2389841000000DataSet13无TetheringMi11Ultra192.168.137.1421024903103DataSet14TetheringD+AMi10Pro、Mi11Ultra192.168.137.23811361200000DataSet15TetheringD+AMi11Ultra、Mi10Pro192.168.137.14212181400000DataSet16TetheringD+A+B+CMi
42、10Pro、Mi11Ultra、Mi9、X1C192.168.137.23811571200000DataSet17TetheringD+A+B+CMi11Ultra、Mi10Pro、Mi9、X1C192.168.137.14213721500000DataSet18TetheringD+AP40、X1C192.168.137.157859909785DataSet19无TetheringP40192.168.137.1573764037763.3MSCR 有效性验证本节实验通过对每个数据集的预处理和 MSCR的运行,对 MSCR 的有效性进行验证。首先,对本文提出的去噪声方法进行对比实验,分
43、别用 MSCR对每个数据集去噪声前、去噪声后所生成的训练集进行聚类,以 DataSet12 为例,图 5 为对比效果。表1实验硬件平台的主要参数Table1Mainparametersofexperimenthardwareplatform序号设备名称型号主要参数1模拟基站(PC)DellVostro14-5480CPU:Corei5-5200U;RAM:4GB;512GBHDD;OS:Win8ProTerransForceX911CPU:Corei7-4940MX;RAM:32GB;1TBSSD;OS:Win10Pro2Tethering设备HuaweiP40CPU:Kirin9905G;R
44、AM:8GB;OS:Android10Mi10ProCPU:snapdragon865;RAM:12GB;OS:Android11Mi11UltraCPU:snapdragon888;RAM:12GB;OS:Android113挂载设备(手机)iPhone6CPU:AppleA8;OS:ios12.5.4iPhone8PlusCPU:AppleA11;OS:ios14.6Redmi7CPU:snapdragon632;OS:Android9Mi10ProCPU:snapdragon865;OS:Android11Mi11UltraCPU:snapdragon888;OS:Android11Mi
45、9CPU:snapdragon855;OS:Android114挂载设备(PC)ThinkPadX1C2016CPU:Corei7-6600U;RAM:8GB;OS:Win10Pro1420北 京 航 空 航 天 大 学 学 报2023年通过大量实验对比,本文架构可以很大程度上保证 MSCR 的聚类效果。在图 5 中,若不进行去噪声,无 Tethering 行为的设备流量会因为自身原因而被聚类成 54 类,直接会被误判为有 Tethering 行为。最终,在保留从小到大 85%93%的样本元素,可以得到较好的聚类效果。因此,在实验中,本文对于 RTT 样本集合生成算法的处理系数 k=0.9,即
46、保留了从小到大占样本总量 90%的 RTT 用于生成最终的 RTT 集合,作为 MSCR 的输入。数据集实验结果如表 3 所示。表3数据集实验结果Table3Experimentalresultsofdatasets数据集Tethering模式RTT数量n_clustersDataSet1无Tethering11761DataSet2无Tethering63471DataSet3无Tethering78501DataSet4TetheringD+A34352DataSet5TetheringD+A19792DataSet6TetheringD+A27542DataSet7TetheringD+
47、A23589DataSet8TetheringD+A4232DataSet9TetheringD+A18202DataSet10TetheringD+A+B32512DataSet11TetheringD+A+B+C63772DataSet12无Tethering22791DataSet13无Tethering18771DataSet14TetheringD+A51684DataSet15TetheringD+A44972DataSet16TetheringD+A+B+C41717DataSet17TetheringD+A+B+C260619数据集DataSet1DataSet3、DataSe
48、t12 和DataSet13 对应了设备 D“无 Tethering 行为”的情况,从实验结果可以看出,聚类结果均仅为 1 类、中心点均为 1 个,即能准确识别出“无 Tethering 行为”。DataSet4 DataSet9、DataSet14 和 DataSet15 均为设备 D 挂载 1 个设备的情况。其中,DataSet4DataSet6、DataSet8 和 DataSet9、DataSet15 的聚类结果均为 2 类,中心点为 2 个,即识别出“有 Tethering行为”。不同的是,DataSet7 显示聚类结果为 9 类,中心点为 9 个;DataSet14 显示聚类结果为
49、 4 类,中心点为 4 个。DataSet7 与 DataSet14 在获取时,存在设备 D 负载较大的情况。DataSet10 为设备 D 开启 Tethering 并挂载设备A、B 的情况,其聚类结果为 2 类,中心点为 2 个。DataSet11、DataSet16、DataSet17 均为设备 D 开启Tethering 并挂载设备 A、B、C 的情况,其聚类结果分 别 为:DataSet11 为 2 类,其 中 心 点 为 2 个;DataSet16 为 7 类,其中心点为 7 个;DataSet17 为19 类,其中心点为 19 个。综合以上分析,对于无 Tethering 行为、
50、挂载不同数量终端的 Tethering 行为,本文提出的 MSCR均具有一定的有效性,实验验证了 MSCR 在对待测设备的 TCP 流 RTT 值特征进行无监督学习分析,可以有效地得到相应的结果。3.4Tethering 行为实时检测有效性验证本节实验的验证方案如下:采用 DataSet4DataSet9 作为生成训练集的原始数据集,通过预处理和无监督分析后,训练并得到检测模型,利用该模型对测试集 S 进行分类测试。本节实验的评价指标采用准确率 Accuracy,旨在验证本文架构在确定检测结果的情况下可以继续对新到流量进行较为准确的检测。Accuracy=TP+TNTP+TN+FP+FN(4)