基于网络数据流间时空相关性的网站指纹识别方法和系统

文档序号:32850767发布日期:2023-01-06 23:04阅读:42来源:国知局
基于网络数据流间时空相关性的网站指纹识别方法和系统

1.本发明涉及计算机网络技术领域,尤其涉及一种基于网络数据流间时空相关性的网站指纹识别方法和系统。


背景技术:

2.网络流量识别可以帮助网络管理者掌握网络中应用、设备、协议的类型与数量等状态,进而精准地实施网络管理策略。网站指纹识别旨在识别加密流量对应的网页。网站指纹识别作为网络管理的重要组成部分,已成为流量识别领域的热门话题之一;其中,网站指纹主要是从网站的流量中提取到的网站的一个综合表征(或者特征),继而可以实现对网站流量的识别。
3.近年来,随着网络技术的高速发展以及人们对隐私数据的逐渐重视,加密技术在网络通信中得到了广泛使用。谷歌透明度报告显示,2019年互联网上排名前100 位的非 google(谷歌)网站支持 https(超文本传输安全协议)的比例为100%,默认使用https的占比为97%,截至2022年5月,chrome(谷歌浏览器)中通过 https 加载的网页所占的百分比已经达到99%。网络加密技术的广泛应用和加密流量的快速增长有效提高了网络安全水平和保护了隐私,但是也提高了网站指纹识别的难度。
4.随着人工智能技术的兴起,出现了许多基于传统机器学习的网站指纹识别方法,然而,网络数据流数量多、复杂、动态变化,一般的基于传统机器学习的方法难以取得好的识别效果,而且基于传统机器学习的方法需要先验知识来设计一组能准确反映流量特性的特征集,费时费力。基于传统机器学习的方法主要考虑流量的统计特征,由于网络的分层结构,能够反映网站流量特征的应用层数据在经过运输层的分段后,通过ip(网际互连协议)层传输时,数据的统计特征已经很难反映流量的原始特性。另外,实际网络环境也会对流量统计特征造成影响,如tcp(传输控制协议)重传机制会给流量的统计特征带来波动。因此,基于传统机器学习的方法的流量识别有很大的局限性。
5.近年来,随着深度学习在很多领域成功应用,出现了应用深度学习的方法来解决网站指纹识别问题的研究,由于深度学习技术可以自动从原始数据中提取学习到其潜在的特征,与传统机器学习方法相比,深度学习技术解决了其过度依赖特征提取的弊端。目前已经有不少相关研究采用深度学习(如卷积神经网络、长短期记忆网络等)方法进行网络流量识别,也取得了一定的效果。
6.然而,无论是基于传统机器学习的方法,还是目前应用深度学习的方法大多是从数据包的层面观察流量痕迹的模式,从而获得网站的指纹,识别时一般是将网站流量的特征组织成欧几里德结构数据(euclidean structure data),这样的处理方式在面对持续更新和不断变化的流量环境时会削弱它们的有效性,从而导致识别准确率不佳。


技术实现要素:

7.本发明的目的是提供一种基于网络数据流间时空相关性的网站指纹识别方法和
系统,可以从网络数据流的特征以及网络数据流之间的时空相关性中捕捉有效信息,从而提升识别准确率。
8.本发明的目的是通过以下技术方案实现的:一种基于网络数据流间时空相关性的网站指纹识别方法,包括:获取一个网站单次访问所产生的网络数据流,并提取每一网络数据流的特征;将每一网络数据流作为节点,将连续的远程目的地相同的网络数据流分为一组,再结合网络数据流的时间为各个组进行编号,在组内网络数据流对应的节点之间以及相邻组网络数据流对应的节点之间添加边,构建网络数据流间时空相关图,所述网络数据流间时空相关图中节点的特征为相应网络数据流的特征,边的特征通过相关网络数据流之间的时间和空间关系计算;利用图神经网络对所述网络数据流间时空相关图进行处理,获得网络数据流间时空相关图的全局表征;利用所述网络数据流间时空相关图的全局表征进行分类,获得网站指纹识别结果。
9.所述每一网络数据流的特征包括:序列特征与统计特征;每一网络数据流分为上行数据流和下行数据流,序列特征是网络数据流的固定长度的数据包大小序列,上行数据流中数据包的大小的符号为正号,下行数据流中数据包大小符号为负号;对于统计特征,先设置m个统计指标,再对上行数据流、下行数据流以及上行数据流和下行数据流构成的完整的网络数据流分别计算m个统计指标,获得3m个统计数据,对3m个统计数据的贡献进行排序,选出排序靠前的多个统计数据作为统计特征;其中,m为正整数。
10.所述边的特征通过相关网络数据流之间的时间和空间关系计算包括:边的特征为一个二维向量,分别表示相应边所连接的两个网络数据流之间的时间相关性与空间相关性;其中:时间相关性的数值越大表示时间相关性越强,时间相关性利用两个网络数据流的起始时间间隔来计算;空间相关性的数值越大表示时间相关性越强,空间相关性根据两个网络数据流的远程ip是否属于同一个网络目的地来确定,或者根据两个网络数据流的远程ip获取对应ip归属地,根据ip归属地来定义网络目的地,再根据网络目的地的物理距离来进行量化得到空间相关性。
11.所述利用图神经网络对所述网络数据流间时空相关图进行处理,获得网络数据流间时空相关图的全局表征包括:所述图神经网络包括:多个图注意力层、图池化层与读出层;其中,每一图注意力层分别采用注意力机制并结合边的特征更新节点的特征,对于每一节点,将所有图注意力层更新的节点的特征进行拼接,作为每一节点的最终特征,并通过图池化层结合每一节点的最终特征计算出每一个节点的分数,剔除分数小于阈值的节点及相关的边,获得池化后的网络数据流间时空相关图,再通过读出层进行全局池化,获得网络数据流间时空相关图的全局表征。
12.所述每一图注意力层分别采用注意力机制并结合边的特征更新节点的特征,对于
每一节点,将所有图注意力层更新的节点的特征进行拼接,作为每一节点的最终特征包括:将网络数据流间时空相关图中所有节点的特征构成的集合h分别输入至每一图注意力层,集合h表示为:,其中,n表示节点数目,表示节点i的特征,i=1,2,

,n;每一图注意力层中,对于节点i,利用其各个邻居节点的特征和边的特征计算各个邻居节点的注意力权重,并结合各个邻居节点的注意力权重将各个邻居节点的特征线性累加,计算更新后的节点i的特征;其中,节点i的邻居节点是指通过边与节点i连接的节点;对于节点i,将所有图注意力层更新的节点的特征进行拼接,得到节点i的最终特征,最终,所有节点的最终特征构成的集合表示为:,其中,表示节点i的最终特征。
13.所述每一图注意力层中,对于节点i,利用其各个邻居节点的特征和边的特征计算各个邻居节点的注意力权重包括:将节点i及其所有邻居节点构成的集合记为ni,注意力权重通过下述公式计算:其中,表示图注意力层计算出节点j对于节点i的重要性,即节点j的注意力权重,leakyrelu(.)表示leakyrelu激活函数,表示节点i的邻居节点j的特征,表示节点i与其邻居节点j的边的特征,表示节点i的邻居节点l的特征,表示节点i与其邻居节点l的边的特征,符号||表示拼接操作,w、we与为图注意力层中的三个可训练参数。
14.所述将所有图注意力层更新的节点的特征进行拼接,得到节点i的最终特征表示为:其中,k表示图注意力层的数目,表示第k个图注意力层计算出的节点j对于节点i的重要性,表示第k个图注意力层的权重矩阵,表示节点i的邻居节点j的特征,ni表示节点i及其所有邻居节点构成的集合,符号||表示拼接操作,表示激活函数,表示节点i的最终特征。
15.一种基于网络数据流间时空相关性的网站指纹识别系统,包括:
或“y”的情况也包括“x和y”的三种情况。
21.术语“包括”、“包含”、“含有”、“具有”或其它类似语义的描述,应被解释为非排它性的包括。例如:包括某技术特征要素(如原料、组分、成分、载体、剂型、材料、尺寸、零件、部件、机构、装置、步骤、工序、方法、反应条件、加工条件、参数、算法、信号、数据、产品或制品等),应被解释为不仅包括明确列出的某技术特征要素,还可以包括未明确列出的本领域公知的其它技术特征要素。
22.下面对本发明所提供的一种基于网络数据流间时空相关性的网站指纹识别方案进行详细描述。本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本发明实施例中未注明具体条件者,按照本领域常规条件或制造商建议的条件进行。
23.实施例一本发明实施例在网站指纹识别中根据网络数据流的特征以及网络数据流之间的时空相关性中捕捉有效信息,帮助识别不同的网站。从网络数据流的角度去观察网站流量,会发现这些网络数据流之间具有相当复杂的相关性,根据相关性可以将网络数据流表示为一种非欧几里德结构数据(non-euclidean structure data),因此,可以将网络数据流构建为图数据,本发明定义了网络数据流间时空相关图,来反映由网站流量(采集的原始的数据,是以一系列网络数据包组成)得到的网络数据流(对一系列的网络数据包按照五元组切分得到)的状态及其在时间和空间上的关系。在流量识别中考虑多流的时空特性,数据简单的拼接排列(即组织成欧几里德结构数据)已不太合适,相比于欧几里德结构数据,图数据这样的非欧几里德结构数据更能对网络数据流本身及其相互关系进行准确描述。图神经网络 (graph neural networks,gnn) 是深度学习在图数据上的扩展,非常适合用来解决传统深度学习网络无法表示图数据这种关系型数据的问题。传统的网站指纹识别方法忽略数据流层面的信息的做法也可能会造成模型的泛化能力不足,而将流量数据转换成图结构数据,并采用图神经网络进行训练和检测,可以有效解决这一问题,因此可以将图神经网络应用到网站指纹识别的工作中来提高识别准确率。
24.因此,本发明实施例提供一种基于网络数据流间时空相关性的网站指纹识别方法,将网络数据流作为图数据的节点,节点参数用网络数据流自身的特征来表征,网络数据流之间的关系作为图数据的边,边的参数基于网络数据流之间的时空关系(起始时间、ip地址关系等)来创建。之后,使用图神经网络从网络数据流间时空相关图中提取多个网络数据流的综合表征,通过分类可以识别不同的网站指纹,如图1所示,该方法主要包括如下步骤:步骤1、获取一个网站单次访问所产生的网络数据流,并提取每一网络数据流的特征。
25.本发明实施例中,针对每个网站加载过程中产生的网络流量进行网络数据流的特征提取。在实际应用中,当使用浏览器访问一个网站时,可以通过抓包工具去抓取网站所产生的网络数据包,经过五元组(源ip地址,源端口,目的ip地址,目的端口,传输层协议)切分得到一系列网络数据流,并根据一个网站单次访问所产生的网络数据流构建网络数据流间时空相关图。
26.本发明实施例中,网络数据流指的是一条会话流,或者可称为双向流。一般来说,单向流是由一个五元组(源ip地址,源端口,目的ip地址,目的端口,传输层协议)来唯一确定的,双向流是由两个单向流组成,这两个单向流的源ip地址、源端口、目的ip地址和目的
端口是对称关系。节点信息对图神经网络的识别结果会起到十分重要的作用,因此需要选择合适的特征来表征节点。
27.本发明实施例中,网络数据流的特征包括:序列特征与统计特征;序列特征和统计特征拼接组成的向量作为网络数据流的特征。
28.一条网络数据流中的数据包根据源ip是否是本地主机可以分为上行数据包和下行数据包,进而一条数据流可以分为上行数据流和下行数据流。序列特征是网络数据流的固定长度的数据包大小序列,其中,上行数据流中数据包的大小的符号为正号,下行数据流中数据包大小符号为负号。
29.对于统计特征,先设置m个统计指标,再对上行数据流、下行数据流以及上行数据流和下行数据流构成的完整的网络数据流分别计算m个统计指标,获得3m个统计数据,对3m个统计数据的贡献进行排序,选出排序靠前的多个统计数据作为统计特征;其中,m为正整数,可根据实际情况或者经验设置具体的统计指标类型与数目(即m的数值大小)。示例性的:可以选取最小值、最大值、平均值、中值绝对偏差、标准偏差、方差、偏斜、峰度、百分位数(从10%到90%)和数据包数等18个统计指标,分别对完整数据流、上行数据流和下行数据流做统计,得到54个统计数据,然后使用随机森林的方法对统计数据的贡献做出排序(例如,根据每个统计数据在分类任务的贡献大小进行排序),使用贡献最高的多个(具体数目了根据实际情况或者经验设置)统计数据作为统计特征,选择统计特征的数目可以根据实际应用情况来考虑,特征越多的准确率越高,但是计算复杂度也越高;特征减少准确率降低,但是计算复杂度相对小。
30.步骤2、将每一网络数据流作为节点,将连续的远程目的地相同的网络数据流分为一组,再结合网络数据流的时间为各个组进行编号,在组内网络数据流对应的节点之间以及相邻组网络数据流对应的节点之间添加边,构建网络数据流间时空相关图,所述网络数据流间时空相关图中节点的特征为相应网络数据流的特征,边的特征通过相关网络数据流之间的时间和空间关系计算。
31.网站的加载过程实际上就是本地主机与远程服务器的交互过程,需要注意的是,网站为了保证服务的质量和尽可能地减少服务中断情况的发生,可能会让网站的某项服务由多个冗余服务器同时来提供,或者也可能会采用负载均衡机制,因此,远程服务器的数量往往不止一个。对于一个网站,它的不同服务器的位置即远程网络目的地是有不同的物理地址的,因此它们的ip地址在空间上是存在相关性的。
32.不同的网站在网页元素类型(例如文本、图像和其他媒体内容)具有固有的多样性,不同内容是由确切的位于不同网络目的地的服务器存储和向本地主机发送,而且元素加载顺序具有固定性。因此,不同网站的加载过程中,本地ip与不同目的地的远程服务器建立交互在时间次序上是有马尔可夫性的。
33.因此,网络数据流之间在时间和空间上是具有一定的相关性的。
34.本发明实施例中,基于网络数据流之间的时空相关性来构建网络数据流间时空相关图,节点特征即为对应网络数据流的特征,节点之间的边的特征是用来表征网络数据流之间的时空关系,其边的特征由一个二维向量表示,分别表示相应边所连接的两个网络数据流之间的时间相关性与空间相关性。
35.1)时间相关性。
36.本发明实施例中,时间相关性的数值越大表示时间相关性越强,时间相关性可以利用两个网络数据流的起始时间间隔来计算。
37.示例性的,可以设置时间相关性由弱到强对应[0,1]区间的值,当使用两个网络数据流的起始时间间隔大小来计算时间相关性时,时间相关性的数值由 计算得到,其中t1和t2分别是两个网络数据流对应数据流的开始时间,e为自然常数,这样可以保证时间间隔越小数值越大,且数值在0到1的区间内。
[0038] 2)空间相关性。
[0039]
空间相关性的数值越大表示时间相关性越强,空间相关性根据两个网络数据流的远程ip是否属于同一个网络目的地来确定,或者根据两个网络数据流的远程ip获取对应ip归属地,根据ip归属地来定义网络目的地,再根据网络目的地的物理距离来进行量化得到空间相关性。
[0040]
示例性的:空间相关性由弱到强,对应[0,1]区间的值。比如,网站的远程服务器的数量往往不止一个,由于负载均衡等机制的存在,会出现几个远程服务器的ip地址属于同一个ip地址池的情况,可以将属于同一个ip地址池的不同远程ip认为是同一个网络目的地,比如可以通过ip地址和tls(安全传输层协议)证书(如果有的话)来确定两个不同的网络数据流的远程ip是否属于同一个网络目的地(ip地址和tls证书有其中一个相同,则认为是同一网络目的地),网络目的地相同则边的第2维特征(即空间相关性)置为1,否则为0。
[0041]
如图2所示,展示了网络数据流间时空相关图的示例。图2中:1~8表示8个网络数据流的序号,t1~t8表示8个网络数据流的开始时间,ip1~ip8表示8个网络数据流对应的远程ip,dest1~dest4表示4个网络目的地址,每个网络数据流对应的4个小的矩形框表示对应的网络数据流的特征。将连续的远程目的地相同的网络数据流认为是一组,因为这些网络数据流的时间顺序往往是不明确的,所以在组内的每两个网络数据流对应的节点之间有一条边。组与组之间的时间顺序相对明确,因此,按照网络数据流对应的时间顺序为各个组进行编号,按照编号顺序对于属于相邻组的节点,它们之间也有一条边来表示时间顺序。在图2中,边特征采用前述所述的方式计算;但是,在网站流量数量足够多和条件允许(网站流量多样性足够,并且在多个地方采集)的情况下,可以做更加精细的空间相关性定义,例如,由远程ip地址获取对应的ip归属地,根据ip归属地来定义网络目的地,然后根据网络目的地的物理距离(如城市和城市之间的距离)来进行量化,得到网络数据流之间的空间相关性。
[0042]
步骤3、利用图神经网络对所述网络数据流间时空相关图进行处理,获得网络数据流间时空相关图的全局表征。
[0043]
本实施例中的应用场景是面向多流时空相关性分析的网站指纹识别,所构建的流间时空相关图是一种非欧几里德结构数据,需要使用图神经网络来进行处理。
[0044]
所述图神经网络包括:多个图注意力层、图池化层与读出层;其中,每一图注意力层分别采用注意力机制并结合边的特征更新节点的特征,对于每一节点,将所有图注意力层更新的节点的特征进行拼接,作为每一节点的最终特征,并通过图池化层结合每一节点的最终特征计算出每一个节点的分数,剔除分数小于阈值的节点及相关的边,获得池化后的网络数据流间时空相关图,再通过读出层进行全局池化,获得网络数据流间时空相关图的全局表征。
[0045]
本发明实施例中,所有图注意力层形成了图注意力网络(graph attention networks,gat),它将注意力机制引入到图结构数据上,注意力机制的一个优势是通过关注在最相关的部分来做出决策;在实际操作中,图注意力层的数量可以根据实际情况进行调整。每个图注意力层具有独立的注意力机制。
[0046]
通过多个图注意力层计算每一节点最终特征的流程包括:将网络数据流间时空相关图中所有节点的特征构成的集合h分别输入至每一图注意力层,集合h表示为:,其中,n表示节点数目,表示节点i的特征,i=1,2,

,n,为实数集符号,f表示输入至图注意力层的节点的特征的维度;每一图注意力层中,对于节点i,利用其邻居节点特征和边的特征计算各个邻居节点的注意力权重,结合各个邻居节点的注意力权重将各个邻居节点的特征线性累加,计算得到更新后的节点i的特征;其中,节点i的邻居节点是指通过边与节点i连接的节点(包括节点i本身);对于节点i,将所有图注意力层更新的节点的特征进行拼接,得到节点i的最终特征,最终,所有节点的最终特征构成的集合表示为:,其中,表示节点i的最终特征,表示节点的最终特征的维度。
[0047]
图注意力层使用注意力权重来定义邻居节点j对于节点i的重要性,可以通过注意力机制学习。考虑到图的结构信息,当且仅当节点i和节点j之间存在一条边时,节点j才能够称之为节点i的邻居节点,此时才会计算注意力权重,不带边特征的注意力权重计算方式表示为:其中,表示节点j对于节点i的重要性,即节点j的注意力权重,它是不带边特征的注意力权重,leakyrelu(.)表示leakyrelu激活函数;ni表示节点i的所有邻居节点构成的集合(包含节点i本身),表示节点i的邻居节点j的特征,表示节点i的邻居节点l的特征,与均通过节点的特征集合确定;符号||表示拼接操作,w(矩阵)与(向量)均属于图注意力层的可训练参数。
[0048]
由于本发明实施例中,所述网络数据流间时空相关图的边具有多维特征,因此,每一图注意力层中,对于节点i,其邻居节点的注意力权重通过下述公式计算:其中,表示图注意力层计算出的节点j对于节点i的重要性,即节点j的注意力
权重,它是带边特征的注意力权重,表示节点i与其邻居节点j的边的特征,表示节点i与其邻居节点l的边的特征,w、we(矩阵)与均为图注意力层的可训练参数。
[0049] 实践证明,扩展上述注意力机制为多头注意力 (multi-head attention) 机制更为有效,本发明也使用多头注意力机制,将图注意力层的数目记为k,将所有图注意力层更新的节点的特征进行拼接,得到节点i的最终特征表示为:其中,表示第k个图注意力层计算出的更新后的节点i的特征,w
(k)
表示第k个图注意力层的权重矩阵,符号||表示拼接操作,表示激活函数,表示节点i的最终特征,表示第k个图注意力层计算的节点j对于节点i的重要性,所有图注意力层都采用前述公式计算,区别主要在于不同图注意力层对应的权重矩阵和向量不同,第k个图注意力层中的两个权重矩阵和向量记为w
(k)
、与。
[0050]
图3展示了图注意力层的处理方式。图3左侧展示了单个图注意力层计算注意力权重的过程;图3右侧展示多头注意力机制下节点特征的更新过程,以节点1为例,提供了其包含两个邻居节点,使用两个独立的图注意力层计算节点1的最终特征的过程。
[0051]
为了更加关注重要节点,削弱噪声节点对识别结果的影响,同时减少模型参数,提高训练和识别效率,此处所述的模型是指本发明方法构成的整体模型。本发明实施例中,图池化层使用自注意力图池化(self-attention graph pooling,sagpool)的方法来对图注意力层的输出做池化操作。sagpool利用图注意力的方法对图中每个节点学习出一个分数(即图注意力层输出的节点特征维度为1),基于这个分数的排序丢弃一些低分数的节点。这种池化方式借鉴了cnn(卷积神经网络)中的最大池化操作的思路,将更重要的信息筛选出来,如图4所示。sagpool利用了图的结构信息对节点的重要度进行学习,得到的图的全局表示既包含了图的结构信息,也包含了各个节点的属性信息,是一种优秀的图池化方法。
[0052]
之后,通过读出层对图池化层输出的池化后的网络数据流间时空相关图进行全局池化,获得网络数据流间时空相关图的全局表征。
[0053]
步骤4、利用所述网络数据流间时空相关图的全局表征进行分类,获得网站指纹识别结果。
[0054]
本发明实施例中,可以使用全连接层作为分类器执行分类任务,获得网站指纹识别结果。
[0055]
下面将本发明实施例提供的上述方案做一个整体说明,图5展示了网站指纹识别方法的整体框架,主要包括:特征提取、图生成、图神经网络、分类器等部分。特征提取按照前述步骤1的方式提取各网络数据流的特征,图生成部分按照前述步骤2的方式生成网络数
据流间时空相关图,图神经网络按照前述步骤3的方式得到网络数据流间时空相关图的全局表征,分类器按照前述步骤4的方式得到网站指纹识别结果;图5中展示的三层图注意力层的数目仅为举例。
[0056]
其中,图神经网络需要预先进行训练,训练阶段与测试阶段的主要流程是相同的,都是按照以上步骤1~步骤4的方式执行,区别主要在于,训练时需要结合步骤4的分类结果(训练结果)来更新图神经网络的参数,而测试阶段不更新图神经网络的参数。训练阶段:首先获取网络数据流间时空相关图的邻接矩阵和特征矩阵,其中,邻接矩阵通过节点的边的关系构建,行列数均为n(也即等于节点数目),邻接矩阵中各位置的数值表示相应节点之间是否存在一条边,例如,第m个节点与第n个节点之间存在一条边,则第m行第n列、第n行第m列的数值为1,否则为0;特征矩阵每一行为一个节点的特征。之后,通过多个具有独立的注意力机制的图注意力层来更新节点信息,将每一个图注意力层输出的更新后的节点的特征进行拼接,此时每个节点的特征既包含了自身的信息,也包含了邻居节点的信息,拼接得到的节点的最终特征经图池化层的池化,再由读出层进行全局池化后,得到网络数据流间时空相关图的全局表征;最后,通过分类器获得训练的分类结果。通过对网络数据流间时空相关图进行端到端的学习和训练,根据训练结果来调整图神经网络的参数。在测试阶段,使用训练好的图神经网络来对测试集中的网络数据流生成的网络数据流间时空相关图进行处理,并利用分类器识别网站指纹。
[0057]
下面提供一些示例来应证本发明上述方案能够提升识别准确率。
[0058]
示例1:收集数据集,包括:21个常用网站的原始访问流量,每个网站访问了200次。对数据集按照训练集:验证集:测试集=3:1:1的比例进行划分,经过特征提取和生成网络数据流间时空相关图,流间时空相关图的构建方法参照图2,将网络数据流间时空相关图送入图神经网络训练后,并通过验证集验证后,在测试集上取得了98.13%的准确率,相比于已有的最前进的研究均有提高,说明,本发明的方法是比较优秀的。
[0059]
示例2:在训练阶段,输入需要识别的网络数据流。特征提取部分根据五元组将网络数据流划分成双向流并提取构建网络数据流间时空相关图所需要的特征,将其送入图生成部分中,图生成部分将网络数据流作为节点,将网络数据流的特征作为节点特征,根据网络数据流之间的时间和空间相关性在节点之间建立边,并赋予边特征,从而构建一个网络数据流间时空相关图。将网络数据流间时空相关图送入图神经网络进行训练,图神经网络模块通过图神经网络学习得到网络数据流间时空相关图的全局表征。为保证对流量行为模式的更新,需要每隔一段时间就要进行一次训练。
[0060]
在测试阶段,将本发明的整体框架部署在网络节点上,或通过常规方式导入到计算设备上。利用网络节点上的网站流量来生成网络数据流间时空相关图,通过训练好的图神经网络获得网络数据流间时空相关图的全局表征,分类器将对全局表征与训练阶段获得的行为模式进行匹配,从而实现对网站指纹的识别。
[0061]
本领域技术人员可以理解,每个网站的流量具有独特性,依据网站流量的独特性可以进行网站指纹的识别,而独特性就可以认为是行为模式,本发明通过将网站的数据流转换成图数据,并利用图神经网络获得图全局表征,它反映了网站的流量的行为模式。
[0062]
本发明实施例提供的以上方案主要获得如下由有益效果:不需要对网络数据流提前做过滤处理,考虑了网络数据流自身的特征和网络数据流之间的时空相关性,提高了网
站指纹识别技术的识别效果和泛化能力。采用的网络数据流的特征具有代表性,其中序列特征体现了网络数据流较为重要的局部的特征,统计特征可以体现网络数据流整体的特征。通过考虑网络数据流之间的时空相关性,从全局的视角对网络数据流的行为模式进行了建模,并结合图神经网络与分类器来对网站指纹进行识别,可以有效提高网站指纹识别技术的识别准确率。
[0063]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0064]
实施例二本发明还提供一种基于网络数据流间时空相关性的网站指纹识别系统,其主要基于前述实施例提供的方法实现,如图6所示,该系统主要包括:网络数据流的特征提取模块,用于提取每一网络数据流的特征;图生成模块,用于将每一网络数据流作为节点,将连续的远程目的地相同的网络数据流分为一组,再结合网络数据流的时间为各个组进行编号,在组内网络数据流对应的节点之间以及相邻组网络数据流对应的节点之间添加边,构建网络数据流间时空相关图,所述网络数据流间时空相关图中节点的特征为相应网络数据流的特征,边的特征通过相关网络数据流之间的时间和空间关系计算;图神经网络,用于对所述网络数据流间时空相关图进行处理,获得网络数据流间时空相关图的全局表征;分类器,用于对所述网络数据流间时空相关图的全局表征进行分类,获得网站指纹识别结果。
[0065]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0066]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1