网络攻击检测方法及装置与流程

文档序号:18040381发布日期:2019-06-28 23:56阅读:233来源:国知局
网络攻击检测方法及装置与流程

本发明涉及网络安全技术领域,更具体地,是网络攻击检测方法及装置。



背景技术:

在互联网中,终端与服务器进行交互的过程,可能遭受黑客等恶意程序的网络攻击。为了保证网络访问的安全性,通常在终端与服务器的访问路径上部署应用防火墙,基于应用防火墙的防护规则,对访问过程进行攻击检测及攻击处理。

目前,应用防火墙主要有两种形式:一种是以硬件服务器作为防火墙的主体,以独立设备的形态接入到网络拓扑结构中;另一种是使用云端应用防火墙,修改访问请求的dns解析方式将云端应用防火墙入到网络拓扑结构中。

终端的访问请求由以上某种形式的应用防火墙进行攻击检测,但上述应用防火墙的攻击检测准确度较低。



技术实现要素:

有鉴于此,本发明提供了一种网络攻击检测方法和装置,用以提高网络攻击检测准确度。

为实现所述目的,本发明提供的技术方案如下:

第一方面,本发明提供了一种网络攻击检测方法,包括:

获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求;确定检测特征项,并根据多个目标访问请求确定检测特征项的访问特征值;获得与检测特征项对应的目标检测规则;使用目标检测规则对访问特征值进行判断,获得第一攻击检测结果;第一攻击检测结果用于表示是否存在对同一会话的网络攻击行为。

第二方面,本发明提供了一种网络攻击检测装置,包括:

访问请求获取模块,用于获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求;

特征项确定模块,用于确定检测特征项,并根据所述多个目标访问请求确定所述检测特征项的访问特征值;

规则获取模块,用于获得与所述检测特征项对应的目标检测规则;

第一攻击检测结果获取模块,用于使用所述目标检测规则对所述访问特征值进行判断,获得第一攻击检测结果;所述第一攻击检测结果用于表示是否存在对所述同一会话的网络攻击行为。

由以上可知,本发明提供了一种网络攻击检测方法和装置,该方法包括:获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求;确定检测特征项,并根据多个目标访问请求确定检测特征项的访问特征值;获得与检测特征项对应的目标检测规则;使用目标检测规则对访问特征值进行判断,获得第一攻击检测结果;第一攻击检测结果用于表示是否存在对同一会话的网络攻击行为。现有技术仅对单次访问请求流量进行检测,然而本发明通过对将同一会话的多个目标访问请求作为一组进行检测提取访问特征值,提取到的访问特征值所携带的信息更加全面,从而攻击检测准确度更高。

附图说明

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

图1为本发明提供的防火墙系统的一种框架结构图;

图2为本发明提供的网络攻击检测方法的一种流程示意图;

图3为本发明提供的网络攻击检测方法的另一种流程示意图;

图4为本发明提供的网络攻击检测装置的一种结构示意图。

具体实施方式

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

为了便于理解本发明的技术方案,首先对以下概念进行介绍。

web应用防火墙(webapplicationfirewall,简称waf):web应用防火墙是通过执行一系列针对http/https的安全策略来专门为web应用提供保护的系统,用来控制对web应用的访问,用来截获所有http数据或者仅仅满足某些规则的请求。

flink:一种流计算处理框架,主要应用于流数据的分布式处理引擎。

lua:一种轻量小巧的脚本语言,用标准c语言编写并以源代码形式开放,可以嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。本发明中,可以将lua脚本嵌入到nginx模块中,作为单次事件安全检测的工具。

以下具体对本发明的技术方案进行说明。

终端可以通过网络对服务器进行访问,为防止黑客或其他恶意程序对访问过程进行攻击,预先将防火墙系统设置于服务器与终端的访问路径中,防火墙系统会对终端发送的访问请求进行攻击行为检测,对存在攻击行为检测的访问请求进行处理,以保护访问过程中的数据安全。

参见图1,本发明实施例提供了一种防火墙系统,该系统包括:waf基本功能模块、数据总线(消息队列)、waf扩展功能模块、以及waf状态系统。

该防火墙系统采用的是nginx(一种高性能的http和反向代理web服务器)和openresty(一种基于nginx与lua的高性能web平台)的实现方式,其中nginx存在于服务的体系之内,自带的http协议解析能力帮防火墙系统节省了相当多的工作量,nginx同时又具备脚本扩展能力,在nginx中嵌入报文检测lua脚本,以实现各个模块系统之间的相互合作。

其中报文检测lua脚本有请求报文检测lua脚本和应答报文检测lua脚本,前者是用于判定http的请求报文是否带有威胁,检测手段包括黑白名单过滤、正则规则过滤;而后者是用于判定http的响应报文是否带有不应包含的用户敏感数据。

其中,waf基本功能模块是由nginx作为访问请求获取工具,该工具中集成有lua脚本,对访问请求进行首次的攻击检测,并将检测通过的访问请求调度至数据总线(消息队列)中。

waf扩展功能模块是由flink流处理框架搭建的模块,该模块负责从数据总线中获取消息队列,对消息队列中的多个访问请求进行攻击行为检测,将检测结果输出。

waf状态系统,是waf基本功能模块和waf扩展功能模块交互的媒介,具体为,将waf扩展功能模块所输出的攻击行为检测结果发送至waf基本功能模块,由该模块对具有攻击行为的访问请求再次进行拦截,如ip信誉度的查询接口,waf基本功能模块通过ip信誉度的查询接口可查询到当前访问请求所对应的目标终端的ip的信誉度,从而判断出该目标终端是否为恶意ip,将属于恶意ip的访问请求拦截或转发,并将剩余访问请求发送至目标服务器。

本发明实施例提供了一种网络攻击检测方法,应用于防火墙系统,具体地是防火墙系统中的waf扩展功能模块,参见图2,该网络攻击检测方法可以具体包括步骤s201-s204。

s201:获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求。

具体地,终端对服务器的访问可以通过会话的方式,本发明实施例获取检测对象即目标终端与目标服务器之间的会话数据,具体是获得属于同一会话的多个访问请求。为了便于描述,将获取到的访问请求称为目标访问请求。

在一个示例中,本步骤获取的目标访问请求可以是,目标终端与目标服务器之间属于同一会话的所有访问请求。

在另一示例中,本步骤获得的目标访问请求可以是,目标终端与目标服务器之间同一会话的访问请求中属于同一时间段内的访问请求。该方式可以具体通过以下步骤实现:获得目标终端向目标服务器发送的属于同一会话的访问请求;从获得的访问请求中,提取属于同一时间段的多个访问请求作为目标访问请求。

其中,访问请求是否属于同一时间段可以通过标识sid判定。具体地,目标终端向目标服务器发送的访问请求会通过防火墙系统,防火墙系统将访问请求转发至目标服务器。目标服务器根据访问请求生成应答数据包,并将应答数据包通过防火墙系统返回目标终端。需要说明的是,防火墙系统会在返回目标终端的应答数据包中添加标识sid,应答数据包到达目标终端后,目标终端会存储标识sid,并在发送给目标终端的同一会话的访问请求中携带该标识sid。

需要说明的是,标识sid具有时效性,目标终端后续发送的访问请求中可能会包含sid,在同一个时间段内的访问请求其标识sid是相同的。例如:sid的更新时间为15分钟,时间12:00分至12:15分为一个sid,而这15分钟之内的访问请求具有同一个sid就会被确定为属于同一时间段的访问请求,从而将该多个访问请求作为目标访问请求。

在又一示例中,本步骤的一种具体实施方式为,从消息队列中,获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求;其中消息队列中记录的是,终端向服务器发送的属于同一会话的经过预设检测规则检验为不存在网络攻击行为的访问请求。

具体地,waf基本功能模块可以对访问请求进行首次攻击检测,并将通过攻击检测的访问请求调度到消息队列中,多个目标访问请求可以是从消息队列中获取的访问请求。消息队列是waf基本功能模块与waf扩展功能模块交互另一个的媒介,负责将waf基本功能模块中的访问请求调度至waf扩展功能模块中。

waf基本功能模块获取访问请求后,对访问请求进行首次的攻击检测,具体为waf基本功能模块中存储有对部分攻击行为的特征记录,即waf基本功能模块的内部规则,通过该模块能够将该模块所能识别的具有攻击行为的访问请求进行拦截。将未检测出攻击行为的访问请求发送至数据总线的消息队列中。

消息队列中可以记录多组访问请求,每组访问请求都对应一个识别标识。消息队列中的会话可以依据会话的获取时间进行排序,依照排序结果来进行会话中的攻击行为检测。其中,获取属于会话的访问请求还可以是其他形式,此处不再具体说明。

s202:确定检测特征项,并根据多个目标访问请求确定检测特征项的访问特征值。

具体地,检测特征项为能够体现终端对服务器访问行为特征的特征项,检测特征项可以具体包括:目标终端ip出现的次数、所请求的目标服务器的地址出现的次数等其他检测特征项。

需要说明的是,检测特征项的值即访问特征值。例如:访问请求中带有所请求的目标服务器地址,记录同一会话中多个访问请求所访问的目标服务器地址及所访问的目标服务器地址出现的次数,该目标服务器地址出现的次数,即为检测特征项所对应的访问特征值。检测特征项还可以是其他项,此处不再具体说明。

s203:获得与检测特征项对应的目标检测规则。

具体地,目标检测规则可以是存储于规则服务器中的规则,根据步骤s202所确定的检测特征项,从该规则服务器中提取出与该检测特征项相关的规则,如检测特征项为目标服务器地址的出现次数,根据该检测特征项从规则服务器中提取出与该检测特征项相关的规则,如目标服务器地址出现的次数不得大于100这一条规则。

目标检测规则还可以是通过预先训练的隐马尔可夫模型的概率阈值。具体地,隐马尔可夫模型用于计算访问请求对应的会话存在网络攻击行为的概率值,本发明可以设置概率阈值,用于判断隐马尔可夫模型输出的概率值是否满足概率阈值,该概率阈值即为目标检测规则。隐马尔可夫模型的使用方式可以参见下述说明,此处并不赘述。

s204:使用目标检测规则对访问特征值进行判断,获得第一攻击检测结果;第一攻击检测结果用于表示是否存在对同一会话的网络攻击行为。

具体地,将检测特征项对应的特征值与该检测特征项对应的目标检测规则进行匹配,匹配过程可以是:例如,检测特征项为目标服务器地址的出现次数,根据目标访问请求,确定出该检测特征项对应的访问特征值为120,即目标服务器地址出现的次数为120,而获取到目标检测规则中存在一条规则为:目标服务器地址出现的次数不得大于100,将检测特征项对应的访问特征值与该目标检测规则进行匹配,120大于100,结果为匹配不成功,则表示该访问特征值异常,从而确定出该访问特征值所对应的会话存在攻击行为,进而生成具有攻击行为的检测结果。

现有技术中,硬件服务器以及云端服务器的安全防护方式为:

硬件服务器:在部署方面需要串行到网络入口,在面临大流量网络请求的时候会遇到流量瓶颈,效率低下;同时攻击识别规则更新不及时;维护成本高;云端服务器:网络流量需要过第三方机构的安全检查,服务端证书需要部署在第三方机构,另外防护规则不可见,不能随意定制防护策略。同时,该两种技术均是针对单次网络流量做攻击检测,存在误报高、漏报高的问题。

由上述技术方案可知,本发明实施例公开了一种网络攻击检测方法,该方法通过获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求;确定检测特征项,并根据所述多个目标访问请求确定所述检测特征项的访问特征值;获得与所述检测特征项对应的目标检测规则;使用所述目标检测规则对所述访问特征值进行判断,获得第一攻击检测结果;所述第一攻击检测结果用于表示是否存在对所述同一会话的网络攻击行为。现有技术中的硬件服务器以及云端服务器仅对单次访问请求流量进行检测,然而本发明从会话维度进行攻击检测,具体是将同一会话的多个目标访问请求作为一组提取访问特征值,提取到的访问特征值所携带的信息更加全面,从而攻击检测准确度更高。

在一个示例中,步骤s202(确定检测特征项,并根据多个目标访问请求确定检测特征项的访问特征值)的具体实施方式包括如下步骤:

确定检测特征项为针对同一对象的访问频次;其中同一对象包括:同一目标服务器,同一目标服务器的同一网址,以及同一会话关联的同一网址中的任意一项或多项;确定与同一对象对应的目标访问请求,并统计与同一对象对应的目标访问请求的个数;将统计的个数作为检测特征项的访问特征值。

具体地,本实现方式将检测特征项具体为,针对同一对象的访问频次,从而确定出的访问特征值为访问频次的具体数量。具体的实现方式为,同一会话中的目标访问请求可能针对相同或不同的对象,例如若对象指的是目标服务器,若目标访问请求中的目标服务器是同一个,则表示针对同一对象,若目标访问请求中的目标服务器不是同一个,则表示针对的是不同对象。本发明统计针对同一对象的目标访问请求的个数,该个数即访问特征值。

关于此类数量类型的访问特征值,需要启动计数功能来获取,具体可以通过计数布隆算法进行计算。具体地,布隆算法可以使用三个特征值表示同一对象,每个特征值分别占据一个bit位。如果针对某同一对象的目标访问请求加1,则将该同一对象对应的三个bit位上的值加1,最终根据该三个bit位上的值便可以确定统计的个数是多少。

可见,计数布隆算法是同一会话中的访问特征值进行累加,具体是该访问特征值对应的所有bit位都加1。通过计数布隆算法,节省了资源空间,且该算法计算速度快,便于防火墙系统对访问请求中的攻击行为进行识别。

需要说明的是,以上实现方式可以具体应用在防火墙系统中的waf扩展功能模块中。waf扩展功能模块所实现的该功能可以具体称为“计数服务”。

见图3,本发明的网络攻击检测方法的另一种实施方式可以具体包括如下步骤s301-s305,该方法可以具体应用在防火墙系统中的waf扩展功能模块中。waf扩展功能模块所实现的网络攻击检测方法,可以具体称为“会话分析服务”。

s301:获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求。

具体地,获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求与步骤s201相同,此处不再赘述。需要说明的是,目标访问请求的数量可以是预设数量,具体地,检测同一会话中的目标访问请求是否达到预设数量如32,若未达到预设数量,则继续获取目标访问请求;若达到预设数量,则进行如下步骤。

s302:确定检测特征项为会话关联的网址。

本实现方式中,将检测特征项具体为,会话关联的网址。会话关联的网址指的是,目标终端发送的访问请求中携带的所访问的目标服务器的网页的地址。

s303:分别确定每个目标访问请求对应的网址,按照目标访问请求的时间先后顺序,为目标访问请求对应的不同的网址分配不同的网址标识,以得到网址标识序列;其中网址标识序列作为访问特征值。

其中,获取到目标终端向目标服务器发送的属于同一会话的多个目标访问请求后,从访问请求中提取会话关联的网址。也就是说,每个访问请求均对应各自的一个网址,由于访问请求具有时间上的先后顺序,则各个网址也对应有时间上的先后顺序,从而成为网址序列。由于网址序列不能直接作为隐马尔可夫模型的输入,因此本发明对网址序列进行泛化处理,泛化处理后的序列可以作为隐马尔可夫模型的输入。

泛化处理的过程为,为相同的网址赋予相同的网址标识,为不同的网址赋予不同的网址标识,以得到同一会话中,不同网址对应的网址标识序列。例如,32个目标网络请求中提取出四种网址,则分别为四种不同的网址分别赋予网址标识1、2、3及4。同时假设四种网址在一个会话中依次分别出现,则得到的网址标识序列为(1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4)。

s304:将网址标识序列输入至隐马尔可夫模型中,得到多个目标访问请求对应的会话存在网络攻击行为的概率值。

需要说明的是,隐马尔可夫模型是预先通过大量已知样本数据训练得到的数据模型。所述隐马尔可夫模型用于计算访问请求对应的会话存在网络攻击行为的概率值。

则将所得到的泛化结果输入至隐马尔可夫模型中,通过模型对序列进行计算,以得到该泛化结果对应的概率值,该概率值即为访问特征值。

s305:若概率值满足预设的概率阈值,则确定第一攻击检测结果为存在对同一会话的网络攻击行为;若概率值不满足预设的概率阈值,则确定第一攻击检测结果为不存在对同一会话的网络攻击行为。

可见,上述方法可以通过隐马尔可夫模型对多个目标访问请求中的网址进行判定,以确定是否存在对目标访问请求的攻击行为。

另外,本发明还提供了一种网络攻击检测方法,该方法在上述网络攻击检测方法的基础上还可以包括以下步骤。需要说明的是,以下步骤可以具体应用于防火墙系统中的waf基本功能模块。

获得会话黑名单;其中所述会话黑名单中记录的是第一攻击检测结果为存在网络攻击行为的会话;判断所述同一会话是否包含在所述会话黑名单中,获得第二攻击检测结果;对第一攻击检测结果与第二攻击检测结果进行综合判断,得到目标攻击检测结果。

具体地,防火墙系统中的waf状态系统记录着第一攻击检测结果为存在网络攻击行为的会话,并确定出该会话所对应的目标终端标识,例如:该标识可以是用户ip,将该ip列入会话黑名单。当该目标终端再次发起访问请求时,则根据会话黑名单中的ip确定该目标终端为会话黑名单中的目标终端,则确定攻击检测结果为存在网络攻击行为。为了便于与上述得到的攻击检测结果区分,将使用会话黑名单得到的检测结果称为第二攻击检测结果。

需要说明的是,第二攻击检测结果与第一攻击检测结果可能相同,也可能不同。根据两个攻击检测结果,综合判断后得到目标攻击检测结果。综合判断的方式可以是:

如果两个攻击检测结果都是存在攻击,则目标攻击检测结果可以为存在网络攻击行为;其他的情况确定为不存在网络攻击行为。

或者,两个攻击检测结果中只要有一个表明存在网络攻击行为,则目标攻击检测结果为存在网络攻击行为;其余的情况为不存在网络攻击行为。

或者还其他的综合判定方式。

在一个示例中,消息队列中访问请求的记录步骤包括:

获得终端向服务器发送的属于同一会话的访问请求;获得预设检测规则;其中所述预设检测规则是针对单个访问请求的字段的检测规则;从访问请求中获取所述预设检测规则所检测字段的字段值;若所述字段值不满足所述预设检测规则,则将所述字段值关联的访问请求存储入消息队列。

具体地,目标终端向目标服务器发送访问请求,该访问请求先经过防火墙系统来判断是否具有攻击行为,再将没有攻击行为的访问请求发送至目标服务器,而防火墙系统中的waf基本功能模块就是用于接收目标终端发送的访问请求的,将接收到访问请求,进行单次规则检测。

其中,单次检测规则是针对单个访问请求进行的检测。单次检测规则预设于waf基本功能模块中的部分识别攻击行为的规则,即正则规则或黑白名单,其具体检测目标终端的标识。例如:判断目标终端中的标识是否与终端标识黑名单中的标识一致,若一致,则表示该目标终端具有攻击行为,拦截或跳转该目标终端的访问请求;若不一致,则进行下一条规则检测;至到所有正则规则检测完毕,再将剩余的访问请求发送至数据总线的消息列队中。

其中,正则规则有:

1、支持对协议项检查:对元素内容、元素长度、元素字节范围、字符集等进行白名单限制、限制协议和协议版本、request提交前进行内容验证、检查不规范的编码(例如%uxxyy字符)、检查url编码字符、强制规定所使用的cookie类型。

2、对request的method,协议,body,cookie,header进行限制。

3、对response的响应内容进行检查分析,包括headers,body,status。

4、数据还原:支持数据解码,url,unicode,base64,utf8,16进制、html特殊字符转义。

5、终端标识黑名单检测:支持对request基于正则匹配进行请求检查,不符合的按照规定拦截或跳转、一个请求满足多个条件进行拒绝、定义安全的请求规范,对于不符合定义的请求格式,一律拒绝。

6、限制会话攻击,指的是若检测到终端发送的请求中存在网络攻击行为,则对请求进行限制,以保护网络访问过程中的信息安全。限制策略可以是,直接将请求进行拦截,以阻止请求发送至服务器一侧;或者限制策略可以是,暂缓将请求发送至服务器一侧,并指示终端一侧再次发送一些待验证的信息,通过对待验证的信息进行验证来确定终端是否遭受攻击。

7、限制暴力破解攻击:检查http访问中的状态,对401错误限制频率、限制对同一个资源的大量访问,超过一定频率,进行拒绝、单一ip或者某个ip段,一定时间内,超过一定访问次数,进行拒绝、某个sessions,访问频率过大,限制自动连接客户端。

综上所述,本发明提供的防火墙系统采用三层防护方案(流量牵引清洗、流量分析调度、攻击识别分析服务)实现;利用此系统可以多层次、多维度过滤http数据流量,有效拦截web攻击、防御爬虫攻击等一系列当前高风险的安全攻击行为。其中:

流量牵引清洗:采用nginx作为流量获取工具,集成lua脚本,并使用lua脚本针对网络流量数据做第一步的清洗过滤,同时lua脚本将当前处理的流量引流到消息队列,完成流量牵引工作;

流量分析调度:采用flink作为流处理框架,主要负责攻击识别的整体调度,通过消费消息队列获取http流量,通过对接数据分析服务识别当前流量数据的异常情况;

攻击识别分析服务:这部分由多个微服务组成数据分析服务集合,利用计数服务以及会话分析服务,从包含批量请求的会话维度上,判定请求是否存在被攻击的异常情况。

本发明实施例提供一种网络攻击检测装置,参见图4,该装置可以具体包括:访问请求获取模块401、特征项确定模块402、规则获取模块403以及第一攻击检测结果获取模块404,其中:

访问请求获取模块401,用于获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求。

特征项确定模块402,用于确定检测特征项,并根据多个目标访问请求确定检测特征项的访问特征值。

规则获取模块403,用于获得与检测特征项对应的目标检测规则。

第一攻击检测结果获取模块404,用于使用目标检测规则对访问特征值进行判断,获得第一攻击检测结果;第一攻击检测结果用于表示是否存在对同一会话的网络攻击行为。

由上述技术方案可知,本发明实施例公开了一种网络攻击检测装置,该装置可以:获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求;确定检测特征项,并根据多个目标访问请求确定检测特征项的访问特征值;获得与检测特征项对应的目标检测规则;使用目标检测规则对访问特征值进行判断,获得第一攻击检测结果;第一攻击检测结果用于表示是否存在对同一会话的网络攻击行为。该装置通过对同一会话的多个目标访问请求进行检测,可以得到目标终端的一个访问目标服务器的行为,从而能够精准检测出关于目标终端所发送的访问请求中的攻击行为。

在一个示例中,访问请求获取模块在获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求时,具体实现方式为:获得目标终端向目标服务器发送的属于同一会话的访问请求;从获得的访问请求中,提取属于同一时间段的多个访问请求作为目标访问请求。

在一个示例中,特征项确定模块在确定检测特征项,并根据所述多个目标访问请求确定所述检测特征项的访问特征值时,具体实现方式为:确定检测特征项为针对同一对象的访问频次;同一对象包括:同一目标服务器,同一目标服务器的同一网址,以及同一会话关联的同一网址中的任意一项或多项;确定与同一对象对应的目标访问请求,并统计与同一对象对应的目标访问请求的个数;将统计的个数作为检测特征项的访问特征值。

在一个示例中,特征项确定模块在确定检测特征项,并根据所述多个目标访问请求确定所述检测特征项的访问特征值时,具体实现方式为:确定检测特征项为会话关联的网址;分别确定每个目标访问请求对应的网址;按照目标访问请求的时间先后顺序,为目标访问请求对应的不同的网址分配不同的网址标识,以得到网址标识序列;其中网址标识序列作为访问特征值。

在一个示例中,所述规则获取模块在获得与所述检测特征项对应的目标检测规则时,具体的实现方式为:将预先训练的隐马尔可夫模型,确定为与所述检测特征项对应的目标检测规则;所述隐马尔可夫模型用于计算访问请求对应的会话存在网络攻击行为的概率值。所述第一攻击检测结果获取模块在使用所述目标检测规则对所述访问特征值进行判断,获得第一攻击检测结果时,具体的实现方式为:将网址标识序列输入至所述隐马尔可夫模型中,得到多个所述目标访问请求对应的会话存在网络攻击行为的概率值;若所述概率值满足预设的概率阈值,则确定第一攻击检测结果为存在对所述同一会话的网络攻击行为;若所述概率值不满足预设的概率阈值,则确定第一攻击检测结果为不存在对所述同一会话的网络攻击行为。

在一个示例中,网络攻击检测装置还可以包括:会话黑名单获取模块。会话黑名单获取模块,用于:获得会话黑名单;其中会话黑名单中记录的是第一攻击检测结果为存在网络攻击行为的会话;第二攻击检测结果获取模块,用于判断同一会话是否包含在会话黑名单中,获得第二攻击检测结果;目标攻击检测结果获取模块,用于对第一攻击检测结果与第二攻击检测结果进行综合判断,得到目标攻击检测结果。

在一个示例中,访问请求获取模块在获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求时,具体的实现方式为:从消息队列中,获取目标终端向目标服务器发送的属于同一会话的多个目标访问请求;其中消息队列中记录的是,终端向服务器发送的属于同一会话的经过预设检测规则检验为不存在网络攻击行为的访问请求。

在一个示例中,网络攻击检测装置还可以包括:记录访问请求模块。其中,记录访问请求模块,具体用于:获得终端向服务器发送的属于同一会话的访问请求;获得预设检测规则;其中预设检测规则是针对单个访问请求的字段的检测规则;从访问请求中获取预设检测规则所检测字段的字段值;以及若字段值不满足预设检测规则,则将字段值关联的访问请求存储入消息队列。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

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

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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