首页 / 专利库 / 电脑编程 / 算法 / 期望最大化算法 / 异常流量检测方法、装置及电子设备

异常流量检测方法、装置及电子设备

阅读:384发布:2020-05-16

专利汇可以提供异常流量检测方法、装置及电子设备专利检索,专利查询,专利分析的服务。并且本 发明 提供了一种异常流量检测方法、装置及 电子 设备,涉及网络安全技术领域,该方法包括:获取待检测流量的指标数据,该指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;根据该指标数据和预先建立的流量 数据库 中存储的指标统计信息,确定待检测流量对应的目标流量特征;根据该目标流量特征和预先建立的 异常检测 模型,确定待检测流量的异常检测结果。该方法中,待检测流量对应的目标流量特征是基于预先存储在流量数据库中的指标统计信息得到的,相对于 现有技术 中直接统计待检测流量的所有相关数据流来得到目标流量特征的方式,降低了计算量且适用于分布式计算架构,因此能够加快计算速度,提高检测效率。,下面是异常流量检测方法、装置及电子设备专利的具体信息内容。

1.一种异常流量检测方法,其特征在于,包括:
获取待检测流量的指标数据,所述指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;
根据所述指标数据和预先建立的流量数据库中存储的指标统计信息,确定所述待检测流量对应的目标流量特征;
根据所述目标流量特征和预先建立的异常检测模型,确定所述待检测流量的异常检测结果。
2.根据权利要求1所述的方法,其特征在于,所述指标数据包括源IP地址、目的IP地址、通信时间和目的端口号,所述指标统计信息包括所述待检测流量的上一个流量对应的目标指标的统计信息;
所述根据所述指标数据和预先建立的流量数据库中存储的指标统计信息,确定所述待检测流量对应的目标流量特征,包括:
从预先建立的流量数据库中存储的指标统计信息中提取所述上一个流量对应的目标指标的统计信息,并将提取到的统计信息作为所述待检测流量对应的基础统计信息;其中,所述目标指标包括所述源IP地址、所述目的IP地址、所述源IP地址和所述目的IP地址的组合以及所述目的端口号;所述基础统计信息包括预设时间段内具有所述源IP地址的第一流量数量、所述预设时间段内具有所述目的IP地址的第二流量数量、所述预设时间段内具有所述源IP地址和所述目的IP地址的第三流量数量、以及所述预设时间段内具有所述目的端口号的第四流量数量;
根据所述通信时间确定所述待检测流量与所述上一个流量的差异检测时间段;
获取所述差异检测时间段内所述目标指标的统计信息,并将获取到的统计信息作为差异统计信息;
根据所述基础统计信息和所述差异统计信息确定所述待检测流量对应的目标流量特征。
3.根据权利要求2所述的方法,其特征在于,所述指标数据还包括通信输入包的大小和通信输入包的数量;所述根据所述基础统计信息和所述差异统计信息确定所述待检测流量对应的目标流量特征,包括:
将相同所述目标指标的所述基础统计信息和所述差异统计信息进行求和或求差运算,得到所述待检测流量对应的目标统计信息;
将所述目标统计信息、所述通信输入包的大小、所述通信输入包的数量和所述通信时间的小时数确定为所述待检测流量对应的目标流量特征。
4.根据权利要求1所述的方法,其特征在于,所述指标数据包括源IP地址、目的IP地址、通信时间、目的端口号、通信输入包的大小和通信输入包的数量,所述指标统计信息包括预设的多个自然时间段内目标指标的统计信息;
所述根据所述指标数据和预先建立的流量数据库中存储的指标统计信息,确定所述待检测流量对应的目标流量特征,包括:
根据所述通信时间确定所述待检测流量所属的目标自然时间段;
从预先建立的流量数据库中存储的指标统计信息中提取所述目标自然时间段内目标指标的统计信息,并将提取到的统计信息作为所述待检测流量对应的目标统计信息;其中,所述目标指标包括所述源IP地址、所述目的IP地址、所述源IP地址和所述目的IP地址的组合以及所述目的端口号;
将所述目标统计信息、所述通信输入包的大小、所述通信输入包的数量和所述通信时间的小时数确定为所述待检测流量对应的目标流量特征。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述异常检测模型包括与所述源IP地址对应的异常概率模型;所述根据所述目标流量特征和预先建立的异常检测模型,确定所述待检测流量的异常检测结果,包括:
将所述目标流量特征输入与所述源IP地址对应的异常概率模型中,得到所述目标流量特征对应的概率值;
根据所述目标流量特征对应的概率值确定所述待检测流量的异常检测结果。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标流量特征对应的概率值确定所述待检测流量的异常检测结果,包括:
通过以下公式计算所述待检测流量的异常得分:
其中,score(x)表示待检测流量的异常得分,M表示所述目标流量特征的数量,wi表示编号为i的目标流量特征对应的权重,p(x(i))表示待检测流量的编号为i的目标流量特征对应的概率值;
通过比较所述异常得分与预设的得分阈值的大小关系,确定所述待检测流量的异常检测结果。
7.根据权利要求5所述的方法,其特征在于,所述异常概率模型包括多元高斯模型或多元混合高斯模型;所述方法还包括:
获取具有所述源IP地址的多个流量样本;
获取每个所述流量样本的样本流量特征;
根据各所述流量样本的样本流量特征,采用最大似然估计MLE或期望最大化算法EM对待优化的异常概率模型进行拟合优化,得到与所述源IP地址对应的异常概率模型。
8.一种异常流量检测装置,其特征在于,包括:
数据获取模,用于获取待检测流量的指标数据,所述指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;
特征确定模块,用于根据所述指标数据和预先建立的流量数据库中存储的指标统计信息,确定所述待检测流量对应的目标流量特征;
结果确定模块,用于根据所述目标流量特征和预先建立的异常检测模型,确定所述待检测流量的异常检测结果。
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1-7中任一项所述的方法。

说明书全文

异常流量检测方法、装置及电子设备

技术领域

[0001] 本发明涉及网络安全技术领域,尤其是涉及一种异常流量检测方法、装置及电子设备。

背景技术

[0002] 目前的IDS(Intrusion Detection Systems,入侵检测系统)主要是基于硬件设备(如,路由器,交换机等)提供的pcap、Netflow、Sflow等格式的数据流量包进行统计分析和建模,再根据建模得到的入侵检测模型来评估和决策流量的合规性。
[0003] 然而现有技术在进行异常流量检测时存在计算量大、计算速度慢的问题,导致检测效率较低。

发明内容

[0004] 本发明的目的在于提供一种异常流量检测方法、装置及电子设备,以提高检测效率。
[0005] 本发明提供了一种异常流量检测方法,包括:获取待检测流量的指标数据,所述指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;根据所述指标数据和预先建立的流量数据库中存储的指标统计信息,确定所述待检测流量对应的目标流量特征;根据所述目标流量特征和预先建立的异常检测模型,确定所述待检测流量的异常检测结果。
[0006] 进一步地,所述指标数据包括源IP地址、目的IP地址、通信时间和目的端口号,所述指标统计信息包括所述待检测流量的上一个流量对应的目标指标的统计信息;
[0007] 所述根据所述指标数据和预先建立的流量数据库中存储的指标统计信息,确定所述待检测流量对应的目标流量特征,包括:从预先建立的流量数据库中存储的指标统计信息中提取所述上一个流量对应的目标指标的统计信息,并将提取到的统计信息作为所述待检测流量对应的基础统计信息;其中,所述目标指标包括所述源IP地址、所述目的IP地址、所述源IP地址和所述目的IP地址的组合以及所述目的端口号;所述基础统计信息包括预设时间段内具有所述源IP地址的第一流量数量、所述预设时间段内具有所述目的IP地址的第二流量数量、所述预设时间段内具有所述源IP地址和所述目的IP地址的第三流量数量、以及所述预设时间段内具有所述目的端口号的第四流量数量;根据所述通信时间确定所述待检测流量与所述上一个流量的差异检测时间段;获取所述差异检测时间段内所述目标指标的统计信息,并将获取到的统计信息作为差异统计信息;根据所述基础统计信息和所述差异统计信息确定所述待检测流量对应的目标流量特征。
[0008] 进一步地,所述指标数据还包括通信输入包的大小和通信输入包的数量;所述根据所述基础统计信息和所述差异统计信息确定所述待检测流量对应的目标流量特征,包括:将相同所述目标指标的所述基础统计信息和所述差异统计信息进行求和或求差运算,得到所述待检测流量对应的目标统计信息;将所述目标统计信息、所述通信输入包的大小、所述通信输入包的数量和所述通信时间的小时数确定为所述待检测流量对应的目标流量特征。
[0009] 进一步地,所述指标数据包括源IP地址、目的IP地址、通信时间、目的端口号、通信输入包的大小和通信输入包的数量,所述指标统计信息包括预设的多个自然时间段内目标指标的统计信息;
[0010] 所述根据所述指标数据和预先建立的流量数据库中存储的指标统计信息,确定所述待检测流量对应的目标流量特征,包括:根据所述通信时间确定所述待检测流量所属的目标自然时间段;从预先建立的流量数据库中存储的指标统计信息中提取所述目标自然时间段内目标指标的统计信息,并将提取到的统计信息作为所述待检测流量对应的目标统计信息;其中,所述目标指标包括所述源IP地址、所述目的IP地址、所述源IP地址和所述目的IP地址的组合以及所述目的端口号;将所述目标统计信息、所述通信输入包的大小、所述通信输入包的数量和所述通信时间的小时数确定为所述待检测流量对应的目标流量特征。
[0011] 进一步地,所述异常检测模型包括与所述源IP地址对应的异常概率模型;所述根据所述目标流量特征和预先建立的异常检测模型,确定所述待检测流量的异常检测结果,包括:将所述目标流量特征输入与所述源IP地址对应的异常概率模型中,得到所述目标流量特征对应的概率值;根据所述目标流量特征对应的概率值确定所述待检测流量的异常检测结果。
[0012] 进一步地,所述根据所述目标流量特征对应的概率值确定所述待检测流量的异常检测结果,包括:
[0013] 通过以下公式计算所述待检测流量的异常得分:
[0014]
[0015] 其中,score(x)表示待检测流量的异常得分,M表示所述目标流量特征的数量,wi表示编号为i的目标流量特征对应的权重,p(x(i))表示待检测流量的编号为i的目标流量特征对应的概率值;
[0016] 通过比较所述异常得分与预设的得分阈值的大小关系,确定所述待检测流量的异常检测结果。
[0017] 进一步地,所述异常概率模型包括多元高斯模型或多元混合高斯模型;所述方法还包括:获取具有所述源IP地址的多个流量样本;获取每个所述流量样本的样本流量特征;根据各所述流量样本的样本流量特征,采用最大似然估计MLE或期望最大化算法EM对待优化的异常概率模型进行拟合优化,得到与所述源IP地址对应的异常概率模型。
[0018] 本发明还提供了一种异常流量检测装置,包括:数据获取模,用于获取待检测流量的指标数据,所述指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;特征确定模块,用于根据所述指标数据和预先建立的流量数据库中存储的指标统计信息,确定所述待检测流量对应的目标流量特征;结果确定模块,用于根据所述目标流量特征和预先建立的异常检测模型,确定所述待检测流量的异常检测结果。
[0019] 本发明还提供了一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的异常流量检测方法。
[0020] 本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的异常流量检测方法。
[0021] 本发明提供的异常流量检测方法、装置及电子设备中,该方法包括:获取待检测流量的指标数据,该指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;根据该指标数据和预先建立的流量数据库中存储的指标统计信息,确定待检测流量对应的目标流量特征;根据该目标流量特征和预先建立的异常检测模型,确定待检测流量的异常检测结果。该方法中,待检测流量对应的目标流量特征是基于预先存储在流量数据库中的指标统计信息得到的,相对于现有技术中直接统计待检测流量的所有相关数据流来得到目标流量特征的方式,降低了计算量,因此能够加快计算速度,提高检测效率。附图说明
[0022] 为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1为本发明实施例提供的一种异常流量检测方法的流程示意图;
[0024] 图2为本发明实施例提供的另一种异常流量检测方法的流程示意图;
[0025] 图3为本发明实施例提供的另一种异常流量检测方法的流程示意图;
[0026] 图4为本发明实施例提供的一种异常流量检测方法中建立异常概率模型的流程示意图;
[0027] 图5为本发明实施例提供的一种异常流量检测装置的结构示意图;
[0028] 图6为本发明实施例提供的另一种异常流量检测装置的结构示意图;
[0029] 图7为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

[0030] 下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031] 现有技术在对待检测流量进行异常流量检测时,对数据流量包的统计分析过程通常是对待检测流量的通信时间前一定时间段内的数据流做统计,这是一个基于滑窗的流处理问题,例如统计出待检测流量的通信时间前半分钟内相同目的IP(Internet Protocol Address,网络之间互连的协议)地址、相同源IP地址等的流量数量信息。发明人发现,这种统计方式必然会造成重复计算。基于此,本发明实施例提供了一种异常流量检测方法、装置及电子设备,可以降低统计分析过程的重复计算量,从而可以加快计算速度,提高检测效率。
[0032] 为便于对本实施例进行理解,首先对本发明实施例所公开的一种异常流量检测方法进行详细介绍。
[0033] 参见图1所示的一种异常流量检测方法的流程示意图,该方法包括如下步骤:
[0034] 步骤S102,获取待检测流量的指标数据,该指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种。
[0035] 本实施例提供的异常流量检测方法由电子设备执行,该电子设备可以收集整理路由器、检测器、交换机等设备提交的流量包,该流量包即为待检测流量。通过对待检测流量进行解析,可以得到目的IP地址、源IP地址、目的端口号、源端口号、通信协议号、通信时间、通信时长、通信输入包的大小和通信输入包的数量等信息,然后可以从这些信息中选取所需的指标数据。
[0036] 可选地,上述指标数据包括目的IP地址、源IP地址、目的端口号、通信时间、通信输入包的大小和通信输入包的数量。优选地,上述电子设备将不同设备提交的待检测流量的指标数据整理成统一格式,以方便处理。
[0037] 步骤S104,根据上述指标数据和预先建立的流量数据库中存储的指标统计信息,确定待检测流量对应的目标流量特征。
[0038] 上述流量数据库中存储有先前获取的各个流量的指标数据,以及对各个流量的指标数据进行统计得到的指标统计信息,该指标统计信息包括各个检测指标在多个检测时间段内的统计信息。其中,检测指标可以根据所针对的攻击行为来选取,检测时间段的长度可以根据网络节点数据量以及响应速度来选取。某一流量的检测时间段通常以该流量的通信时间为结束时间,例如,某一流量的通信时间为08:00:00,检测时间段的长度为半分钟(30秒),则该流量的检测时间段为07:59:30至08:00:00。
[0039] 例如针对端口扫描、Dos(Denial of Service,拒绝服务)、TCP(Transmission Control Protocol,传输控制协议)SYN(Synchronize Sequence Numbers,同步序列编号)和SYN Flooding等攻击行为,检测指标可以包括源IP地址、目的IP地址、源IP地址和目的IP地址的组合以及目的端口号,检测时间段的长度可以选取为半分钟,指标统计信息包括半分钟内具有相同源IP地址的流量数量、半分钟内具有相同目的IP地址的流量数量、半分钟内具有相同源IP地址和相同目的IP地址的流量数量、以及半分钟内具有相同目的端口号的流量数量。
[0040] 进一步地,通常检测时间段内获取到的流量数量较多,检测时间段内获取到的各个流量的指标数据会涉及到多个源IP地址、多个目的IP地址、多个源IP地址和目的IP地址的组合以及多个目的端口号中的一种或多种,检测指标包括多个源IP地址、多个目的IP地址、多个源IP地址和目的IP地址的组合以及多个目的端口号中的一种或多种,使得待检测流量对应的目标指标通常为流量数据库中所存储的检测指标的一部分。
[0041] 例如,待检测流量的指标数据包括源IP地址A1、目的IP地址B1和目的端口号C1,某一检测时间段内获取到的三个流量,流量1的指标数据包括源IP地址A1、目的IP地址B1和目的端口号C2,流量2的指标数据包括源IP地址A1、目的IP地址B1和目的端口号C2,流量3的指标数据包括源IP地址A2、目的IP地址B1和目的端口号C1,则待检测流量对应的目标指标包括A1、B1、A1+B1和C1,检测指标包括A1、A2、B1、A1+B1、A2+B1、C1和C2,显然目标指标属于检测指标的一部分。
[0042] 在一种可选的实现方式中,上述指标统计信息包括待检测流量的上一个流量对应的目标指标的统计信息;该上一个流量对应的目标指标的统计信息是指对上一个流量的检测时间段内的各个流量的指标数据进行统计得到的目标指标的统计信息。
[0043] 基于此,上述步骤S104包括:从预先建立的流量数据库中存储的指标统计信息中提取待检测流量的上一个流量对应的目标指标的统计信息,并将提取到的统计信息作为待检测流量对应的基础统计信息;获取待检测流量相对于其上一个流量的差异检测时间段内目标指标的统计信息,并将获取到的统计信息作为差异统计信息;基于该基础统计信息和该差异统计信息确定待检测流量的目标统计信息;将该目标统计信息确定为待检测流量对应的目标流量特征。
[0044] 其中,目标指标包括待检测流量的源IP地址、目的IP地址、源IP地址和目的IP地址的组合以及目的端口号;基础统计信息包括预设时间段内具有与待检测流量相同源IP地址的第一流量数量、预设时间段内具有与待检测流量相同目的IP地址的第二流量数量、预设时间段内具有与待检测流量相同源IP地址和相同目的IP地址的第三流量数量、以及预设时间段内具有与待检测流量相同目的端口号的第四流量数量;此处的预设时间段也即上述上一个流量的检测时间段。
[0045] 在另一种可选的实现方式中,上述指标统计信息包括预设的多个自然时间段内目标指标的统计信息,每个自然时间段内目标指标的统计信息指对该自然时间段内的各个流量的指标数据进行统计得到的目标指标的统计信息,该自然时间段相当于上述的检测时间段。例如以半分钟为一个自然时间段,可以将一天的24小时分为2880个自然时间段,然后对这2880个自然段内各个流量的指标数据进行统计。
[0046] 基于此,上述步骤S104包括:根据待检测流量的通信时间确定待检测流量所属的目标自然时间段;从预先建立的流量数据库中存储的指标统计信息中提取该目标自然时间段内目标指标的统计信息,并将提取到的统计信息作为待检测流量对应的目标统计信息;将该目标统计信息确定为待检测流量对应的目标流量特征。
[0047] 其中,目标指标包括待检测流量的源IP地址、目的IP地址、源IP地址和目的IP地址的组合以及目的端口号;目标统计信息包括目标自然时间段内具有与待检测流量相同源IP地址的第一流量数量,目标自然时间段内具有与待检测流量相同目的IP地址的第二流量数量、目标自然时间段内具有与待检测流量相同源IP地址和相同目的IP地址的第三流量数量、以及目标自然时间段内具有与待检测流量相同目的端口号的第四流量数量。
[0048] 另外,待检测流量对应的目标流量特征可以根据所针对的不同攻击行为的流量特征来选取。可选地,除上述目标统计信息之外,待检测流量对应的目标流量特征还可以包括通信输入包的大小、通信输入包的数量和通信时间的小时数中的一种或多种。其中,关于通信时间的小时数,若通信时间为08:01:00,则通信时间的小时数为8。
[0049] 步骤S106,根据上述目标流量特征和预先建立的异常检测模型,确定待检测流量的异常检测结果。
[0050] 可选地,上述异常检测模型包括与源IP地址对应的异常概率模型,该异常概率模型可以但不限于为多元高斯模型或多元混合高斯模型。上述步骤S106可以包括:将目标流量特征输入与待检测流量的源IP地址对应的异常概率模型中,得到目标流量特征对应的概率值;根据目标流量特征对应的概率值确定待检测流量的异常检测结果。其中,目标流量特征对应的概率值表示在已有的异常概率模型中目标流量特征发生的概率值,该异常检测结果包括待检测流量为异常流量或正常流量。
[0051] 本发明实施例中,获取待检测流量的指标数据,该指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;根据该指标数据和预先建立的流量数据库中存储的指标统计信息,确定待检测流量对应的目标流量特征;根据该目标流量特征和预先建立的异常检测模型,确定待检测流量的异常检测结果。该方法中,待检测流量对应的目标流量特征是基于预先存储在流量数据库中的指标统计信息得到的,相对于现有技术中直接统计待检测流量的所有相关数据流来得到目标流量特征的方式,降低了计算量,因此能够加快计算速度,提高检测效率。
[0052] 在一种可能的实现方式中,每个源IP地址都建立有一个多元高斯模型:
[0053]
[0054] 其中,p(x(i))表示待检测流量的编号为i的目标流量特征对应的概率值,分别表示该多元高斯模型的平均值参数、标准差参数和方差参数,x(i)表示待检测流量的编号为i的目标流量特征。
[0055] 基于此,上述步骤S106的具体过程可以为:
[0056] (1)将目标流量特征输入与待检测流量的源IP地址对应的多元高斯模型中,得到目标流量特征对应的概率值。
[0057] (2)通过以下公式计算待检测流量的异常得分:
[0058]
[0059] 其中,score(x)表示待检测流量的异常得分,M表示目标流量特征的数量,wi表示编号为i的目标流量特征对应的权重,p(x(i))表示待检测流量的编号为i的目标流量特征对应的概率值,也即在多元高斯模型中编号为i的目标流量特征发生的概率值。各个目标流量特征对应的权重之和可以但不限于为1。
[0060] 需要说明的是,log2p(x(i))的取值范围可以是[-100,0],并且考虑到x(i)=0的情况,这里定义log2(0)=-100。例如,若各个目标流量特征对应的权重之和为1,则score(x)的范围为[0,100]。
[0061] (3)通过比较上述异常得分与预设的得分阈值的大小关系,确定待检测流量的异常检测结果。
[0062] 异常得分越大待检测流量越异常,当异常得分大于预设的得分阈值时,确定待检测流量为异常流量,此时还可以将该流量作为异常流量推荐给对应的终端或者平台,以供人工监测判别。其中,该得分阈值可以基于目标流量特征对应的权重、具体网络环境下的流量密度以及使用者对异常数据的敏感程度来设置。
[0063] 为了便于理解,下面将参照图2和图3分别对基于两种统计方式下的异常流量检测方法进行示例性介绍。
[0064] 图2为本发明实施例提供的另一种异常流量检测方法的流程示意图,该方法采用基于滑窗差异值(当前的待检测流量对应滑窗与上一个流量对应滑窗的差异值)的统计方式,也即仅需统计滑窗差异值就能够确定待检测流量对应的目标流量特征,其中滑窗指检测时间段。该方法中,流量数据库中存储的指标统计信息包括待检测流量的上一个流量对应的目标指标的统计信息,目标指标包括待检测流量的源IP地址、目的IP地址、源IP地址和目的IP地址的组合以及目的端口号,检测时间段的长度为半分钟。
[0065] 如图2所示,该方法包括如下步骤:
[0066] 步骤S201,获取待检测流量的指标数据,该指标数据包括目的IP地址、源IP地址、目的端口号、通信时间、通信输入包的大小和通信输入包的数量。
[0067] 步骤S202,从预先建立的流量数据库中存储的指标统计信息中提取待检测流量的上一个流量对应的目标指标的统计信息,并将提取到的统计信息作为待检测流量对应的基础统计信息。
[0068] 上述基础统计信息包括预设时间段内具有与待检测流量相同源IP地址的第一流量数量 预设时间段内具有与待检测流量相同目的IP地址的第二流量数量 预设时间段内具有与待检测流量相同源IP地址和相同目的IP地址的第三流量数量 以及预设时间段内具有与待检测流量相同目的端口号的第四流量数量 其中,预设时间段为上一个流量的通信时间前半分钟,也即上一个流量的检测时间段。
[0069] 步骤S203,根据通信时间确定待检测流量与上一个流量的差异检测时间段。
[0070] 具体地,待检测流量的检测时间段为待检测流量的通信时间前半分钟,上一个流量的检测时间段为上一个流量的通信时间前半分钟,因此可以基于通信时间确定待检测流量与上一个流量的差异检测时间段。通常差异检测时间段包括两个时间分段,第一个时间分段的起始时间为上一个流量的检测时间段的起始时间,第一个时间分段的结束时间为待检测流量的检测时间段的起始时间,而第二个时间分段内为上一个流量的通信时间至待检测流量的通信时间。例如,待检测流量的通信时间为08:00:00,上一个流量的通信时间为07:59:55,则待检测流量的检测时间段为07:59:30至08:00:00,上一个流量的检测时间段为07:59:25至07:59:55,差异检测时间段为07:59:25至07:59:30和07:59:55至08:00:00。
[0071] 步骤S204,获取上述差异检测时间段内目标指标的统计信息,并将获取到的统计信息作为差异统计信息。
[0072] 由于上述第二个时间分段内仅存在待检测流量这一个流量,第二个时间分段内每个目标指标的统计信息均为1,因此仅需获取上述第一个时间分段内目标指标的统计信息i的取值为1、2、3、4。
[0073] 例如,获取07:59:10至07:59:30内目标指标的统计信息S1和07:59:40至08:00:00内目标指标的统计信息S2,将S1和S2作为差异统计信息。
[0074] 步骤S205,根据上述基础统计信息和上述差异统计信息确定待检测流量对应的目标流量特征。
[0075] 在一些可能的实施例中,可以将相同目标指标的基础统计信息和差异统计信息进行求和或求差运算,得到待检测流量对应的目标统计信息;将目标统计信息、通信输入包的大小、通信输入包的数量和通信时间的小时数确定为待检测流量对应的目标流量特征。
[0076] 具体地,对于每个目标指标,可以根据以下公式计算该目标指标的目标统计信息:
[0077]
[0078] 其中,x(i)表示待检测流量的编号为i的目标指标的统计值,也即编号为i的目标流量特征,i的取值为1、2、3、4; 表示上一个流量的编号为i的目标指标的统计值, 表示第一个时间分段内编号为i的目标指标的统计值。
[0079] 为了便于后续带入公式计算,可以将通信输入包的大小、通信输入包的数量和通信时间的小时数记为x(5)、x(6)、x(7),也即记为编号分别为5、6、7的目标流量特征。因此,待检测流量对应的目标流量特征为x(i),i=1、2、3…6、7。
[0080] 步骤S206,将上述目标流量特征输入与上述源IP地址对应的多元高斯模型中,得到该目标流量特征对应的概率值。
[0081] 其中,多元高斯模型为:
[0082]
[0083] 步骤S207,根据上述目标流量特征对应的概率值确定待检测流量的异常检测结果。
[0084] 本实施例采用基于滑窗差异值的统计方式,根据获取的待检测流量的上一个流量对应的目标指标的统计信息以及差异检测时间段内目标指标的统计信息,确定待检测流量对应的目标流量特征,这种方式大大降低了计算量,也适用于分布式计算架构,从而可以加快计算速度;另外,采用多元高斯模型对待检测流量进行异常评估,能够进一步加快计算速度,从而提高检测效率。
[0085] 图3为本发明实施例提供的另一种异常流量检测方法的流程示意图,该方法采用基于自然时间段的统计方式。该方法中,流量数据库中存储的指标统计信息包括预设的多个自然时间段内目标指标的统计信息,目标指标包括待检测流量的源IP地址、目的IP地址、源IP地址和目的IP地址的组合以及目的端口号,检测时间段的长度为半分钟。
[0086] 如图3所示,该方法包括如下步骤:
[0087] 步骤S301,获取待检测流量的指标数据,该指标数据包括目的IP地址、源IP地址、目的端口号、通信时间、通信输入包的大小和通信输入包的数量。
[0088] 步骤S302,根据上述通信时间确定待检测流量所属的目标自然时间段。
[0089] 具体地,如果上述通信时间位于某个自然时间段内,则将该自然时间段确定为待检测流量所属的目标自然时间段;如果上述通信时间位于两个相邻自然时间段之间,则可以将两个相邻自然时间段中的时间靠前者确定为目标自然时间段。
[0090] 例如,以半分钟为一个自然时间段,一天的24小时可以分为2880个自然时间段,若待检测流量的通信时间为08:00:05,则将08:00:00至08:00:30确定为目标自然时间段;若待检测流量的通信时间为08:00:00,则将07:59:30至08:00:00确定为目标自然时间段。
[0091] 步骤S303,从预先建立的流量数据库中存储的指标统计信息中提取上述目标自然时间段内目标指标的统计信息,并将提取到的统计信息作为待检测流量对应的目标统计信息。
[0092] 上述目标统计信息包括目标自然时间段内具有上述源IP地址的第一流量数量x(1),目标自然时间段内具有上述目的IP地址的第二流量数量x(2)、目标自然时间段内具有上述源IP地址和目的IP地址的第三流量数量x(3)、以及目标自然时间段内具有上述目的端口号的第四流量数量x(4)。
[0093] 步骤S304,将上述目标统计信息、通信输入包的大小、通信输入包的数量和通信时间的小时数确定为待检测流量对应的目标流量特征。
[0094] 步骤S305,将上述目标流量特征输入与上述源IP地址对应的多元混合高斯模型中,得到该目标流量特征对应的概率值。
[0095] 多元混合高斯模型可以实现更加细致的拟合计算,该模型中混合的数量取决于具体的细致程度。
[0096] 步骤S306,根据上述目标流量特征对应的概率值确定待检测流量的异常检测结果。
[0097] 本实施例采用基于自然时间段的统计方式,根据获取的目标自然时间段内目标指标的统计信息确定待检测流量对应的目标流量特征,不需要执行统计操作,最小化了计算成本,同时适用于分布式计算架构,从而可以加快计算速度,提高检测效率;另外,采用多元混合高斯模型,检测准确度更高。与前述图2所示的方法相比,该方法更加适合对于时效性不敏感、但检测准确度要求较高的平台。
[0098] 另外,考虑到现有技术中的建模过程使用了朴素贝叶斯分类器、最小绝对选择和最小回归或者神经网络等模型,计算成本很大,本发明实施例还提供了一种建立异常概率模型的方法,该异常概率模型包括上述的多元高斯模型或多元混合高斯模型。参见图4所示的一种异常流量检测方法中建立异常概率模型的流程示意图,通过以下步骤建立与源IP地址对应的异常概率模型:
[0099] 步骤S401,获取具有上述源IP地址的多个流量样本。
[0100] 异常概率模型是与源IP地址对应一一对应的,因此选取流量样本时仅选取具有同样源IP地址的流量。
[0101] 步骤S402,获取每个流量样本的样本流量特征。
[0102] 步骤S403,根据各流量样本的样本流量特征,采用MLE或EM对待优化的异常概率模型进行拟合优化,得到与上述源IP地址对应的异常概率模型。
[0103] 其中,MLE(Maximum Likelihood Estimate,最大似然估计)是建立在极大似然原理的基础上的一个统计方法;通过MLE的计算,可以拟合出一个最符合当前流量数据分布的异常概率模型。EM(Expectation Maximization Algorithm,期望最大化算法)是一种迭代算法,用于含有隐变量的概率参数模型的最大似然估计或极大后验概率估计。采用EM对异常概率模型进行拟合优化时,可以通过给定的迭代次数,来不断优化异常概率模型使其能符合当前流量数据的分布情况。
[0104] 下面是根据MLE计算得到的多元高斯模型的最佳参数的公式:
[0105]
[0106]
[0107] 其中, 表示与ip对应的编号为i的流量特征的平均值参数,ip表示特定的源IP地址, 表示与ip对应的编号为i的流量特征的平均值,N(i)表示与编号为i的流量特征对应的流量样本的数量, 表示与ip对应的编号为j的流量样本中编号为i的流量特征, 表示与ip对应的编号为i的流量特征的方差参数。
[0108] 由于拟合过程需要很多的时间,因此该过程并不是实时进行的,而是每隔特定的时间段(如,每六小时),使用MLE或EM优化当前的模型。在优化之前,所有统计数据会被缓存在流量数据库中,被用于训练以后再删除。
[0109] 本实施例中,基于MLE或EM建立多元高斯模型或多元混合高斯模型,与现有技术相比,降低了计算成本。
[0110] 对应于上述的异常流量检测方法,本发明实施例还提供了一种异常流量检测装置。参见图5所示的一种异常流量检测装置的结构示意图,该装置包括:
[0111] 数据获取模块52,用于获取待检测流量的指标数据,该指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;
[0112] 特征确定模块54,用于根据上述指标数据和预先建立的流量数据库中存储的指标统计信息,确定待检测流量对应的目标流量特征;
[0113] 结果确定模块56,用于根据目标流量特征和预先建立的异常检测模型,确定待检测流量的异常检测结果。
[0114] 本发明实施例中,数据获取模块52获取待检测流量的指标数据,该指标数据包括源IP地址、目的IP地址和通信时间中的一种或多种;特征确定模块54根据该指标数据和预先建立的流量数据库中存储的指标统计信息,确定待检测流量对应的目标流量特征;结果确定模块56根据该目标流量特征和预先建立的异常检测模型,确定待检测流量的异常检测结果。应用该装置时,待检测流量对应的目标流量特征是基于预先存储在流量数据库中的指标统计信息得到的,相对于现有技术中直接统计待检测流量的所有相关数据流来得到目标流量特征的方式,降低了计算量,因此能够加快计算速度,提高检测效率。
[0115] 可选地,上述指标数据包括源IP地址、目的IP地址、通信时间和目的端口号,上述指标统计信息包括待检测流量的上一个流量对应的目标指标的统计信息。上述特征确定模块54具体用于:从预先建立的流量数据库中存储的指标统计信息中提取上一个流量对应的目标指标的统计信息,并将提取到的统计信息作为待检测流量对应的基础统计信息;其中,目标指标包括上述源IP地址、上述目的IP地址、该源IP地址和该目的IP地址的组合以及上述目的端口号;基础统计信息包括预设时间段内具有该源IP地址的第一流量数量、预设时间段内具有该目的IP地址的第二流量数量、预设时间段内具有该源IP地址和该目的IP地址的第三流量数量、以及预设时间段内具有该目的端口号的第四流量数量;根据上述通信时间确定待检测流量与上一个流量的差异检测时间段;获取差异检测时间段内目标指标的统计信息,并将获取到的统计信息作为差异统计信息;根据基础统计信息和差异统计信息确定待检测流量对应的目标流量特征。
[0116] 可选地,上述指标数据还包括通信输入包的大小和通信输入包的数量;上述特征确定模块54在用于根据基础统计信息和差异统计信息确定待检测流量对应的目标流量特征时,具体用于:将相同目标指标的基础统计信息和差异统计信息进行求和或求差运算,得到待检测流量对应的目标统计信息;将目标统计信息、通信输入包的大小、通信输入包的数量和通信时间的小时数确定为待检测流量对应的目标流量特征。
[0117] 可选地,上述指标数据包括源IP地址、目的IP地址、通信时间、目的端口号、通信输入包的大小和通信输入包的数量,上述指标统计信息包括预设的多个自然时间段内目标指标的统计信息。上述特征确定模块54具体用于:根据上述通信时间确定待检测流量所属的目标自然时间段;从预先建立的流量数据库中存储的指标统计信息中提取目标自然时间段内目标指标的统计信息,并将提取到的统计信息作为待检测流量对应的目标统计信息;其中,目标指标包括上述源IP地址、上述目的IP地址、该源IP地址和该目的IP地址的组合以及上述目的端口号;将目标统计信息、通信输入包的大小、通信输入包的数量和通信时间的小时数确定为待检测流量对应的目标流量特征。
[0118] 可选地,上述异常检测模型包括与上述源IP地址对应的异常概率模型;上述结果确定模块56具体用于:将目标流量特征输入与上述源IP地址对应的异常概率模型中,得到目标流量特征对应的概率值;根据目标流量特征对应的概率值确定待检测流量的异常检测结果。
[0119] 可选地,上述结果确定模块56在用于根据目标流量特征对应的概率值确定待检测流量的异常检测结果时,具体用于:通过以下公式计算待检测流量的异常得分:
[0120]
[0121] 其中,score(x)表示待检测流量的异常得分,M表示目标流量特征的数量,wi表示编号为i的目标流量特征对应的权重,p(x(i))表示待检测流量的编号为i的目标流量特征对应的概率值;
[0122] 通过比较上述异常得分与预设的得分阈值的大小关系,确定待检测流量的异常检测结果。
[0123] 可选地,上述异常概率模型包括多元高斯模型或多元混合高斯模型。参见图6所示的另一种异常流量检测装置的结构示意图,在图5的基础上,上述装置还包括数据建模模块62,用于:获取具有上述源IP地址的多个流量样本;获取每个流量样本的样本流量特征;根据各流量样本的样本流量特征,采用最大似然估计MLE或期望最大化算法EM对待优化的异常概率模型进行拟合优化,得到与该源IP地址对应的异常概率模型。
[0124] 本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
[0125] 本发明实施例还提供了一种电子设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行该计算机程序时实现上述的异常流量检测方法。
[0126] 参见图7,本发明实施例提供的电子设备100包括:处理器70,存储器71,总线72和通信接口73,所述处理器70、通信接口73和存储器71通过总线72连接;处理器70用于执行存储器71中存储的可执行模块,例如计算机程序。
[0127] 其中,存储器71可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口73(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
[0128] 总线72可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0129] 其中,存储器71用于存储程序,所述处理器70在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器70中,或者由处理器70实现。
[0130] 处理器70可能是一种集成电路芯片,具有信号的处理能。在实现过程中,上述方法的各步骤可以通过处理器70中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器70可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器71,处理器70读取存储器71中的信息,结合其硬件完成上述方法的步骤。
[0131] 在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
[0132] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0133] 本发明实施例所提供的进行异常流量检测方法的计算机程序产品,包括存储有计算机程序的计算机可读存储介质,该计算机程序被处理器运行时执行前面方法实施例中所述的方法,而前述的计算机可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0134] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0135] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0136] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈