网络攻击检测方法、装置、设备及存储介质制造方法及图纸

技术编号:21484919 阅读:41 留言:0更新日期:2019-06-29 06:34
本发明专利技术公开了一种网络攻击检测方法、装置、设备及存储介质,属于网络技术领域。本发明专利技术提供了一种基于多维特征检测网络攻击的方案,通过采用集成学习的方式,通过多个分类模型,依据多个维度的特征分别判定数据流是否异常,再汇总多个维度的分类结果,来综合判决是否发生网络攻击,考虑的特征更加多样化,可以适应于现网多样化的业务形态,提高检测网络攻击的准确性。

【技术实现步骤摘要】
网络攻击检测方法、装置、设备及存储介质
本专利技术涉及网络
,特别涉及一种网络攻击检测方法、装置、设备及存储介质。
技术介绍
随着网络技术的发展,互联网中发生网络攻击的事件越来越频繁,网络攻击导致服务器出现访问缓慢、连接中断等问题,导致服务器无法正常提供服务,因此,需要及时检测出网络攻击,以便应对和抵御网络攻击。目前,网络攻击检测的过程通常是:人工依靠经验设置流量阈值,将流量阈值预存在计算机设备中。现网运行中,计算机设备会获取发送至服务器的数据流,统计数据流的流量,对流量与流量阈值进行比较,如果流量大于流量阈值,则确定服务器受到网络攻击。通过上述方法检测网络攻击时,由于仅通过流量这一个维度的特征来检测是否发生网络攻击,会导致检测结果的准确性较差。
技术实现思路
本专利技术实施例提供了一种网络攻击检测方法、装置、设备及存储介质,能够解决相关技术中检测网络攻击的准确性较差的技术问题。所述技术方案如下:一方面,提供了一种网络攻击检测方法,所述方法包括:获取数据流的多个维度的特征;调用多个分类模型,每个分类模型用于根据数据流的一个维度的特征预测数据流是否为异常数据流;对于所述多个维度的特征中每个维度的特征,将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果;根据所述多个维度的分类结果,获取网络攻击的检测结果。在一种可能的实现中,所述根据所述流量的最大的峰值与所述最小的谷值之间的差距,获取所述流量阈值,包括:获取所述流量的最大的峰值与所述差距的和,作为所述流量阈值;在一种可能的实现中,所述根据所述包量的最大的峰值与所述最小的谷值之间的差距,获取所述包量阈值,包括:获取所述包量的最大的峰值与所述差距的和,作为所述包量阈值;所述根据所述信息熵的最大的峰值与所述最小的谷值之间的差距,获取所述信息熵阈值,包括:获取所述信息熵的最大的峰值与所述差距的和,作为所述信息熵阈值。另一方面,提供了一种网络攻击检测装置,所述装置包括:获取模块,用于获取数据流的多个维度的特征;调用模块,用于调用多个分类模型,每个分类模型用于根据数据流的一个维度的特征预测数据流是否为异常数据流;处理模块,用于对于所述多个维度的特征中每个维度的特征,将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果;所述获取模块,用于根据所述多个维度的分类结果,获取网络攻击的检测结果。可选地,所述处理模块,用于执行下述任意一项:将所述数据流的流量输入流量或包量维度对应的第一分类模型,在所述第一分类模型中,根据流量基线,检测所述流量的突变点,根据多个流量的突变点,获取所述流量的累计和,当所述流量的累计和大于流量阈值时,输出第一分类结果,当所述流量的累计和不大于所述流量阈值时,输出第二分类结果,所述流量的突变点为超过所述流量基线的流量,所述流量的累计和为每个所述流量的突变点与所述流量基线之间的差距的和,所述第一分类结果表示所述数据流为异常数据流,所述第二分类结果表示所述数据流不为异常数据流;将所述数据流的包量输入所述第一分类模型,在所述第一分类模型中,根据包量基线,检测所述包量的突变点,根据多个包量的突变点,获取所述包量的累计和,当所述包量的累计和大于包量阈值时,输出所述第一分类结果,当所述包量的累计和不大于所述包量阈值时,输出所述第二分类结果,所述包量的突变点为超过所述包量基线的包量,所述包量的累计和为每个所述包量的突变点与所述包量基线之间的差距的和。可选地,所述处理模块,用于执行下述任意一项:将所述数据流的斜率以及所述数据流的流量输入斜率维度对应的第二分类模型,在所述第二分类模型中,根据所述数据流的流量查询级别信息,得到所述数据流的流量对应的斜率阈值,所述数据流的斜率为单位时间内数据流的流量的增长率或包量的增长率,所述级别信息包括数据流的流量与斜率阈值之间的对应关系;当所述斜率大于斜率阈值时,输出第一分类结果,所述第一分类结果表示所述数据流为异常数据流;当所述斜率不大于所述斜率阈值时,输出第二分类结果,所述第二分类结果表示所述数据流不为异常数据流。可选地,所述处理模块,用于执行下述任意一项:将所述数据流的信息熵输入信息熵维度对应的第三分类模型,在所述第三分类模型中,根据信息熵基线,检测所述信息熵的突变点,所述信息熵的突变点为超过所述信息熵基线的信息熵;根据多个信息熵的突变点,获取所述信息熵的累计和,所述信息熵的累计和为每个所述信息熵的突变点与所述信息熵基线之间的差距的和;当所述信息熵的累计和大于信息熵阈值时,输出第一分类结果,所述第一分类结果表示所述数据流为异常数据流;当所述信息熵的累计和不大于所述信息熵阈值时,输出第二分类结果,所述第二分类结果表示所述数据流不为异常数据流。可选地,所述处理模块,用于执行下述任意一项:将所述数据流的包长分布向量输入包长分布维度对应的第四分类模型,在所述第四分类模型中,获取所述数据流的包长分布向量与历史数据流的包长分布向量的向量差距,所述包长分布向量中每一个位对应一个包长区间,每个位的取值为所述数据流中包长处于对应包长区间的包量;当所述向量差距超过向量差距阈值时,输出第一分类结果,所述第一分类结果表示所述数据流为异常数据流;当所述向量差距未超过所述向量差距阈值时,输出第二分类结果,所述第二分类结果表示所述数据流不为异常数据流。可选地,所述处理模块,用于执行下述任意一项:将所述数据流的多个数据包的载荷输入载荷维度对应的第五分类模型,在所述第五分类模型中,根据所述多个数据包的载荷,确定所述多个数据包中的业务数据包;根据所述多个数据包中所述业务数据包的数量,获取第一比例,当所述第一比例大于第一比例阈值时,输出第一分类结果,当所述第一比例不大于所述第一比例阈值时,输出第二分类结果,所述第一比例为所述业务数据包的数量与所述多个数据包的数量的比值,所述第一分类结果表示所述数据流为异常数据流,所述第二分类结果表示所述数据流不为异常数据流;将所述数据流的多个数据包的载荷输入载荷维度对应的第五分类模型,在所述第五分类模型中,根据所述多个数据包的载荷,确定所述多个数据包中的异常数据包;根据所述多个数据包中所述异常数据包的数量,获取第二比例,当所述第二比例大于第二比例阈值时,输出第一分类结果,当所述第二比例不大于所述第二比例阈值时,输出第二分类结果,所述第二比例为所述异常数据包的数量与所述多个数据包的数量的比值。可选地,所述处理模块,用于:对于所述多个数据包中的每个数据包,从所述载荷中提取排在前预设数目的字节,作为载荷特征;当所述载荷特征属于业务特征库时,确定所述数据包为所述业务数据包;或者,对所述载荷特征进行自然语言处理,得到词向量,当所述词向量与词向量库中的任一词向量之间的相似度大于相似度阈值时,确定所述数据包为所述业务数据包。可选地,所述获取模块,用于执行下述至少一项:获取所述数据流在当前时间窗的数据包的数据量总和与所述当前时间窗的时长之间的比值,得到所述数据流的流量;获取所述数据流在当前时间窗的数据包的数量与所述当前时间窗的时长之间的比值,得到所述数据流的包量;获取所述数据流在第一统计时间段的第一流量以及所述数据流在第二统计时间段的第二流量,根据所述第一流量与所述第二流量之间本文档来自技高网...

【技术保护点】
1.一种网络攻击检测方法,其特征在于,所述方法包括:获取数据流的多个维度的特征;调用多个分类模型,每个分类模型用于根据数据流的一个维度的特征预测数据流是否为异常数据流;对于所述多个维度的特征中每个维度的特征,将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果;根据所述多个维度的分类结果,获取网络攻击的检测结果。

【技术特征摘要】
1.一种网络攻击检测方法,其特征在于,所述方法包括:获取数据流的多个维度的特征;调用多个分类模型,每个分类模型用于根据数据流的一个维度的特征预测数据流是否为异常数据流;对于所述多个维度的特征中每个维度的特征,将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果;根据所述多个维度的分类结果,获取网络攻击的检测结果。2.根据权利要求1所述的方法,其特征在于,所述将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果,包括下述任意一项:将所述数据流的流量输入流量或包量维度对应的第一分类模型,在所述第一分类模型中,根据流量基线,检测所述流量的突变点,根据多个流量的突变点,获取所述流量的累计和,当所述流量的累计和大于流量阈值时,输出第一分类结果,当所述流量的累计和不大于所述流量阈值时,输出第二分类结果,所述流量的突变点为超过所述流量基线的流量,所述流量的累计和为每个所述流量的突变点与所述流量基线之间的差距的和,所述第一分类结果表示所述数据流为异常数据流,所述第二分类结果表示所述数据流不为异常数据流;将所述数据流的包量输入所述第一分类模型,在所述第一分类模型中,根据包量基线,检测所述包量的突变点,根据多个包量的突变点,获取所述包量的累计和,当所述包量的累计和大于包量阈值时,输出所述第一分类结果,当所述包量的累计和不大于所述包量阈值时,输出所述第二分类结果,所述包量的突变点为超过所述包量基线的包量,所述包量的累计和为每个所述包量的突变点与所述包量基线之间的差距的和。3.根据权利要求1所述的方法,其特征在于,所述将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果,包括:将所述数据流的斜率以及所述数据流的流量输入斜率维度对应的第二分类模型,在所述第二分类模型中,根据所述数据流的流量查询级别信息,得到所述数据流的流量对应的斜率阈值,所述数据流的斜率为单位时间内数据流的流量的增长率或包量的增长率,所述级别信息包括数据流的流量与斜率阈值之间的对应关系;当所述斜率大于斜率阈值时,输出第一分类结果,所述第一分类结果表示所述数据流为异常数据流;当所述斜率不大于所述斜率阈值时,输出第二分类结果,所述第二分类结果表示所述数据流不为异常数据流。4.根据权利要求1所述的方法,其特征在于,所述将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果,包括:将所述数据流的信息熵输入信息熵维度对应的第三分类模型,在所述第三分类模型中,根据信息熵基线,检测所述信息熵的突变点,所述信息熵的突变点为超过所述信息熵基线的信息熵;根据多个信息熵的突变点,获取所述信息熵的累计和,所述信息熵的累计和为每个所述信息熵的突变点与所述信息熵基线之间的差距的和;当所述信息熵的累计和大于信息熵阈值时,输出第一分类结果,所述第一分类结果表示所述数据流为异常数据流;当所述信息熵的累计和不大于所述信息熵阈值时,输出第二分类结果,所述第二分类结果表示所述数据流不为异常数据流。5.根据权利要求1所述的方法,其特征在于,所述将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果,包括:将所述数据流的包长分布向量输入包长分布维度对应的第四分类模型,在所述第四分类模型中,获取所述数据流的包长分布向量与历史数据流的包长分布向量的向量差距,所述包长分布向量中每一个位对应一个包长区间,每个位的取值为所述数据流中包长处于对应包长区间的包量;当所述向量差距超过向量差距阈值时,输出第一分类结果,所述第一分类结果表示所述数据流为异常数据流;当所述向量差距未超过所述向量差距阈值时,输出第二分类结果,所述第二分类结果表示所述数据流不为异常数据流。6.根据权利要求1所述的方法,其特征在于,所述将所述维度的特征输入所述多个分类模型中所述维度对应的分类模型,输出所述维度的分类结果,包括下述至少一项:将所述数据流的多个数据包的载荷输入载荷维度对应的第五分类模型,在所述第五分类模型中,根据所述多个数据包的载荷,确定所述多个数据包中的业务数据包;根据所述多个数据包中所述业务数据包的数量,获取第一比例,当所述第一比例大于第一比例阈值时,输出第一分类结果,当所述第一比例不大于所述第一比例阈值时,输出第二分类结果,所述第一比例为所述业务数据包的数量与所述多个数据包的数量的比值,所述第一分类结果表示所述数据流为异常数据流,所述第二分类结果表示所述数据流不为异常数据流;将所述数据流的多个数据包的载荷输入载荷维度对应的第五分类模型,在所述第五分类模型中,根据所述多个数据包的载荷,确定所述多个数据包中的异常数据包;根据所述多个数据包中所述异常数据包的数量,获取第二比例,当所述第二比例大于第二比例阈值时,输出第一分类结果,当所述第二比例不大于所述第二比例阈值时,输出第二分类结果,所述第二比例为所述异常数据包的数量与所述多个数据包的数量的比值。7.根据权利要求6所述的方法,其特征在于,所述根据所述多个数据包的载荷,确定所述多个数据包中的业务数据包,包括:对于所述多个数据包中的每个数据包,从所述载荷中提取排在前预设数目的字节,作为载荷特征;当所述载荷特征属于业务特征库时,确定所述数据包为所述业务数据包;或者,对所述载荷特征进行自然语言处理,得到词向量,当所述词向量与词向量库中的任一词向量之间的相似度大于相似度阈值时,确定所述数据包为所述业务数据包。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述获取数据流的多个维度的特征,包括下述至少两项:获取所述数据流在当前时间窗的数据包的数据量总和与所述当前时间窗的时长之间的比值,得到所述数据流的流量;获取所述数据流在当前时间窗的数据包的数量与所述当前时间窗的时长之间的比值,得到所述数据流的包量;获取所述数据流在第一统计时间段的第一流量以及所述数据流在第二统计时间段的第二流量,根据所述第一流量与所述第二流量之间的差距,获取所述数据流的斜率,所述第一统计时间段以及所述第二统计时间段为所述当前时间窗中两个相邻的统计时间段;获取所述数据流在第一统计时间段的第一包量以及所述数据流在第二统计时间段的第二包量,根据所述第一包量与所述第二包量之间的差距,获取所述数据流的斜率;根据所述数据流在当前时间窗的多个数据包,获取所述多个数据包中每个数据包的源互联网协议地址IP地址,得到多个源IP地址,根据每个源IP地址在所述多个源IP地址中的出现次数,获取所述每个源IP地址的出现概率,根据所述每个源IP地址的出现概率,获取源IP地址的信息熵,作为所述数据流的信息熵;根据所述数据流在当前时间窗的多个数据包,获取所述多个数据包中每个数据包的源端口号,得到多个源端口号,根据每个源端口号...

【专利技术属性】
技术研发人员:邓之珺陈虎
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1