一种基于累积数据包长度的网页加密流量特征提取方法转让专利

申请号 : CN201811053659.8

文献号 : CN109194657B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈蒙刘怡婷陈偲祺祝烈煌

申请人 : 北京理工大学

摘要 :

本发明涉及一种基于累积数据包长度的细粒度网页特征提取方法,属于网络服务安全技术领域。称为WPF,包括如下步骤:步骤1、获取加密流量数据集;步骤2、提取加密流量数据集的数据包长度并进行排序、提取数据包长度及上行数据包长度置0处理,得到累加后的数据包长度序列;步骤3、将累加后的数据包长度序列进行哈希运算,得到哈希后数据包序列;步骤4、基于哈希后数据包序列生成网页加密流量特征。1.本发明适用于SSL/TLS协议的加密网络通讯场景;本方法具有高准确率与高效性;可与传统机器学习算法相结合,构造网页流量分类器;具有特征维度低,计算过程简单,时间复杂度低,能实现在线网页流量检测,适用于投入实际应用的优势。

权利要求 :

1.一种基于累积数据包长度的加密网页流量特征提取方法,其特征在于:包括如下步骤:步骤1、获取加密流量数据集;

步骤1.1使用抓包工具抓取一个网页一次加载产生的SSL/TLS加密网络流量,其中抓包工具为Wireshark或Tshark中的一种,所述加密网络流量由若干个数据包组成,每个数据包中包括了以下信息:该数据包的捕获时间、源IP地址、目的IP地址、协议、数据包长度、交互端口号以及加密后数据包内容;

步骤1.2对加密网络流量所包含的数据包进行过滤,滤除无用数据包,得出余下数据包;

其中,所述的无用数据包是指TCP错误包以及校验和错误的数据包;

步骤1.3将步骤1.2输出的余下数据包进行同源网络流归类,具体为:将具有相同交互IP地址、交互端口号和传输协议的数据包归类为一条流,再将余下数据包中的所有数据包进行处理,梳理成为多条网络流;

其中,具有相同交互IP地址的数据包是指数据包中的源IP地址和目的IP地址是交互的;

步骤1.4统计步骤1.3梳理的每条网络流的数据包数量,保留数据包数量最多的一条流,丢弃其他网络流;将所述数据包数量最多的一条流中的所有数据包组成一个集合,记为加密流量数据集;

步骤2、对加密流量数据集进行排序、提取数据包长度以及上行数据包长度置O的处理,得到累加后的数据包长度序列;

步骤2.1将加密流量数据集中的所有数据包按照该数据包的捕获时间先后顺序排列,得到网络流F;

步骤2.2依次提取网络流F中的数据包长度,长度用p表示,pi代表第i个数据包的长度,其中,i的取值范围为1到N,因此,表示网络流F的数据包长度为(p1,......,pN);

步骤2.3将网络流F中的上行数据包长度置为O,下行数据包长度保持不变;

步骤2.4将网络流F中的前K个数据包的长度进行累加,K<N,累加后的第i个数据包的长度用ai表示;

其中,i的取值范围为1到K;

i=1时,a1=p1;1<i≤K,ai=pi+ai-1,累加后的数据包长度序列表示为A(F)=(a1,......,aK);

步骤3、将累加后的数据包长度序列进行哈希运算,得到哈希后数据包序列,具体为:将累加后的数据包长度序列进行哈希运算,对于A(F)中的每一个数据包长度ai,其哈希公式为 使用v表示哈希值,vi=Hash(ai),哈希后的数据包序列用I表示,此时I=(v1,...,vn);

步骤4、基于哈希后数据包序列生成网页加密流量特征,具体为:计算哈希后数据包序列I的众数vmax和该众数出现的次数kmax;使用(vmax,kmax)作为加密网络流F的特征。

2.根据权利要求1所述的一种基于累积数据包长度的加密网页流量特征提取方法,其特征在于:步骤1.1中的源IP地址是客户端IP地址或服务器端IP地址中的一个,目的IP地址是客户端IP地址或服务器端IP地址中的一个,源IP地址和目的IP地址不能相同;步骤2.3中的上行数据包指源IP地址为客户端IP地址,目的IP地址为服务器端IP地址;下行数据包指源IP地址为服务器端IP地址,目的IP地址为客户端IP地址。

说明书 :

一种基于累积数据包长度的网页加密流量特征提取方法

技术领域

[0001] 本发明涉及一种基于累积数据包长度的细粒度网页特征提取方法,属于网络服务安全技术领域。

背景技术

[0002] 流量是网络通信与网络服务的载体,流量分析能够获取大量有用信息,如检测恶意流量,获取用户历史访问行为。对保障网络正常运转,为用户提供个性化服务具有重要意义。传统的流量特征提取方法大多是基于深度数据包明文信息检测,但随着SSL/TLS(安全套阶层/传输层安全)协议的广泛应用,网络流量被加密,这使得传统流量特征提取方法失去有效性。
[0003] 目前加密流量研究大多针对不同网站流量的识别和分类。与网站流量相比,网页流量承载着更多值得探究的信息,比如通过识别同一购物网站的不同网页流量,能够获取用户购物行为并进一步推测用户喜好。因此,如何对细粒度网页流量提取有效的分类和识别特征成为近年的研究热点。
[0004] 在加密网络流量特征分析方面已经有大量的研究工作,有工作提出使用数据包长度及数量信息作为流量特征,具体为:将上行数据包长度置为负,下行数据包长度置为正,使用上行数据包总个数、下行数据包总个数、上行数据包累加总长度和下行数据包累加总长度这四个特征作为加密流量基本特征,对加密流量进行分类和识别,该方法称为CUMUL。然而,所述方法只能分类和识别不同网站的加密流量,对于同一网站的不同网页,其数据包长度及数量非常相似,因此无法区分细粒度网页流量。另外,有工作提出使用动态时间规整来分类和识别网页流量,称为DTW。该方法只使用数据包的时间戳信息作为特征,然而,时间戳信息易受网络波动的影响且动态时间规整过程非常耗费时间,因此该方法并不适用于快速有效的检测同一网站的不同网页流量。
[0005] 综上所述,在加密网页流量分类与识别方面,以上方法均不能实现高准确性与高效性,与投入实际应用所需的标准仍有一定距离。

发明内容

[0006] 本发明的目的在于实现细粒度网页加密流量特征提取,保证该方法能够分类并识别同一网站的不同网页流量,即为进一步分析用户访问行为,发现并屏蔽恶意流量,提高网络安全的同时为用户提供个性化服务提供可能,具有高准确率与高效性,具体针对现有加密流量识别方法存在的问题,提出了一种基于累积数据包长度的加密网页流量特征提取方法。
[0007] 一种基于累积数据包长度的加密网页流量特征提取方法,称为WPF,包括如下步骤:
[0008] 步骤1、获取加密流量数据集;
[0009] 步骤1.1使用抓包工具抓取一个网页一次加载产生的SSL/TLS加密网络流量,其中抓包工具为Wireshark或Tshark中的一种,所述加密网络流量由若干个数据包组成,每个数据包中包括了以下信息:该数据包的捕获时间、源IP地址、目的IP地址、协议、数据包长度、交互端口号以及加密后的数据包内容;
[0010] 其中,源IP地址是客户端IP地址或服务器端IP地址中的一个,目的IP地址是客户端IP地址或服务器端IP地址中的一个,源IP地址和目的IP地址不能相同;
[0011] 步骤1.2对加密网络流量所包含的数据包进行过滤,滤除无用数据包,得出余下数据包;
[0012] 其中,所述的无用数据包是指TCP错误包以及校验和错误的数据包;
[0013] 步骤1.3将步骤1.2输出的余下数据包进行同源网络流归类,具体为:将具有相同交互IP地址、交互端口号和传输协议的数据包归类为一条流,再将余下数据包中的所有数据包进行处理,梳理成为多条网络流;
[0014] 其中,具有相同交互IP地址的数据包是指数据包中的源IP地址和目的IP地址是交互的;
[0015] 步骤1.4统计步骤1.3梳理的每条网络流的数据包数量,保留数据包数量最多的一条流,丢弃其他网络流;将所述数据包数量最多的一条流中的所有数据包组成一个集合,记为加密流量数据集;
[0016] 步骤2、提取加密流量数据集的数据包长度并进行排序、提取数据包长度以及上行数据包长度置0处理,得到累加后的数据包长度序列;
[0017] 步骤2.1将加密流量数据集中的所有数据包按照该数据包的捕获时间先后顺序排列,得到网络流F;
[0018] 步骤2.2依次提取网络流F中的数据包长度,长度用p表示,pi代表第i个数据包的长度,其中,i的取值范围为1到N,因此,表示网络流F的数据包长度为(p1,……,pN);
[0019] 步骤2.3将网络流F中的上行数据包长度置为0,下行数据包长度保持不变;
[0020] 其中,上行数据包指源IP地址为客户端IP地址,目的IP地址为服务器端IP地址;下行数据包指源IP地址为服务器端IP地址,目的IP地址为客户端IP地址;
[0021] 步骤2.4将网络流F中的前K个数据包的长度进行累加,K
[0022] 其中,i的取值范围为1到K;
[0023] i=1时,a1=p1;1
[0024] 步骤3、将累加后的数据包长度序列进行哈希运算,得到哈希后数据包序列,具体为:将累加后的数据包长度序列进行哈希运算,对于A(F)中的每一个数据包长度ai,其哈希公式为 使用v表示哈希值,vi=Hash(ai),哈希后的数据包序列用I表示,此时I=(v1,…,vn);
[0025] 步骤4、基于哈希后数据包序列生成网页加密流量特征,具体为:计算哈希后数据包序列I的众数vmax和该众数出现的次数kmax;使用(vmax,kmax)作为加密网络流F的特征。
[0026] 有益效果
[0027] 本发明提出的一种基于累积数据包长度的网页加密流量特征提取方法,与现有的加密流识别方法相比,具有如下有益效果:
[0028] 1.本发明适用于应用SSL/TLS协议的加密网络通讯场景;
[0029] 2.本发明针对现有加密流量识别方法存在的问题进行改进,所述方法具有高准确率与高效性;
[0030] 3.本发明只利用数据包长度信息作为网页流量特征,可以与传统机器学习算法相结合,构造网页流量分类器;
[0031] 4.本发明具有特征维度低,计算过程简单,时间复杂度低,能够实现在线网页流量检测,适用于投入实际应用的优势。

附图说明

[0032] 图1为本发明一种基于累积数据包长度的网页加密流量特征提取方法的整体流程图;
[0033] 图2基于本发明一种基于累积数据包长度的网页加密流量特征提取方法步骤1所述的抓取工具抓取同一网站的5个不同网页的累加数据包长度序列;
[0034] 图3基于本发明一种基于累积数据包长度的网页加密流量特征提取方法中步骤2将上行数据包置0后网页累加数据包长度序列。

具体实施方式

[0035] 下面结合附图和实施例,具体说明本发明“一种基于累积数据包长度的网页加密流量特征提取方法”的过程,并阐述其优点。应当指出本发明的实施不限于以下实施例,对本发明所做任何形式上的变通或改变将落入本发明保护范围。
[0036] 实施例1
[0037] 本实施例是基于本发明的步骤1到步骤4进行的完整的网页加密流量特征提取仿真,整体流程图如图1所示。假设网络中某条网络流表示为F=(p1,…,pN),其中,pi代表第i个数据包长度,F为网络流的数据包长度序列。若数据包为下行数据,则pi>0,若数据包为上行数据,则pi<0。依照步骤1,抓取同一网站的5个不同网页的流量,并进行上述处理,处理后的结果如图2所示。其中,网页1的前100个累积数据包长度序列如表1所示。
[0038] 表1网页1前100个累积数据包长度序列
[0039]
[0040]
[0041] 对网络流的累积数据包长度进行处理,只保留下行数据包长度及上行数据包位置信息,具体操作依照步骤2,步骤2.4中K取100。以上述网页为例,具有区分度的区间集中在第30到80个数据包之间,处理后的该区间数据包序列如图3所示。其中网页1经过处理后第30到80个累积数据包长度序列如表2所示。
[0042] 表2网页1上行数据包长度置0后累积数据包长度序列
[0043] 9231 10745 12259 13773 15287 16801 16801 18315 18315 1982921343 22857 24371 25885 25885 27399 28913 30427 31941 33455
33455 34969 36483 36483 37997 39511 41025 42539 44053 44053
45567 47081 47491 47491 47491 47491 47491 47491 47491 47491
47551 49065 50579 50579 52093 53607 55121 55197 55289 55289
56803 58317 58317 59831 59831 59891 61405 62919 62919 64433
[0044] 接下来,依照步骤3,以上述网页流量为例,对累积数据包长度进行哈希运算,哈希运算描述如下:
[0045]
[0046] 其中vi代表哈希值,ai代表第i个累积数据包长度。
[0047] 经过哈希运算后,网页1的数据包长度序列如表3所示。
[0048] 表3哈希运算后网页1数据包序列
[0049]-192 186 565 943 1322 1700 1700 2079 2079 2457
2836 3214 3593 3971 3971 4350 4728 5107 5485 5864
5864 6242 6621 6621 6999 7378 7756 8135 8513 8513
8892 9270 9373 9373 9373 9373 9373 9373 9373 9373
9388 9766 10145 10145 10523 10902 11280 11299 11322 11322
11701 12079 12079 12458 12458 12473 12851 13230 13230 13608
[0050] 最后,依照步骤4,计算哈希后数据包序列的众数vmax和出现的次数kmax,(vmax,kmax)即网络流F的特征。以网页1为例,其哈希后数据包序列的众数为9373,出现的次数为8,(9373,8)即网页1加密流量的特征。
[0051] 经过处理的网页流量特征可与传统机器学习算法结合,构建细粒度网页流量分类器。
[0052] 实施例2
[0053] 本实施例是将本发明所述方法与其它流量分类算法进行对比,以验证本发明的优势及有效性。将本发明所述的网页流量特征提取方法(WPF)与传统机器学习算法最近邻算法(k-NN)相结合,构造网页流量分类器,然后与背景技术中提到的CUMUL和DTW网页分类算法进行对比。三种方法均使用同一流量数据集对网页流量进行分类,分类结果如表4所示。
[0054] 表4网页流量分类结果比较
[0055] 分类算法 精确率 召回率 F1值WPF 91.8% 92.0% 91.8%
CUMUL 8.7% 7.9% 8.3%
DTW 39.4% 42.7% 37.7%
[0056] 通过表4可以看出,本发明与现有的加密流量分析方法相比,具有明显优势,精确率、召回率和F1值都远高于其他两种分类算法。本发明实现了对细粒度网页加密流量的特征提取,操作过程简单高效,计算复杂度和时间复杂度低,分类准确率高,适用于投入实际应用。
[0057] 虽然本文结合附图实例描述了本专利的实施方式,但是对于本领域技术人员来说,在不脱离本专利原理的前提下,还可以做出若干改进,这些也视为属于本专利的保护范围。