一种面向多页面的Web站点指纹攻击方法

文档序号:32310927发布日期:2022-11-23 11:33阅读:155来源:国知局
一种面向多页面的Web站点指纹攻击方法
一种面向多页面的web站点指纹攻击方法
技术领域
1.本发明涉及一种面向多页面的web站点指纹攻击方法,属于流量分析(traffic analysis)和匿名网络(anonymity network)技术领域。


背景技术:

2.web是互联网最重要的应用之一,承载了繁多的业务种类,其中包含了大量的用户隐私数据。为了保护通信隐私安全,匿名通信技术应运而生并被广泛部署,但随之而来的匿名滥用问题也越发严重。web站点指纹攻击作为一种利用侧信道分析方法提取目标站点特征形成指纹从而识别站点的技术,对于加强匿名通信流量的监管以及促进通信隐私保护技术的发展都有着重要意义。然而,现有web站点指纹攻击的工作大多都在理想环境下离线进行,例如假设攻击者采集到的流量数据都属于单个页面、不含噪声等,而在真实场景下评估其攻击性能的研究工作较少。因此,多页面场景下的web站点指纹攻击技术仍需进一步研究。


技术实现要素:

3.发明目的:针对现有的web站点指纹攻击技术在真实场景下实用性较差的问题,本发明提出了面向多页面的web站点指纹攻击技术。该方案通过构建单页面/多页面分类模型,实现对未知混淆流量的区分,并基于balancecascade算法设计分割点识别方法,对多页面流量进行分割。再对分割出的尾端缺失流量序列以及前端重叠流量序列,分别构建基于残差网络以及多头自注意力机制的指纹识别模型,实现多页面的web站点指纹识别。
4.技术方案:本发明提出面向多页面的web站点指纹攻击方案。解决方案分为五个部分,分别是单页面/多页面区分、单页面识别、分割点识别、分割出的尾端缺失流量序列识别和前端重叠流量序列识别,具体如下:
5.(1)单页面/多页面区分:利用网络流量时间序列特征,使用卷积神经网络识别未知流量是由访问单个或多个页面产生;
6.(2)单页面识别:利用基于深度学习的web站点指纹攻击方法对(1)识别出的单页面流量进行识别;
7.(3)多页面分割点识别:对于(1)识别出的多页面流量,针对上行数据包提取相关特征,基于balancecascade算法设计分割点识别方法,获得流量分割点,从而将多页面流量分割为站点a流量序列以及站点b流量序列;
8.(4)尾端缺失流量序列识别:该流量序列中不含有其他页面的流量数据包,但是缺失了一部分尾端流量数据包。针对该序列特性,利用残差网络构建层次更深的神经网络模型,使得模型能在有限的片段中提取更加有效的特征;
9.(5)前端重叠流量序列识别:该流量序列在流量的前端含有一部分上一页面的尾端流量数据。对此,首先将流量特征序列分为多个组,并利用多头自注意力机制,对每个组计算注意力权重,最后将注意力权重与原始流量特征序列相乘生成新的流量特征并进行识
别,以此来提高对站点b流量序列的识别准确率。
10.进一步地,所述步骤(1)具体包括:
11.(11)将tcp数据报文还原成tor信元数据,进一步将流量序列以tor信元时间方向序列表示;
12.(12)使用含有三个卷积组的卷积神经网络构建单页面/多页面识别模型,并使用sigmoid函数作为激活函数,二分类交叉熵函数作为损失函数;
13.(13)将网络流量时间序列输入单页面/多页面识别模型并获得最终的分类结果。
14.进一步地,所述步骤(2)具体包括:
15.(21)对于识别出的单页面流量,将流量序列以tor信元方向序列表示;
16.(22)基于深度学习构建单页面识别模型,模型通过四个卷积组的叠加完成搭建,并在每个卷积组中加入droppout层缓解过拟合的发生,使用sigmoid函数作为激活函数,类交叉熵函数作为损失函数;
17.(22)将单页面流量方向序列输入单页面识别模型并获得第一个站点的识别结果。
18.进一步地,所述步骤(3)具体包括:
19.(31)将多页面流量中访问站点b的第一个http请求数据包标记为真分割点,其余上行数据包标记为假分割点;
20.(32)提取分割点前后数据包的时间特征和数量特征;
21.(33)将上行包数据集分为真分割点数据集p以及假分割点数据集n,将p、n以及迭代次数t作为参数输入到算法中,利用p与n的大小计算分类器应该达到的fpr阈值f,即把假分割点误分类为真分割点的概率,如下式所示:
[0022][0023]
(34)从假分割点数据集n中随机挑选出与p大小相同的子集ni,与p合并生成平衡数据集di,利用平衡数据集di训练生成xgboost基分类器,并调整参数θi控制分类器的fpr阈值为f,然后将所有判断正确的假分割点样本从数据集n中删除;
[0024]
(35)重复步骤(34)过程t-1次,最终生成的分割点识别模型是由多个基分类器集成而得到的,fpr阈值f的确定使得在经过t-1次迭代后,假分割点数据集n中的样本个数如下式所示:
[0025][0026]
因此在最后一次迭代时会抽取n中所有的样本进行训练,保证了所有的样本都参与了模型的构建,得到最终的分割点识别模型;
[0027]
(36)利用步骤(35)得到的分割点识别模型得到每个点是分割点的概率,选择概率最大的点作为流量的分割点,在该分割点所对应的数据包之前的流量片段为尾端流量缺失的站点a流量序列,在该分割点之后的流量片段则为前端流量重叠的站点b流量序列;
[0028]
进一步地,所述步骤(4)具体包括:
[0029]
(41)通过交替添加恒等块以及卷积块的方式构建尾端缺失序列识别模型;
[0030]
(42)将尾端缺失流量的方向序列输入步骤(41)构建的模型得到该序列属于每个
站点的概率,最终选择概率最大的站点作为预测结果。
[0031]
进一步地,所述步骤(5)具体包括:
[0032]
(51)将前端重叠流量的方向序列输入残差网络得到特征序列;
[0033]
(52)将步骤(51)中生成的特征序列按列展平为一维张量,并将其拆分成长度相同的特征块;
[0034]
(53)利用多头注意力机制,计算特征块与特征块之间的注意力权重,将每个组的特征块乘以注意力权重,最终利用softmax分类器进行分类。
[0035]
有益效果:本发明与现有技术相比,其显著优点是:
[0036]
1.本专利放宽传统web站点指纹攻击模型无背景流量的强假设,设计了面向多页面的web站点指纹攻击技术,更贴近真实场景情况,提高了web站点指纹攻击的实用性。
[0037]
2.分析多页面的访问过程,将真分割点标记为访问第二个站点的第一个http请求数据报文,而其余上行报文则标记为假分割点,存在样本类别不平衡问题,影响真分割点识别准确率。因此,本专利基于balancecascade算法设计流量分割点识别算法,解决样本不平衡问题,提高了模型对于少数类样本的识别准确率,进而提高了最终的各页面识别准确率。
[0038]
3.对分割出的第一个站点的流量进行分析,其缺失一部分尾端流量。因此,本专利利用残差网络构建更深层次的神经网络模型,使得能够在有限的片段中提取更加有效的特征,提高了对该站点的识别准确率。
[0039]
4.现有web站点指纹攻击技术对页面重叠率较高的多页面流量识别效果较差,本专利对含有重叠流量的第二个站点的流量进行分析,利用多头自注意力机制构建新的流量特征,使得与第二个站点相关的特征对分类结果的贡献度更大,与上一站点相关的特征对分类结果的影响小,提高了对该站点的识别准确率。
附图说明
[0040]
图1是本发明攻击模型示意图。
[0041]
图2是本发明的尾端缺失流量序列识别模型结构示意图。
[0042]
图3是本发明的前端重叠流量序列特征分组过程示意图。
[0043]
图4是本发明的前端重叠流量序列所对应的站点识别过程示意图。
具体实施方式
[0044]
本发明设计并实现面向多页面的web站点指纹攻击技术。该技术分为五个部分,分别是单页面/多页面区分、单页面识别、分割点识别、分割出的尾端缺失流量序列识别和前端重叠流量序列识别。具体包括:
[0045]
1、单页面/多页面区分
[0046]
本发明利用卷积神经网络来构建单页面/多页面识别模型,它是一类包含卷积计算且具有深度结构的前馈神经网络。通过卷积运算将输入序列分割成为小片来提取局部特征,并通过反向传播算法动态调整权重以达到良好的分类效果。本发明所提出的识别模型一共由三个卷积组构成,每一个卷积组都包括卷积层、批归一化层、激活层以及最大池化层,最后以全连接层作为输出。由于该模型要解决的是一个二分类问题,因此在全连接层之后,本发明使用sigmoid函数作为激活函数,二分类交叉熵函数作为损失函数。最终将流量
时间方向序列输入构建的卷积神经网络中,得到分类结果。
[0047]
2、单页面识别
[0048]
本发明利用卷积神经网络来构建单页面识别模型,该模型由四个卷积组构成,每个卷积组包含两个卷积层、两个批归一化层、两个激活层、一个最大池化层以及一个droppout层,模型通过卷积组的叠加完成搭建,最后以全连接层作为输出。由于模型需要解决的是一个多分类问题,因此在全连接层之后,本发明使用softmax函数作为激活函数,类交叉熵函数作为损失函数。最终将流量方向序列输入构建的卷积神经网络中,得到分类结果。
[0049]
3、多页面分割点识别
[0050]
在一条多页面网络流量中,分割点可以分为上行包分割点以及下行包分割点,为了尽量分离两个页面的流量,本发明将访问站点b发送的第一个http请求数据包选定为上行包分割点,访问站点a接收的最后一个下行数据包选定为下行包分割点。在web站点访问过程中,下行报文个数远大于上行报文个数。因此,本发明选择上行包分割点作为重叠流量分割点,来减少识别数据包的总次数。
[0051]
分割点识别本质上就是判定流量序列中每一个上行包是否为访问站点b所发送的第一个http请求,因此可将分割点识别转化为一个有监督的分类问题:需要先将流量中的上行数据包标记为真分割点以及假分割点。本发明通过修改tor源码,记录在页面访问过程中每一个tor信元的发送时间、发送方向。通过分析日志信息,可以得出多页面访问过程。
[0052]
用户在通过tor访问站点a时,首先要发送一个中继信元指示出口节点与网站建立tcp连接,当接收到tcp连接成功的响应之后,才会发送http get报文请求进行后续数据的通信。在访问站点b时,同样会先经历相同的步骤。而在等待站点b的tcp连接成功的响应过程中,第一个页面的数据包仍在进行传输,这就导致访问站点b发送的第一个中继信元前后关于站点a的流量数据包较多,流量特征不明显。同时考虑到http get请求发出后会在短时间内引起下行报文的流量突发,存在较明显的流量特征。因此,本发明标记真分割点为访问站点b的第一个http请求数据报文,而不是发送的第一个中继信元。
[0053]
本发明基于以下两点提取分割点特征:首先,在页面访问的前期,需要向站点发送访问请求,而在页面访问的后期,主要的数据为页面的响应数据。本发明提取分割点前后数据包的时间特征、数量特征。
[0054]
在一条多页面重叠的网络流量之中,真分割点只有一个,其余的上行包都为假分割点,这使得上行包数据集中样本类别不平衡,可能会导致训练出的模型对于假分割点的识别准确率高,对于真分割点的识别准确率低。因此,本发明设计利用balancecascade算法解决样本类别不平衡的分类问题。首先将上行包数据集分为真分割点数据集p以及假分割点数据集n,将p、n以及迭代次数t作为参数输入到算法中,利用p与n的大小计算分类器应该达到的fpr阈值f,即把假分割点误分类为真分割点的概率,如下式所示:
[0055][0056]
其次从假分割点数据集n中随机挑选出与p大小相同的子集ni,与p合并生成平衡数据集di,利用数据集di训练生成xgboost基分类器,并调整参数θi控制分类器的fpr为f,然
后将所有判断正确的假分割点样本从数据集n中删除,之后进入下一次迭代按同样的方法生成新的基分类器。最终生成的分割点识别模型是由多个基分类器集成而得到的。fpr阈值f的确定使得算法在经历过t-1轮迭代过后,假分割点数据集n中的样本个数如下式所示:
[0057][0058]
因此,最后一次迭代就会抽取n中所有的样本进行训练,这保证了经过t次迭代过后,所有的样本都能参与模型的构建。balancecascade算法是一种欠采样的方法,但是它利用监督学习以及boosting的机制解决了传统随机欠采样中信息丢失的问题,提高了模型对于少数类样本的识别准确率。具体算法流程如下:
[0059][0060]
训练出分割点识别模型之后,需要对多页面流量中所有的上行包进行识别,得到每个点是分割点的概率,最终选择概率值最大的点作为多页面流量的分割点进行流量片段切分。
[0061]
4、尾端缺失流量序列识别
[0062]
尾端缺失流量序列虽然对原始流量进行了截断,但不同于前端重叠流量序列,序列中并不含有其他页面的流量数据包。因此,模型仅需要针对不完整的络流量片段进行构建。相比于完整的流量序列,尾端缺失流量序列长度更短,所能够提取到的有效特征更少。因此,本发明通过增加网络深度的方式来学习到更深层次的特征。但过深层次的神经网络会产生梯度消失的问题,导致识别准确率下降。本发明通过引入残差网络来解决梯度消失的问题。残差网络可以通过跳跃连接的方式将梯度信息传递到神经网络的更深层次,有效地改善神经网络由于层次过深而产生的梯度消失、网络退化问题。
[0063]
残差网络由多个残差块构成,其中残差块可以分为两种类型:恒等块、卷积块。本发明通过交替添加恒等块以及卷积块的方式实现模型的构建,如图2所示。模型的输入为流量的方向序列,通过残差网络提取特征之后,使用softmax分类器进行分类,获得该序列属于每个站点的概率,最终选择概率最大的站点作为预测结果。
[0064]
5、前端重叠流量序列识别
[0065]
前端重叠流量序列在流量的前端含有一部分上一页面的尾端流量数据。因此,该片段的识别模型需要针对带有噪声的网络流量片段进行识别。
[0066]
首先,特征生成过程与尾端缺失序列识别相似,模型的输入为流量的方向序列,利用残差网络从原始的流量序列中生成特征序列。
[0067]
接下来,本发明采用按列展平的方式将特征序列展平为一维张量。特征序列展平之后,本发明将特征序列拆分成长度相同的特征块,这就使得在尾端的一些特征块不含有重叠流量,减轻了站点a流量序列所带来的影响。特征分组过程如图3所示。
[0068]
接着,在进行站点识别的过程中,需要对不同的特征块赋予不同的权重,即对与站点a相关的特征块赋予低权重,对与站点b相关的特征块赋予高权重,这能够使得与站点b相关的特征对分类结果的贡献度大,站点a相关的特征对分类结果的影响小,以此提高站点识别的准确率。
[0069]
本发明利用多头自注意力机制来解决特征块的权重分配问题。多头自注意力机制是对自注意力机制的改进,自注意力机制又源于注意力机制。注意力机制一般用于自然语言处理领域,它能够帮助模型注意到对分类结果有着关键作用的单词,对这些单词赋予高权重,而对其他不重要的单词赋予低权重。本发明将每一个特征块类比于序列中的每个单词,利用多头自注意力机制,计算特征块与特征块之间的注意力权重。通过多头自注意力机制的处理,与标签相关性高的特征块会获得更高的注意力权重,也就是说,不含有重叠流量的特征块会获得更大的注意力,因此能够保留更多的权重,而对于带有重叠流量的特征块,多头自注意力机制会给出较低的分数,这也减轻了站点a尾端序列对最终识别结果的影响。对于分组后的特征,本发明利用多头自注意力机制,计算出每个特征块与其他特征块的注意力权重,再将每个组的特征块乘以注意力权重,最后利用softmax分类器进行分类。站点识别过程如图4所示。
[0070]
本发明中用到的英文缩写,其中文解释如下:
[0071]
1.web,全称为world wide web,其中文解释为全球广域网,也称为万维网;
[0072]
2.tor,全称为the onion router,其中文解释为洋葱路由;
[0073]
3.tcp,全称为transmission control protocol,其中文解释为传输控制协议;
[0074]
4.http,全称为hyper text transfer protocol,其中文解释为超文本传输协议;
[0075]
5.fpr,全称为false positive rate,其中文解释为假阳性率。
[0076]
最后应当说明的是:以上实施例仅用于说明本技术的技术方案而非对其保护范围的限制,尽管参照上述实施例对本技术进行了详细的说明,所属领域的普通技术人员应当理解:本领域技术人员阅读本技术后依然可对申请的具体实施方式进行种种变更、修改或者等同替换,但这些变更、修改或者等同替换,均在申请待批的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1