基于格拉姆角场变换的Tor用户访问网站识别方法及系统

allin2024-03-31  117


基于格拉姆角场变换的tor用户访问网站识别方法及系统
技术领域
1.本发明属于匿名通信系统tor技术领域,特别涉及一种基于格拉姆角场变换的tor用户访问网站识别方法及系统。


背景技术:

2.随着互联网的日益发展,人们越来越重视对个人隐私的保护,对匿名通信的需求也越来越高。tor作为目前最受欢迎的匿名通信系统,每天为超过200 million的用户提供匿名通信服务。tor在建立链路的过程中,需要随机选择三个中继。如果有敌对者在数据传输的过程中截取数据包,所获数据包的源地址和目的地址会根据其被截获的地点而变化。另外,传输的数据均进行了多重加密,想要破解数据内容是十分困难的。因此,敌对者很难通过tor获取用户访问的有效信息。但是以前的工作证明,网站指纹攻击(website fingerprint,wf)能够降低tor的匿名性,将用户以及其访问的网站关联起来。由于每个网站的架构不同,用户在访问不同网站时流量差异很大。用户在加载图片以及音频等大型文件时,流量会出现较大的突发。另外,网页内容也会影响整个数据流的数据包数量。在wf攻击中,执法者首先需要对受监控网站进行分类器的训练,其次对受监控用户与tor入口节点之间的流量进行拦截。使用分类器分析所拦截的流量是否能够跟受监控网站相匹配,进而将tor用户与其访问的网站关联起来。
3.近年来wf攻击取得了很好的效果,能够有效降低tor的匿名性。为了让tor网络更加安全,研究人员提出了防御措施抵御wf攻击。其基本原理是通过添加、删除、延迟数据包等措施处理网络流量,以达到混淆流量特征的目的。 juarez等人提出了一种基于自适应填充的概率连接填充防御方法wtf-pad,该方法在tor流量中添加短延迟伪流量突发,以达成掩盖流量突发特征的效果。
4.自深度指纹攻击(df)被提出以来,网站指纹识别方法在tor中的识别准确率达到了98.3%以上。tor出于保护用户隐私的目的,十分关注wf防御技术的发展,并意图将其添加到tor项目中来。近年来研究人员提出了许多wf防御措施,能够有效降低wf的识别准确率。其次,洋葱服务是tor所提供的隐藏服务,其安全机制更加健全,大部分违法网站都部署在洋葱服务中。


技术实现要素:

5.现有方法大多提取了用户访问网站时的部分流量特征,构造一维信元特征序列,并利用分类器对其进行分类,此类方法在tor网络存在防御措施或采用洋葱服务场景下的分类效果不佳,针对此问题,本发明提出一种基于格拉姆角场变换的tor用户访问网站识别方法及系统,提升了网站指纹识别准确率。
6.为了实现上述目的,本发明采用以下的技术方案:
7.本发明提供了一种基于格拉姆角场变换的tor用户访问网站识别方法,包含以下步骤:
8.构造一个执法者感兴趣的受监控网站集合;
9.循环访问受监控网站集合中的元素,在访问过程中捕获流量数据包;
10.提取所收集流量数据包中的数据发送方向信息,对于每一条流量实例,生成一个由数据发送方向构成的信元特征序列;
11.对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵;
12.利用符号聚合近似对二维特征序列矩阵进行降维处理;
13.将每个流量实例所对应的经过降维处理后的二维特征序列矩阵以及网站标签进行对应,将所有流量实例整合,分别生成数据集和标签集存储于数据库中;
14.由于数据集的输入是二维矩阵,因此选择合适的二维矩阵深度学习模型,并且预设模型参数;
15.从数据库中提取数据集和标签集构成训练集训练二维矩阵深度学习模型的参数,通过训练选择出最佳参数;
16.监听受监控用户,提取其访问过程中的流量数据包,将其进行按照训练集的数据处理方法处理未知流量,获取未知流量的二维特征序列矩阵;
17.使用训练后的二维矩阵深度学习模型对未知流量的二维特征序列矩阵进行分类,通过分类结果所示的标签来判别未知流量所属网站。
18.进一步地,提取信元特征序列包括:
19.将流量数据包的原始信元序列映射到[+1,-1]的值域中,规定数据流入执法者的方向为“+1”,数据流出执法者的方向为
“‑
1”,通过此方法提取信元特征序列。
[0020]
进一步地,对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵,包括:
[0021]
对于一维信元特征序列x={x1,x2,...,xn},首先将每个信元值缩放到[-1,1] 或者[0,1]的值域中,如公式(1)和公式(2)所示:
[0022][0023][0024]
将信元特征序列缩放后,将其转换到极坐标系下表示,用角的余弦值表示信元数值,用时间戳t表示半径r,如公式(3)所示:
[0025][0026]
将信元特征序列缩放到不同的值域,所对应的角度范围也不同,如果值域的范围为[-1,1],则对应的角范围为[0,π],如果值域的范围为[0,1],则对应的角范围为[0,π/2];
[0027]
将信元特征序列转换到极坐标系后,通过三角函数的和/差来评估信元特征序列在不同时间间隔内的时间相关性,格拉姆角和场gasf和格拉姆角差场 gadf的定义如公式
(4)和公式(5)所示:
[0028][0029][0030]
其中,i是单位行向量,是缩放后的信元特征序列,是的转置矩阵;假设一维信元特征序列x长度为n,那么gasf和gadf分别能够通过列向量与行向量相乘的方式把信元特征序列转换成n
×
n矩阵。
[0031]
进一步地,利用符号聚合近似对二维特征序列矩阵进行降维处理,包含以下步骤:
[0032]
归一化:对每个二维特征序列矩阵进行归一化处理,使其均值为0,标准差为1,符合高斯分布;
[0033]
数据降维:需要对n
×
n矩阵进行分段聚合近似变换;对行向量ci= {c1,c2,...,cn}进行分段聚合近似变换,使其转换成行向量其中n必须为w的整倍数;分段聚合近似变换首先将行向量ci划分为w片段,然后求得每个片段的均值,构成行向量中的第j项计算方法如公式(6)所示:
[0034][0035]
符号化表示:归一化使得分段聚合近似变换后的矩阵符合高斯分布,假定用α字母符号化表示矩阵,设断点序列β={β1,β2,...,β
α-1
},对任意1<k<α,β
k-1
与βk之间的高斯分布概率值间隔为1/α;首先通过字母个数α将高斯分布划分为等概率区间,生成断点序列β,然后将分段聚合近似变换后的行向量与断点序列β进行比对,根据均值所属区间转化为相应字母。
[0036]
进一步地,所述二维矩阵深度学习模型为senet的cnn模型。
[0037]
本发明还提供了一种基于格拉姆角场变换的tor用户访问网站识别系统,包括:
[0038]
受监控网站集合构造模块,用于构造一个执法者感兴趣的受监控网站集合;
[0039]
流量数据包捕获模块,用于循环访问受监控网站集合中的元素,在访问过程中捕获流量数据包;
[0040]
信元特征序列提取模块,用于提取所收集流量数据包中的数据发送方向信息,对于每一条流量实例,生成一个由数据发送方向构成的信元特征序列;
[0041]
二维特征序列矩阵生成模块,用于对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵;
[0042]
降维模块,用于利用符号聚合近似对二维特征序列矩阵进行降维处理;
[0043]
数据库模块,用于将每个流量实例所对应的经过降维处理后的二维特征序列矩阵以及网站标签进行对应,将所有流量实例整合,分别生成数据集和标签集存储于数据库中;
[0044]
模型搭建模块,用于由于数据集的输入是二维矩阵,因此选择合适的二维矩阵深度学习模型,并且预设模型参数;
[0045]
模型训练模块,用于从数据库中提取数据集和标签集构成训练集训练二维矩阵深度学习模型的参数,通过训练选择出最佳参数;
[0046]
未知流量收集模块,用于监听受监控用户,提取其访问过程中的流量数据包,将其进行按照训练集的数据处理方法处理未知流量,获取未知流量的二维特征序列矩阵;
[0047]
模型分类模块,用于使用训练后的二维矩阵深度学习模型对未知流量的二维特征序列矩阵进行分类,通过分类结果所示的标签来判别未知流量所属网站。
[0048]
与现有技术相比,本发明具有以下优点:
[0049]
本发明的基于格拉姆角场(gaf)变换的tor用户访问网站识别方法(gdf),目前二维卷积神经网络比一维卷积神经网络在网络指纹识别问题上应用更广泛,因此本发明首先提取用户访问网站时产生的流量数据包中的信元特征序列,然后通过格拉姆角场变换将一维信元特征序列转换成二维特征序列矩阵作为二维卷积神经网络的输入;对于长度较大的信元特征序列来说,格拉姆角场变换会生成一个很大的二维特征序列矩阵,这会使整个分类过程增加大量的时间和空间,因此需要利用符号聚合近似(sax)对矩阵进行降维和符号化表示,降低分类过程中的时间和空间消耗,最后使用现有基于cnn的二维矩阵深度学习模型利用深度学习技术学习所有生成的二维特征序列矩阵,完成对用户访问流量的识别分类,进而识别出用户所访问的网站。本发明提出的gdf方法尤其在采用防御措施以及洋葱服务的场景下,网站指纹识别准确率明显优于现有方法。
附图说明
[0050]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0051]
图1是现有网站指纹识别方法过程示意图;
[0052]
图2是本发明实施例的基于格拉姆角场变换的tor用户访问网站识别方法的流程示意图;
[0053]
图3是本发明实施例的一维信元特征序列的gaf变换过程示意图;
[0054]
图4是本发明实施例的开放世界中分类的precision-recall曲线图。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
现有的网站指纹识别过程如图1所示,当用户通过tor与网站服务器建立链路之后,执法者应在受监控用户所对应的路由器、互联网服务提供商(isp)以及自治域出口等地点截获用户与外界的交互流量,由于tor的加密特性,只有在用户与入口节点之间收集的数
据包源地址是用户的真实ip,在其它地点抓包并不能识别用户所对应的流量。执法者首先通过源地址过滤出受监控用户的所有流量,其次利用端口过滤以及流量识别等方式能够识别出用户所对应的tor流量。在进行wf攻击之前,执法者首先要训练一个分类器,此分类器为机器学习或深度学习框架构造的模型。执法者需要设定一个受监控网站的集合,并且对其中的每个元素进行循环访问。在访问的过程中收集用户与外界交互的数据包。手动构造特征,将数据包的特征提取出来,把特征与网站标签一同用于模型的训练。当分类器训练完成后,执法者可以实时截获受监控用户的流量,提取流量特征,将其用于分类器分类。如果用户正在访问受监控网站,分类器就能将网站识别出来,以断定用户是否在进行违法操作。
[0057]
在上述现有的网站指纹识别的基础上,如图2所示,本实施例提出一种基于格拉姆角场变换的tor用户访问网站识别方法,包含以下步骤:
[0058]
步骤s1,执法者根据工作需要,构造一个执法者感兴趣的受监控网站集合。
[0059]
步骤s2,循环访问受监控网站集合中的元素,在访问过程中捕获流量数据包,通过ip、端口过滤等方式排除掉噪声流量。
[0060]
步骤s3,提取所收集流量数据包中的数据发送方向信息,对于每一条流量实例,生成一个由数据发送方向构成的信元特征序列。
[0061]
步骤s4,对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵。
[0062]
步骤s5,利用符号聚合近似对二维特征序列矩阵进行降维处理,降低深度学习模型分类过程中的时间和空间消耗。
[0063]
步骤s6,将每个流量实例所对应的经过降维处理后的二维特征序列矩阵以及网站标签进行对应,将所有流量实例整合,分别生成数据集和标签集存储于数据库中。
[0064]
步骤s7,由于数据集的输入是二维矩阵,因此选择合适的二维矩阵深度学习模型,并且预设模型参数。
[0065]
步骤s8,从数据库中提取数据集和标签集构成训练集训练二维矩阵深度学习模型的参数,通过训练选择出最佳参数。
[0066]
步骤s9,监听受监控用户,提取其访问过程中的流量数据包,将其进行按照如步骤s3至步骤s5训练集的数据处理方法处理未知流量,获取未知流量的二维特征序列矩阵。
[0067]
步骤s10,使用训练后的二维矩阵深度学习模型对未知流量的二维特征序列矩阵进行分类,通过分类结果所示的标签来判别未知流量所属网站。
[0068]
具体的,步骤s3提取信元特征序列包括:
[0069]
以前的研究表明,数据包方向是影响网站指纹识别效率的最重要特征。深度指纹攻击(df)只考虑了数据包方向,并且通过实验证明了数据包的长度信息不能提高分类的准确率。但是,根据数据预处理方法的不同,利用数据包的其它信息可能也会显著提高分类的准确率。例如tik-tok,该方法采用了数据包时间与方向相结合的方法,取得了很好的效果。对于网站指纹识别而言,数据包常用的特征信息有方向、长度以及时间。在我们的方法中,我们对上述三种数据包信息进行了实验验证,发现数据包方向与其它信息结合并不能提高分类效果。因此,我们只考虑使用数据包方向作为提取信元特征序列的方法。
[0070]
将流量数据包的原始信元序列映射到[+1,-1]的值域中,执法者通常会在客户端以及入口中继之间监控用户,规定数据流入执法者的方向为“+1”,数据流出执法者的方向

“‑
1”,通过此方法提取信元特征序列。
[0071]
具体的,步骤s4对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵,包括:
[0072]
对于一维信元特征序列x={x1,x2,...,xn},首先将每个信元值缩放到[-1,1] 或者[0,1]的值域中,如公式(1)和公式(2)所示:
[0073][0074][0075]
将信元特征序列缩放后,将其转换到极坐标系下表示,用角的余弦值表示信元数值,用时间戳t表示半径r,如公式(3)所示:
[0076][0077]
需要注意的是,将信元特征序列缩放到不同的值域,所对应的角度范围也不同,如果值域的范围为[-1,1],则对应的角范围为[0,π],如果值域的范围为[0,1],则对应的角范围为[0,π/2],它们在gaf任务中提供了不同的信息粒度。
[0078]
将信元特征序列转换到极坐标系后,通过三角函数的和/差来评估信元特征序列在不同时间间隔内的时间相关性,格拉姆角和场gasf和格拉姆角差场 gadf的定义如公式(4)和公式(5)所示:
[0079][0080][0081]
其中,i是单位行向量,是缩放后的信元特征序列,是的转置矩阵;假设一维信元特征序列x长度为n,那么gasf和gadf分别能够通过列向量与行向量相乘的方式把信元特征序列转换成n
×
n矩阵。一维信元特征序列的gaf变换如图3所示。
[0082]
gaf变换的优点在于其包含了时间相关性。时序信息会随着矩阵自左上角到右下角依次增加。该方法的缺点在于如果信元特征序列长度过长,会生成一个较大的矩阵,从而导致在深度学习过程中产生大量的时间以及空间消耗,使网站指纹识别变得困难。
[0083]
本实例的gdf方法中使用了gaf用于序列变换。常用的变换方法还有马尔可夫变迁场(mtf)、递归图(rp)以及短时傅里叶变换(stft)等。mtf方法基于马尔科夫转移矩阵对序列进行了转换,但是其逆映射具有不确定性。rp能够分析序列的周期性、平稳性以及内在相似性等,但是其比较适合处理短时间序列。对于stft等频域转换的方法而言,它们都受到了heisenberg不确定原理的限制,即在可达到的时间分辨率和频率之间会发生权衡。上述方
法在理论上都有明显的缺点。通过实验对比,发现gaf变换效果最优,因此我们选择使用gaf作为数据转换的方法。
[0084]
具体的,步骤s5利用符号聚合近似对二维特征序列矩阵进行降维处理,包括:
[0085]
对于网站指纹识别的问题来说,在深度学习分类过程中往往需要较长的信元特征序列,对于长序列,将其进行gaf变换后,需要降低所生成二维特征序列矩阵的维度,我们使用符号聚合近似(sax)来处理此问题。
[0086]
sax算法是一种将时间序列符号化表示的方法,它对分段聚合近似(paa) 算法进行了改进,它在能够使数据降维的同时,还允许通过符号方法定义距离度量,在原始序列上定义相应的距离度量下界,并且其使用字母表代替了浮点数进行存储,节省了数据处理过程中大量的时间和空间。其步骤具体如下。
[0087]
步骤s51,归一化。对每个二维特征序列矩阵进行归一化处理,使其均值为 0,标准差为1,符合高斯分布。
[0088]
步骤s52,需要对n
×
n矩阵进行paa变换;以第i行为例,对行向量ci={c1,c2,...,cn}进行paa变换,使其转换成行向量其中n必须为w的整倍数。paa变换首先将行向量ci划分为w片段,然后求得每个片段的均值,构成行向量和的第j巧计算方法如公式(6)所示:
[0089][0090]
步骤s53,符号化表示。归一化使得paa变换后的矩阵符合高斯分布,假定用α字母符号化表示矩阵,设断点序列β={β1,β2,...,β
α-1
},对任意1<k<α,β
k-1
与βk之间的高斯分布概率值间隔为1/α;首先通过字母个数α将高斯分布划分为等概率区间,生成断点序列β,然后将paa变换后的行向量与断点序列β进行比对,根据均值所属区间转化为相应字母,α与β对应关系如表1所示。
[0091]
表1α与β对应关系
[0092][0093]
经过步骤s5降低了二维特征序列矩阵的维度,将符号化表示的数据以矩阵的形式存储,用于深度模型的训练和测试。
[0094]
在先前的工作中,研究人员证明了在网站指纹识别问题上采用cnn模型能够取得更好的效果。但是目前关于一维卷积神经网络的研究有限,研究人员往往把关注点放在二维卷积神经网络的应用上,尤其是在图像方面的应用。在数据预处理阶段,将一维时序序列多分类问题转化为二维矩阵多分类问题。因此在模型的选择上,我们考虑使用现有成熟的二维cnn多分类模型来处理网站指纹识别问题。
[0095]
我们分别测试了lenet、alexnet、googlenet、resnet以及senet这五个现有cnn模型,发现senet效果最好。我们对模型学习率以及批次数量等参数划分了区间,遍历测试了区间中的数值,选择出了最佳参数。分类器参数选择如表2所示。
[0096]
表2分类器参数选择
[0097][0098]
与上述基于格拉姆角场变换的tor用户访问网站识别方法相应地,本实施例还提出一种基于格拉姆角场变换的tor用户访问网站识别系统,包括:
[0099]
受监控网站集合构造模块,用于构造一个执法者感兴趣的受监控网站集合;
[0100]
流量数据包捕获模块,用于循环访问受监控网站集合中的元素,在访问过程中捕获流量数据包;
[0101]
信元特征序列提取模块,用于提取所收集流量数据包中的数据发送方向信息,对于每一条流量实例,生成一个由数据发送方向构成的信元特征序列;
[0102]
二维特征序列矩阵生成模块,用于对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵;
[0103]
降维模块,用于利用符号聚合近似对二维特征序列矩阵进行降维处理;
[0104]
数据库模块,用于将每个流量实例所对应的经过降维处理后的二维特征序列矩阵以及网站标签进行对应,将所有流量实例整合,分别生成数据集和标签集存储于数据库中;
[0105]
模型搭建模块,用于由于数据集的输入是二维矩阵,因此选择合适的二维矩阵深度学习模型,并且预设模型参数;
[0106]
模型训练模块,用于从数据库中提取数据集和标签集构成训练集训练二维矩阵深度学习模型的参数,通过训练选择出最佳参数;
[0107]
未知流量收集模块,用于监听受监控用户,提取其访问过程中的流量数据包,将其进行按照训练集的数据处理方法处理未知流量,获取未知流量的二维特征序列矩阵;
[0108]
模型分类模块,用于使用训练后的二维矩阵深度学习模型对未知流量的二维特征序列矩阵进行分类,通过分类结果所示的标签来判别未知流量所属网站。
[0109]
为了验证gdf方法的性能,在封闭世界以及开放世界两个场景下测试不同数据集,并且设计了下面一系列对比实验。
[0110]
(1)数据集
[0111]
封闭世界数据集。在封闭世界场景下(假设受监控用户只访问我们感兴趣的网站,
通过封闭世界可以更清晰地观察到分类器的性能),对无防御、wtf-pad 以及洋葱服务三种环境进行实验,对于无防御和wtf-pad,我们选择使用df 所提供的数据集,df数据集仅仅包含了信元序列的方向特征,与我们的方法相同。洋葱服务也叫隐藏服务,是tor所提供的最安全服务,它给服务器提供了一个.onion域名,这类域名不能被dns解析,能够很好的隐藏其身份。客户端通过隐藏服务访问服务器所搭建的链路也更加复杂。对于洋葱服务,我们选择使用overdorf等人所提供的数据集,overdorf等人收集了大量洋葱域名,并对这些域名进行了访问,它们在访问过程中在后台收集了流量数据包,并以tshark 日志的形式发布到互联网上,我们提取shark日志中的方向特征构成我们所需的数据,即onion service(cw)数据集。
[0112]
开放世界数据集。在开放世界场景下(假设受监控用户可以随机访问不同的网站,这些网站可以是我们感兴趣的网站,也可以是我们不感兴趣的网站,通过开放世界可以模拟更为现实的环境),对无防御和wtf-pad两种环境进行实验,选择使用tik-tok所提供的数据集,tik-tok数据集包含了信元序列的时序、方向和长度特征,我们提取数据集中的方向特征构成所需的数据集,即 undefended(ow)和wtf-pad(ow)数据集。
[0113]
表3展示的是每个数据集中网站类别以及访问网站实例的数量,为了方便评估gdf方法,我们对数据集进行了划分,按照8:1:1的比例将每个数据集随机划分为训练集、验证集以及测试集三部分。
[0114]
表3每个数据集中网站类别以及访问网站实例的数量
[0115][0116]
(2)封闭世界数据集上的网站指纹识别实验
[0117]
封闭世界场景下的网站指纹识别实验更能够评估方法的性能。为了体现 gdf的优越性,我们在相同数据集下将其与k-nn、k-fp、comul、df以及tik-tok方法进行了对比。封闭世界场景下不同网站指纹识别方法在三种环境下的精度结果如表4所示。
[0118]
表4封闭世界场景下不同网站指纹识别放在在三种环境下的精度结果
[0119][0120][0121]
从表4可以看出,gdf在封闭世界数据集上的表现出良好的效果。尤其是在onion service数据集上,gdf比目前效果最好的tik-tok方法的准确率高出了15.3%。同时gdf在wtf-pad(cw)数据集上也表现出良好的效果,分类效果明显优于其它方法。gdf在
undefended(cw)数据集上没有明显的提高。我们对错误分类的数据包进行了分析,发现大部分错误分类的数据包与所属同一类别的其它数据包的流量特征模式相差过大。我们认为导致这种现象发生的原因是在数据收集过程中出现了网络不稳定或者网络堵塞等情况。这些情况使收集的数据包出现了大量无用噪声,从而导致分类出现了错误。
[0122]
(3)开放世界数据集上的网站指纹识别实验
[0123]
开放世界场景下的网站指纹识别实验更能够模拟真实tor网络环境。在真实网络环境中,用户除了访问在封闭世界下所感兴趣的网站之外,还会访问其它我们不感兴趣的网站,但是收集所有网站的流量是不现实的。因此在开放世界中,考虑收集大量不受监控网站的流量来模拟现实环境,其中,不受监控网站的数量要远远大于封闭世界中的网站数量。在具体分类过程中,将所有不受监控网站的流量归为同一类,即如果在封闭世界中有k类网站,在开放世界中所对应的网站类别就有k+1类。
[0124]
在开放世界场景中,评估网站指纹识别方法的性能不再依赖于分类准确率。真阳性率(tpr)和假阳性率(fpr)常被用于评估开放世界下分类方法的性能,但是它们可能会因为受监控网站集与不受监控网站集的数量差距过大而导致对模型性能的解释出现错误。我们使用精度和召回率用于开放世界的评估,精度和召回率如公式(7)和(8)所示。
[0125][0126][0127]
我们在开放世界场景下评估了无防御和wtf-pad,将分类分别调向精度和召回率。将分类调向精度时,要增加在所有被识别为受监控网站流量中受监控网站流量所占的比例。将分类调向召回率时,要增加所有受监控网站流量中被正确识别为受监控网站流量所占的比例。在开放世界场景中,不同方法在上述两个数据集下,将分类分别调向精度和召回率的结果如表5和表6所示。同时,基于此数据绘制了开放世界中分类的precision-recall曲线,如图4所示。
[0128]
表5开放世界中undefended(ow)数据集上的tuned for precision和tuned for recall
[0129][0130]
表6开放世界中wtf-pad(open)数据集上的tuned for precision和tuned for recall
[0131]
[0132]
根据表5、表6和图4可以看出,在开放世界中gdf明显优于其他方法。对于无防御数据集,在分类调向精度时,gdf能够达到0.987的精度以及0.940 的召回率。在分类调向召回率时,gdf能够达到0.931的精度以及0.989的召回率。对于wtf-pad数据集,所有方法的结果都有所下降,但表现最好的还是gdf。在分类调向精度时,gdf能够达到0.984的精度以及0.757的召回率。在分类调向召回率时,gdf能够达到0.752的精度以及0.967的召回率。
[0133]
本发明提出了一种基于格拉姆角场变换的tor用户访问网站识别方法gdf。我们通过gaf变换将一维信元特征序列转换成二维特征序列矩阵,并利用sax 降维以及符号化表示所生成的矩阵,最终通过二维矩阵深度学习模型对矩阵进行学习和分类。我们在封闭世界和开放世界场景中评估了gdf方法。在封闭世界中,gdf在无防御、wtf-pad以及洋葱服务环境中均优于其他方法。在开放世界中,相对于其他方法,gdf表现依旧良好,我们通过精度和召回率证明了 gdf在更为现实的环境中也是有效的。总的来说,本发明提供了一种新的思路,把网站指纹识别转化为二维矩阵多分类问题,并且能够取得良好的效果。尤其是现阶段图像多分类以及自然语言处理是深度学习的热门方向,许多数据处理方法都可以移植到网站指纹识别问题中来。
[0134]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0135]
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

技术特征:
1.一种基于格拉姆角场变换的tor用户访问网站识别方法,其特征在于,包含以下步骤:构造一个执法者感兴趣的受监控网站集合;循环访问受监控网站集合中的元素,在访问过程中捕获流量数据包;提取所收集流量数据包中的数据发送方向信息,对于每一条流量实例,生成一个由数据发送方向构成的信元特征序列;对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵;利用符号聚合近似对二维特征序列矩阵进行降维处理;将每个流量实例所对应的经过降维处理后的二维特征序列矩阵以及网站标签进行对应,将所有流量实例整合,分别生成数据集和标签集存储于数据库中;由于数据集的输入是二维矩阵,因此选择合适的二维矩阵深度学习模型,并且预设模型参数;从数据库中提取数据集和标签集构成训练集训练二维矩阵深度学习模型的参数,通过训练选择出最佳参数;监听受监控用户,提取其访问过程中的流量数据包,将其进行按照训练集的数据处理方法处理未知流量,获取未知流量的二维特征序列矩阵;使用训练后的二维矩阵深度学习模型对未知流量的二维特征序列矩阵进行分类,通过分类结果所示的标签来判别未知流量所属网站。2.根据权利要求1所述的基于格拉姆角场变换的tor用户访问网站识别方法,其特征在于,提取信元特征序列包括:将流量数据包的原始信元序列映射到[+1,-1]的值域中,规定数据流入执法者的方向为“+1”,数据流出执法者的方向为
“‑
1”,通过此方法提取信元特征序列。3.根据权利要求1所述的基于格拉姆角场变换的tor用户访问网站识别方法,其特征在于,对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵,包括:对于一维信元特征序列x={x1,x2,

,x
n
},首先将每个信元值缩放到[-1,1]或者[0,1]的值域中,如公式(1)和公式(2)所示:的值域中,如公式(1)和公式(2)所示:将信元特征序列缩放后,将其转换到极坐标系下表示,用角的余弦值表示信元数值,用时间戳t表示半径r,如公式(3)所示:将信元特征序列缩放到不同的值域,所对应的角度范围也不同,如果值域的范围为[-1,1],则对应的角范围为[0,π],如果值域的范围为[0,1],则对应的角范围为[0,π/2];将信元特征序列转换到极坐标系后,通过三角函数的和/差来评估信元特征序列在不
同时间间隔内的时间相关性,格拉姆角和场gasf和格拉姆角差场gadf的定义如公式(4)和公式(5)所示:公式(5)所示:其中,i是单位行向量,是缩放后的信元特征序列,是的转置矩阵;假设一维信元特征序列x长度为n,那么gasf和gadf分别能够通过列向量与行向量相乘的方式把信元特征序列转换成n
×
n矩阵。4.根据权利要求3所述的基于格拉姆角场变换的tor用户访问网站识别方法,其特征在于,利用符号聚合近似对二维特征序列矩阵进行降维处理,包含以下步骤:归一化:对每个二维特征序列矩阵进行归一化处理,使其均值为0,标准差为1,符合高斯分布;数据降维:需要对n
×
n矩阵进行分段聚合近似变换;对行向量c
i
={c1,c2,

,c
n
}进行分段聚合近似变换,使其转换成行向量其中n必须为w的整倍数;分段聚合近似变换首先将行向量c
i
划分为w片段,然后求得每个片段的均值,构成行向量中的第f项计算方法如公式(6)所示:符号化表示:归一化使得分段聚合近似变换后的矩阵符合高斯分布,假定用α字母符号化表示矩阵,设断点序列β={β1,β2,


α-1
},对任意1<k<α,β
k-1
与β
k
之间的高斯分布概率值间隔为1/α;首先通过字母个数α将高斯分布划分为等概率区间,生成断点序列β,然后将分段聚合近似变换后的行向量与断点序列β进行比对,根据均值所属区间转化为相应字母。5.根据权利要求1所述的基于格拉姆角场变换的tor用户访问网站识别方法,其特征在于,所述二维矩阵深度学习模型为senet的cnn模型。6.一种基于格拉姆角场变换的tor用户访问网站识别系统,其特征在于,包括:受监控网站集合构造模块,用于构造一个执法者感兴趣的受监控网站集合;流量数据包捕获模块,用于循环访问受监控网站集合中的元素,在访问过程中捕获流量数据包;信元特征序列提取模块,用于提取所收集流量数据包中的数据发送方向信息,对于每一条流量实例,生成一个由数据发送方向构成的信元特征序列;二维特征序列矩阵生成模块,用于对每一条流量实例所对应的信元特征序列进行格拉姆角场变换,将其转换成二维特征序列矩阵;降维模块,用于利用符号聚合近似对二维特征序列矩阵进行降维处理;数据库模块,用于将每个流量实例所对应的经过降维处理后的二维特征序列矩阵以及
网站标签进行对应,将所有流量实例整合,分别生成数据集和标签集存储于数据库中;模型搭建模块,用于由于数据集的输入是二维矩阵,因此选择合适的二维矩阵深度学习模型,并且预设模型参数;模型训练模块,用于从数据库中提取数据集和标签集构成训练集训练二维矩阵深度学习模型的参数,通过训练选择出最佳参数;未知流量收集模块,用于监听受监控用户,提取其访问过程中的流量数据包,将其进行按照训练集的数据处理方法处理未知流量,获取未知流量的二维特征序列矩阵;模型分类模块,用于使用训练后的二维矩阵深度学习模型对未知流量的二维特征序列矩阵进行分类,通过分类结果所示的标签来判别未知流量所属网站。

技术总结
本发明属于匿名通信系统Tor技术领域,特别涉及一种基于格拉姆角场变换的Tor用户访问网站识别方法及系统,该方法首先提取用户访问网站时产生的流量数据包中的信元特征序列,然后通过格拉姆角场变换将一维信元特征序列转换成二维特征序列矩阵;其次利用符号聚合近似(SAX)对二维特征序列矩阵进行降维和符号化表示,降低分类过程中的时间和空间消耗,最后使用现有基于CNN的二维矩阵深度学习模型利用深度学习技术学习所有生成的二维特征序列矩阵,完成对用户访问流量的识别分类,进而识别出用户所访问的网站。本发明提出的GDF方法尤其在采用防御措施以及洋葱服务的场景下,网站指纹识别准确率明显优于现有方法。识别准确率明显优于现有方法。识别准确率明显优于现有方法。


技术研发人员:罗向阳 孙玉宸 王菡 马照瑞 李玲玲 刘粉林
受保护的技术使用者:中国人民解放军战略支援部队信息工程大学
技术研发日:2022.01.18
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-12858.html

最新回复(0)