HTTP请求数据的异常检测方法、装置、服务器及存储介质与流程

文档序号:21361031发布日期:2020-07-04 04:34阅读:385来源:国知局
HTTP请求数据的异常检测方法、装置、服务器及存储介质与流程

本发明属于网络安全技术领域,尤其涉及一种超文本传输协议(http,hypertexttransportprotocol)请求数据的异常检测方法、装置、服务器及存储介质。



背景技术:

http协议作为万维网(web,worldwideweb)应用领域最常见的通信协议,http请求数据中常常包含各种web攻击。目前对http请求数据的异常检测依赖于传统规则检测引擎对各种web攻击特征的描述,通过规则检测引擎检测得到http请求中包含web攻击,从而认为http请求数据异常。但是这种http请求数据的异常检测方法需要人为经常更新规则检测引擎的规则库,而且对规则库之外的web攻击束手无策。



技术实现要素:

有鉴于此,本发明实施例提供一种http请求数据的异常检测方法、装置、服务器及存储介质,以至少解决相关技术中规则检测引擎无法抵挡规则之外的web攻击的问题。

本发明实施例的技术方案是这样实现的:

第一方面,本发明实施例提供了一种http请求数据的异常检测方法,该方法包括:

接收http请求数据;

确定所述http请求数据对应的特征向量矩阵,所述特征向量矩阵基于所述http请求数据的文本信息确定;

将所述特征向量矩阵输入至少两个设定的异常检测模型,得到所述至少两个设定的异常检测模型中的每个异常检测模型对应的第一检测结果;

根据所述至少两个设定的异常检测模型中所有异常检测模型对应的第一检测结果确定第二检测结果,所述第二检测结果表征所述http请求数据是否异常。

上述方案中,所述根据所述至少两个设定的异常检测模型中所有异常检测模型对应的第一检测结果确定第二检测结果,包括:

将所述至少两个设定的异常检测模型中所有异常检测模型对应的第一检测结果进行加权计算,得到第二检测结果;其中,

在所述第二检测结果小于设定阈值的情况下,表征所述http请求数据异常。

上述方案中,所述确定所述http请求数据对应的特征向量矩阵,包括:

基于所述http请求数据的数据内容构建长文本;

根据所述长文本确定所述http请求数据对应的特征向量矩阵。

第二方面,本发明实施例提供了一种模型的训练方法,该方法包括:

将http请求数据样本按照设定划分规则划分为第一数据和第二数据;

分别确定所述第一数据和第二数据对应的特征向量矩阵;

将所述第二数据对应的特征向量矩阵输入第一模型,得到第一模型对应输出的检测结果;所述第一模型基于所述第一数据对应的特征向量矩阵训练得到;

基于设定的第二数据的检测结果,对第一模型对应输出的检测结果进行评估,得到评估结果;所述评估结果表征第一模型对应输出的检测结果的精确度;

在所述评估结果不满足设定条件时,根据所述评估结果调整所述第一模型的模型参数,直至所述评估结果满足设定条件,将所述评估结果满足设定条件时的第一模型确定为所述异常检测模型;所述设定条件表征第一模型对应输出的检测结果的精确度大于设定阈值。

上述方案中,所述分别确定所述第一数据和第二数据对应的特征向量矩阵,包括:

分别确定所述第一数据对应的长文本和所述第二数据对应的长文本;

根据所述第一数据对应的长文本确定所述第一数据的特征向量空间;

根据所述特征向量空间确定所述第一数据对应的特征向量矩阵;以及

在所述特征向量空间中,根据所述第二数据对应的长文本确定所述第二数据对应的特征向量矩阵。

上述方案中,所述将http请求数据样本按照设定划分规则划分为第一数据和第二数据,包括:

将所述http请求数据样本进行预处理;

将预处理后的http请求数据样本按照设定划分规则划分为第一数据和第二数据;其中,

所述预处理包括以下至少一项:

去除所述http请求数据样本中的重复数据;

填补所述http请求数据样本中的缺失字段;

删除所述http请求数据样本中满足设定条件的字段;所述设定条件表征对应的字段不需要进行异常检测。

第三方面,本发明实施例提供了一种http请求数据的异常检测装置,该装置包括:

接收模块,用于接收http请求数据;

第一确定模块,用于确定所述http请求数据对应的特征向量矩阵,所述特征向量矩阵基于所述http请求数据的文本信息确定;

第一检测模块,用于将所述特征向量矩阵输入至少两个设定的异常检测模型,得到所述至少两个设定的异常检测模型中的每个异常检测模型对应的第一检测结果;

第二检测模块,用于根据所述至少两个设定的异常检测模型中所有异常检测模型对应的第一检测结果确定第二检测结果,所述第二检测结果表征所述http请求数据是否异常。

第四方面,本发明实施例提供了一种模型的训练装置,该装置包括:

划分模块,用于将http请求数据样本按照设定划分规则划分为第一数据和第二数据;

第二确定模块,用于分别确定所述第一数据和第二数据对应的特征向量矩阵;

第三检测模块,用于将所述第二数据对应的特征向量矩阵输入第一模型,得到第一模型对应输出的检测结果;所述第一模型基于所述第一数据对应的特征向量矩阵训练得到;

评估模块,用于基于设定的第二数据的检测结果,对第一模型对应输出的检测结果进行评估,得到评估结果;所述评估结果表征第一模型对应输出的检测结果的精确度;

调整模块,用于在所述评估结果不满足设定条件时,根据所述评估结果调整所述第一模型的模型参数,直至所述评估结果满足设定条件,将所述评估结果满足设定条件时的第一模型确定为所述异常检测模型;所述设定条件表征第一模型对应输出的检测结果的精确度大于设定阈值。

第五方面,本发明实施例提供了一种服务器,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的http请求数据的异常检测方法的步骤,或者执行本发明实施例第二方面提供的模型的训练方法的步骤。

第六方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的http请求数据的异常检测方法的步骤,或者执行时实现如本发明实施例第二方面提供的模型的训练方法的步骤。

本发明实施例通过确定所述http请求数据对应的特征向量矩阵,将所述特征向量矩阵输入至少两个设定的异常检测模型,得到所述至少两个设定的异常检测模型中的每个异常检测模型对应的第一检测结果;根据多个第一检测结果确定第二检测结果。本发明实施例基于异常检测模型来检测http请求数据是否异常,解决了相关技术中规则检测引擎无法抵挡规则之外的web攻击的问题。而且本发明实施例根据多个异常检测模型的第一检测结果来确定第二检测结果,可以增加检测结果的准确度。

附图说明

图1是本发明实施例提供的一种http请求数据的异常检测方法的实现流程示意图;

图2是本发明实施例提供的另一种http请求数据的异常检测方法的实现流程示意图;

图3是本发明实施例提供的一种模型的训练方法的实现流程示意图;

图4是本发明实施例提供的另一种模型的训练方法的实现流程示意图;

图5是本发明实施例提供的另一种模型的训练方法的实现流程示意图;

图6是本发明应用实施例提供的另一种模型的训练方法的实现流程示意图;

图7是本发明应用实施例提供的另一种http请求数据的异常检测方法的实现流程示意图;

图8是本发明实施例提供的一种http请求数据的异常检测装置的结构框图;

图9是本发明实施例提供的一种模型的训练装置的结构框图;

图10是本发明应用实施例提供的一种http请求数据的异常检测系统的结构框图;

图11是本发明实施例提供的服务器的硬件结构示意图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

需要说明的是,本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

另外,在本发明实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

图1是本发明实施例提供的一种http请求数据的异常检测方法的实现流程示意图,该方法执行主体为服务器。如图1所示,http请求数据的异常检测方法包括:

s101,接收http请求数据。

http是一个客户端和服务器端之间进行请求和应答的标准,当客户端需要获取服务器端的内容时,客户端通过使用web浏览器、网络爬虫或者其它的工具,发起一个到服务器端上指定端口(默认端口为80)的http请求数据。服务器端接收到http请求数据后,会根据请求内容返回对应的http响应数据给客户端。

通常一条http请求数据包括http方法、统一资源定位符(url,uniformresourcelocator)、储存在用户本地终端上的数据(cookie)、通用首部字段、请求首部字段、实体首部字段和请求实体。

s102,确定所述http请求数据对应的特征向量矩阵,所述特征向量矩阵基于所述http请求数据的文本信息确定。

使用异常检测模型来检测http请求数据是否异常,需要在输入异常检测模型之前,将http请求数据转换成异常检测模型能够识别的特征向量。

参考图2,其示出了本发明实施例提供的另一种http请求数据的异常检测方法的流程示意图,所述确定所述http请求数据对应的特征向量矩阵,包括:

s201,将所述http请求数据进行预处理;所述预处理包括以下至少一项:填补所述http请求数据中的缺失字段和删除所述http请求数据中满足设定条件的字段;所述设定条件表征所述http请求数据中的字段不需要进行异常检测。

填补所述http请求数据中的缺失字段,例如,如果请求首部字段中某些字段缺失,则根据通用的请求首部字段填补缺失的字段。

删除所述http请求数据中满足设定条件的字段,例如,如果多条http请求数据中的通用首部字段、请求首部字段和实体首部字段都为同一属性值,因为不可能所有http请求数据都是异常的,说明这些http请求数据中的通用首部字段、请求首部字段和实体首部字段不具备http异常检测意义,将这些http请求数据中的通用首部字段、请求首部字段和实体首部字段都丢弃,得到预处理后http请求数据,预处理后http请求数据包括:http方法、url、cookie和请求实体。

s202,基于所述http请求数据的数据内容构建长文本。

在本发明一种实施例中,长文本的内容分为三部分:url、请求参数和cookie。在实际应用中,可以按照url+‘?’+请求参数+‘|’+cookie的格式构建长文本。在‘get’请求方法中请求数据已经按照url+‘?’+请求参数的格式拼接,对于‘post’和‘put’请求方法,需要提取请求数据中的请求参数并按照设定的格式拼接。其中,get、post和put是3种常见的http请求方法。

s203,根据所述长文本确定所述http请求数据对应的特征向量矩阵。

目前,相关技术在提取数据的特征时,主要是基于统计数据来构建特征,通常需要对数据进行数值化的特征提取和分析。例如,统计url参数个数、参数值长度的均值和方差、参数字符分布和url的访问频率等,然后根据统计的数值构建特征。而本发明实施例考虑到cookie字段没有特定结构,以及http可用字段不利于统计特征等问题,本发明实施例从文本角度分析http请求数据,对http请求数据构建长文本,使用n-gram算法和tf-idf算法提取长文本的特征,用于机器学习模型的输入,本发明实施例对机器学习在数据异常检测领域的实现提供了新的思路。

在确定http请求数据对应的特征向量矩阵之前,先要构建http请求数据的文本特征向量空间。

在实际应用中,可以使用n-gram算法处理长文本得到特征向量空间。n-gram是一种基于统计语言模型的算法,它的基本思想是将数据里面的内容按照字节进行大小为n的滑动窗口操作,形成了长度是n的字节片段序列。每一个字节片段称为gram,对所有gram的出现频度进行统计,并且按照事先设定好的阈值进行过滤,形成关键gram列表,也就是这个http请求数据的向量特征空间,列表中的每一种gram就是一个特征向量维度。

通过n-gram算法为每一条长文本生成一个特征向量空间,然后从特征向量空间中提取出特征向量矩阵。在实际应用中,可以使用tf-idf(termfrequency–inversedocumentfrequency)算法从特征向量空间中提取http请求数据对应的特征向量矩阵。

tf-idf是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。在一份给定的文件里,词频tf指的是某一个给定的词语在该文件中出现的频率,对于某一特定词语的idf,可以由总文件数目除以包含该词语的文件的数目,再将得到的商取对数得到。某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的tf-idf。因此,tf-idf倾向于过滤掉常见的词语,保留重要的词语。

应用tf-idf算法在特征向量空间中提取tf-idf特征,构建http请求数据的tf-idf矩阵,tf-idf矩阵即为http请求数据对应的特征向量矩阵。

s103,将所述特征向量矩阵输入至少两个设定的异常检测模型,得到所述至少两个设定的异常检测模型中的每个异常检测模型对应的第一检测结果。

本发明实施例包括至少两个异常检测模型,在将特征向量矩阵输入至少两个设定的异常检测模型之前,需要使用训练样本训练出至少两个设定的异常检测模型,这里,至少两个设定的异常检测模型为至少两个不同类型的异常检测模型,例如,一个为逻辑回归模型,一个为随机森林模型。

图3是本发明实施例提供的一种模型的训练方法的实现流程示意图,如图3所示,模型的训练方法包括:

s301,将http请求数据样本按照设定划分规则划分为第一数据和第二数据。

在本发明实施例中,所述第一数据用于训练异常检测模型,第二数据用于调整异常检测模型的模型参数。

具体的,参考图4,其示出了本发明实施例提供的另一种模型的训练方法的流程示意图,所述将http请求数据样本按照设定划分规则划分为第一数据和第二数据,包括:

s401,将所述http请求数据样本进行预处理,所述预处理包括:所述预处理包括以下至少一项:去除所述http请求数据样本中的重复数据、填补所述http请求数据样本中的缺失字段和删除所述http请求数据样本中满足设定条件的字段;所述设定条件表征所述http请求数据中的字段不需要进行异常检测。

重复数据就是指两条http请求数据样本的数据内容一模一样,将http请求数据样本中的重复数据删除,只保留重复的http请求数据样本中的一条http请求数据样本。

填补所述http请求数据样本中的缺失字段和删除所述http请求数据样本中满足设定条件的字段,在本发明实施例中不再赘述。

s402,将http请求数据样本按照设定划分规则划分为第一数据和第二数据。

在本发明实施例中,可以使用k折交叉验证法划分第一数据和第二数据。k折交叉验证就是将数据划分为k份,其中1份作为测试数据(第二数据),另外k-1份作为训练数据(第一数据)。例如,将预处理后的http请求数据样本随机划分为5份,每次将其中4份作为第一数据,另外1份作为第二数据。

s302,分别确定所述第一数据和第二数据对应的特征向量矩阵。

参考图5,其示出了本发明实施例提供的另一种模型的训练方法的流程示意图,所述分别确定所述第一数据和第二数据对应的特征向量矩阵,包括:

s501,分别确定所述第一数据对应的长文本和所述第二数据对应的长文本。

例如,在本发明一种实施例中,长文本的内容分为三部分:url、请求参数和cookie。在实际应用中,可以按照url+‘?’+请求参数+‘|’+cookie的格式构建长文本。在‘get’请求方法中请求数据已经按照url+‘?’+请求参数的格式拼接,对于‘post’和‘put’请求方法,需要提取请求数据中的请求参数并按照设定的格式拼接。其中,get、post和put是3种常见的http请求方法。

根据上述方法,分别生成第一数据对应的长文本和第二数据对应的长文本。

s502,根据所述第一数据对应的长文本确定所述第一数据的特征向量空间。

在实际应用中,可以使用n-gram算法处理第一数据对应的长文本确定第一数据的特征向量空间。

s503,根据所述特征向量空间确定所述第一数据对应的特征向量矩阵;以及在所述特征向量空间中,根据所述第二数据对应的长文本确定所述第二数据对应的特征向量矩阵。

在实际应用中,应用tf-idf算法在第一数据的特征向量空间中提取tf-idf特征,构建第一数据对应的特征向量矩阵。

在第一数据的特征向量空间基础上生成第二数据的特征向量矩阵,是因为第一数据的长文本构建了异常检测模型的特征向量空间,第二数据在输入异常检测模型时,为了得到特征向量矩阵,需要根据这个特征向量空间生成特征向量矩阵。异常检测模型在训练的时候从第一数据中认识了一堆词或信息,异常检测模型对第二数据新出现的信息是不认识的,异常检测模型对第二数据进行识别时只能根据自己认识的信息做判断。

使用上述算法,在第一数据的特征向量空间的基础上,根据第二数据对应的长文本确定出第二数据对应的特征向量矩阵。

s303,将所述第二数据对应的特征向量矩阵输入第一模型,得到第一模型对应输出的检测结果;所述第一模型基于所述第一数据对应的特征向量矩阵训练得到;

在本发明实施例中,第一模型是基于第一数据对应的特征向量矩阵训练得到的。在得到训练完成的第一模型后,利用第二数据调整第一模型的模型参数,使得异常检测模型的检测结果更加准确。

将第二数据对应的特征向量矩阵输入第一模型,得到第一模型对应输出的检测结果。

s304,基于设定的第二数据的检测结果,对第一模型对应输出的检测结果进行评估,得到评估结果;所述评估结果表征第一模型对应输出的检测结果的精确度。

在本发明一种实施例中,对第一模型对应输出的检测结果与设定的第二数据的检测结果进行评估。设定的第二数据的检测结果是由人工标记的第二数据的检测结果,例如,如果第二数据是正常的http请求数据,则设定的第二数据的检测结果为1;如果第二数据是异常的http请求数据,则设定的第二数据的检测结果为0。

将第一模型输出的检测结果与设定的第二数据的检测结果进行评估,得到评估结果。在实际应用中,可以采用误判率、漏检率和f1-score指标中的一种或多种评估方法来评估第一模型。

s305,在所述评估结果不满足设定条件时,根据所述评估结果调整所述第一模型的模型参数,直至所述评估结果满足设定条件,将所述评估结果满足设定条件时的第一模型确定为所述异常检测模型;所述设定条件表征第一模型对应输出的检测结果的精确度大于设定阈值。

因为第一模型在训练时只拟合了第一数据,第一模型在检测与第一数据类似的数据时有较高的检测准确度,但是不能保证第一模型对第一数据外的数据保持同样高的检测准确度,因此需要通过检测第二数据来观察第一模型的检测准确度,在检测准确度不高的情况下,调整第一模型的模型参数。

评估结果表征第一模型对应输出的检测结果的精确度,在第一模型对应输出的检测结果的精确度不大于设定阈值时,根据评估结果调整所述第一模型的模型参数,然后继续使用调整模型参数后的第一模型检测第二数据,将检测结果进行评估,得到评估结果。以此循环,直至第一模型对应输出的检测结果的精确度大于设定阈值,停止调整第一模型的模型参数。此时,认为第一模型输出的检测结果准确度较高,将最后一次调整模型参数后的第一模型确定为所述异常检测模型。

在本发明实施例中,因为有至少两个设定的异常检测模型,因此需要训练出至少两个第一模型,最终得到至少两个异常检测模型。

s104,根据所述至少两个设定的异常检测模型中所有异常检测模型对应的第一检测结果确定第二检测结果,所述第二检测结果表征所述http请求数据是否异常。

在本发明一种实施例中,将所述第一检测结果进行加权计算,得到第二检测结果;在所述第二检测结果小于设定阈值的情况下,表征所述http请求数据异常。第二检测结果大于设定阈值的情况下,表征所述http请求数据正常。

每个异常检测模型都会得到一个检测结果。例如,假设一共有五个异常检测模型,对于一条http请求数据,五个异常检测模型一共得到五个第一检测结果,假设五个第一检测结果分别为(1,1,1,1,0),其中,1代表正常,0代表异常。对五个第一检测结果加权计算平均值,计算得到加权结果为0.8,即第二检测结果为0.8,假设设定阈值为0.5,第二检测结果大于设定阈值0.5,判定http请求数据为正常请求数据。

本发明实施例通过确定所述http请求数据对应的特征向量矩阵,将所述特征向量矩阵输入至少两个设定的异常检测模型,得到所述至少两个设定的异常检测模型中的每个异常检测模型对应的第一检测结果;根据多个第一检测结果确定第二检测结果。本发明实施例基于异常检测模型来检测http请求数据是否异常,解决了相关技术中规则检测引擎无法抵挡规则之外的web攻击的问题。而且本发明实施例根据多个异常检测模型的第一检测结果来确定第二检测结果,可以增加检测结果的准确度。

参考图6,其示出了本发明应用实施例提供的一种模型的训练方法的流程示意图,所述模型的训练流程包括:

s601,对http请求数据样本进行预处理。

所述预处理包括:所述预处理包括以下至少一项:去除所述http请求数据样本中的重复数据、填补所述http请求数据样本中的缺失字段和删除所述http请求数据样本中满足设定条件的字段;所述设定条件表征所述http请求数据中的字段不需要进行异常检测。

s602,将预处理后的http请求数据样本划分为第一数据和第二数据。

在实际应用中,可以使用k折交叉验证法划分第一数据和第二数据。

s603,提取第一数据和第二数据的特征向量矩阵。

s604,根据第一数据的特征向量矩阵训练异常检测模型。

s605,将第二数据的特征向量矩阵输入异常检测模型,得到检测结果。

s606,评估检测结果,根据评估结果优化异常检测模型。

参考图7,其示出了本发明应用实施例提供的一种http请求数据的异常检测方法的流程示意图,所述http请求数据的异常检测流程包括:

s701,对http请求数据进行预处理。

s702,确定预处理后的http请求数据对应的特征向量矩阵。

所述特征向量矩阵基于所述http请求数据的文本信息确定。

s703,将所述特征向量矩阵输入至少两个设定的异常检测模型,得到对应的第一检测结果。

s704,根据得到的第一检测结果加权计算第二检测结果。

所述第二检测结果表征所述http请求数据是否异常。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

参考图8,图8是本发明实施例提供的一种http请求数据的异常检测装置的示意图,如图8所示,该装置包括:接收模块、第一确定模块、第一检测模块和第二检测模块。

接收模块,用于接收http请求数据;

第一确定模块,用于确定所述http请求数据对应的特征向量矩阵,所述特征向量矩阵基于所述http请求数据的文本信息确定;

第一检测模块,用于将所述特征向量矩阵输入至少两个设定的异常检测模型,得到所述至少两个设定的异常检测模型中的每个异常检测模型对应的第一检测结果;

第二检测模块,用于根据所述至少两个设定的异常检测模型中所有异常检测模型对应的第一检测结果确定第二检测结果,所述第二检测结果表征所述http请求数据是否异常。

所述第二检测模块具体用于:

将所述至少两个设定的异常检测模型中所有异常检测模型对应的第一检测结果进行加权计算,得到第二检测结果;其中,

在所述第二检测结果小于设定阈值的情况下,表征所述http请求数据异常。

所述第一确定模块具体用于:

基于所述http请求数据的数据内容构建长文本;

根据所述长文本确定所述http请求数据对应的特征向量矩阵。

参考图9,图9是本发明实施例提供的一种模型的训练装置的示意图,如图9所示,该装置包括:划分模块、第二确定模块、第三检测模块、评估模块和调整模块。

划分模块,用于将http请求数据样本按照设定划分规则划分为第一数据和第二数据;

第二确定模块,用于分别确定所述第一数据和第二数据对应的特征向量矩阵;

第三检测模块,用于将所述第二数据对应的特征向量矩阵输入第一模型,得到第一模型对应输出的检测结果;所述第一模型基于所述第一数据对应的特征向量矩阵训练得到;

评估模块,基于设定的第二数据的检测结果,对第一模型对应输出的检测结果进行评估,得到评估结果;所述评估结果表征第一模型对应输出的检测结果的精确度;

调整模块,用于在所述评估结果不满足设定条件时,根据所述评估结果调整所述第一模型的模型参数,直至所述评估结果满足设定条件,将所述评估结果满足设定条件时的第一模型确定为所述异常检测模型;所述设定条件表征第一模型对应输出的检测结果的精确度大于设定阈值。

所述第二确定模块具体用于:

分别确定所述第一数据对应的长文本和所述第二数据对应的长文本;

根据所述第一数据对应的长文本确定所述第一数据的特征向量空间;

根据所述特征向量空间确定所述第一数据对应的特征向量矩阵;以及

在所述特征向量空间中,根据所述第二数据对应的长文本确定所述第二数据对应的特征向量矩阵。

所述划分模块具体用于:

将所述样本数据进行预处理;

将预处理后的样本数据按照设定划分规则划分为第一数据和第二数据;其中,

所述预处理包括以下至少一项:

去除所述样本数据中的重复数据;

填补所述样本数据中的缺失字段;

删除所述样本数据中满足设定条件的字段;所述设定条件表征对应的字段不需要进行异常检测。

参考图10,图10是本发明应用实施例提供的一种http请求数据的异常检测系统的示意图,如图10所示,该系统包括:数据处理模块、模型学习模块和异常检测模块。

所述数据处理模块包括:数据预处理模块、数据划分模块和文本处理模块。

所述数据预处理模块用于:将http请求数据进行预处理,去所述预处理包括:所述预处理包括以下至少一项:去除所述http请求数据样本中的重复数据、填补所述http请求数据样本中的缺失字段和删除所述http请求数据样本中满足设定条件的字段;所述设定条件表征所述http请求数据中的字段不需要进行异常检测。

所述数据划分模块,用于根据划分策略将预处理后的http请求数据划分为训练数据、测试数据和检测数据。其中,训练数据和测试数据用于模型学习,检测数据用于异常检测。

所述文本处理模块,用于提取http请求数据中的内容构建长文本,使用n-gram算法和tf-idf算法处理长文本得到训练数据的文本特征向量矩阵,再提取测试数据和检测数据中的内容构建长文本,并在训练数据生成的语料基础上,使用相同的算法生成对应于测试数据和检测数据的文本特征向量矩阵。

所述模型学习模块包括:模型训练模块和模型评估模块。

所述模型训练模块用于根据训练数据训练异常检测模型。

所述模型评估模块用于评估异常检测模型对于测试数据的检测效果,使用专业的评估指标评估异常检测模型的效果和性能,并将其反馈给模型训练模块,优化异常检测模型。

所述异常检测模块包括:单一检测模块和综合加权模块;

单一检测模块接收数据处理模块传递来的检测数据,分别经过多种机器学习异常检测模型,得到对应每种机器学习模型得到单一检测结果。

综合加权模块用于对多个单一检测结果进行加权计算,得到最终的检测结果。

需要说明的是:上述实施例提供的http请求数据的异常检测装置在进行http请求数据的异常检测时,仅以上述各模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的模块完成,即将装置的内部结构划分成不同的模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的http请求数据的异常检测装置与http请求数据的异常检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图11是本发明一实施例提供的服务器的示意图。所述服务器包括:手机、平板、服务器等。如图11所示,该实施例的服务器包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤,例如图1所示的步骤101至104。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块的功能,例如图8所示接收模块、第一确定模块、第一检测模块和第二检测模块的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述服务器中的执行过程。

所述服务器可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图11仅仅是服务器的示例,并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理模块(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器可以是所述服务器的内部存储模块,例如服务器的硬盘或内存。所述存储器也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器还可以既包括所述服务器的内部存储模块也包括外部存储设备。所述存储器用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块、模块完成,即将所述装置的内部结构划分成不同的功能模块或模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块、模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,各功能模块、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中模块、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的实施例中,应该理解到,所揭露的装置/服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置/服务器实施例仅仅是示意性的,例如,所述模块或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或模块的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

所述集成的模块/模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

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