一种基于图结构的互联网加密流量交互特征提取方法与流程

文档序号:23624960发布日期:2021-01-12 10:37阅读:159来源:国知局
一种基于图结构的互联网加密流量交互特征提取方法与流程
本发明涉及一种互联网加密流量交互特征提取方法,尤其涉及基于图结构的互联网加密流量交互特征提取方法,为图神经网络等深度神经网络提供一种维度更丰富、区分度更高的特征,属于加密网络流量分类
技术领域

背景技术
:流量分类可以辅助网络运营商进行负载均衡、路由规划,给用户带来更好的用户体验。但是,随着加密协议(如ssl/tls)使用量的急剧增长,传统的分类方法,如深度包检测,由于有效载荷信息被加密后而失效。为了能够对加密网络流量进行分类,相关研究开始从加密网络数据包中提取可用的信息作为特征,如包方向、包长度、时间戳等,进而采用机器学习等技术对流量进行分类。基于有效特征的网络加密流量识别方法的难点在于:如何从加密流量中寻找到有效且区分性较强的特征。目前,针对网络加密流量分类方面,可检索到的文献中,提出的特征可以分为两类:一类是利用统计特征,另一类是利用序列特征。在统计特征相关工作中,有文献对上行、下行、双向数据包长度计算了54种统计特征,如上行数据包平均长度,但是,此类特征计算方法需要包的数量多、特征计算时间复杂度高,而且还需要复杂的特征选择过程。在序列特征的相关工作中,有文献利用包长度序列作为卷积神经网络等深度学习方法的特征输入,但是,网络中大部分数据包都是以固定的最大长度传输的,使得包长度序列中的时序信息区分性减少。综上所述,目前适用于网络加密流量分类所用的特征存在计算复杂度高或者区分性小等问题。技术实现要素:本发明的目的是为了克服现有技术的缺陷,创造性地提出一种基于图结构的互联网加密流量交互特征提取方法,应用于tls加密过后的网络流量分类。本方法从原始包序列开始构建图结构流量特征,能够获取维度更丰富、区分度更高的加密流量特征,进而与图神经网络等深度神经网络结合,开展加密流量的精细化分类与识别。本发明采用的技术方案如下:一种基于图结构的互联网加密流量交互特征提取方法,包括以下步骤:步骤1:获取网络加密流p。一条网络加密流被五元组唯一确定:源/目的ip地址、源/目的端口和传输层协议。给定一条网络加密流p,流p中包含n个数据包:p=(p1,p2,…,pi,…,pn),其中pi为第i个有符号非零整数,pi的绝对值代表第i个数据包的长度,如果pi是负数,则代表第i个包是从客户端到服务端的上行包,如果pi是正数,则代表第i个包是从服务端到客户端的下行包。流p的n个数据包中不包含ack数据包。因为其tcp有效载荷为0,不携带数据,可视为噪音而去掉。步骤2:初始化顶点集v和边集e为空。步骤3:添加顶点到顶点集v中。根据p中元素的顺序依次将pi与顶点vi相关联并加入到顶点集v中。步骤4:按照数据包的方向,将顶点集v划分突发流量集b。突发流量定义为一系列沿着同一方向传输的连续包,即使只有一个包也是一个突发流量。顶点集划分完后,得到k个突发流量,突发流量集b表示为(b1,b2,…,bi,…,bk)。bi代表第i个突发流量,其中包含的顶点符号是相同的,同为正或同为负。步骤5:添加突发流量内部的边。突发流量内部边用于连接在同一突发流量bi中的顶点。遍历突发流量集b中的每一个突发流量bi,如果突发流量bi中顶点的个数大于1,则继续遍历突发流量bi中的顶点,然后,不断添加条边e用于连接vj和vj+1,之后将其添加到边集e中。最终,每个突发流量bi中添加的突发流量内部边的数量等于突发流量bi中顶点数量减1。步骤6:添加突发流量间的边。突发流量间的边用于连接当前突发流量bi与其前一突发流量bi-1。如果突发流量bi与突发流量bi-1中顶点个数都为1,此时仅添加一条边到边集e中,用于关联突发流量bi与突发流量bi-1;否则,添加两条边到边集e中,用于突发流量bi中的第一个和最后一个顶点连接到突发流量bi-1中对应的第一个和最后一个顶点。步骤7:计算图结构特征g=(v,e),完成网络加密流量交互特征提取。提取出的网络加密流量交互特征,可以与图神经网络相结合,能够更加准确地进行加密流量的细粒度识别。有益效果本发明方法,对比现有技术,具有以下优点:(1)本发明适用于对tls加密过后的流量进行细粒度的分类;(2)本发明从原始的包序列中提取了一种基于图结构的加密流量交互特征。图结构特征中包含了丰富的信息:包的顺序信息、包方向信息、包长度信息和突发流量信息;通过定量的计算,相对于包长度序列,使用图结构特征后,类内距离明显变小,类间距离变大;(3)本发明为图神经网络提供了一种高效可用的特征,通过大量实验数据实验证明,图结构特征结合图神经网络与现有的利用包长度序列或包长度统计特征的加密流量分类和识别方法相比具有更高的准确性,更低的误报率。附图说明图1为客户端和服务端的数据包交互过程示意图;图2为图结构特征;图3为欧氏距离下的包长度序列的距离度量;图4为图编辑距离下的图结构特征的距离度量。具体实施方式下面结合附图和实施例对本发明方法做进一步详细说明。实施例本实施例是基于步骤1到步骤7进行的图结构加密流量特征提取。图1是客户端和服务端的数据包交互过程,上行数据包的长度设置为负,将下行数据包的长度设置为正,灰色和白色块分别表示ssl/tls协议中的握手协议和记录协议。步骤1:根据网络加密流p=(-571,1514,1142,-118,-140,-330,618,85,-85,-361,279,93,-93,55)。步骤2:初始化顶点集v和边集e为空。步骤3:添加顶点到顶点集中。根据p中元素的顺序依次将pi与顶点vi相关联并加入到顶点集v中,得到顶点集v=[-571,1514,1142,-118,-140,-330,618,85,-85,-361,279,93,-93,55]。步骤4:按照包的方向将顶点集v划分为突发流量集b=[[-571],[1514,1142],[-118,-140,-330],[618,85],[-85,-361],[279,93],[-93],[55]]。步骤5:添加突发流量内部边。如对于突发流量b=[-118,-140,-330],两条边用于连接b中的三个顶点。步骤6:添加突发流量间的边。例如,在突发流量bi-1=[618,85]和突发流量bi=[-85,-361]添加两条边连接两个突发流量,即在顶点618和顶点-85间添加边和在顶点85和顶点-361间添加边。步骤7:得到图结构特征g=(v,e)。如图2所示。采用定量计算的方式来证明tig比其他表示方法更具信息量。一个理想的特征表示方式应该使一个流与来自同一个网站的流相似,而与来自不同网站的流不相似。选择包长度序列作为比较的基线,分别使用图编辑距离和欧式距离作为图结构特征和包长度序列的距离度量方式。流之间的距离越小则表示相似性越大。从40个网站产生的流中,每个网站随机选择100个网络加密流,计算流之间的成对距离。图3表示欧氏距离下的包长度序列的距离度量,图4表示图编辑距离下的图结构特征的距离度量。蓝色×号表示同一个网站中流之间的平均距离(即类内距离),每个箱线图表示与其他网站的流距离(即类间距离)的最大值、第75个百分位、第50个百分位、第25个百分位和最小值。比较图3和图4,可以得到以下观察结果:在包长序列中,只有4个网站的类内距离小于其类间距离的最小值,而图结构特征则使21个网站具有这种特性。对于包长度序列,有15个网站的类内距离大于类间距离的中值(即第50个百分位),而图结构特征只有一个这样的情况。因此,可以得出结论:相对于包长度序列,使用图结构特征后,类内距离明显变小,类间距离变大。将本发明提取出的图结构特征与图神经网络相结合(记为gnn+graph),开展加密流量的细粒度网站识别,并与基于包长度序列结合卷积神经网络的网站识别方法(记为cnn+length)对比,以验证本发明的优势及有效性。实验采用的数据集中包含了40个网站,共有155500条流。采用10折交叉验证用来评估每种方法的性能,以10次测试准确率的平均值作为最终结果,同时计算10次测试准确率的标准差。表1展示了gnn+graph和cnn+length的预测结果。表1gnn+graph和cnn+length的预测准确率和标准差方法gnn+graphcnn+length准确率0.8922±0.00110.7938±0.0033表1结果展示了gnn+graph在准确率上比cnn+length高出约10%,同时标准差比cnn+length低,说明gnn+graph比cnn+length稳定性高。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1