一种web业务异常检测方法及装置与流程

文档序号:12309748阅读:313来源:国知局
一种web业务异常检测方法及装置与流程

本申请涉及信息安全领域,特别涉及一种web业务异常检测方法及装置。



背景技术:

随着信息技术的不断发展,在现代工作和生活中,web访问在各行各业的应用中都起到了重要的作用。

然而,网络中的不安全因素会导致正常的业务系统出现各种各样的异常行为,例如被网络蠕虫恶意扫描本地重要文件信息、被恶意程序攻击即爆破,又或者是被一些绕过安全控制的程序访问即后门,以及出现安全漏洞等,这些很可能会给业务系统带来更大的故障和难题,造成严重影响和损失。因此,异常检测对于web业务非常重要。

现有技术中对web访问中的异常行为的检测,主要是基于对安全专家提取的规则进行匹配检测。安全专家根据目前所已知的各种存在安全问题的web访问行为提取出规则,然后使用该规则对访问web服务器的流量包或者访问日志进行匹配检测:如果某些访问行为与该规则相匹配,则说明该访问行为存在着安全问题,属于异常行为。

但是,由于现有技术中的异常检测方案只能依据已知的异常行为提取规则,因此,该检测方案只能检测出已知的异常行为,而对于一些不在规则库中的安全问题则无法检测。由此可见,现有技术中的web业务异常检测方法的检测能力有待提高。



技术实现要素:

本申请的目的在于提供一种web业务异常检测方法及装置,以便可以有效地提高对web访问中的未知类型的异常行为的检测能力。

为解决上述技术问题,本申请提供一种web业务异常检测方法,包括:

提取http日志中访问行为的多个特征值,生成特征向量;

根据预先建立的异常检测算法模型,计算所述特征向量的异常指数;

判断所述异常指数是否超出预设阈值范围;若是,则判定所述特征向量所对应的访问行为异常。

可选地,所述特征值包括以下任意一类或任意组合:

访问时间分布特征值、请求次数计量特征值、服务器响应字节流特征值、转移概率特征值。

可选地,所述提取http日志中访问行为的多个特征值,生成特征向量包括:

获取http日志;

将所述http日志按照源ip进行归档;

对归档后的http日志按照预设时长进行切片处理;

计算并提取每个时间分片内访问行为的多个特征值,生成时间分片内的访问行为对应的特征向量。

可选地,在所述获取http日志之后、所述将所述http日志按照源ip进行归档之前还包括:

滤除原始http日志中与访问行为无关或者干扰异常检测的日志记录。

可选地,所述根据预先建立的异常检测算法模型,计算所述特征向量的异常指数包括:

根据预先建立的多元高斯分布异常检测算法模型或者isolationforest异常检测算法模型,计算所述特征向量的异常指数。

可选地,在所述判断所述异常指数是否超出预设阈值范围;若是,则判定所述特征向量所对应的访问行为异常之后还包括:

依据预设的各类异常行为的各个特征值的范围,判断所述特征向量所对应的访问行为的异常类型。

本申请还提供了一种web业务异常检测装置,包括:

提取模块:用于提取http日志中访问行为的多个特征值,生成特征向量;

检测模块:用于根据预先建立的异常检测算法模型,计算所述特征向量的异常指数;判断所述异常指数是否超出预设阈值范围;若是,则判定所述特征向量所对应的访问行为异常。

可选地,所述提取模块具体用于:

获取http日志;将所述http日志按照源ip进行归档;对归档后的http日志按照预设时长进行切片处理;计算并提取每个时间分片内访问行为的多个特征值,生成时间分片内的访问行为对应的特征向量。

可选地,所述提取模块还用于:

在所述获取http日志之后、所述将所述http日志按照源ip进行归档之前,滤除原始http日志中与访问行为无关或者干扰异常检测的日志记录。

可选地,所述检测模块还用于:

若所述特征向量所对应的访问行为异常,则依据预设的各类异常行为的各个特征值范围,判断所述特征向量所对应的访问行为的异常类型。

本申请所提供的web业务异常检测方法中,提取http日志中访问行为的多个特征值,生成特征向量;根据预先建立的异常检测算法模型,计算所述特征向量的异常指数;判断所述异常指数是否超出预设阈值范围;若是,则判定所述特征向量所对应的访问行为异常。

可见,相比于现有技术,本申请所提供的web业务异常检测方法中,通过对访问行为的特征值进行分析,并计算出异常指数进行判断,可以检测出异常行为。由此可见,本申请所提供的web业务异常检测方法是基于特征分析而非规则匹配,因而无需依赖于已知的规则库,从而可以全面地检测各类安全问题,提高检测能力。本申请所提供的web业务异常检测装置可以实现上述web业务异常检测方法,同样具有上述有益效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。

图1为本申请实施例所提供的一种web业务异常检测方法的流程图;

图2为本申请实施例所提供的又一种web业务异常检测方法的流程图;

图3为本申请实施例所提供的一种web业务异常检测装置的结构框图;

图4为本申请实施例所提供的一种web业务异常检测装置的应用架构图。

具体实施方式

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

请参考图1,图1为本申请实施例所提供的一种web业务异常检测方法的流程图,主要包括以下步骤:

步骤101:提取http日志中访问行为的多个特征值,生成特征向量。

本申请所提供的web业务异常检测方法,主要是基于对http(hypertexttransferprotocol)日志中所记录的访问数据的分析而展开的。

http,即超文本传输协议,是互联网上应用最为广泛的一种网络协议,所有的web文件都遵守这个协议标准。而http日志中,则记录了各个ip用户每次访问服务器的会话信息,包括每次会话的源ip和源端口、目的ip和目的端口、会话时间戳、会话时长、请求包长、请求方法、响应包长、返回状态码等。

通过分析和统计http日志中每次会话的相关会话信息,可以从中提取并计算web用户访问行为的特征值,进而生成特征向量,用以表示该访问行为的访问特征。

这里所说的特征值,可以包括以下任意一类特征值或者任意组合:访问时间分布特征值、请求次数计量特征值、服务器响应字节特征值、转移概率特征值;而特征向量则是由以上所说的特征值生成的向量,该特征向量中的每一个数值都表示用户访问行为的一项特征。

具体地,访问时间分布特征值反映的是用户访问http的频率和间隔的特征;请求次数计量特征值所描述的是用户请求http的数量特征;服务器响应字节流特征值描述的是用户请求的业务变化的特征;转移概率特征值描述的是页面跳转、请求方法变换以及响应状态码变换的概率特征。对于具体采用哪些特征值,本领域技术人员都可以根据实际使用情况自行选择并设置,本申请实施例对此并不进行限定。

需要说明的是,由于访问行为是由源ip发起的,即访问行为是以源ip进行区分的,因此,以上这些特征值也都是针对同一个源ip的访问行为的数据进行统计和分析的。所以,在对多个源ip访问行为的特征值进行提取时,可以首先将http日志根据源ip进行归档后再分别进行特征值的提取。

另外,还需补充说明的是,由于以上特征值与统计的时长有关,因此,为了建立一个统一的web业务异常检测判断标准,各个源ip的以上特征值必须是描述相等时长内的访问行为特征的特征值,否则,将失去该特征值的统计意义。

步骤102:根据预先建立的异常检测算法模型,计算所述特征向量的异常指数。

这里所说的异常检测算法模型,可以采用多元高斯分布异常检测算法模型,也可以采用isolationforest等其他异常检测算法模型,来对步骤101中生成的特征向量进行异常指数的计算。异常指数,顾名思义,就是衡量该特征向量对应的访问行为是否异常的指标,在不同的算法中都有一套对应的计算方法。具体采用何种算法对异常指数进行计算,本领域技术人员可以自行选择并设置,本申请实施例并不进行限定。

步骤103:判断异常指数是否超出预设阈值范围;若是,则判定特征向量所对应的访问行为异常。

如果某一特征向量的异常指数超出了预设的阈值范围,则可以说明,该特征向量所表示的访问行为存在着异常行为。

可见,本申请实施例所提供的web业务异常检测方法,通过分析http日志中记录的访问信息,对用户的访问行为的特征值和特征向量进行提取,并通过异常检测算法模型计算特征向量的异常指数,以便通过判断异常指数是否超出预设阈值范围来判断对应的访问行为是否异常。由此可见,本申请所提供的web业务异常检测算法是基于特征分析而非规则匹配,因此无需依赖对已知异常行为建立的规则库,因而可以检测出未知的异常行为,提高检测能力。

请参考图2,在本申请图1所示的web业务异常检测方法的基础上,图2为本申请实施例所提供的又一种web业务异常检测方法的流程图,主要包括以下步骤。相同或者相似部分请参考图1所示内容,这里就不再赘述。

步骤201:获取http日志,并滤除http日志中与访问行为无关或者干扰异常检测的日志记录。

为了提高对访问行为特征值的提取效率,可以首先对原始的http日志进行预处理,即可以过滤掉与访问行为无关的记录,如目的ip不属于web服务器的访问日志记录,以及清洗掉干扰异常检测的记录,如字段信息记录不完整或者错误的记录、访问的文件类型属于图片、css等日志记录。

步骤202:将http日志按照源ip进行归档。

由于每一个访问行为都是由源ip发起的,即源ip是一个访问行为的固有属性,这个信息对于web安全的管理非常重要,因此,在进行特征值的统计和提取之前,首先要明确访问行为的源ip。具体地,可以将经步骤201预处理后的http日志按照源ip进行归档,以便后续步骤的进行。

步骤203:对归档后的http日志按照预设时长进行切片处理。

如前文所述,所提取的特征值必须要保证是同等时间段内的访问特征的特征值,否则将失去特征值的表征意义。同时,由于日志记录内容一般较多,所以,可以将该时间段取为较小的一个时间单位,一定程度上还可以简化数据的计算,提高速度。因此,为了方便对统计时间内的特征值的计算和统计,可以首先在提取特征值之前,对归档后的http日志按照预设时长进行切片处理,即,将http日志按预设时长切分成多个时间分片内的http日志,以便提取该时间分片内的特征值生成特征向量。至于该预设时长具体为多久,本领域技术人员可以自行选择并设置,本申请实施例并不进行限定。

步骤204:计算并提取每个时间分片内访问行为的多个特征值,生成时间分片内访问行为对应的特征向量。

前文中已经对访问行为的特征值进行了简要说明,下面将通过举例对各类特征值进行详细介绍。

(1)访问时间分布特征值。

该类特征值反映的是该源ip访问http的频率和间隔的特征,例如:

time_mean,表示一定时间内源ip用户的相邻两条访问记录间隔时间的平均值,用来描述源ip用户访问行为的频率特征。

time_std,表示一定时间内源ip用户的相邻两条访问记录间隔时间的标准差值,用来描述源ip用户访问行为的间隔特征。

(2)请求次数计量特征值。

该类特征值所描述的是源ip用户请求http的数量特征,例如:

req_count,表示一定时间内源ip用户发送的所有请求的总次数。

page_count,表示一定时间内源ip用户所访问的不同uri(uniformresourceidentifier,通用资源标识符)的数量。

get_count,表示一定时间内源ip用户以get请求方式进行请求的次数。在http/1.1协议中,get和post、options、head、put、delete、trace、connect被定义为http的八种请求方式,用来表明对服务器上的资源的不同的操作方式。这里只是列举了对其中一种请求方式的次数计量特征值,当然,还可以对以上任意其他一种或几种请求方式的请求次数进行统计,本领域技术人员应当能够通过类比等方式获取其他具体的多种特征值。

400_count,表示一定时间内接收到4字头的响应状态码的次数,即接收到400~417范围内的响应状态码的次数。由于4字头的状态码均表示请求错误,例如,响应状态码403表示服务器已经理解请求却拒绝执行,404表示所请求的资源未被在服务器上发现,405表示请求中指定的请求方法不能用于被请求的资源,因此,该特征值对于本申请所要解决的web业务异常检测的问题,具有一定的指导意义。

(3)服务器响应字节流特征值。

该类特征值描述的是源ip用户请求的业务变化的特征,例如:

bytes_mean,表示一定时间内各条http访问日志响应字节数的平均值。

bytes_std,表示一定时间内各条http访问日志响应字节数的标准差值。

method_code_status,是对请求方法和响应状态码的组合次数的统计,例如,(get,200)表示的是以get请求方式发送的请求响应成功,其中,响应状态码200表示请求响应成功,并且所请求的资源将随该响应状态码返回。

(4)转移概率特征值。

该类特征值描述的是页面跳转、请求方法变换以及响应状态码变换的概率,例如:

prob_req_seq,表示一定时间内各条请求中所请求的uri的序列转移概率。

prob_method_seq,表示一定时间内各条请求的请求方式的序列转移概率。

prob_status_code_seq,表示一定时间内各条请求的响应状态码的序列转移概率。

其中,序列转移概率是马尔科夫链中的概念,它是指按照某个状态序列在n个状态之间进行转换的概率。在进行计算转移概率时,需要首先计算出该序列中任意两个相邻状态之间的转移概率,然后将该序列所有的转移概率的乘积开(n-1)次方根,即可求得序列转移概率。

例如,对于prob_req_seq,若在某一时间分片内访问uri页面的序列为[a,b,c,a,b],且页面a跳转至页面b的转移概率为0.5,页面b跳转至页面c的转移概率为0.6,页面c跳转至页面a的转移概率为0.8,则上述访问序列的最终转移概率值即为

再例如,对于prob_status_code_seq,如果在某一时间分片内的http访问行为的响应状态码依次为[200,200,404,200,200],且状态码由200变换为200的转移概率为0.8,由200变换为404的转移概率为0.2,由404变换为200的转移概率为0.3,那么上述状态码序列的最终的转移概率值为

转移概率仍然是一个概率特征值,其范围仍然是在0~1之间;并且,转移概率越大,表示该序列是正常的可能性越高,反之越低。

需要说明的是,以上只列举了各类特征值中的一部分特征值,本申请包括但并不限于以上内容,本领域技术人员可以通过类比等方式获取其他特征值,本申请并不进行限定。此外,任何一种特征值都可以随意进行命名,以上内容中只是以举例的方式给出了其中一种命名,但本申请对此并不进行限定。

步骤205:根据预先建立的异常检测算法模型,计算特征向量的异常指数。

步骤206:判断异常指数是否超出预设阈值范围;若是,则特征向量所对应的访问行为异常。

步骤207:依据预设的各类异常行为的各个特征值的范围,判断所述特征向量所对应的访问行为的异常类型。

当经过步骤206判断得到该特征向量所表示的访问行为异常时,可以进行进一步分析和判断,以识别该异常行为的具体的类型。为了准确辨认异常行为类型,需要对特征向量中的各个特征值进行具体分析。此时可以借助安全专家知识对各类异常行为的各个特征值定义的阈值范围,对检测出异常的特征向量集进行比对判断,由此确认该异常行为的具体异常类型,例如恶意扫描、爆破、后门、漏洞等等。当然,如果必要的话,还可以进一步输出检测出异常的特征向量集所对应的http日志记录,以便可以了解更多有关信息。

可见,本申请实施例所提供的web业务异常检测方法,在图1所示的web业务异常检测方法的基础上,还可以在检测出异常行为之后,依据安全专家知识判断出具体的异常行为类型。因此,本申请所提供的web业务异常检测方法可以更加快速有效地进行web业务异常检测,明确检测出异常类型,极大提高了用户体验。

下面对本申请实施例所提供的web业务异常检测装置进行介绍。下文描述的web业务异常检测装置与上文描述的web业务异常检测方法可相互对应参照。

请参阅图3,图3为本申请所提供的一种web业务异常检测装置的结构框图;包括提取模块301和检测模块302。

提取模块301主要用于提取http日志中访问行为的特征值,生成特征向量。

具体地,提取模块301可以用于获取http日志;并将http日志按照源ip进行归档;然后对归档后的http日志按照预设时长进行切片处理;计算并提取每个时间分片内访问行为的多个特征值,生成时间分片内的访问行为对应的特征向量。

其中,所述特征值可以包括以下任意一类特征值或任意组合:访问时间分布特征值、请求次数计量特征值、服务器响应字节流特征值、转移概率特征值。而特征向量则是由以上所说的特征值生成的向量,该特征向量中的每一个数值都表示该用户访问行为的一项特征。

访问时间分布特征值反映的是用户访问http的频率和间隔的特征;请求次数计量特征值所描述的是用户请求http的数量特征,服务器响应字节流特征值描述的是用户请求的业务变化的特征,转移概率特征值描述的是页面跳转、请求方法变换以及响应状态码变换的概率。对于具体采用哪些特征值,本领域技术人员都可以根据实际使用情况自行选择并设置,本申请实施例对此并不进行限定。

此外,提取模块301还可以用于在获取http日志之后、将http日志按照源ip进行归档之前,滤除原始http日志中与访问行为无关或者干扰异常检测的日志记录,一定程度上可以提高异常检测的效率和正确率。

检测模块302主要用于根据预先建立的异常检测算法模型,计算所述特征向量的异常指数;并判断所述异常指数是否超出预设阈值范围;若是,则判定所述特征向量所对应的访问行为异常。

其中,所述的异常检测算法模型可以为多元高斯分布异常检测算法模型,当然也可以为isolationforest等异常检测算法模型,本领域技术人员可以根据实际情况自行选择并设置,本申请实施例对此并不进行限定。

此外,检测模块302还可以用于在判断特征向量所对应的访问行为异常之后,依据预设的各类异常行为的各个特征值的范围,判断所述特征向量所对应的访问行为的异常类型。

请参考图4,图4为本申请所提供的一种web业务异常检测装置的应用架构图。

如图4所示,提取模块301对http访问日志进行特征值提取,生成多个特征向量(图中所示为n个)。然后由检测模块302根据异常检测算法模型,对特征向量进行计算处理,如果计算得到的异常指数超过预设阈值范围,即为检测出异常;则再依据多条安全专家知识(图中所示为n条),进一步判断出异常类型,获取异常类型结果。

可见,本申请所提供的web业务异常检测装置,利用对http日志中的记录进行访问行为特征值的提取,并通过异常检测算法模型计算出异常指数,进而判断出该访问行为是否异常。由于本申请所提供的web业务异常检测装置无需使用根据已知异常行为建立的规则库,因此可以检测出未知异常行为,提高了安全检测水平。此外,本申请所提供的web业务异常检测装置还可以利用安全专家知识,对检测出异常的访问行为进一步判断出异常类型,方便了用户的使用。

本申请中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

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