一种网页请求识别方法及装置与流程

文档序号:16514438发布日期:2019-01-05 09:32阅读:130来源:国知局
一种网页请求识别方法及装置与流程

本申请涉及通信技术领域,特别是涉及一种网页请求识别方法及装置。



背景技术:

恶意网页请求为攻击者进行攻击的一种形式。恶意网页请求利用网络服务的漏洞,通过问卷上传、跨站脚本、http(hypertexttransferprotocol,超文本传输协议)请求欺骗、sql(structuredquerylanguage,结构化查询语言)注入等方式攻击网络服务器,达到窃取信息、瘫痪服务等目目的。

为了提高网络安全,保证服务质量,对准确的识别出恶意网页请求提出了要求。目前,网页请求识别的过程包括:获取大量带有标签的样本网页请求,从样本网页请求中提取特征向量,结合特征向量和样本网页请求的标签,训练网页请求识别模型,进而依据训练好的网页识别请求模型确定待识别网页请求是否为恶意网页请求。

上述训练网页请求识别模型时,需要大量的标签数据及样本网页请求,计算复杂度大,网页请求识别模型的训练速度较慢。



技术实现要素:

本申请实施例的目的在于提供一种网页请求识别方法及装置,以降低计算复杂度,提高网页请求识别模型的训练速度。具体技术方案如下:

一方面,本申请实施例提供了一种网页请求识别方法,所述方法包括:

提取多个样本网页请求的特征;

确定每一样本网页请求的特征对应的特征向量;

根据预定聚类算法和确定的特征向量,对所述多个样本网页请求进行聚类;

针对每一聚类,根据该聚类包含的样本网页请求的特征向量,确定该聚类包含的样本网页请求的特征向量的中心向量;

当获得待识别网页请求时,确定所述待识别网页请求所属的聚类;

若所述待识别网页请求的特征向量与所述待识别网页请求所属的聚类的中心向量的距离不在所述待识别网页请求所属的聚类对应的预定距离范围内,则确定所述待识别网页请求为恶意网页请求。

二方面,本申请实施例提供了一种网页请求识别装置,所述装置包括:

提取单元,用于提取多个样本网页请求的特征;

第一确定单元,用于确定每一样本网页请求的特征对应的特征向量;

聚类单元,用于根据预定聚类算法和确定的特征向量,对所述多个样本网页请求进行聚类;

第二确定单元,用于针对每一聚类,根据该聚类包含的样本网页请求的特征向量,确定该聚类包含的样本网页请求的特征向量的中心向量;

第三确定单元,用于当获得待识别网页请求时,确定所述待识别网页请求所属的聚类;

识别单元,用于若所述待识别网页请求的特征向量与所述待识别网页请求所属的聚类的中心向量的距离不在所述待识别网页请求所属的聚类对应的预定距离范围内,则确定所述待识别网页请求为恶意网页请求。

三方面,本申请实施例提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述网页请求识别方法步骤。

四方面,本申请实施例提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,所述机器可执行指令促使所述处理器:实现上述网页请求识别方法步骤。

本申请实施例中,不考虑样本网页请求的标签,对样本网页请求进行聚类,确定每一聚类包含的样本网页请求的特征向量的中心向量,并为每一聚类预先设置一个非恶意网页请求的特征向量与该聚类的中心向量的距离范围;非恶意网页请求大部分具有相同的模型,在对样本网页请求聚类后,一个聚类中,非恶意样本网页请求的分布较为集中,非恶意样本网页请求的特征向量与聚类的中心向量的距离在一定的距离范围;因此以样本网页请求的聚类作为网页识别模型,根据待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离是否在待识别网页请求所属的聚类对应的预定距离范围内,就可以准确的确定待识别网页请求是否为恶意网页请求,不再需要大量的标签数据来训练网页请求识别模型,有效地降低了计算复杂度,提高了网页请求识别模型的训练速度。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的网页请求识别方法的第一种流程示意图;

图2为本申请实施例提供的网页请求识别方法的第二种流程示意图;

图3为本申请实施例提供的聚类结果的一种示意图;

图4为本申请实施例中使用的针对聚类l1的正态分布的一种示意图;

图5为本申请实施例提供的网页请求识别装置的一种结构示意图;

图6为本申请实施例提供的电子设备的一种结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

目前,需要采用大量带有标签的样本网页请求,利用大量的标签数据及样本网页请求来训练获得网页请求识别模型,进而依据训练好的网页识别请求模型确定待识别网页请求是否为恶意网页请求。这使得计算复杂度大,网页请求识别模型的训练速度较慢。这里,一个样本网页请求的标签为用于网页请求为恶意网页请求的标签或用于指示网页请求为非恶意网页请求的标签。

为了降低计算复杂度,提高网页请求识别模型的训练速度,本申请实施例提供了一种网页请求识别方法及装置。该方法可以应用与防火墙设备、路由器等网络设备。

参考图1,图1为本申请实施例提供的网页请求识别方法的第一种流程示意图,该方法包括:

步骤101:提取多个样本网页请求的特征;

步骤102:确定每一样本网页请求的特征对应的特征向量;

步骤103:根据预定聚类算法和确定的特征向量,对多个样本网页请求进行聚类;

步骤104:针对每一聚类,根据该聚类包含的样本网页请求的特征向量,确定该聚类包含的样本网页请求的特征向量的中心向量;

步骤105:当获得待识别网页请求时,确定待识别网页请求所属的聚类;

步骤106:若待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离不在待识别网页请求所属的聚类对应的预定距离范围内,则确定待识别网页请求为恶意网页请求。

上述网页请求可以为url(uniformresourcelocator,统一资源定位符)。样本网页请求可以带标签,也可以不带标签。

本申请实施例中,不考虑样本网页请求的标签,对样本网页请求进行聚类,确定每一聚类包含的样本网页请求的特征向量的中心向量,并为每一聚类预先设置一个非恶意网页请求的特征向量与该聚类的中心向量的距离范围;非恶意网页请求大部分具有相同的模型,在对样本网页请求聚类后,一个聚类中,非恶意样本网页请求的分布较为集中,非恶意样本网页请求的特征向量与聚类的中心向量的距离在一定的距离范围;因此以样本网页请求的聚类作为网页识别模型,根据待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离是否在待识别网页请求所属的聚类对应的预定距离范围内,就可以准确的确定待识别网页请求是否为恶意网页请求,不再需要大量的标签数据来训练网页请求识别模型,有效地降低了计算复杂度,提高了网页请求识别模型的训练速度。

为了保证训练获得网页请求识别模型的准确可靠,即利用样本网页请求的聚类准确可靠地识别出网页请求是否为恶意网页请求,本申请实施例中,获取样本网页请求的数量越多越好。

在获取到多个样本网页请求后,从这多个样本网页请求中提取特征,进而确定每一样本网页请求特征对应的特征向量。

在本申请的一个实施例中,在提取样本网页请求的特征时,如图2所示网页请求识别方法的第二种流程示意图,基于图1,该方法中,步骤101可以包括:

步骤1011:提取多个样本网页请求中预设类型的词语;

步骤1012:确定提取的词语中每一词语的出现次数;

步骤1013:提取多个样本网页请求中每一样本网页请求的结构特征;

步骤1014:对于每一样本网页请求,将该样本网页请求的结构特征和该样本网页请求中预设类型的词语的出现次数,确定为该样本网页请求的特征。

本申请实施例中,提取的预设类型的词语可以均放置在预定的存储区域中,可以称该存储区域为“词袋”,在确定提取的词语中每一词语的出现次数时,可以直接从词袋中查找相同的词语的个数,查找到相同词语的个数,即为提取的词语中该词语的出现次数。

在本申请的一个实施例中,预定类型的词语可以包括参数名和参数值。这里,非恶意网页请求的参数名和参数值是有一定规律的,而恶意网页请求的参数名和参数值则是不具有规律,基于该特点,参数名和参数值可以作为网页请求的特征,在一定程度上可以体现出网页请求是否为恶意网页请求。

例如,获取到5个样本网页请求,分别为url01、url02、url03、url04和url05,从每个样本网页请求提取参数名和参数值,提取的参数名和参数值包括:

{url01:参数名a1,参数值b1};

{url02:参数名a2,参数值b2};

{url03:参数名a1,参数值b3};

{url04:参数名a4,参数值b1};

{url05:参数名a2,参数值b2};

从上述提取到的数据可以确定,参数名a1的出现次数为2,参数名a2的出现次数为2,参数名a4的出现次数为1,参数值b1的出现次数为2,参数值b2的出现次数为2,参数值b3的出现次数为1。

在本申请的一个实施例中,网页请求的结构特征可以包括:参数个数、参数值平均长度、参数值最大字节数、路径相同的样本网页请求中的参数个数的平均值、路径相同的样本网页请求中的参数值长度的平均值等。

结合提取的样本网页请求的结构特征和样本网页请求中预设类型的词语的出现次数,确定该样本网页请求的特征对应的特征向量,即该样本网页请求的特征向量,该特征向量能够充分体现该样本网页请求的特点,提高了通过这样的特征向量构建的网页请求识别模型对网页请求的识别准确率。

例如,预定类型的词语可以包括参数名和参数值,获取到10个样本网页请求,分别为url11、url12、url13、url14、url15、url16、url17、url18、url19、url10;其中,url11、url12、url13的路径相同,url14、url15、url16、url17的路径相同;

分别提取url11、url12、url13、url14、url15、url16、url17、url18、url19url10中的参数名和参数值,确定提取的每一参数名的出现次数和每一参数值的出现次数;

分别提取url11、url12、url13、url14、url15、url16、url17、url18、url19url10的结构特征;

若确定url11中的参数名的出现次数为2,参数值的出现次数为1,另外,确定url11中的参数个数为1,参数值平均长度为10,参数值最大字节数为10,与url11路径相同的多个样本网页请求,即url11、url12、url13中的参数个数的平均值为3,url11、url12、url13中的参数值长度的平均值为8,则可以确定url11的特征向量为{2,1,1,10,10,3,8};

以此类推,可以确定出url12、url13、url14、url15、url16、url17、url18、url19、url10的特征向量。

在确定每一样本网页请求的特征向量后,根据预定聚类算法和确定的特征向量,对多个样本网页请求进行聚类,进而针对每一聚类,根据该聚类包含的样本网页请求的特征向量,确定该聚类包含的样本网页请求的特征向量的中心向量。这里,一个聚类的中心向量可以为该聚类包含的样本网页请求的特征向量的均值。

在本申请的一个实施例中,上述预定聚类算法可以为k-means算法,依据k-means算法,对多个样本网页请求进行聚类,确定每一聚类的中心向量时,先以预设的k个向量点作为聚类的中心向量,针对每一样本网页请求,计算该样本网页请求的特征向量与这k个中心向量的距离,将距离最小的中心向量对应的聚类作为该样本网页请求所属的聚类。在对多个样本网页请求聚类结束后,针对每一聚类,计算该聚类包含的样本网页请求的特征向量的均值,将该均值作为该聚类的中心向量,这样就重新确定了k个中心向量。

之后,进行迭代,即重复执行针对每一样本网页请求,重新计算该样本网页请求的特征向量与k个中心向量的距离,将距离最小的中心向量对应的聚类作为该样本网页请求所属的聚类,在对多个样本网页请求聚类结束后,针对每一聚类,计算该聚类包含的样本网页请求的特征向量的均值,将该均值作为该聚类的中心向量,重新确定了k个中心向量的步骤,直到每一聚类的中心向量与上一次确定的中心向量的误差在预定误差阈值为止。这样,通过迭代的方法,更新每一聚类的中心向量,获得了较优的聚类结果。

非恶意网页请求大部分具有相同的模型,而恶意网页请求具有异常的模型且数量占小部分,在对样本网页请求进行聚类后,如图3所示的聚类结果,其中,空心圆形图案表示聚类的中心向量,其他图案表示样本网页请求的特征向量,一个聚类中,非恶意样本网页请求的分布较为集中,非恶意样本网页请求与聚类的中心向量的距离在一定的距离范围,如图3中所示的实心菱形图案;而恶意网页请求的分布较为分散在该聚类的边缘位置,如图3中所示的实心圆形图案。

对样本网页请求聚类,确定每一聚类的中心向量后,可以根据每一聚类包含的样本网页请求分布,为每一聚类预先设置一个非恶意网页请求的特征向量与该聚类的中心向量的距离范围。这里,对于一个聚类对应的预定距离范围可以为用户根据该聚类包含的样本网页请求分布设置,也可以设备根据该聚类包含的样本网页请求分布设置。

在本申请的一个实施例中,若设备根据聚类包含的样本网页请求分布设置预定距离范围,则可以依据正态分布来设置。

具体的,对于一个聚类,计算该聚类的中心向量分别与该聚类包含的每一样本网页请求的特征向量的距离,确定计算得到的多个距离的第一均值和第一方差,进而根据第一均值和第一方差,构建该聚类的正态分布。

在构建该聚类的正态分布后,可以确定该聚类的正态分布所在坐标系横轴上的第一点和第二点,其中,第一点和第二点对称位于待识别网页请求所属的聚类的正态分布的中心轴两侧,并且第一点和第二点之间的概率为第一预设概率,将第一点的横坐标值和第二点的横坐标值组成的区间确定为该聚类对应的预定距离范围。这里,中心轴为正态分布的均值对应的轴。

在本申请的一个实施例中,为了提高识别网页请求的准确率,在计算得到一个聚类的第一均值和第一方差后,可以根据该聚类的第一均值和第一方差,构建一个该聚类的正态分布,将该正态分布作为过渡正态分布;之后,确定对称位于该聚类的过渡正态分布所在坐标系横轴上的中心轴两侧的第三点和第四点,这里,在该聚类的过渡正态分布下,第三点和第四点之间的概率为第二预设概率,该聚类的过渡正态分布所在坐标系横轴上的中心轴处的值为该聚类的第一均值;去除该聚类中不满足以下公式(1)的样本网页请求:

δ1<x<δ2;(1)

其中,x为该聚类包含的的样本网页请求与该聚类的中心向量的距离,δ1为位于该聚类的过渡正态分布所在坐标系横轴上的中心轴左侧的第三点,δ2为与第三点对称位于该聚类的过渡正态分布所在坐标系横轴上的中心轴右侧的第四点。

在去除不满足以下公式(1)的样本网页请求后,根据该聚类包含的剩余样本网页请求的特征向量,重新确定该聚类的中心向量,重新计算重新确定的该聚类的中心向量分别与该聚类包含的每一剩余样本网页请求的特征向量的距离;确定重新计算得到的多个距离的第二均值和第二方差,进而根据第二均值和第二方差,构建该聚类的正态分布。

一个聚类中不满足公式(1)的样本网页请求为该聚类中离散的样本网页请求,可以认为这些离散的样本网页请求与该聚类中集中的样本网页请求的规律不同,即可以认为这些离散的样本网页请求为恶意网页请求,去除聚类中不满足公式(1)的样本网页请求后,可以认为保留的该聚类的样本网页请求为非恶意网页请求,利用非恶意网页请求重新构建该聚类的正态分布,能够有效提高识别网页请求的准确率。

上述第二预设概率可以大于第一预设概率,以在排除恶意网页请求的情况下,尽可能保留就多样本网页请求,提高后续构建的正态分布的合理性。上述第二预设概率也可以不大于第一预设概率,以尽可能多的排除恶意网页请求,提高后续构建的正态分布的合理性。

在本申请的一个实施例中,可以执行多次去除该聚类中不满足以下公式(1)的样本网页请求,构建该聚类的正态分布的步骤,以尽量排除该聚类中的恶意网页请求,提高识别网页请求的准确率。

在对样本网页请求聚类,且确定每一聚类对应的预定距离范围后,就可以利用聚类结果,对待识别网页请求进行识别,确定待识别网页请求是否为恶意网页请求。

例如,当接收到待识别网页请求,可以提取待识别网页请求的特征,例如待识别网页请求中参数名和参数值在词袋中出现的次数、待识别网页请求的结构特征等,根据提取的特征确定待识别网页请求的特征向量;计算待识别网页请求的特征向量分别与每一聚类的中心向量的距离,选择距离最小的聚类,将该距离最小的聚类确定为待识别网页请求所属的聚类,进而确定待识别网页请求所属的聚类对应的预定距离范围;

若待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离在待识别网页请求所属的聚类对应的预定距离范围,则说明待识别网页请求与待识别网页请求所属的聚类包含的大部分网页请求的规律符合,确定待识别网页请求为非恶意的网页请求;若待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离不在待识别网页请求所属的聚类对应的预定距离范围,则说明待识别网页请求与待识别网页请求所属的聚类包含的大部分网页请求的规律不符合,确定待识别网页请求为恶意的网页请求。

下面结合一具体例子进行说明。

例如,获取到1000个样本网页请求,分别为url1-url1000。预定类型的词语包括参数名和参数值,预定聚类算法为k-means算法,其中,k=10,即预设了10个向量点为聚类的中心向量。

1、分别提取url1-url1000的参数名和参数值,将提取的参数名和参数值均置于词袋中。

2、确定词袋中每一参数名的出现次数和每一参数值的出现次数。

3、分别提取url1-url1000的结构特征。

4、对于每一样本网页请求,将该样本网页请求的结构特征和该样本网页请求中参数名和参数值的出现次数,确定为该样本网页请求的特征。

例如,url1中的参数名在词袋中的出现次数为45,url1中的参数值在词袋中的出现次数为80,url1中的参数个数为1,url1中的参数值平均长度为9,url1中的参数值最大字节数为10,与url1路径相同的多个样本网页请求中的参数个数的平均值为2,与url1路径相同的多个样本网页请求中的参数值长度的平均值为8,则将上述获取的信息均作为url1的特征。

5、分别确定url1-url1000的特征对应的特征向量,即确定分别确定url1-url1000的特征向量。

仍以url1为例进行说明,可以确定url1的特征向量为{45,80,1,9,10,2,8}。

6、依据k-means算法和确定的url1-url1000的特征向量,对url1-url1000进行聚类,确定每一聚类的中心向量。

以预设的10个向量点作为聚类的中心向量,针对url1-url1000中的每一样本网页请求,计算该样本网页请求的特征向量与这10个中心向量的距离,将距离最小的中心向量对应的聚类作为该样本网页请求所属的聚类。在对url1-url1000聚类结束后,针对每一聚类,计算该聚类包含的样本网页请求的特征向量的均值,将该均值作为该聚类的中心向量,即重新确定了10个中心向量。

之后,重复针对url1-url1000中的每一样本网页请求,计算该样本网页请求的特征向量与这10个中心向量的距离,将距离最小的中心向量对应的聚类作为该样本网页请求所属的聚类。在对url1-url1000聚类结束后,针对每一聚类,计算该聚类包含的样本网页请求的特征向量的均值,将该均值作为该聚类的中心向量,再重新确定了10个中心向量。直到每一聚类的中心向量与上一次确定的中心向量的误差在预定误差阈值为止。

假设,最终的聚类结果为10个聚类为:

聚类l1包含url1-url100,中心向量为q1;

聚类l2包含url101-url190,中心向量为q2;

聚类l3包含url191-url299,中心向量为q3;

聚类l4包含url300-url410,中心向量为q4;

聚类l5包含url411-url480,中心向量为q5;

聚类l6包含url481-url550,中心向量为q6;

聚类l7包含url551-url750,中心向量为q7;

聚类l8包含url751-url800,中心向量为q8;

聚类l9包含url801-url940,中心向量为q9;

聚类l10包含url941-url1000,中心向量为q10。

为便于理解下面以聚类l1为例进行说明。

7、计算聚类l1的中心向量q1分别与url1-url100的特征向量的距离,分别为d1-d100。若计算得到距离d1-d100的均值为μ1、方差为σ12,构建聚类l1的正态分布n(μ1,σ12),如图4所示的聚类l1的正态分布的示意图。

步骤7可以仅针对这10个聚类中一部分聚类,也可以不执行,本申请实施例对此不进行限定。

8、将构建聚类l1的正态分布n(μ1,σ12)作为过渡正态分布,如图4所示,若第二预设概率为90%,确定对称位于聚类l1的过渡正态分布所在坐标系横轴上的中心轴两侧x1、x2,x1、x2之间的概率为90%。

其中,第二预设概率可以在一个较大的概率范围内选择,如在70%-95%概率范围内确定第二预设概率。图4中μ1处的轴线为聚类l1的过渡正态分布所在坐标系横轴上的中心轴。

9、若url1、url2、url3、url4和url5的特征向量与聚类l1的中心向量q1的距离d1、d2、d3、d4和d5不在x1-x2区间内,即d1、d2、d3、d4和d5分别小于x1或大于x2,去除聚类l1中url1、url2、url3、url4和url5,聚类l1中剩余样本网页请求为url6-url100。

10、计算url6-url100的特征向量的均值,作为聚类l1的中心向量q11。

本申请实施例中,可以多次执行步骤7-步骤10,以尽可能的去除聚类l1中恶意网页请求,提高网页请求识别的准确率。

11、计算聚类l1的中心向量q11分别与url6-url100的特征向量的距离,分别为d6-d100。若计算得到距离d6-d100的均值为μ2、方差为σ22,构建聚类l1的正态分布n(μ2,σ22)。

12、若第一预设概率为80%,确定对称位于聚类l1的正态分布所在坐标系横轴上的中心轴两侧x3、x4,x3、x4之间的概率为80%,将x3、x4区间确定为聚类l1对应的预定距离范围。

其中,第一预设概率可以在一个较大的概率范围内选择,如在70%-95%概率范围内确定第一预设概率。

13、当接收到待识别网页请求时,若该待识别网页请求属于聚类l1,计算待识别网页请求的特征向量与聚类l1的中心向量q11的距离d’。

14、若d’在x3-x4区间内,确定待识别网页请求为非恶意网页请求;若d’不在x3-x4区间内,确定待识别网页请求为恶意网页请求。

与网页请求识别方法实施例对应,本申请实施例还提供了一种网页请求识别装置。参考图5,图5为本申请实施例提供的网页请求识别装置的一种结构示意图,该装置包括:

提取单元501,用于提取多个样本网页请求的特征;

第一确定单元502,用于确定每一样本网页请求的特征对应的特征向量;

聚类单元503,用于根据预定聚类算法和确定的特征向量,对多个样本网页请求进行聚类;

第二确定单元504,用于针对每一聚类,根据该聚类包含的样本网页请求的特征向量,确定该聚类包含的样本网页请求的特征向量的中心向量;

第三确定单元505,用于当获得待识别网页请求时,确定待识别网页请求所属的聚类;

识别单元506,用于若待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离不在待识别网页请求所属的聚类对应的预定距离范围内,则确定待识别网页请求为恶意网页请求。

在本申请的一个实施例中,上述网页请求识别装置还可以包括:

计算单元,用于计算待识别网页请求所属的聚类的中心向量分别与待识别网页请求所属的聚类包含的每一样本网页请求的特征向量的距离;

第四确定单元,用于确定计算得到的多个距离的第一均值和第一方差;

构建单元,用于根据第一均值和第一方差,构建待识别网页请求所属的聚类的正态分布;

第五确定单元,用于确定待识别网页请求所属的聚类的正态分布所在坐标系横轴上的第一点和第二点,第一点和第二点对称位于待识别网页请求所属的聚类的正态分布的中心轴两侧,且第一点和第二点之间的概率为第一预设概率;

第六确定单元,用于将第一点的横坐标值和第二点的横坐标值组成的区间确定为待识别网页请求所属的聚类对应的预定距离范围。

在本申请的一个实施例中,构建单元,具体可以用于:

根据待识别网页请求所属的聚类的第一均值和第一方差,构建待识别网页请求所属的聚类的过渡正态分布;

去除待识别网页请求所属的聚类中不满足以下公式的样本网页请求:

δ1<x<δ2;

其中,x为待识别网页请求所属的聚类包含的样本网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离,δ1为位于待识别网页请求所属的聚类的过渡正态分布所在坐标系横轴上的中心轴左侧的第三点,δ2为与第三点对称位于待识别网页请求所属的聚类的过渡正态分布所在坐标系横轴上的中心轴右侧的第四点;在待识别网页请求所属的聚类的过渡正态分布下,第三点和第四点之间的概率为第二预设概率;

根据待识别网页请求所属的聚类包含的剩余样本网页请求的特征向量,重新确定待识别网页请求所属的聚类的中心向量;

重新计算待识别网页请求所属的聚类的中心向量分别与待识别网页请求所属的聚类包含的每一剩余样本网页请求的特征向量的距离;

确定重新计算得到的多个距离的第二均值和第二方差;

根据第二均值和第二方差,构建待识别网页请求所属的聚类的正态分布。

在本申请的一个实施例中,第三确定单元505,具体可以用于:

当获得待识别网页请求时,提取待识别网页请求的特征;

确定待识别网页请求的特征向量;

计算待识别网页请求的特征向量分别与各个聚类的中心向量的距离;

将距离最小的聚类确定为待识别网页请求所属的聚类。

在本申请的一个实施例中,提取单元501,具体可以用于:

提取多个样本网页请求中预设类型的词语;

确定提取的词语中每一词语的出现次数;

提取多个样本网页请求中每一样本网页请求的结构特征;

对于每一样本网页请求,将该样本网页请求的结构特征和该样本网页请求中预设类型的词语的出现次数,确定为该样本网页请求的特征。

在本申请的一个实施例中,提取单元501,具体可以用于:

提取多个样本网页请求中的参数名和参数值。

在本申请的一个实施例中,提取单元501,具体可以用于:

对于每一样本网页请求,提取该样本网页请求中的参数个数、参数值平均长度、参数值最大字节数;提取与该样本网页请求路径相同的多个样本网页请求中的参数个数的平均值、参数值长度的平均值。

应用本申请实施例,不考虑样本网页请求的标签,对样本网页请求进行聚类,确定每一聚类包含的样本网页请求的特征向量的中心向量,并为每一聚类预先设置一个非恶意网页请求的特征向量与该聚类的中心向量的距离范围;非恶意网页请求大部分具有相同的模型,在对样本网页请求聚类后,一个聚类中,非恶意样本网页请求的分布较为集中,非恶意样本网页请求的特征向量与聚类的中心向量的距离在一定的距离范围;因此以样本网页请求的聚类作为网页识别模型,根据待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离是否在待识别网页请求所属的聚类对应的预定距离范围内,就可以准确的确定待识别网页请求是否为恶意网页请求,不再需要大量的标签数据来训练网页请求识别模型,有效地降低了计算复杂度,提高了网页请求识别模型的训练速度。

与网页请求识别方法及网页请求识别装置实施例对应,本申请实施例还提供了一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使可以上述网页请求识别方法。

如图6所示的本申请实施例提供的电子设备的一种结构示意图,包括处理器601和机器可读存储介质602,机器可读存储介质602存储有能够被处理器601执行的机器可执行指令。

另外,如图6所示,电子设备还可以包括:通信接口603和通信总线604;其中,处理器601、机器可读存储介质602、通信接口603通过通信总线604完成相互间的通信,通信接口603用于上述电子设备与其他设备之间的通信。

本申请实施例中,机器可执行指令包括:提取指令611、第一确定指令622、聚类指令632、第二确定指令642、第三确定指令652和识别指令662;

处理器601被提取指令612促使实现:提取多个样本网页请求的特征;

处理器601被第一确定指令622促使实现:确定每一样本网页请求的特征对应的特征向量;

处理器601被聚类指令632促使实现:根据预定聚类算法和确定的特征向量,对多个样本网页请求进行聚类;

处理器601被第二确定指令642促使实现:针对每一聚类,根据该聚类包含的样本网页请求的特征向量,确定该聚类包含的样本网页请求的特征向量的中心向量;

处理器601被第三确定指令652促使实现:当获得待识别网页请求时,确定待识别网页请求所属的聚类;

处理器601被识别指令662促使实现:若待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离不在待识别网页请求所属的聚类对应的预定距离范围内,则确定待识别网页请求为恶意网页请求。

在本申请的一个实施例中,机器可执行指令还可以包括:计算指令、第四确定指令、构建指令、第五确定指令、第六确定指令;

处理器601被计算指令促使实现:计算待识别网页请求所属的聚类的中心向量分别与待识别网页请求所属的聚类包含的每一样本网页请求的特征向量的距离;

处理器601被第四确定指令促使实现:确定计算得到的多个距离的第一均值和第一方差;

处理器601被构建指令促使实现:根据第一均值和第一方差,构建待识别网页请求所属的聚类的正态分布;

处理器601被第五确定指令促使实现:确定待识别网页请求所属的聚类的正态分布所在坐标系横轴上的第一点和第二点,第一点和第二点对称位于待识别网页请求所属的聚类的正态分布的中心轴两侧,且第一点和所述第二点之间的概率为第一预设概率;

处理器601被第六确定指令促使实现:将第一点的横坐标值和第二点的横坐标值组成的区间确定为待识别网页请求所属的聚类对应的预定距离范围。

在本申请的一个实施例中,处理器601被构建指令促使具体可以实现:

根据待识别网页请求所属的聚类的第一均值和第一方差,构建待识别网页请求所属的聚类的过渡正态分布;

去除待识别网页请求所属的聚类中不满足以下公式的样本网页请求:

δ1<x<δ2;

其中,x为待识别网页请求所属的聚类包含的样本网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离,δ1为位于待识别网页请求所属的聚类的过渡正态分布所在坐标系横轴上的中心轴左侧的第三点,δ2为与第三点对称位于待识别网页请求所属的聚类的过渡正态分布所在坐标系横轴上的中心轴右侧的第四点;在待识别网页请求所属的聚类的过渡正态分布下,第三点和第四点之间的概率为第二预设概率;

根据待识别网页请求所属的聚类包含的剩余样本网页请求的特征向量,重新确定待识别网页请求所属的聚类的中心向量;

重新计算待识别网页请求所属的聚类的中心向量分别与待识别网页请求所属的聚类包含的每一剩余样本网页请求的特征向量的距离;

确定重新计算得到的多个距离的第二均值和第二方差;

根据第二均值和第二方差,构建待识别网页请求所属的聚类的正态分布。

在本申请的一个实施例中,处理器601被第三确定指令652促使具体可以实现:

当获得待识别网页请求时,提取待识别网页请求的特征;

确定待识别网页请求的特征向量;

计算待识别网页请求的特征向量分别与各个聚类的中心向量的距离;

将距离最小的聚类确定为待识别网页请求所属的聚类。

在本申请的一个实施例中,处理器601被提取指令612促使具体可以实现:

提取多个样本网页请求中预设类型的词语;

确定提取的词语中每一词语的出现次数;

提取多个样本网页请求中每一样本网页请求的结构特征;

对于每一样本网页请求,将该样本网页请求的结构特征和该样本网页请求中预设类型的词语的出现次数,确定为该样本网页请求的特征。

在本申请的一个实施例中,处理器601被提取指令612促使具体可以实现:

提取多个样本网页请求中的参数名和参数值。

在本申请的一个实施例中,处理器601被提取指令612促使具体可以实现:

对于每一样本网页请求,提取该样本网页请求中的参数个数、参数值平均长度、参数值最大字节数;提取与该样本网页请求路径相同的多个样本网页请求中的参数个数的平均值、参数值长度的平均值。

应用本申请实施例,不考虑样本网页请求的标签,对样本网页请求进行聚类,确定每一聚类包含的样本网页请求的特征向量的中心向量,并为每一聚类预先设置一个非恶意网页请求的特征向量与该聚类的中心向量的距离范围;非恶意网页请求大部分具有相同的模型,在对样本网页请求聚类后,一个聚类中,非恶意样本网页请求的分布较为集中,非恶意样本网页请求的特征向量与聚类的中心向量的距离在一定的距离范围;因此以样本网页请求的聚类作为网页识别模型,根据待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离是否在待识别网页请求所属的聚类对应的预定距离范围内,就可以准确的确定待识别网页请求是否为恶意网页请求,不再需要大量的标签数据来训练网页请求识别模型,有效地降低了计算复杂度,提高了网页请求识别模型的训练速度。

上述通信总线604可以是pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。该通信总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

机器可读存储介质602可以包括ram(randomaccessmemory,随机存取存储器),也可以包括nvm(non-volatilememory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质602还可以是至少一个位于远离前述处理器的存储装置。

处理器601可以是通用处理器,包括cpu(centralprocessingunit,中央处理器)、np(networkprocessor,网络处理器)等;还可以是dsp(digitalsignalprocessing,数字信号处理器)、asic(applicationspecificintegratedcircuit,专用集成电路)、fpga(field-programmablegatearray,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

与网页请求识别方法及网页请求识别装置实施例对应,本申请实施例还提供了一种机器可读存储介质,存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器实现上述网页请求识别方法。

其中,机器可执行指令包括:提取指令、第一确定指令、聚类指令、第二确定指令、第三确定指令和识别指令;

在被处理器调用和执行时,提取指令促使处理器实现:提取多个样本网页请求的特征;

在被处理器调用和执行时,第一确定指令促使处理器实现:确定每一样本网页请求的特征对应的特征向量;

在被处理器调用和执行时,聚类指令促使处理器实现:根据预定聚类算法和确定的特征向量,对多个样本网页请求进行聚类;

在被处理器调用和执行时,第二确定指令促使处理器实现:针对每一聚类,根据该聚类包含的样本网页请求的特征向量,确定该聚类包含的样本网页请求的特征向量的中心向量;

在被处理器调用和执行时,第三确定指令促使处理器实现:当获得待识别网页请求时,确定待识别网页请求所属的聚类;

在被处理器调用和执行时,识别指令促使处理器实现:若待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离不在待识别网页请求所属的聚类对应的预定距离范围内,则确定待识别网页请求为恶意网页请求。

在本申请的一个实施例中,机器可执行指令还可以包括:计算指令、第四确定指令、构建指令、第五确定指令、第六确定指令;

在被处理器调用和执行时,计算指令促使处理器实现:计算待识别网页请求所属的聚类的中心向量分别与待识别网页请求所属的聚类包含的每一样本网页请求的特征向量的距离;

在被处理器调用和执行时,第四确定指令促使处理器实现:确定计算得到的多个距离的第一均值和第一方差;

在被处理器调用和执行时,构建指令促使处理器实现:根据第一均值和第一方差,构建待识别网页请求所属的聚类的正态分布;

在被处理器调用和执行时,第五确定指令促使处理器实现:确定待识别网页请求所属的聚类的正态分布所在坐标系横轴上的第一点和第二点,第一点和第二点对称位于待识别网页请求所属的聚类的正态分布的中心轴两侧,且第一点和所述第二点之间的概率为第一预设概率;

在被处理器调用和执行时,第六确定指令促使处理器实现:将第一点的横坐标值和第二点的横坐标值组成的区间确定为待识别网页请求所属的聚类对应的预定距离范围。

在本申请的一个实施例中,在被处理器调用和执行时,构建指令促使处理器具体可以实现:

根据待识别网页请求所属的聚类的第一均值和第一方差,构建待识别网页请求所属的聚类的过渡正态分布;

去除待识别网页请求所属的聚类中不满足以下公式的样本网页请求:

δ1<x<δ2;

其中,x为待识别网页请求所属的聚类包含的样本网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离,δ1为位于待识别网页请求所属的聚类的过渡正态分布所在坐标系横轴上的中心轴左侧的第三点,δ2为与第三点对称位于待识别网页请求所属的聚类的过渡正态分布所在坐标系横轴上的中心轴右侧的第四点;在待识别网页请求所属的聚类的过渡正态分布下,第三点和第四点之间的概率为第二预设概率;

根据待识别网页请求所属的聚类包含的剩余样本网页请求的特征向量,重新确定待识别网页请求所属的聚类的中心向量;

重新计算待识别网页请求所属的聚类的中心向量分别与待识别网页请求所属的聚类包含的每一剩余样本网页请求的特征向量的距离;

确定重新计算得到的多个距离的第二均值和第二方差;

根据第二均值和第二方差,构建待识别网页请求所属的聚类的正态分布。

在本申请的一个实施例中,在被处理器调用和执行时,第三确定指令促使处理器具体可以实现:

当获得待识别网页请求时,提取待识别网页请求的特征;

确定待识别网页请求的特征向量;

计算待识别网页请求的特征向量分别与各个聚类的中心向量的距离;

将距离最小的聚类确定为待识别网页请求所属的聚类。

在本申请的一个实施例中,在被处理器调用和执行时,提取指令促使处理器具体可以实现:

提取多个样本网页请求中预设类型的词语;

确定提取的词语中每一词语的出现次数;

提取多个样本网页请求中每一样本网页请求的结构特征;

对于每一样本网页请求,将该样本网页请求的结构特征和该样本网页请求中预设类型的词语的出现次数,确定为该样本网页请求的特征。

在本申请的一个实施例中,在被处理器调用和执行时,提取指令促使处理器具体可以实现:

提取多个样本网页请求中的参数名和参数值。

在本申请的一个实施例中,在被处理器调用和执行时,提取指令促使处理器具体可以实现:

对于每一样本网页请求,提取该样本网页请求中的参数个数、参数值平均长度、参数值最大字节数;提取与该样本网页请求路径相同的多个样本网页请求中的参数个数的平均值、参数值长度的平均值。

应用本申请实施例,不考虑样本网页请求的标签,对样本网页请求进行聚类,确定每一聚类包含的样本网页请求的特征向量的中心向量,并为每一聚类预先设置一个非恶意网页请求的特征向量与该聚类的中心向量的距离范围;非恶意网页请求大部分具有相同的模型,在对样本网页请求聚类后,一个聚类中,非恶意样本网页请求的分布较为集中,非恶意样本网页请求的特征向量与聚类的中心向量的距离在一定的距离范围;因此以样本网页请求的聚类作为网页识别模型,根据待识别网页请求的特征向量与待识别网页请求所属的聚类的中心向量的距离是否在待识别网页请求所属的聚类对应的预定距离范围内,就可以准确的确定待识别网页请求是否为恶意网页请求,不再需要大量的标签数据来训练网页请求识别模型,有效地降低了计算复杂度,提高了网页请求识别模型的训练速度。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于网页请求识别装置、电子设备、机器可读存储介质实施例而言,由于其基本相似于网页请求识别方法实施例,所以描述的比较简单,相关之处参见网页请求识别方法实施例的部分说明即可。

以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1