基于行为的流量监测方法及装置与流程

文档序号:22622318发布日期:2020-10-23 19:28阅读:110来源:国知局
基于行为的流量监测方法及装置与流程

本发明涉及计算机技术领域,尤其涉及基于行为的流量监测方法及装置。



背景技术:

流量分析是指在获得网站访问量基本数据的情况下对有关数据进行统计、分析,从中发现用户访问网站的规律。

当前的流量分析技术多是基于单个流量包判断,比如,一个ip与另一个ip产生一次交互后,如发现交互异常则触发告警。

但是,上述分析方式很容易因用户的误操作触发大量的告警事件,从而给分析人员带来大量的干扰数据,操作人员通过大量数据难以快速确定流量源是否异常。

因此,针对以上不足,需要提供基于行为的流量监测方法及装置。



技术实现要素:

本发明提供了基于行为的流量监测方法及装置,能够帮助分析人员快速确定流量源是否异常。

第一方面,本发明提供了基于行为的流量监测方法,包括:

在监测到流量源发起访问时,创建针对所述流量源的时间窗,其中,所述时间窗能够容纳预设时长的数据;

将所述流量源发起访问后的访问行为写入到所述时间窗中;

根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素,其中,每一个所述行为要素表征一种行为特征;

根据所述至少一个行为要素生成所述流量源的当前行为链;

根据所述当前行为链判断所述访问行为是否异常;

当判断出所述访问行为异常时,触发告警事件。

优选地,

所述将所述流量源发起访问后的访问行为写入到所述时间窗中,根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素,包括:

a1:按照预设的采集周期,采集所述流量源发起访问后的访问行为;

a2:确定所述时间窗中剩余的容量是否小于预设的容量阈值,其中,所述容量阈值小于所述采集周期内采集到的所述访问行为的数据量,如果是,执行a3,否则,执行a5;

a3:根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素;

a4:删除所述时间窗中一个所述采集周期对应的时长内的历史数据,其中,所述历史数据为所述时间窗中存储时间最长的数据;

a5:将采集到的所述访问行为写入到所述时间窗中。

优选地,

在所述在监测到流量源发起访问之后,在所述将所述流量源发起访问后的访问行为写入到所述时间窗中之前,进一步包括:

s1:将所述流量源发来的第一信息和针对所述第一信息返回给所述流量源的第二信息作为所述流量源的访问行为,执行s2;

s2:确定预存数据中是否存在针对所述流量源且被标记的会话,其中,被标记的所述会话中最新的信息对应的第一时间点与所述流量源发起访问时对应的第二时间点之差小于或等于预设的时间阈值,如果是,执行s4,否则,执行s3;

s3:创建针对所述流量源的会话,对所述会话进行标记;

s4:将所述访问行为记录在所述会话中;

s5:在所述时间阈值内未接收到所述访问行为时,删除所述会话的标记。

优选地,

所述当判断出所述访问行为异常时,触发告警事件,包括:

d1:确定预先创建的告警队列中是否存在历史告警记录,如果是,执行d2,否则,执行d6;

d2:确定判断出所述访问行为异常时对应的异常时间点;

d3:确定所述告警队列中的第一个历史告警记录加入到所述告警队列时的入列时间点;

d4:确定所述异常时间点与所述入列时间点之间的时长是否大于预设的告警时长,如果是,执行d5,否则,执行d7;

d5:删除所述告警队列中的历史告警记录;

d6:触发告警事件;

d7:生成所述访问行为对应的新增告警记录,并将所述新增告警记录作为历史告警记录加入到所述告警队列中。

优选地,

在所述将所述新增告警记录作为历史告警记录加入到所述告警队列中之后,进一步包括:

确定所述告警队列中的历史告警记录的数量是否等于预设的告警数量;

当所述告警队列中的历史告警记录的数量等于所述告警数量时,执行d5。

优选地,

所述根据所述至少一个行为要素生成所述流量源的当前行为链,包括:

确定每一个所述行为要素出现的次数;

按照时间顺序和每一个所述行为要素出现的次数,生成所述流量源的当前行为链;

所述根据所述当前行为链判断所述访问行为是否异常,包括:

当所述行为要素包括web页面时,根据下述公式,计算所述当前行为链与用于表征访问异常的异常行为链的相似值:

其中,所述s表征所述当前行为链与异常行为链的相似值,所述q表征所述当前行为链中请求web页面的第一总数,所述w表征所述异常行为链中请求web页面的第二总数,所述e表征所述当前行为链中请求主目录不同web页面的第三总数,所述r表征所述异常行为链中请求主目录不同web页面的第四总数,所述t表征所述当前行为链中请求目录树下不同web页面的第五总数,所述y表征所述异常行为链中请求目录树下不同web页面的第六总数,a表征请求web页面对应的第一权重值,b表征请求主目录不同web页面对应的第二权重值,c表征请求目录下不同web页面的第三权重值;

当所述相似值大于预设的相似阈值时,执行所述触发告警事件。

第二方面,本发明还提供了基于行为的流量监测装置,包括:

窗口创建模块,用于在监测到流量源发起访问时,创建针对所述流量源的时间窗,其中,所述时间窗能够容纳预设时长的数据;

数据处理模块,用于将所述流量源发起访问后的访问行为写入到所述窗口创建模块创建的所述时间窗中;根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素,其中,每一个所述行为要素表征一种行为特征;根据所述至少一个行为要素生成所述流量源的当前行为链;

告警管理模块,用于根据所述数据处理模块生成的所述当前行为链判断所述访问行为是否异常;当判断出所述访问行为异常时,触发告警事件。

优选地,

所述数据处理模块,用于执行下述操作:

a1:按照预设的采集周期,采集所述流量源发起访问后的访问行为;

a2:确定所述时间窗中剩余的容量是否小于预设的容量阈值,其中,所述容量阈值小于所述采集周期内采集到的所述访问行为的数据量,如果是,执行a3,否则,执行a5;

a3:根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素;

a4:删除所述时间窗中一个所述采集周期对应的时长内的历史数据,其中,所述历史数据为所述时间窗中存储时间最长的数据;

a5:将采集到的所述访问行为写入到所述时间窗中。

优选地,

所述基于行为的流量监测装置,进一步包括会话创建模块;

所述会话创建模块,用于执行下述操作:

s1:将所述流量源发来的第一信息和针对所述第一信息返回给所述流量源的第二信息作为所述流量源的访问行为,执行s2;

s2:确定预存数据中是否存在针对所述流量源且被标记的会话,其中,被标记的所述会话中最新的信息对应的第一时间点与所述流量源发起访问时对应的第二时间点之差小于或等于预设的时间阈值,如果是,执行s4,否则,执行s3;

s3:创建针对所述流量源的会话,对所述会话进行标记;

s4:将所述访问行为记录在所述会话中;

s5:在所述时间阈值内未接收到所述访问行为时,删除所述会话的标记。

优选地,

所述告警管理模块,用于执行下述操作:

d1:确定预先创建的告警队列中是否存在历史告警记录,如果是,执行d2,否则,执行d6;

d2:确定判断出所述访问行为异常时对应的异常时间点;

d3:确定所述告警队列中的第一个历史告警记录加入到所述告警队列时的入列时间点;

d4:确定所述异常时间点与所述入列时间点之间的时长是否大于预设的告警时长,如果是,执行d5,否则,执行d7;

d5:删除所述告警队列中的历史告警记录;

d6:触发告警事件;

d7:生成所述访问行为对应的新增告警记录,并将所述新增告警记录作为历史告警记录加入到所述告警队列中。

优选地,

所述数据处理模块,用于确定每一个所述行为要素出现的次数;按照时间顺序和每一个所述行为要素出现的次数,生成所述流量源的当前行为链;

所述告警管理模块,用于当所述行为要素包括web页面时,根据下述公式计算所述当前行为链与用于表征访问异常的异常行为链的相似值,并当所述相似值大于预设的相似阈值时,执行所述触发告警事件;

其中,所述s表征所述当前行为链与异常行为链的相似值,所述q表征所述当前行为链中请求web页面的第一总数,所述w表征所述异常行为链中请求web页面的第二总数,所述e表征所述当前行为链中请求主目录不同web页面的第三总数,所述r表征所述异常行为链中请求主目录不同web页面的第四总数,所述t表征所述当前行为链中请求目录树下不同web页面的第五总数,所述y表征所述异常行为链中请求目录树下不同web页面的第六总数,a表征请求web页面对应的第一权重值,b表征请求主目录不同web页面对应的第二权重值,c表征请求目录下不同web页面的第三权重值。

第三方面,本发明还提供了智能设备,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行第一方面中任一项所述的基于行为的流量监测方法。

第四方面,本发明还提供了计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面中任一项所述的基于行为的流量监测方法。

本发明提供了基于行为的流量监测方法及装置,当有流量源发起访问后,流量源会产生相应的访问行为,将流量源的访问行为写入对应的时间窗内,可以通过时间窗对流量源的访问行为进行记录;由于时间窗能够容纳预设时长的数据,因此,从访问行为中确定出的行为要素是流量源在预设时长内的行为特征,基于行为要素生成的当前行为链可以看出流量源在预设时长内的行为表现;所以,依据流量源在一定时长内的行为表现判断流量源是否异常,可以避免流量源基于正常访问的方式进行持续攻击导致漏发告警,还可以避免流量源的某一次误触发导致访问异常而产生告警,从而能够帮助分析人员快速确定流量源是否异常。

附图说明

图1是本发明一个实施例提供的基于行为的流量监测方法的流程图;

图2是本发明另一个实施例提供的基于行为的流量监测方法的流程图;

图3是本发明一个实施例提供的基于行为的流量监测装置的结构示意图。

具体实施方式

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

如图1所示,本发明实施例提供的基于行为的流量监测方法,包括:

步骤101:在监测到流量源发起访问时,创建针对所述流量源的时间窗,其中,所述时间窗能够容纳预设时长的数据;

步骤102:将所述流量源发起访问后的访问行为写入到所述时间窗中;

步骤103:根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素,其中,每一个所述行为要素表征一种行为特征;

步骤104:根据所述至少一个行为要素生成所述流量源的当前行为链;

步骤105:根据所述当前行为链判断所述访问行为是否异常;

步骤106:当判断出所述访问行为异常时,触发告警事件。

在本发明实施例中,当有流量源发起访问后,流量源会产生相应的访问行为,将流量源的访问行为写入对应的时间窗内,可以通过时间窗对流量源的访问行为进行记录;由于时间窗能够容纳预设时长的数据,因此,从访问行为中确定出的行为要素是流量源在预设时长内的行为特征,基于行为要素生成的当前行为链可以看出流量源在预设时长内的行为表现;所以,依据流量源在一定时长内的行为表现判断流量源是否异常,可以避免流量源基于正常访问的方式进行持续攻击导致漏发告警,还可以避免流量源的某一次误触发导致访问异常而产生告警,从而能够帮助分析人员快速确定流量源是否异常。

需要说明的是,行为要素表征流量源的某一操作的信息,比如,时间点q-登录系统x,时间点w-请求系统e的xxx信息。

在本发明一实施例中,所述将所述流量源发起访问后的访问行为写入到所述时间窗中,根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素,包括:

a1:按照预设的采集周期,采集所述流量源发起访问后的访问行为;

a2:确定所述时间窗中剩余的容量是否小于预设的容量阈值,其中,所述容量阈值小于所述采集周期内采集到的所述访问行为的数据量,如果是,执行a3,否则,执行a5;

a3:根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素;

a4:删除所述时间窗中一个所述采集周期对应的时长内的历史数据,其中,所述历史数据为所述时间窗中存储时间最长的数据;

a5:将采集到的所述访问行为写入到所述时间窗中。

在本发明实施例中,流量源在产生访问行为后,可按照采集周期(比如,5s、3min或10min)对访问行为进行采集。此时,若时间窗中能够写入该采集周期采集到的数据,则将采集到的访问行为写入到时间窗;若时间窗内无法写入一个采集周期对应的时长的数据,则确定时间窗内的访问行为中的行为要素,然后从时间窗中删除存储时间最长的数据,使得删除数据后的时间窗能否写入一个采集周期采集到的访问行为。通过时间窗可以对预设时长内流量源的行为进行监控,以判断流量源是否发起攻击。

举例来说,时间窗可以容纳60min时长的数据;

当在时长为5min的采集周期内采集到流量源的访问行为后,若此时时间窗中已存储有总的时长为58min的数据,此时已无法对该采集周期的访问信息进行记录,因此,需要将从时间窗中删除存储时间最长且删除的数据对应的时长范围为5min,以保证删除数据后的时间窗内可以存储一个采集周期的访问行为。

在本发明一实施例中,在所述在监测到流量源发起访问之后,在所述将所述流量源发起访问后的访问行为写入到所述时间窗中之前,进一步包括:

s1:将所述流量源发来的第一信息和针对所述第一信息返回给所述流量源的第二信息作为所述流量源的访问行为,执行s2;

s2:确定预存数据中是否存在针对所述流量源且被标记的会话,其中,被标记的所述会话中最新的信息对应的第一时间点与所述流量源发起访问时对应的第二时间点之差小于或等于预设的时间阈值,如果是,执行s4,否则,执行s3;

s3:创建针对所述流量源的会话,对所述会话进行标记;

s4:将所述访问行为记录在所述会话中;

s5:在所述时间阈值内未接收到所述访问行为时,删除所述会话的标记。

在本发明实施例中,流量源发来第一信息后,可能不存在针对第一信息返回给流量源的第二信息,也可能存在针对该第一信息向流量源返回第二信息,因此,流量源的访问行为包括第一信息,或者第一信息和第二信息的结合。流量源在发起访问后,可先确定在预设的时间阈值内是否存在针对流量源的会话,且该会话还未完结。若存在,则将流量源的交互数据全部记录在会话里,以形成针对流量源的访问记录。若流量源在时间阈值内未进行任何操作,则关闭此会话,删除会话的标记,以表征该会话完结。以使流量源再次进行访问时,重新建立会话,并对会话进行标记。通过会话可以记录流量源在一定时间内的所有行为,避免以多条记录的形式存储流量源的行为导致数据杂乱无章。

在本发明一实施例中,所述当判断出所述访问行为异常时,触发告警事件,包括:

d1:确定预先创建的告警队列中是否存在历史告警记录,如果是,执行d2,否则,执行d6;

d2:确定判断出所述访问行为异常时对应的异常时间点;

d3:确定所述告警队列中的第一个历史告警记录加入到所述告警队列时的入列时间点;

d4:确定所述异常时间点与所述入列时间点之间的时长是否大于预设的告警时长,如果是,执行d5,否则,执行d7;

d5:删除所述告警队列中的历史告警记录;

d6:触发告警事件;

d7:生成所述访问行为对应的新增告警记录,并将所述新增告警记录作为历史告警记录加入到所述告警队列中。

在本发明实施例中,当发现流量源的访问行为异常时,若告警队列中已存在历史告警记录,则表征流量源此次异常不是第一次出现,为了减少告警数量,可确定访问行为异常时对应的异常时间点与告警队列中第一历史告警记录对应的入列时间点之间的时长,然后判断该时长是否达到预设的告警时长,若是,则表征此时已达到预设的告警周期,因此,可先清空告警队列,然后触发告警事件,并将对应的新增告警记录加入到告警队列里,以使此时的告警队列中只存在针对此次访问行为生成的告警记录,便于流量源再次出现访问异常时基于告警队列中的历史告警记录判断是否发触发告警事件。若流量源此时的异常行为未满足触发告警事件时,则将此次行为对应的新增告警记录加入到告警队列中,以通过告警队列记录流量源的行为表现。

在本发明一实施例中,在所述将所述新增告警记录作为历史告警记录加入到所述告警队列中之后,进一步包括:

确定所述告警队列中的历史告警记录的数量是否等于预设的告警数量;

当所述告警队列中的历史告警记录的数量等于所述告警数量时,执行d5。

在本发明实施例中,当流量源此次的访问行为未满足触发告警事件的条件时,还需要判断流量源访问行为异常的历史告警记录的数量,以便流量源的历史告警记录达到预设的告警数量时触发告警事件,最大程度降低流量源在短时间内发起多次攻击而造成的损失。

在本发明一实施例中,所述根据所述至少一个行为要素生成所述流量源的当前行为链,包括:

确定每一个所述行为要素出现的次数;

按照时间顺序和每一个所述行为要素出现的次数,生成所述流量源的当前行为链;

所述根据所述当前行为链判断所述访问行为是否异常,包括:

当所述行为要素包括web页面时,根据下述公式,计算所述当前行为链与用于表征访问异常的异常行为链的相似值:

其中,所述s表征所述当前行为链与异常行为链的相似值,所述q表征所述当前行为链中请求web页面的第一总数,所述w表征所述异常行为链中请求web页面的第二总数,所述e表征所述当前行为链中请求主目录不同web页面的第三总数,所述r表征所述异常行为链中请求主目录不同web页面的第四总数,所述t表征所述当前行为链中请求目录树下不同web页面的第五总数,所述y表征所述异常行为链中请求目录树下不同web页面的第六总数,a表征请求web页面对应的第一权重值,b表征请求主目录不同web页面对应的第二权重值,c表征请求目录下不同web页面的第三权重值;

当所述相似值大于预设的相似阈值时,执行所述触发告警事件。

在本发明实施例中,从访问行为中提取出的行为要素可能出现一次也可能在一段时间内出现多次,为了便于明确流量源的行为表现,可按照每个行为要素出现的次数以及时间顺序生成当前行为链。若流量源的行为要素包括访问web页面时,可以基于流量源请求web页面的数量、请求主目录不同web页面的数量、请求目录下不同web页面的数量,确定当前行为链与预设的异常行为链的相似度,进而确定流量源的访问行为是否异常。

举例来说,流量源的行为要素如下:

7:00登录系统a失败;7:03登录系统b失败;7:05登录系统a失败;7:09登录系统a失败;7:12登录系统b失败。

可以按照行为要素出现的次数和时间顺序生成当前行为链为:

7:00登录系统a失败;7:05登录系统a失败;7:09登录系统a失败;

7:03登录系统b失败;7:12登录系统b失败。

可以理解的是,每个主目录下可建立至少一个目录树。

本方案包括至少一个主目录,每一个主目录对应一个web页面。

如图2所示,为了更加清楚地说明本发明的技术方案及优点,下面对本发明实施例提供的基于行为的流量监测方法进行详细说明,具体包括以下步骤:

步骤201:在监测到流量源发起访问时,创建针对流量源的时间窗,其中,时间窗能够容纳预设时长的数据。

步骤202:将流量源发来的第一信息和针对第一信息返回给流量源的第二信息作为流量源的访问行为,执行步骤203。

具体地,在流量源发起访问时,针对流量源发来的第一信息可以作为流量源的访问行为,针对流量源发来的第一信息返回给流量源的第二信息也可以作为流量源的访问行为,还可以将第一信息和第二信息结合后作为流量源的访问行为。

为了更明确每一个流量源的行为表现,当流量源发起访问后,需要创建只针对该流量源的时间窗,该时间窗可以容纳一定时长的数据,比如,该时间窗可以容纳时长为3个小时的数据,若早上8:00的数据存储到时间窗后,该时间窗最多可以存储至8:00至11:00时长内的数据。

步骤203:确定是否存在针对流量源且被标记的会话,如果是,执行步骤205,否则,执行步骤204。

其中,被标记的会话中最新的信息对应的第一时间点与流量源发起访问时对应的第二时间点之差小于或等于预设的时间阈值。

具体地,流量源若在此次之前的短时间内进行过访问,则会存在针对该流量源的会话,且该会话处于被标记状态,即表征该会话还未完结。若流量源是第一次进行访问,或距离上一次访问时间间隔较长时,则不存在未完结的会话,因此,为了便于记录流量源的行为,需要重新创建针对流量源的会话。

步骤204:创建针对流量源的会话,对会话进行标记,执行步骤205。

具体地,创建完会话后,为了便于对流量源在一定时间内产生的访问行为进行管理,可对该会话进行标记,以表征该会话处于未完结状态,仍可以向会话中写入数据。

步骤205:将访问行为记录在会话中。

步骤206:在时间阈值内未接收到访问行为时,删除会话的标记。

具体地,为了便于明确流量源在一段时间内的行为,针对每次创建的会话,若想会话内最后写入的数据对应的时间点与当前时间点之间的时间间隔大于时间阈值,则表征流量源长时间内没有任何活动,因此,可删除会话的标记,以表征该会话已完结。

步骤207:按照预设的采集周期,采集访问行为。

具体地,为了明确流量源都有哪些操作,可按照预设的采集周期5min、10min或者1h,采集流量源当前未完结的会话中的访问行为。

步骤208:确定时间窗中剩余的容量是否小于预设的容量阈值,如果是,执行步骤209,否则,执行步骤211。

其中,容量阈值小于该采集周期内采集到的访问行为的数据量。

步骤209:根据时间窗中的访问行为确定流量源的至少一个行为要素。

步骤210:删除时间窗中一个采集周期对应的时长内的历史数据,其中,历史数据为时间窗中存储时间最长的数据。

步骤211:将采集到的访问行为写入到时间窗中,其中,每一个行为要素表征一种行为特征。

具体地,当采集到流量源的访问行为后需要先确定针对流量源的时间窗中是否能够被写入该采集周期内采集到的数据,若时间窗中剩余的容量不足以写入该采集周期的数据,则需要先确定基于时间窗中的访问行为确定用于表征流量源访问特征的行为要素,然后再删除时间窗中一个采集周期的历史数据,且删除的数据在时间窗中存储的时间相对最长。比如,时间窗中仅能存储5min时长的数据,而一个采集周期采集到的数据的时间长度为30min,那么需要将时间窗中删除时间间隔为30min的数据,且被删除的数据在时间窗中存储时间比时间窗中未被删除的数据的存储时间长。若时间窗中能够被写入该采集周期采集到的数据,则将采集到的访问行为写入到时间窗中。

步骤212:按照时间顺序和每一个行为要素出现的次数,生成流量源的当前行为链。

步骤213:计算当前行为链与用于表征访问异常的异常行为链的相似值,并当相似值大于预设的相似阈值时判断出访问行为异常。

具体地,针对流量源此次访问,存在对应的由至少一个行为要素组成的当前行为链,通过将当前行为链和访问异常时对应的异常行为链进行比对,可以确定流量源是否访问异常。

步骤214:确定告警队列中是否存在历史告警记录,如果是,执行步骤215,否则,执行步骤219。

具体地,当确定流量源访问异常后,还需要确定是否立即触发告警事件还是一段时间后再进行触发。

步骤215:确定判断出访问行为异常时对应的异常时间点。

步骤216:确定告警队列中的第一个历史告警记录加入到告警队列时的入列时间点。

步骤217:确定异常时间点与入列时间点之间的时长是否大于预设的告警时长,如果是,执行步骤218,否则,执行步骤220。

步骤218:删除告警队列中的历史告警记录。

步骤219:触发告警事件。

步骤220:生成访问行为对应的新增告警记录,并将新增告警记录作为历史告警记录加入到告警队列中。

具体地,满足触发告警事件的条件包括针对流量源的告警队列中是否已经存在历史告警记录,若存在历史告警记录,则确定告警队列中的第一个历史告警记录加入告警队列的入列时间点,即,加入到告警队列中时间最长的第一个历史告警记录,然后求得入列时间点与确定出流量源访问行为异常时对应的异常时间点之间的时长,若时长大于告警时长,则表征已达到一个告警周期,因此可触发告警事件,以提醒分析人员流量源异常,同时,还需要清空告警队列中的数据,以便完成一个告警周期的告警。若计算得到的时长小于或等于告警时长,则表征还未达到一个告警周期,此时流量源的异常行为可能是由于用户误操作导致的,若立即触发告警事件会导致增加告警数量,从而增加过多无用数据,给分析人员确定异常流量源增加难度。因此,可先对流量源此次行为生成新增告警记录,然后加入到告警队列中,以对流量源此次行为进行记录。

具体地,为了降低流量源持续攻击所造成的损失,当告警队列中的历史告警记录已达到一定数量,即,确定告警队列中的历史告警记录的数量是否等于预设的告警数量。当告警队列中的历史告警记录的数量等于告警数量时,则表征流量源在一定时间内持续攻击,执行步骤218,以可触发告警事件,以便对流量源采取相应措施。

综上可见,本方案可以维持基于会话的分析,减少简单规则匹配产生的误报;可以基于告警频率,减少告警事件的数量;可以记录行为进行步骤,只有满足异常行为链才会告警;还能够以单个流量源为单位,检测多种行为,避免单一协议分析造成的遗漏。让分析人员更加直接的发现网络威胁,及时做出反应。

如图3所示,本发明还提供了基于行为的流量监测装置,包括:

窗口创建模块301,用于在监测到流量源发起访问时,创建针对所述流量源的时间窗,其中,所述时间窗能够容纳预设时长的数据;

数据处理模块302,用于将所述流量源发起访问后的访问行为写入到所述窗口创建模块创建的所述时间窗中;根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素,其中,每一个所述行为要素表征一种行为特征;根据所述至少一个行为要素生成所述流量源的当前行为链;

告警管理模块303,用于根据所述数据处理模块生成的所述当前行为链判断所述访问行为是否异常;当判断出所述访问行为异常时,触发告警事件。

在本发明实施例中,当有流量源发起访问后,流量源会产生相应的访问行为,将流量源的访问行为写入对应的时间窗内,可以通过时间窗对流量源的访问行为进行记录;由于时间窗能够容纳预设时长的数据,因此,从访问行为中确定出的行为要素是流量源在预设时长内的行为特征,基于行为要素生成的当前行为链可以看出流量源在预设时长内的行为表现;所以,依据流量源在一定时长内的行为表现判断流量源是否异常,可以避免流量源基于正常访问的方式进行持续攻击导致漏发告警,还可以避免流量源的某一次误触发导致访问异常而产生告警,从而能够帮助分析人员快速确定流量源是否异常。

在本发明一实施例中,所述数据处理模块,用于执行下述操作:

a1:按照预设的采集周期,采集所述流量源发起访问后的访问行为;

a2:确定所述时间窗中剩余的容量是否小于预设的容量阈值,其中,所述容量阈值小于所述采集周期内采集到的所述访问行为的数据量,如果是,执行a3,否则,执行a5;

a3:根据所述时间窗中的所述访问行为确定所述流量源的至少一个行为要素;

a4:删除所述时间窗中一个所述采集周期对应的时长内的历史数据,其中,所述历史数据为所述时间窗中存储时间最长的数据;

a5:将采集到的所述访问行为写入到所述时间窗中。

在本发明一实施例中,所述基于行为的流量监测装置,进一步包括会话创建模块;

所述会话创建模块,用于执行下述操作:

s1:将所述流量源发来的第一信息和针对所述第一信息返回给所述流量源的第二信息作为所述流量源的访问行为,执行s2;

s2:确定预存数据中是否存在针对所述流量源且被标记的会话,其中,被标记的所述会话中最新的信息对应的第一时间点与所述流量源发起访问时对应的第二时间点之差小于或等于预设的时间阈值,如果是,执行s4,否则,执行s3;

s3:创建针对所述流量源的会话,对所述会话进行标记;

s4:将所述访问行为记录在所述会话中;

s5:在所述时间阈值内未接收到所述访问行为时,删除所述会话的标记。

在本发明一实施例中,所述告警管理模块,用于执行下述操作:

d1:确定预先创建的告警队列中是否存在历史告警记录,如果是,执行d2,否则,执行d6;

d2:确定判断出所述访问行为异常时对应的异常时间点;

d3:确定所述告警队列中的第一个历史告警记录加入到所述告警队列时的入列时间点;

d4:确定所述异常时间点与所述入列时间点之间的时长是否大于预设的告警时长,如果是,执行d5,否则,执行d7;

d5:删除所述告警队列中的历史告警记录;

d6:触发告警事件;

d7:生成所述访问行为对应的新增告警记录,并将所述新增告警记录作为历史告警记录加入到所述告警队列中。

在本发明一实施例中,所述数据处理模块,用于确定每一个所述行为要素出现的次数;按照时间顺序和每一个所述行为要素出现的次数,生成所述流量源的当前行为链;

所述告警管理模块,用于当所述行为要素包括web页面时,根据下述公式计算所述当前行为链与用于表征访问异常的异常行为链的相似值,并当所述相似值大于预设的相似阈值时,执行所述触发告警事件;

其中,所述s表征所述当前行为链与异常行为链的相似值,所述q表征所述当前行为链中请求web页面的第一总数,所述w表征所述异常行为链中请求web页面的第二总数,所述e表征所述当前行为链中请求主目录不同web页面的第三总数,所述r表征所述异常行为链中请求主目录不同web页面的第四总数,所述t表征所述当前行为链中请求目录树下不同web页面的第五总数,所述y表征所述异常行为链中请求目录树下不同web页面的第六总数,a表征请求web页面对应的第一权重值,b表征请求主目录不同web页面对应的第二权重值,c表征请求目录下不同web页面的第三权重值。

可以理解的是,本发明实施例示意的结构并不构成对基于行为的流量监测装置的具体限定。在本发明的另一些实施例中,基于行为的流量监测装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。

上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。

本发明实施例还提供了智能设备,包括:至少一个存储器和至少一个处理器;

所述至少一个存储器,用于存储机器可读程序;

所述至少一个处理器,用于调用所述机器可读程序,执行上述任意实施例中所述的基于行为的流量监测方法。

本发明实施例还提供了计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述任意实施例中所述的基于行为的流量监测方法。

具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。

在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。

用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。

此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。

此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。

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

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