一种web攻击检测方法、装置及电子设备和存储介质与流程

文档序号:26006089发布日期:2021-07-23 21:24阅读:60来源:国知局
一种web攻击检测方法、装置及电子设备和存储介质与流程

本申请涉及计算机技术领域,更具体地说,涉及一种web攻击检测方法、装置及一种电子设备和一种计算机可读存储介质。



背景技术:

由于web应用的普及十分广泛,使得web应用成为攻击者主要的攻击目标。目前,网站主要采用waf(中文全称:web应用防护系统,英文全称:webapplicationfirewall)应对web攻击。在相关技术中,waf基于单个访问请求进行web攻击检测拦截,其对于特征不是很明显的web攻击检测能力弱。

因此,如何提高对web攻击的检测能力是本领域技术人员需要解决的技术问题。



技术实现要素:

本申请的目的在于提供一种web攻击检测方法、装置及一种电子设备和一种计算机可读存储介质,提高了对web攻击的检测能力。

为实现上述目的,本申请提供了一种web攻击检测方法,包括:

获取恶意访问连接,基于所述恶意访问连接中访问请求的上下文特征构建恶意访问模型;

当接收到目标访问请求时,确定所述目标访问请求所属的目标访问连接;

将所述目标访问连接与所述恶意访问模型进行匹配,并基于匹配结果得到所述目标访问请求的检测结果。

其中,所述基于所述恶意访问连接中访问请求的上下文特征构建恶意访问模型,包括:

识别所述恶意访问连接中每个访问请求的请求类型;

根据每个所述访问请求的请求类型构建所述恶意访问连接对应的恶意操作序列;

确定所述恶意访问模型为所述恶意操作序列;

相应的,将所述目标访问连接与所述恶意访问模型进行匹配,并基于匹配结果得到所述目标访问请求的检测结果,包括:

构建所述目标访问连接对应的目标操作序列,将所述目标操作序列与所述恶意操作序列进行匹配得到所述目标访问请求的检测结果。

其中,将所述目标操作序列与所述恶意操作序列进行匹配得到所述目标访问请求的检测结果,包括:

将所述目标操作序列与所述恶意操作序列进行匹配得到公共子串;

当所述公共子串的长度大于第一预设值时,判定所述目标访问请求为恶意访问请求。

其中,将所述目标操作序列与所述恶意操作序列进行匹配得到所述目标访问请求的检测结果,包括:

计算所述目标操作序列与所述恶意操作序列的字符串相似度;

当所述字符串相似度大于第二预设值时,判定所述目标访问请求为恶意访问请求。

其中,所述基于所述恶意访问连接中访问请求的上下文特征构建恶意访问模型,包括:

对所述恶意访问连接中每个访问请求进行报文解析得到每个所述访问请求对应的所有字段;

根据每个所述访问请求对应的所有字段构建每个所述访问请求对应的特征向量;

利用所有所述访问请求的特征向量训练神经网络模型,并确定所述恶意访问模型为训练完成的神经网络模型。

相应的,将所述目标访问连接与所述恶意访问模型进行匹配,并基于匹配结果得到所述目标访问请求的检测结果,包括:

将所述目标访问连接中每个访问请求对应的特征向量输入所述训练完成的神经网络模型中得到所述目标访问请求的检测结果。

其中,所述根据每个所述访问请求对应的所有字段构建每个所述访问请求对应的特征向量,包括:

将每个所述访问请求对应的每个字段映射为ascii码字符串,并根据映射结果构建每个所述访问请求对应的特征向量;其中,每个所述ascii码字符串的长度相同。

其中,将所述目标访问连接中每个访问请求对应的特征向量输入所述训练完成的神经网络模型中得到所述目标访问请求的检测结果,包括:

将所述目标访问连接中每个访问请求对应的特征向量输入所述训练完成的神经网络模型中,得到所述目标访问连接中每个访问请求对应的预测向量;其中,所述预测向量中的第i个元素为所述访问请求为所述神经网络模型定义的第i个输出状态的概率;

基于所述目标访问请求对应的预测向量计算所述目标访问请求对应的预测值;

当所述预测值大于第三预测值时,判定所述目标访问请求为恶意访问请求。

其中,所述利用所有所述访问请求的特征向量训练神经网络模型,包括:

利用所有所述访问请求的特征向量训练神经网络模型,在训练过程中优化目标向量;其中,所述目标向量中的第i个元素为所述第i个输出状态的权重;

相应的,所述基于所述目标访问请求对应的预测向量计算所述目标访问请求对应的预测值,包括:

将所述目标访问请求对应的预测向量与目标向量的乘积作为所述目标访问请求对应的预测值。

其中,所述基于匹配结果得到所述目标访问请求的检测结果之后,还包括:

当所述目标访问请求为恶意访问请求时,拦截所述目标访问请求;

确定所述目标访问请求对应的源ip地址,并封锁所述源ip地址。

为实现上述目的,本申请提供了一种web攻击检测装置,包括:

构建模块,用于获取恶意访问连接,基于所述恶意访问连接中访问请求的上下文特征构建恶意访问模型;

确定模块,用于当接收到目标访问请求时,确定所述目标访问请求所属的目标访问连接;

匹配模块,用于将所述目标访问连接与所述恶意访问模型进行匹配,并基于匹配结果得到所述目标访问请求的检测结果。

为实现上述目的,本申请提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述web攻击检测方法的步骤。

为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述web攻击检测方法的步骤。

通过以上方案可知,本申请提供的一种web攻击检测方法,包括:获取恶意访问连接,基于所述恶意访问连接中访问请求的上下文特征构建恶意访问模型;当接收到目标访问请求时,确定所述目标访问请求所属的目标访问连接;将所述目标访问连接与所述恶意访问模型进行匹配,并基于匹配结果得到所述目标访问请求的检测结果。

本申请提供的web攻击检测方法,通过分析恶意访问连接中各访问请求的上下文特征建立恶意访问模型,跟踪学习整个访问连接的行为,能够联合web攻击的多个弱特征,更好的理解攻击者的意图,恶意访问模型具有更高的准确性。当接收到目标访问请求时,将该目标访问请求对应的整个目标访问连接与恶意访问模型进行匹配,从而综合整个目标访问连接中的多个访问请求之间的上下文特征进行判定。与相关技术中仅对目标访问请求进行单个报文检测的方案相比,考虑到整个访问连接中各访问请求之间的上下文关系,可以在大幅提升web攻击检出率的同时,保证低误报率。本申请还公开了一种web攻击检测装置及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1为根据一示例性实施例示出的一种web攻击检测方法的流程图;

图2为根据一示例性实施例示出的另一种web攻击检测方法的流程图;

图3为根据一示例性实施例示出的又一种web攻击检测方法的流程图;

图4为根据一示例性实施例示出的一种web攻击检测装置的结构图;

图5为根据一示例性实施例示出的一种电子设备的结构图。

具体实施方式

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

由于web攻击呈现强对抗的特点,攻击者可以尝试多次web攻击,不断改变web攻击手法。而当前的waf则都是基于单个访问请求进行web攻击检测拦截的,因此,存在只要有一个web攻击对应的请求没有拦截住,就会造成黑客入侵,防御比较被动,防御效果不好。因此,在本申请中,通过分析整个恶意访问连接中各访问请求的上下文特征建立恶意访问模型,当接收到目标访问请求时,将其对应的整个目标访问连接与恶意访问模型进行匹配,从而综合整个目标访问连接中的多个访问请求之间的上下文特征进行判定。由于引入了访问请求之间的上下文关系,提高了对web攻击的检测能力。

本申请实施例公开了一种web攻击检测方法,提高了对web攻击的检测能力。

参见图1,根据一示例性实施例示出的一种web攻击检测方法的流程图,如图1所示,包括:

s101:获取恶意访问连接,基于所述恶意访问连接中访问请求的上下文特征构建恶意访问模型;

本实施例的执行主体可以为waf设备,目的为对接收到的访问请求进行web攻击检测。在本步骤中,为了学习恶意的访问模式甚至是攻击者的web攻击手段,需要收集大量的黑客真实访问数据,即本步骤中的恶意访问连接。此处不对恶意访问连接的收集方式进行限定,例如可以通过waf设备,记录恶意访问连接并上报至云端存储,又如可以设计蜜罐,一种对攻击方进行欺骗的技术,通过布置一些作为诱饵的主机、网络服务或者信息,诱使攻击方对它们实施攻击,从而可以对攻击行为进行捕获和分析,收集恶意访问连接。

可以理解的是,web应用很多都是面向连接、端到端和可靠的数据包发送,即事先为所发送的数据开辟出连接好的通道,然后再利用此通道发送数据。在一个通道内发送的所有访问请求组成一个访问连接。因此,本步骤中的恶意访问连接中包括多个访问请求,本实施例通过学习访问请求之间的上下文特征构建恶意访问模型。

web攻击具有明显的访问模式,例如黑客在进行webshell后门通信时,经常会先利用shell命令检查当前的环境,然后利用脚本语言,如php语言执行任意代码,也有可能利用sql发起数据库查询、修改操作等。因此在访问连接上可以体现出一系列的可疑访问请求:命令注入、代码注入、sql注入。如果可以学习到上述一连串的访问模式,即多个访问请求之间的上下文特征,waf除了可以更准确地拦截恶意行为外,也能够更好地理解黑客的攻击行为。

因此在本实施例中,基于所述恶意访问连接中访问请求的上下文特征构建恶意访问模型,该恶意访问模型可以体现攻击者的恶意访问模式,从而对接收到的访问连接进行web攻击检测。此处不对恶意访问模型的具体构建方式进行限定,例如将恶意访问连接的操作序列作为恶意访问模型,也可以利用神经网络模型学习访问请求之间的上下文关系,将训练完成的神经网络模型作为恶意访问模型,只要可以体现出恶意访问连接中各访问请求之间的上下文关系,即前后操作的关联均在本实施例的保护范围内。

s102:当接收到目标访问请求时,确定所述目标访问请求所属的目标访问连接;

在本步骤中,当接收到客户端的目标访问请求时,确定其所述的目标访问连接。可以理解的是,若该目标访问请求所请求的web应用为基于连接的应用,则可以基于客户端与该应用之间建立的通道确定目标访问连接,即在该通道内传输的所有访问连接均属于目标访问连接。若该目标访问请求所请求的web应用不是基于连接的应用,则可以将预设时间窗口内接收到的访问请求与目标访问请求按照接收时间顺序组合为目标访问连接。

s103:将所述目标访问连接与所述恶意访问模型进行匹配,并基于匹配结果得到所述目标访问请求的检测结果。

在本步骤中,将上一步骤确定的目标访问连接与恶意访问模型进行匹配,以分析目标访问连接中各访问请求的上下文关系,从而对当前接收到的目标访问连接进行web攻击检测。若匹配成功,则判定该目标访问请求为恶意访问请求,进行拦截,否则,判定该目标访问请求为正常访问请求,放行目标访问请求。可以理解的是,由于恶意访问模型可以表现为不同的形式,因此匹配方式和判定匹配成功的标准也有所不同,将在后续实施例进行详细介绍。

作为一种优选实施方式,在本步骤之后,还包括:当所述目标访问请求为恶意访问请求时,拦截所述目标访问请求;确定所述目标访问请求对应的源ip地址,并封锁所述源ip地址。在具体实施中,由于本实施例采用基于连接的web攻击检测方法,综合分析了多个访问请求的上下文关系,因此具备更高的准确性。在一些防御强度要求较高的场景,对于置信度较高的可疑连接,可以采取更强有力的防护手段,比如直接封锁可疑的ip地址,增加攻击成本。

本申请实施例提供的web攻击检测方法,通过分析恶意访问连接中各访问请求的上下文特征建立恶意访问模型,跟踪学习整个访问连接的行为,能够联合web攻击的多个弱特征,更好的理解攻击者的意图,恶意访问模型具有更高的准确性。当接收到目标访问请求时,将该目标访问请求对应的整个目标访问连接与恶意访问模型进行匹配,从而综合整个目标访问连接中的多个访问请求之间的上下文特征进行判定。与相关技术中仅对目标访问请求进行单个报文检测的方案相比,考虑到整个访问连接中各访问请求之间的上下文关系,可以在大幅提升web攻击检出率的同时,保证低误报率。

本申请实施例公开了一种web攻击检测方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

参见图2,根据一示例性实施例示出的另一种web攻击检测方法的流程图,如图2所示,包括:

s201:获取恶意访问连接,并识别所述恶意访问连接中每个访问请求的请求类型;

在本实施例中,将恶意访问连接对应的恶意操作序列作为恶意访问模型。具体的,waf对恶意访问连接中的每个访问请求进行检测,得到的检测结果例如正常请求、恶意请求。对于恶意请求,waf还会检测具体的攻击类型及威胁程度,攻击类型例如命令注入、代码注入、sql注入等,威胁程度例如高、中、低等。不同的攻击类型和不同的威胁程度可以理解为不同的请求类型,即请求类型可以包括正常请求、高危的命令注入请求、低危的代码注入请求等。

s202:根据每个所述访问请求的请求类型构建所述恶意访问连接对应的恶意操作序列;

在本步骤中,基于上述请求类型将恶意访问连接中的每个访问请求映射到某个字符。例如,可以将正常请求映射成字符“b”。高危的命令注入映射成字符“c”,将中危的命令注入攻击映射成字符“d”等。因此,攻击者的某个恶意访问连接可以通过一个字符串如“bcd”进行表示,即恶意访问模型为恶意访问连接对应的恶意操作序列。

s203:当接收到目标访问请求时,确定所述目标访问请求所属的目标访问连接;

s204:构建所述目标访问连接对应的目标操作序列,将所述目标操作序列与所述恶意操作序列进行匹配得到所述目标访问请求的检测结果。

在具体实施中,当接收到目标访问请求时,首先确定其所属的目标访问连接对应的目标操作序列,目标操作序列的构建方式与恶意操作序列的构建方式类似,已在步骤s202中进行详细介绍,在此不再赘述。将目标操作序列与恶意操作序列进行匹配可以得到目标访问连接与恶意访问连接的匹配程度,进而对当前接收到的目标访问连接进行检测。

本实施例不对具体的匹配方式进行限定,例如可以采用公共子串的方式,即将所述目标操作序列与所述恶意操作序列进行匹配得到所述目标访问请求的检测结果,包括:将所述目标操作序列与所述恶意操作序列进行匹配得到公共子串;当所述公共子串的长度大于第一预设值时,判定所述目标访问请求为恶意访问请求。在具体实施中,将目标操作序列与各恶意操作序列进行匹配,得到目标操作序列与每个恶意操作序列的公共子串,当某一个公共子串的长度大于第一预设值时,说明目标访问连接与某个恶意访问模式相近,判定当前接收到的目标访问请求为恶意访问请求,进行拦截。此处不对第一预设值进行具体限定,本领域技术人员可以根据实际需要的检测能力进行了灵活设置。

又如,可以采用计算字符串相似度的方式匹配目标操作序列与恶意操作序列,即将所述目标操作序列与所述恶意操作序列进行匹配得到所述目标访问请求的检测结果,包括:计算所述目标操作序列与所述恶意操作序列的字符串相似度;当所述字符串相似度大于第二预设值时,判定所述目标访问请求为恶意访问请求。在具体实施中,计算目标操作序列与各恶意操作序列之间的字符串相似度,当某一个字符串相似度大于第二预设值时,说明目标访问连接与某个恶意访问模式相近,判定当前接收到的目标访问请求为恶意访问请求,进行拦截。此处同样不对第二预设值进行具体限定,本领域技术人员可以根据实际需要的检测能力进行了灵活设置。

由此可见,本实施例将恶意访问连接对应的恶意操作序列作为恶意访问模型,在进行目标访问请求的web攻击检测时,将其所属的目标访问连接对应的目标操作序列与恶意操作序列进行匹配,通过字符串的匹配对目标访问练级中各访问请求之间的上下文关系与恶意访问模式中的上下文关系进行匹配,效率较高,在提高对web攻击的检测能力的同时,提高了检测效率。

本申请实施例公开了一种web攻击检测方法,相对于第一个实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

参见图3,根据一示例性实施例示出的又一种web攻击检测方法的流程图,如图3所示,包括:

s301:获取恶意访问连接,并对所述恶意访问连接中每个访问请求进行报文解析得到每个所述访问请求对应的所有字段;

s302:根据每个所述访问请求对应的所有字段构建每个所述访问请求对应的特征向量;

在本实施例中,利用神经网络模型学习访问请求之间的上下文关系,将训练完成的神经网络模型作为恶意访问模型。在具体实施中,首先对恶意访问连接中每个访问请求进行报文解析得到每个访问请求对应的所有字段,例如可以包括url,头部字段及body等。基于报文解析结果构建每个访问请求对应的特征向量,即将所有字段组合为特征向量。

此处不对构建特征向量的具体方式进行限定,例如可以使用ascii表,即所述根据每个所述访问请求对应的所有字段构建每个所述访问请求对应的特征向量,包括:将每个所述访问请求对应的每个字段映射为ascii码字符串,并根据映射结果构建每个所述访问请求对应的特征向量;其中,每个所述ascii码字符串的长度相同。在具体实施中,对于字段中的每个字符,将其映射到相应的ascii码字符,组成ascii码字符串。如果存在不在ascii表中的字符,如中文字符,则直接舍弃。访问请求中的各字段对应的ascii码字符串可以组合为该访问请求对应的特征向量。优选的,还可以对特征向量的长度进行设定,超过预设长度则直接截断,不足可以进行补0操作。

s303:利用所有所述访问请求的特征向量训练神经网络模型;

在本步骤中,对恶意访问连接中每个访问请求标记状态值,此处的状态值可以理解为上一实施例介绍的每个访问请求的请求类型,也可以按照其他标准对神经网络模型的输出状态进行设定,在此不进行具体限定。将恶意访问连接中每个访问请求的特征向量和状态值按请求的时间顺序输出神经网络模型中,以训练神经网络模型。神经网络模型可以通过访问请求的特征向量学习到恶意访问连接中访问请求的上下文关系,即恶意访问模式。此处不对神经网络模型的具体类型进行限定,例如可以为rnn(中文全称:循环神经网络,英文全称:recurrentneuralnetwork)、lstm(中文全称:长短期记忆网络,英文全称:longshort-termmemory)、gru(gatedrecurrentunit)等。

s304:当接收到目标访问请求时,确定所述目标访问请求所属的目标访问连接;

s305:将所述目标访问连接中每个访问请求对应的特征向量输入训练完成的神经网络模型中得到所述目标访问请求的检测结果。

在具体实施中,当接收到目标访问请求时,首先提取其所属的目标访问连接中每个访问连接的特征向量,具体的提取方式已在上述详细介绍,在此不再赘述。将特征向量依次输入训练完成的神经网络模型中,可以得到每个访问请求对应的预测结果。由于神经网络模型的特点,上一个访问请求的预测结果会作为本次预测的输入,即在对当前的访问请求进行预测时,会使用到上一个访问请求的预测结果和当前访问请求的特征向量,因此神经网络模型可以利用访问请求之间的上下文关系进行预测。

具体的,本步骤可以包括:将所述目标访问连接中每个访问请求对应的特征向量输入所述训练完成的神经网络模型中,得到所述目标访问连接中每个访问请求对应的预测向量;其中,所述预测向量中的第i个元素为所述访问请求为所述神经网络模型定义的第i个输出状态的概率;基于所述目标访问请求对应的预测向量计算所述目标访问请求对应的预测值;当所述预测值大于第三预测值时,判定所述目标访问请求为恶意访问请求。此处的预测向量即表示每个访问请求对应的预测结果的向量,第t个访问请求的预测向量可以表示为其中,表示该访问请求为神经网络模型定义的第i个输出状态的概率,1≤i≤n,n为输出状态的总数。在具体实施中,使用神经网络模型的最后一个输出的预测向量,即目标访问请求对应的预测向量得到预测值,当预测值大于第三预测值时,说明目标访问连接与某个恶意访问模式相近,判定当前接收到的目标访问请求为恶意访问请求,进行拦截。此处同样不对第三预设值进行具体限定,本领域技术人员可以根据实际需要的检测能力进行了灵活设置。

作为一种优选实施方式,可以将目标访问请求对应的预测向量与目标向量的乘积作为目标访问请求对应的预测值,即o=softmax(vyt),v为目标向量,yt为目标访问请求对应的预测向量,softmax()函数对最终输出的预测值进行归一化处理,第三预测值设置为0至1之间的某个值,如0.5。可以理解的是,预测向量为1×n的向量,则v为n×1的向量,其中的第i个元素可以理解为神经网络模型定义的第i个输出状态的权重,目标向量在神经网络模型的训练过程中进行优化目标向量。

由此可见,本实施例将训练完成的神经网络模型作为恶意访问模型,在进行目标访问请求的web攻击检测时,将其所属的目标访问连接中每个访问请求的特征向量输入训练完成的神经网络模型中,得到当前接收到的目标访问请求的检查结果。由于神经网络模型的学习能力较强,检测准确率较高,且泛化能力较强,能够一定程度上应对未知威胁。

下面对本申请实施例提供的一种web攻击检测装置进行介绍,下文描述的一种web攻击检测装置与上文描述的一种web攻击检测方法可以相互参照。

参见图4,根据一示例性实施例示出的一种web攻击检测装置的结构图,如图4所示,包括:

构建模块401,用于获取恶意访问连接,基于所述恶意访问连接中访问请求的上下文特征构建恶意访问模型;

确定模块402,用于当接收到目标访问请求时,确定所述目标访问请求所属的目标访问连接;

匹配模块403,用于将所述目标访问连接与所述恶意访问模型进行匹配,并基于匹配结果得到所述目标访问请求的检测结果。

本申请实施例提供的web攻击检测装置,通过分析恶意访问连接中各访问请求的上下文特征建立恶意访问模型,跟踪学习整个访问连接的行为,能够联合web攻击的多个弱特征,更好的理解攻击者的意图,恶意访问模型具有更高的准确性。当接收到目标访问请求时,将该目标访问请求对应的整个目标访问连接与恶意访问模型进行匹配,从而综合整个目标访问连接中的多个访问请求之间的上下文特征进行判定。与相关技术中仅对目标访问请求进行单个报文检测的方案相比,考虑到整个访问连接中各访问请求之间的上下文关系,可以在大幅提升web攻击检出率的同时,保证低误报率。

在上述实施例的基础上,作为一种优选实施方式,所述构建模块401包括:

获取单元,用于获取恶意访问连接;

识别单元,用于识别所述恶意访问连接中每个访问请求的请求类型;

第一构建单元,用于根据每个所述访问请求的请求类型构建所述恶意访问连接对应的恶意操作序列,确定所述恶意访问模型为所述恶意操作序列;

相应的,所述匹配模块403具体为构建所述目标访问连接对应的目标操作序列,将所述目标操作序列与所述恶意操作序列进行匹配得到所述目标访问请求的检测结果的模块。

在上述实施例的基础上,作为一种优选实施方式,所述匹配模块403包括:

第一匹配单元,用于将所述目标操作序列与所述恶意操作序列进行匹配得到公共子串;

第一判定单元,用于当所述公共子串的长度大于第一预设值时,判定所述目标访问请求为恶意访问请求。

在上述实施例的基础上,作为一种优选实施方式,所述匹配模块403包括:

第一计算单元,用于计算所述目标操作序列与所述恶意操作序列的字符串相似度;

第二判定单元,用于当所述字符串相似度大于第二预设值时,判定所述目标访问请求为恶意访问请求。

在上述实施例的基础上,作为一种优选实施方式,所述构建模块401包括:

获取单元,用于获取恶意访问连接;

解析单元,用于对所述恶意访问连接中每个访问请求进行报文解析得到每个所述访问请求对应的所有字段;

第二构建单元,用于根据每个所述访问请求对应的所有字段构建每个所述访问请求对应的特征向量;

训练单元,用于利用所有所述访问请求的特征向量训练神经网络模型,并确定所述恶意访问模型为训练完成的神经网络模型。

相应的,所述匹配模块403具体为将所述目标访问连接中每个访问请求对应的特征向量输入所述训练完成的神经网络模型中得到所述目标访问请求的检测结果的模块。

在上述实施例的基础上,作为一种优选实施方式,所述第二构建单元具体为将每个所述访问请求对应的每个字段映射为ascii码字符串,并根据映射结果构建每个所述访问请求对应的特征向量的单元;其中,每个所述ascii码字符串的长度相同。

在上述实施例的基础上,作为一种优选实施方式,所述匹配模块403包括:

输入单元,用于将所述目标访问连接中每个访问请求对应的特征向量输入所述训练完成的神经网络模型中,得到所述目标访问连接中每个访问请求对应的预测向量;其中,所述预测向量中的第i个元素为所述访问请求为所述神经网络模型定义的第i个输出状态的概率;

第二计算单元,用于基于所述目标访问请求对应的预测向量计算所述目标访问请求对应的预测值;

第三判定单元,用于当所述预测值大于第三预测值时,判定所述目标访问请求为恶意访问请求。

在上述实施例的基础上,作为一种优选实施方式,所述训练单元具体为利用所有所述访问请求的特征向量训练神经网络模型,在训练过程中优化目标向量,并确定所述恶意访问模型为训练完成的神经网络模型的单元;其中,所述目标向量中的第i个元素为所述第i个输出状态的权重;

相应的,所述第二计算单元具体为将所述目标访问请求对应的预测向量与目标向量的乘积作为所述目标访问请求对应的预测值的单元。

在上述实施例的基础上,作为一种优选实施方式,还包括:

拦截模块,用于当所述目标访问请求为恶意访问请求时,拦截所述目标访问请求;

封锁模块,用于确定所述目标访问请求对应的源ip地址,并封锁所述源ip地址。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请还提供了一种电子设备,参见图5,本申请实施例提供的一种电子设备500的结构图,如图5所示,可以包括处理器11和存储器12。该电子设备500还可以包括多媒体组件13,输入/输出(i/o)接口14,以及通信组件15中的一者或多者。

其中,处理器11用于控制该电子设备500的整体操作,以完成上述的web攻击检测方法中的全部或部分步骤。存储器12用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件13可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或通过通信组件15发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口14为处理器11和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件15用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件15可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的web攻击检测方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述web攻击检测方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器12,上述程序指令可由电子设备500的处理器11执行以完成上述的web攻击检测方法。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

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

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