一种网络攻击检测方法及系统与流程

文档序号:26705717发布日期:2021-09-18 03:58阅读:201来源:国知局
一种网络攻击检测方法及系统与流程

1.本发明涉及网络安全领域,尤其涉及一种网络攻击检测方法及系统。


背景技术:

2.网络攻击是指对网络系统及其计算机系统的一种非授权侵入行为,网络攻击不仅可以破坏网络传输的保密性、完整性,还会影响网络服务的可用性。网络攻击可以分为系统渗漏攻击和拒绝服务攻击,无论哪种攻击方式都会影响网络用户的正常使用,因此,有必要对非法的网络攻击进行检测,以便网络系统进行防范。
3.目前,常用的攻击检测方法是基于神经网络的攻击行为检测,根据攻击流数据特征、用户特征等,对检测模型进行训练,以通过训练模型对非法攻击行为进行区分。然而,由于实际中用户行为非常复杂,如短时间的重复访问,基于传统的神经网络模型难以有效区分,实际网络攻击检测准确率偏低。


技术实现要素:

4.有鉴于此,本发明实施例提供了一种网络攻击检测方法及系统,以解决现有网络攻击检测准确率偏低的问题。
5.在本发明实施例的第一方面,提供了一种网络攻击检测方法,包括:
6.采集一段时间内各网络节点的网络流量,对各网络节点传输的网络流量数据进行统计分析;
7.构建双层循环神经网络,通过采集的网络流量数据对所述双层循环神经网络进行训练,基于训练好的双层循环神经网络预测各节点的网络流量;
8.计算每个节点真实流量与预测流量的残差得到多维残差矩阵,基于随机森林模型确定异常节点分类边界;
9.获取各网络节点流量,当异常节点数量和异常节点持续时间均超过预设阈值,则判定发生网络攻击,并进行预警提示。
10.在本发明实施例的第二方面,提供了一种网络攻击检测系统,包括:
11.采集模块,用于采集一段时间内各网络节点的网络流量,对各网络节点传输的网络流量数据进行统计分析;
12.预测模块,用于构建双层循环神经网络,通过采集的网络流量数据对所述双层循环神经网络进行训练,基于训练好的双层循环神经网络预测各节点的网络流量;
13.残差计算模块,用于计算每个节点真实流量与预测流量的残差得到多维残差矩阵,基于随机森林模型确定异常节点分类边界;
14.攻击检测模块,用于获取各网络节点流量,当异常节点数量和异常节点持续时间均超过预设阈值,则判定发生网络攻击,并进行预警提示。
15.在本发明实施例的第三方面,提供了一种电子设备,至少包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机
程序时实现如本发明实施例第一方面所述方法的步骤。
16.本发明实施例的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面提供的所述方法的步骤。
17.本发明实施例中,通过双层循环神经网络预测各节点的网络流量,计算真实流量与预测流量的多维残差矩阵,并基于随机森林模型确定异常节点分类边界,当网络系统中异常节点数量、异常节点持续时间均超过阈值,则判定为网络攻击,并进行预警提示。从而可以准确检测网络攻击,检测效率高,能有效保障网络系统安全。
附图说明
18.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他附图。
19.图1为本发明的一个实施例提供的一种网络攻击检测方法的流程示意图;
20.图2为本发明的一个实施例提供的的一种网络攻击检测系统的结构示意图。
具体实施方式
21.为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
22.本发明的说明书或权利要求书及上述附图中的术语“包括”以及其他相近意思表述,意指覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。此外,“第一”“第二”用于区分不同对象,并非用于描述特定顺序。
23.参见图1,图1为本发明实施例提供的一种网络攻击检测方法的流程示意图,包括:
24.s101、采集一段时间内各网络节点的网络流量,对各网络节点传输的网络流量数据进行统计分析;
25.所述网络流量为流经网络节点的数据量,一般以数据包数量进行计量,所述网络流量包括网络节点的数据包接收量、转发量等。所述网络节点指的是网络系统中具有独立地址并能进行进行数据传送或接受的网络设备,如路由器、交换机、服务器等,各节点间以通信线路连接(有线或无线)。
26.在对网络流量统计分析中还包括对数据包速率、数据包速率增速、ip地址数量、ip地址增速等进行统计计算。
27.其中,将采集的各网络节点流量数据按采集时间顺序分为训练集和测试集。如时间靠前的90%流量数据作为训练集,时间靠后的10%流量数据作为测试集。
28.s102、构建双层循环神经网络,通过采集的网络流量数据对所述双层循环神经网络进行训练,基于训练好的双层循环神经网络预测各节点的网络流量;
29.所述双层循环神经网络中包含有正向和反向的循环神经网络,可用于对各网络节点在各时间段的网络流量进行预测。循环神经网络是以序列数据作为输入,在演进方向上进行递归且所有节点链式连接的递归神经网络。
30.通过采样的训练集对双层循环神经网络进行训练,并通过测试集进行测试,使网络模型达到一定的预测准确率。
31.可选的,后续通过双层循环神经网络预测准确的数据,可以迭代输入模型进行训练,以不断提高网络的预测准确性。
32.s103、计算每个节点真实流量与预测流量的残差得到多维残差矩阵,基于随机森林模型确定异常节点分类边界;
33.每个节点的流量数据可以从多个角度进行分析,如数据包接收量、数据包增速、ip地址数量等,基于不同角度确定流量分析的维度,从各维度得到各节点预测值与真实值的残差,得到多维残差矩阵。
34.优选的,利用多维数据对所述随机森林模型进行训练,网格搜索最优超参数,所述超参数包括决策树数量、决策树深度、交叉验证次数;基于训练好的随机森林模型,获取模型中对应的异常节点分类边界。
35.基于多维残差矩阵数据对随机森林模型进行训练,得到分类结果,迭代训练模型,达到预定准确率后,可以得到最优超参数,结合超参数和模型分类结果可以确定节点分类边界,分类边界中包含有各维度数据的分类阈值。
36.s104、获取各网络节点流量,当异常节点数量和异常节点持续时间均超过预设阈值,则判定发生网络攻击,并进行预警提示。
37.其中,异常节点数量的预设阈值和异常节点持续时间的预设阈值不相同。
38.优选的,在有限的输入数据中,将最高分类准确率作为解空间,通过人工蚁群算法,求解最优异常节点数量阈值和异常节点持续时间阈值。
39.基于异常节点分类边界,可以对网络节点的是否异常进行判定,当节点判定为异常后,仍不能判定是否为网络攻击,需要结合异常节点数据数量以及每个节点异常持续时间进行网络攻击判断。通过所述人工蚁群算法求解得到异常节点数量和异常节点持续时间的阈值后,基于两个阈值,可以对网络中检测到的异常节点进行判断,若同时满足异常节点数量和异常节点持续时间均超过阈值,则可以判定为网络攻击。
40.在实际应用中,单纯基于固定的分类边界和阈值,对于一些特殊情况容易出现错判,因此,可以对网络攻击有选择性进行判定结果检验。
41.优选的,对节点网络流量中数据包数量、数据包增速、ip地址数量和ip地址增速参数进行模糊化,根据已有的知识库和规则库对输入的异常节点流量数据进行模糊推理,验证为异常节点的概率;当关联的两个异常异常节点,通过模糊推理判定为异常的概率均超过预设值,则判定发生网络攻击。
42.通过结合专家经验的模糊推理,可以对判定为网络攻击结果进行校验,防止错判漏判的发生。
43.在一个实施例中,当判定网络攻击后,基于异常节点确定网络攻击路径,对攻击路径中异常节点设备转发的数据包进行拒收,并对网络节点中存在异常节点设备ip地址的数据或转发的空包进行清除。
44.检测到网络攻击后,可以根据矩阵中的节点坐标或各节点对应的编号,找到对应的设备,确定攻击链及攻击源头,进而采取拒收、清除等措施防范攻击。
45.需要说明的是,本发明实施例提供的检测方法主要针对ddos攻击、泛洪攻击之类的网络攻击行为。
46.本实施例提供的方法,可以准确检测出网络系统中的网络攻击行为,同时,检测效率高,仅需基于预先训练好的网络模型、计算的分类边界和判断阈值,即可进行攻击判断。另外,还能对检测结果进行校验,并在判定为网络攻击后采取措施进行防范,可以在保证检测准确性的基础上报至网络系统的安全。
47.应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定,
48.图2为本发明实施例提供的一种网络攻击检测系统的结构示意图,该系统包括:
49.采集模块210,用于采集一段时间内各网络节点的网络流量,对各网络节点传输的网络流量数据进行统计分析;
50.预测模块220,用于构建双层循环神经网络,通过采集的网络流量数据对所述双层循环神经网络进行训练,基于训练好的双层循环神经网络预测各节点的网络流量;
51.残差计算模块230,用于计算每个节点真实流量与预测流量的残差得到多维残差矩阵,基于随机森林模型确定异常节点分类边界;
52.具体的,利用多维数据对所述随机森林模型进行训练,网格搜索最优超参数,所述超参数包括决策树数量、决策树深度、交叉验证次数;基于训练好的随机森林模型,获取模型中对应的异常节点分类边界。
53.攻击检测模块240,用于获取各网络节点流量,当异常节点数量和异常节点持续时间均超过预设阈值,则判定发生网络攻击,并进行预警提示。
54.其中,在有限的输入数据中,将最高分类准确率作为解空间,通过人工蚁群算法,求解最优异常节点数量阈值和异常节点持续时间阈值。
55.优选的,所述攻击检测模块240还包括:
56.验证模块,用于对节点网络流量中数据包数量、数据包增速、ip地址数量和ip地址增速参数进行模糊化,根据已有的知识库和规则库对输入的异常节点流量数据进行模糊推理,验证为异常节点的概率,当关联的两个异常异常节点,通过模糊推理判定为异常的概率均超过预设值,则判定发生网络攻击。
57.进一步的,当判定网络攻击后,基于异常节点确定网络攻击路径,对攻击路径中异常节点设备转发的数据包进行拒收,并对网络节点中存在异常节点设备ip地址的数据或转发的空包进行清除。
58.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
59.可以理解的是,在一个实施例中,所述电子设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述计算机程序执行如实施例一中步骤s101~s104,处理器执行所述计算机程序时实现网络攻击检测。
60.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,
该程序在执行时,包括步骤s101至s104,所述的存储介质包括如rom/ram等。
61.以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1