一种基于自动特征工程的加密WEB网站指纹识别方法技术

技术编号:25715459 阅读:33 留言:0更新日期:2020-09-23 03:00
本发明专利技术属于网站指纹识别技术领域,具体涉及一种基于自动特征工程的加密WEB网站指纹识别方法。本发明专利技术通过自动特征工程构造出高维的流量特征,并使用PCA进行特征降维,降低了人为选择特征对加密WEB网站指纹识别效果的影响,提高了识别的准确率。

【技术实现步骤摘要】
一种基于自动特征工程的加密WEB网站指纹识别方法
本专利技术属于网站指纹识别
,具体涉及一种基于自动特征工程的加密WEB网站指纹识别方法。
技术介绍
在网络浏览过程中,用户容易受到有害信息、恶意攻击和隐私泄露的侵害,所以需要对网络流量进行监督和保护。网络管理需要页面识别来优化资源分配,提高服务质量,传统的网站识别及方法已经取得了一定的成功,但是加密流量的出现给网页识别技术带来了挑战。加密流量通过加密算法对有效负载进行加密来保证数据的安全性和信息完整性,所以基于机器学习的方法越来越受到大家的关注。现今对于网站指纹分析的研究中,对于加密网站指纹识别的研究大部分都在于提高分类的精确率上,而提高分类精确率的两个关键点在于特征的选择和分类器的选择。大多数研究学者使用的特征都是直接从流量中提取或计算出的特征,而加密流量由于其加密性所以能够提供的特征相对来说较少,所以加密WEB网站指纹识别的精确率还有待提高。有鉴于此,有必要对现有的加密WEB网站指纹识别进行补充,以解决上述技术方案的不足。
技术实现思路
本专利技术的目的在于提供具有更高的识别准确率的一种基于自动特征工程的加密WEB网站指纹识别方法。本专利技术的目的通过如下技术方案来实现:包括以下步骤:步骤1:从流量数据中提取请求数据包大小的序列以及响应数据包大小的序列;步骤2:自动特征构造,生成高维特征;步骤3:构造特征降维;步骤3.1:将高维特征形成一个n行m列的矩阵X;步骤3.2:将矩阵X的每一行进行中心化处理;步骤3.3:计算矩阵X的协方差矩阵;步骤3.4:对协方差矩阵进行对角化处理,得出协方差矩阵的特征向量和每个特征向量所对应的特征值;步骤3.5:将所有特征向量按照其对应的特征值的大小从上到下排成矩阵,取前k行得到矩阵P;步骤3.6:计算降维后的矩阵Y;Y=PX;步骤4:加密网站分类识别步骤4.1:将降维后的矩阵Y还原成数据集,并将数据集划分为测试集和训练集;对训练集中的数据进行标注;步骤4.2:从训练集中选取一个测试数据。计算测试数据与训练集中各个训练数据之间的距离;步骤4.3:选取训练集中与测试数据距离最小的K个点;步骤4.4:确定选取的K个点类别出现的频率,将出现频率最高的类别作为测试数据的预测分类;步骤4.5:若未完成对测试集中所有数据的分类;则重复执行步骤4.2至步骤4.4直到完成所有加密网站指纹的识别。本专利技术的有益效果在于:本专利技术通过自动特征工程构造出高维的流量特征,并使用PCA进行特征降维,降低了人为选择特征对加密WEB网站指纹识别效果的影响,提高了识别的准确率。附图说明图1是URL存储形式示意图。图2是自动特征工程的算法图。图3是本专利技术中构造特征降维的流程图。图4是本专利技术中加密网站分类识别的流程图。具体实施方式下面结合附图对本专利技术做进一步描述。本专利技术通过自动特征工程构造出高维的流量特征,并使用PCA进行特征降维,降低了人为选择特征对加密WEB网站指纹识别效果的影响,提高了识别的准确率。本专利技术提供的基于自动特征工程的加密WEB网站指纹识别技术通过以下步骤实现:(1)基础特征选取根据研究表明,加密和代理并不会严重改变数据包的大小和顺序,网站指纹的一种简单的表示方法就是使用所有数据包的大小和方向的序列,即指纹WF={(s1,d1),(s2,d2)…(sn,dn)}。其中si和di分别表示数据包的大小和数据包的方向,但是只依靠这些特征来对网站指纹进行识别的准确率过低,因为每个序列很容易包括超过1000个元素,而且由于各种噪声的影响,一些包的排序也会随之发生变化,从而影响识别的精度。其实在理想情况下,在网站指纹识过程中,传输对象的大小比数据包的大小更具有影响力。但是由于多个TCP连接,不同传输对象的数据在传输中会产生交错,难以将数据包与它们各自的传输对象相关联。然而,大多数WEB服务器都是以块的形式来传输数据,在每个数据块中,除了数据块的最后的一个数据包外,所有数据包的大小都等于路径MTU。一般改变其顺序的数据包是不同对象的中间包,所以可以利用数据块的最后一个数据包的大小的序列,降低对指纹识别的结果的影响。数据包可以分为请求数据包和响应数据包,一个请求数据包可能会对应对个响应数据包,根据调查,不同网站的平均请求响应次数也有所不同。并且,不同网站的页面对象的分布也有所不同,请求序列和响应序列能侧面反映出网站的某些特征。请求序列可以显示网页中嵌入对象的相对位置及其URL长度,而响应序列可以显示传输对象的完成顺序。所以选取的请求数据包大小的序列以及响应数据包(除了MTU包)大小的序列为基础特征。(2)收集数据集并计算特征在windows环境下安装Google浏览器,对Alexa排名前200的网站进行访问,将能够稳定访问的URL以每行一个URL的形式写入.txt文件中,存储形式如图1所示。然后使用python语言编写代码,实现对文件中的URL自动访问,并进行抓包存储。然后使用流量分析工具计算基础特征,将其以.csv文件保存,以方便实验使用。(3)自动特征构造特征工程就是基于数据原有的特征来构造特征的过程,机器学习通过这些特征来解决问题。将请求数据包大小的序列称为表Q,响应数据包大小的序列称为表P,以表Q为例,表Q里包含了所有请求数据包大小的序列,转换就是直接分析表Q中的数据,经过数学公式构造特征。假设SF(SimpleFestures)是对每张数据表中的特征进行计算的数学公式,如公式(1):Xij′=SF(Xij)(1)其中xij为表Q中的第i条数据的第j个特征的值,xij'为通过公式SF得到的新的特征,SF可能是特征xij的对数、信息熵等。经过上述的基本数学计算之后,再根据各表之间的相互关系进行转换得出高维特征。例如本文中表Q和表P是通过关系FD(Forward)和BD(Backword)相互关联。其中FD是两个表中的数据存在的一一对应的关系,例如表P中的一个响应数据包值对应表Q中的一个请求数据包。BD指的是两个表中的数据存在的一对多的一种关系,例如表Q中的一个请求数据包对应表P中的多个相应数据包。然后使用DF和RF派生出更深层次征,其中DF(DirectFeatures)是通过关系FD在数据表中直接转换构造特征,而RF就是通过关系PQ进行特征构造。其算法如图2:(4)构造特征降维PCA提供了一个路线图,说明如何将复杂的数据集降到一个较低的维度,从而揭示其背后隐藏的、简化的动态特性。PCA将原始的数据通过现线性变换转换为一组各个维度的特征都相互无关的特征集,即通过线性分析提取出原始数据的主要特征。本文使用PCA降维的主要流程如图3所示。具体步骤如下:第一步:将原始的数据集形成一个n行m列的矩阵X。第二步:将矩阵X的每一行进行中心本文档来自技高网...

【技术保护点】
1.一种基于自动特征工程的加密WEB网站指纹识别方法,其特征在于,包括以下步骤:/n步骤1:从流量数据中提取请求数据包大小的序列以及响应数据包大小的序列;/n步骤2:自动特征构造,生成高维特征;/n步骤3:构造特征降维;/n步骤3.1:将高维特征形成一个n行m列的矩阵X;/n步骤3.2:将矩阵X的每一行进行中心化处理;/n步骤3.3:计算矩阵X的协方差矩阵;/n步骤3.4:对协方差矩阵进行对角化处理,得出协方差矩阵的特征向量和每个特征向量所对应的特征值;/n步骤3.5:将所有特征向量按照其对应的特征值的大小从上到下排成矩阵,取前k行得到矩阵P;/n步骤3.6:计算降维后的矩阵Y;Y=PX;/n步骤4:加密网站分类识别/n步骤4.1:将降维后的矩阵Y还原成数据集,并将数据集划分为测试集和训练集;对训练集中的数据进行标注;/n步骤4.2:从训练集中选取一个测试数据。计算测试数据与训练集中各个训练数据之间的距离;/n步骤4.3:选取训练集中与测试数据距离最小的K个点;/n步骤4.4:确定选取的K个点类别出现的频率,将出现频率最高的类别作为测试数据的预测分类;/n步骤4.5:若未完成对测试集中所有数据的分类;则重复执行步骤4.2至步骤4.4直到完成所有加密网站指纹的识别。/n...

【技术特征摘要】
1.一种基于自动特征工程的加密WEB网站指纹识别方法,其特征在于,包括以下步骤:
步骤1:从流量数据中提取请求数据包大小的序列以及响应数据包大小的序列;
步骤2:自动特征构造,生成高维特征;
步骤3:构造特征降维;
步骤3.1:将高维特征形成一个n行m列的矩阵X;
步骤3.2:将矩阵X的每一行进行中心化处理;
步骤3.3:计算矩阵X的协方差矩阵;
步骤3.4:对协方差矩阵进行对角化处理,得出协方差矩阵的特征向量和每个特征向量所对应的特征值;
步骤3.5:将所有特征向量按照其对应的特征值的大小从上到下排成矩阵,取前k行...

【专利技术属性】
技术研发人员:杨武玄世昌王巍苘大鹏吕继光刘梦翼
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:黑龙江;23

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1