网络入侵检测方法及装置
文献发布时间:2024-04-18 19:58:26
技术领域
本发明涉及网络安全技术领域,特别涉及一种网络入侵检测方法及装置。
背景技术
计算机网络广泛应用于社会中的方方面面,网络安全问题一直备受关注。而网络入侵检测是维护网络安全的一个关键步骤,通过对网络进行监测,可以及时的发现网络中被攻击、被入侵的情况,进而在受到危险性高的入侵或攻击时及时进行报警。
运维人员可以基于网络入侵检测结果对网络进行安全维护,当检测结果不准确时,容易出现运维人员没有及时对网络进行安全维护造成网络用户在经济上的巨大损失。因此,如何获取准确高的网络检测结果成为技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供一种网络入侵检测方法及装置,通过使用两个神经网络模型对网络的网络数据进行处理,得到两个特征检测结果,然后基于两个特征检测结果得到最优特征数据,由此可以提高数据精度,减少数据误差,使得联邦学习模型输出准确度高的入侵检测结果。
为实现上述目的,本发明实施例提供如下技术方案:
一种网络入侵检测方法,应用于检测节点,包括:
获取待检测网络的网络数据;
调用预先训练完成的第一神经网络模型和第二神经网络模型对所述网络数据进行处理,得到所述第一神经网络模型输出的第一特征检测结果,以及所述第二神经网络模型输出的第二特征检测结果;
基于所述第一特征检测结果和所述第二特征检测结果,得到最优特征数据;
将所述最优特征数据输入预设的联邦学习模型进行检测,得到所述联邦学习模型输出的所述待检测网络的入侵检测结果。
上述的方法,可选的,所述获取待检测网络的网络数据,包括:
采集所述待检测网络的网络初始数据;
对所述网络初始数据进行数据清洗,得到有效网络数据;
将所述有效网络数据中的各个网络参数进行标准化处理,得到网络数据。
上述的方法,可选的,检测节点的第一神经网络模型、第二神经网络模型以及联邦学习模型的训练过程,包括:
获取第一初始神经网络模型、第二初始神经网络模型以及将从中心节点获取的全局模型确定为局部模型;
确定本地训练数据;
使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练;
当确定所述局部模型满足预设的收敛条件时,将满足所述收敛条件的局部模型的模型参数向所述中心节点发送,并获取所述中心节点反馈的模型更新数据,所述模型更新数据包含模型更新参数以及状态指令;所述模型更新参数为所述中心节点基于各个检测节点发送的模型参数对所述中心节点的全局模型更新后的模型参数;所述状态指令用于表征更新后的全局模型是否处于收敛状态;
当所述状态指令表征更新后的全局模型处于收敛状态时,基于所述模型更新参数更新所述局部模型的模型参数,并将更新后的局部模型确定为联邦学习模型,以及将训练完成的第一初始神经网络模型确定为第一神经网络模型,将训练完成的第二初始神经网络模型确定为第二神经网络模型;
当所述状态指令表征更新后的全局模型未处于收敛状态时,基于所述模型更新参数更新所述局部模型的模型,并返回执行使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练的步骤。
上述的方法,可选的,所述使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练,包括:
将所述本地训练数据输入所述第一初始神经网络模型和所述第二初始神经网络模型,得到所述第一初始神经网络模型输出的第一特征识别结果,以及所述第二初始神经网络模型输出的第二特征识别结果;
基于所述第一特征识别结果和所述第二特征识别结果,得到最优特征识别数据;
将所述最优特征识别数据输入所述局部模型进行处理,得到检测结果;
基于所述检测确定损失值;
当所述损失值大于预设损失值时,基于所述损失值对所述第一初始神经网络、第二初始神经网络以及所述局部模型的模型参数进行调整,然后返回执行将所述本地训练数据输入所述第一初始神经网络模型和所述第二初始神经网络模型,得到所述第一初始神经网络模型输出的第一特征识别结果,以及所述第二初始神经网络模型输出的第二特征识别结果的步骤;
当所述损失值不大于预设损失值时,确定所述局部模型满足所述收敛条件,并完成对所述第一初始神经网络模型和第二初始神经网络模型的训练。
上述的方法,可选的,还包括:
基于所述入侵检测结果,生成所述待检测网络的维护方案;
将所述维护方案发送给预设的维护人员。
一种网络入侵检测装置,应用于检测节点,包括:
第一获取单元,用于获取待检测网络的网络数据;
训练单元,用于调用预先训练完成的第一神经网络模型和第二神经网络模型对所述网络数据进行处理,得到所述第一神经网络模型输出的第一特征检测结果,以及所述第二神经网络模型输出的第二特征检测结果;
第二获取单元,用于基于所述第一特征检测结果和所述第二特征检测结果,得到最优特征数据;
检测单元,用于将所述最优特征数据输入预设的联邦学习模型进行检测,得到所述联邦学习模型输出的所述待检测网络的入侵检测结果。
上述的装置,可选的,所述第一获取单元,包括:
采集子单元,用于采集所述待检测网络的网络初始数据;
清洗子单元,用于对所述网络初始数据进行数据清洗,得到有效网络数据;
处理子单元,用于将所述有效网络数据中的各个网络参数进行标准化处理,得到网络数据。
上述的装置,可选的,还包括:训练单元;
所述训练单元用于训练第一神经网络模型、第二神经网络模型以及联邦学习模型;
所述训练单元执行训练第一神经网络模型、第二神经网络模型以及联邦学习模型的过程,包括:
获取第一初始神经网络模型、第二初始神经网络模型以及将从中心节点获取的全局模型确定为局部模型;
确定本地训练数据;
使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练;
当确定所述局部模型满足预设的收敛条件时,将满足所述收敛条件的局部模型的模型参数向所述中心节点发送,并获取所述中心节点反馈的模型更新数据,所述模型更新数据包含模型更新参数以及状态指令;所述模型更新参数为所述中心节点基于各个检测节点发送的模型参数对所述中心节点的全局模型更新后的模型参数;所述状态指令用于表征更新后的全局模型是否处于收敛状态;
当所述状态指令表征更新后的全局模型处于收敛状态时,基于所述模型更新参数更新所述局部模型的模型参数,并将更新后的局部模型确定为联邦学习模型,以及将训练完成的第一初始神经网络模型确定为第一神经网络模型,将训练完成的第二初始神经网络模型确定为第二神经网络模型;
当所述状态指令表征更新后的全局模型未处于收敛状态时,基于所述模型更新参数更新所述局部模型的模型,并返回执行使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练的步骤。
上述的装置,可选的,所述训练单元执行使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练的过程,包括:
将所述本地训练数据输入所述第一初始神经网络模型和所述第二初始神经网络模型,得到所述第一初始神经网络模型输出的第一特征识别结果,以及所述第二初始神经网络模型输出的第二特征识别结果;
基于所述第一特征识别结果和所述第二特征识别结果,得到最优特征识别数据;
将所述最优特征识别数据输入所述局部模型进行处理,得到检测结果;
基于所述检测确定损失值;
当所述损失值大于预设损失值时,基于所述损失值对所述第一初始神经网络、第二初始神经网络以及所述局部模型的模型参数进行调整,然后返回执行将所述本地训练数据输入所述第一初始神经网络模型和所述第二初始神经网络模型,得到所述第一初始神经网络模型输出的第一特征识别结果,以及所述第二初始神经网络模型输出的第二特征识别结果的步骤;
当所述损失值不大于预设损失值时,确定所述局部模型满足所述收敛条件,并完成对所述第一初始神经网络模型和第二初始神经网络模型的训练。
上述的装置,可选的,还包括:
生成单元,用于基于所述入侵检测结果,生成所述待检测网络的维护方案;
发送单元,用于将所述维护方案发送给预设的维护人员。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述网络入侵检测方法。
一种电子设备,具体包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上指令执行上述网络入侵检测方法。
与现有技术相比,本发明具有以下优点:
本发明提供一种网络入侵检测方法及装置,应用于检测节点;包括:获取待检测网络的网络数据;调用预先训练完成的第一神经网络模型和第二神经网络模型对所述网络数据进行处理,得到第一神经网络模型输出的第一特征检测结果,以及第二神经网络模型输出的第二特征检测结果;基于第一特征检测结果和第二特征检测结果,得到最优特征数据;将最优特征数据输入预设的联邦学习模型进行检测,得到联邦学习模型输出的待检测网络的入侵检测结果。通过使用两个神经网络模型对待检测网络的网络数据进行处理,得到第一特征检测结果和第二特征检测结果,然后从第一特征检测结果和第二特征检测结果中获取最优特征数据,应用多个神经网络模型对待检测网络的网络数据进行处理,可以得到不同的特征检测结果,由此增加数据的多样性,并且从各个特征检测结果中获取最优特征数据,可以减少数据误差,提高联邦学习模型处理的数据的精度,进而提高联邦学习模型输出的入侵检测结果的准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种网络入侵检测方法的方法流程图;
图2为本发明实施例提供的获取待检测网络的网络数据的方法流程图;
图3为本发明实施例提供的对第一初始神经网络模型、第二初始神经网络模型以及联邦学习模型的训练流程图;
图4为本发明实施例提供的使用本地训练数据对第一初始神经网络模型、第二初始神经网络模型以及局部模型进行训练的方法流程图;
图5为本发明实施例提供的网络入侵检测的场景示例图;
图6为本发明实施例提供的一种网络入侵检测装置的结构示意图;
图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
随着计算机网络的广泛应用,网络安全问题一直备受关注,而面对复杂多样的网络入侵,为了维护网络安全,需要基于检测结果进行对应的安全维护,检测结果的准确度是能否及时对网络进行维护的重要因素。因此如何得到准确度高的网络入侵检测结果成为技术人员迫切解决的问题。
针对上述的问题,本发明提供一种网络入侵检测方案,本方案使用第一神经网络模型和第二神经网络模型对待检测网络的网络数据进行处理,得到第一检测结果和第二检测结果,基于第一检测结果和第二检测结果得到最优结果数据,然后使用联邦学习模型对最优结果数据进行处理,输出待检测网络的入侵检测结果。从第一检测结果和第二检测结果获取最优结果数据,可以将对联邦学习模型有影响的数据筛除,减少输入联邦学习模型的数据的误差,提高联邦学习模型最终输出的入侵检测结果的精度。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。本发明提供的方法可以应用于任意检测节点,检测节点可以为计算机终端,检测节点还可以是使用网络的任意机构的处理器。本发明提供的方案可以用于各种网络,例如银行网络。
参照图1,为本发明实施例提供的一种网络入侵检测方法的方法流程图,具体说明如下所述。
S101、获取待检测网络的网络数据。
需要说明的是,待检测网络可以是检测节点所应用的网络。网络数据中包含检测节点在应用待检测网络时涉及的各个运行参数,示例性的,各个运行参数包括但不限于待检测网络的数据流量、抓包数、响应量、连接数、CUP占用率、网络接口、网络IP地址、网络应用范围、网络上行速度、网络下行速度等。
参照图2,为本发明实施例提供的获取待检测网络的网络数据的方法流程图,具体说明如下所述。
S201、采集待检测网络的网络初始数据。
优选的,网络初始数据可以为待检测网络在预设时间段内的网络运行数据,还可以是当前时间的网络运行数据。进一步的,还可以是待检测网络的局部应用地区的网络运行数据。
进一步的,预设时间段可以根据具体需求设置,例如5分钟、1分钟,此处不进行限定。
网络运行数据包含各个运行参数,各个运行参数的说明如上所述,此处不再进行赘述。
S202、对网络初始数据进行数据清洗,得到有效网络数据。
对网络初始数据进行数据清洗处理,可以将无效数据去除,从而可以得到有效网络数据,从而提高数据的精度。
有效网络数据为本申请中进行网络入侵检测时所需要的网络参数,网络初始数据中的无效数据为本申请中进行网络入侵检测时无需使用的网络参数。示例性的,无效数据包括但不限于网络上行速度、网络下行速度、网络接口等进行网络入侵检测时不需要用到的参数。
S203、将有效网络数据中的各个网络参数进行标准化处理,得到网络数据。
需要说明的是,标准化处理包括符号预处理以及归一化处理。
将有效网络数据中的各个网络数据进行符号预处理,然后将预处理得到的数据进行归一化处理,进而得到网络数据。
通过进行归一化处理,可得到标准化的网络数据,归一化后的网络数据满足后续神经网络模型所处理的数据的格式。
优选的,图2所示的网络数据的处理流程可以使用数据预处理模块实现。
通过对待检测网络的网络初始数据进行处理,可以将无效的数据去除,提高数据的精度,并且通过标准化处理得到标准化的网络数据,网络数据满足后续的神经网络模型所处理的数据的格式,便于后续神经网络模型对数据的处理,提高神经网络模型处理数据的效率。
S102、调用预先训练完成的第一神经网络模型和第二神经网络模型对所述网络数据进行处理,得到所述第一神经网络模型输出的第一特征检测结果,以及所述第二神经网络模型输出的第二特征检测结果。
将网络数据输入第一神经网络模型中,使得第一神经网络模型从网络数据中提取各个第一特征数据以及确定各个第一特征数据的第一质量评分;然后第一神经网络模型输出包含各个第一特征数据以及各个第一特征数据的第一质量评分的第二特征检测结果,第一质量评分用于评估第一特征数据的质量。
将网络数据输入第二神经网络模型中,使得第二神经网络模型从网络数据中提取各个第二特征数据以及确定各个第二特征数据的第二质量评分;然后第一神经网络模型输出包含各个第二特征数据以及各个第二特征数据的第二质量评分的第二特征检测结果,第二质量评分用于评估第二特征数据的质量。
需要说明的是,质量评分越高,特征数据的质量越好,换言之,质量评分越高,特征数据的提取精度越高。
优选的,可以将网络数据分为两部分,一部分使用第一神经网络模型处理,另一部分使用第二神经网络模型处理。
需要说明的是,第一神经网络模型可以使用深度神经网络(Deep NueralNetwork,DNN)搭建,第二神经网络模型可以使用长短期神经网络(Long short-termmemory,LSTM)搭建,优选的,可以选择3层LSTM搭建第二神经网络模型。需要说明的是,通过使用DNN构建模型,可以提高对异常公家检测的准确率以及减轻入侵时所面临的内存负担;使用3层LSTM网络构建模型可以提高对异常攻击检测的实时响应速度。
S103、基于第一特征检测结果和第二特征检测结果,得到最优特征数据。
优选的,从第一特征检测结果和第二特征检测结果中提取最优特征数据。
示例性的,将各个第一特征数据中第一质量评分高于预设质量评分的第一特征数据确定为第一选择数据,以及将各个第二特征数据中第二质量评分高于预设质量评分的第二特征数据确定为第二选择数据,将各个第一选择数据和各个第二选择数据确定为最优特征数据;预设质量评分可以根据实际需求进行设置。
最优特征数据中的各个特征数据的质量评分均为大于预设质量评分的数据,由此,可以筛选出精度高的特征数据,降低因数据精度不高造成的数据误差,并且通过筛选少量精度高的数据进行预测,可以减少模型的数据处理量,提高模型的检测效率。
优选的,还可以直接将第一特征检测结果和第二特征检测结果合并,从而得到最优特征数据,由此,增加了输入联邦学习模型的特征数据的数据量,通过增加数据量,可以降低因数据量少造成的数据误差,从而提高检测精度。
S104、将最优特征数据输入预设的联邦学习模型进行检测,得到联邦学习模型输出的待检测网络的入侵检测结果。
基于不同的神经网络模型输出的特征检测结果,获取最优特征数据,从而减低数据误差对检测结果的影响,有效提高检测结果的准确性。
需要说明的是,入侵检测结果中包含检测到的待检测网络所遭受的各项网络攻击,以及各项网络攻击的风险评分。进一步的,对于各项网络攻击,将该网络攻击的风险评分与该网络攻击的报警评分进行对比,当该网络攻击的风险评分大于该网络攻击的报警评分时,进行报警。
在得到入侵检测结果后,还可以基于入侵检测结果,生成待检测网络的维护方案;将维护方案发送给预设的维护人员。维护方案中包括但不限于维护人员需要特别注意的高风险的网络攻击,以及待检测网络中与各项网络攻击对应的需要修复、加固的漏洞等内容。
进一步的,本方案的检测节点所使用的联邦学习模型是基于联邦学习技术得到的模型。使用联邦学习模型进行网络入侵检测,可以有效避免本地的数据泄露,维护检测节点的本地数据的安全。
本发明实施例提供的方法中,获取待检测网络的网络数据;调用预先训练完成的第一神经网络模型和第二神经网络模型对所述网络数据进行处理,得到第一神经网络模型输出的第一特征检测结果,以及第二神经网络模型输出的第二特征检测结果;基于第一特征检测结果和第二特征检测结果,得到最优特征数据;将最优特征数据输入预设的联邦学习模型进行检测,得到联邦学习模型输出的待检测网络的入侵检测结果。本发明通过使用两个神经网络模型对待检测网络的网络数据进行处理,得到第一特征检测结果和第二特征检测结果,然后从第一特征检测结果和第二特征检测结果中获取最优特征数据,应用多个神经网络模型对待检测网络的网络数据进行处理,可以得到不同的特征检测结果,由此增加数据的多样性,并且从各个特征检测结果中获取最优特征数据,可以减少数据误差,提高联邦学习模型处理的数据的精度,进而提高联邦学习模型输出的入侵检测结果的准确率。
参照图3,为本发明实施例提供的对第一初始神经网络模型、第二初始神经网络模型以及联邦学习模型的训练流程图,具体说明如下所述。
S301、获取第一初始神经网络模型、第二初始神经网络模型以及将从中心节点获取的全局模型确定为局部模型。
需要说明的是,中心节点预先设置全局模型,检测节点从中心节点下载全局模型。需要说明的是,中心节点的全局模型支持多个不同的检测节点下载,并作为检测节点的局部模型。
在获取第一初始神经网络模型、第二初始神经网络模型和局部模型后,将第一初始神经网络模型、第二初始神经网络模型以及局部模型的参数记性初始化,然后执行S302。
S302、确定本地训练数据。
需要说明的是,检测节点确定本地训练数据,本地训练数据可以通过检测节点使用网络的历史日志确定。
本地训练数据包含多个样本数据,样本数据包含标签,标签用于表示该样本数据是否为遭受到入侵或是攻击的网络的数据,并且当该标签表示样本数据为遭受到入侵或是攻击时的网络的数据时,还包含了该网络所遭受的入侵或是攻击的类型。
S303、使用本地训练数据对第一初始神经网络模型、第二初始神经网络模型以及局部模型进行训练。
参照图4,为本发明实施例提供的使用本地训练数据对第一初始神经网络模型、第二初始神经网络模型以及局部模型进行训练的方法流程图,具体说明如下所述。
S401、将本地训练数据输入第一初始神经网络模型和第二初始神经网络模型,得到第一初始神经网络模型输出的第一特征识别结果,以及第二初始神经网络模型输出的第二特征识别结果。
第一初始神经网络模型对本地训练数据进行处理,输出第一特征识别结果;第二初始神经网络模型对本地训练数据进行处理,输出第二特征识别结果。
第一特征识别结果中包含第一初始神经网络模型从本地训练数据中提取的各项第一特征提取数据;第二特征识别结果中包含第二初始特征神经网络从本地训练数据中提取的各项第二特征提取数据。
S402、基于第一特征识别结果和第二特征识别结果,得到最优特征识别数据。
从第一特征识别结果中的各个第一特征提取数据和第二特征识别结果中的各个第二特征提取数据选择各个目标特征提取数据,然后将各个目标特征提取数据确定为最优特征识别数据。
优选的,还可以将第一特征识别结果和第二特征识别结果合并,然后得到最优特征识别数据。
S403、将最优特征识别数据输入局部模型进行处理,得到检测结果。
局部模型对最优特征识别数据进行检测处理,得到检测结果,检测结果中包括但不限于检测出的各个网络攻击以及每个网络攻击的风险评分。
S404、基于检测结果确定损失值,并判断损失值是否大于预设损失值;当损失值大于预设损失值时,执行S405;当损失值不大于预设损失值时,执行S406。
优选的,基于检测结果确定局部模型的损失值。损失值可以通过损失函数确定。
在确定损失值后,将损失值与预设损失值进行对比,然后确定损失值是否大于预设损失值,预设损失值的具体数值可以根据实际需求设置。
S405、基于损失值对第一初始神经网络、第二初始神经网络以及局部模型的模型参数进行调整,然后返回执行S401。
在损失值大于预设损失值时,说明局部模型未满足收敛条件,即局部模型尚未收敛,此时需要基于第一初始神经网络、第二初始神经网络以及局部模型的模型参数进行调整;优选的,在调整第一初始神经网络和第二初始神经网络的模型参数时,还可以依据损失值和第一初始神经网络的第一特征识别结果调整模型参数,也可以依据损失值和第二初始神经网络的第二特征识别结果调整模型参数,从而提高第一初始神经网络和第二初始神经网络对特征提取的准确率和精度。
调整局部模型的模型参数也是为了使局部模型的检测结果更加准确。
S406、确定局部模型满足收敛条件,并完成对第一初始神经网络模型和第二初始神经网络模型的训练。
在损失值小于或等预设损失值时,可以确定局部模型满足收敛条件,即局部模型收敛,此时完成对第一初始神经网络模型和第二初始神经网络模型的训练。
需要说明的是,此时的局部模型完成了阶段性训练。
在对第一初始神经网络模型、第二初始神经网络模型以及局部网络模型训练的过程中,使用局部模型的损失值对第一初始神经网络模型、第二初始神经网络模型进行调整,并且还可以使用第一特征识别结果和第二特征识别结果对第一初始神经网络模型、第二初始神经网络模型的模型参数进行调整,使得第一初始神经网络模型、第二初始神经网络模型的模型参数在调整的过程与局部模型的检测结果关联,使得调整后的第一初始神经网络模型和第二初始神经网络模型所提取的数据的精度更高。
S304、当确定局部模型满足预设的收敛条件时,将满足收敛条件的局部模型的模型参数向中心节点发送,并获取中心节点反馈的模型更新数据,模型更新数据包含模型更新参数以及状态指令;模型更新参数为中心节点基于各个检测节点发送的模型参数对中心节点的全局模型更新后的模型参数;状态指令用于表征更新后的全局模型是否处于收敛状态。
需要说明的是,中心节点接收各个检测节点发送的模型参数,然后对各个模型参数进行均值处理,得到均值参数,基于均值参数更新中心节点的全局模型,并确定更新后的全局模型是否收敛,基于更新后的全局模型的收敛状态生成状态指令,然后将更新后的全局模型的模型参数确定为模型更新数据。
需要说明的是,确定全局模型是否收敛的方式可以通过确定全局模型的迭代次数进行确定,其中,全局模型的模型参数更新一次,即全局模型就迭代一次;示例性的,当全局模型的迭代次数达到预设次数时,即可确定全局模型收敛。
需要说明的是,更新全局模型的模型参数过程可以理解为对全局模型进行训练,整个过程通过结合不同检测节点已收敛的局部模型的模型参数对中心节点的全局模型进行训练,由此,在各个检测节点的数据不互通的情况,可以训练一个所有的检测节点都可以使用的模型,全局模型的训练不过不仅扩大了训练数据,而且还确保各个检测节点之间的数据的不互通,避免各个检测节点的数据泄露,提高数据的安全性。
S305、判断状态指令是否表征更新后的全局模型是否处于收敛状态;当状态指令表征更新后的全局模型处于收敛状态时,执行S306;当状态指令表征更新后的全局模型未处于收敛状态时,执行S307。
S306、基于模型更新参数更新局部模型的模型参数,并将更新后的局部模型确定为联邦学习模型,以及将训练完成的第一初始神经网络模型确定为第一神经网络模型,将训练完成的第二初始神经网络模型确定为第二神经网络模型。
S307、基于模型更新参数更新局部模型的模型,并返回执行S303。
需要说明的是,在状态指令表征全局模型收敛时,基于模型更新参数更新局部模型的模型参数,并将更新后的局部模型确定为联邦学习模型,联邦学习模型可以认为是使用不同的检测节点的网络数据训练得到的模型,该模型的检测结果的精度更高。
本发明实施例提供的方法中,使用联邦学习的方式对模型进行训练时,各个检测节点的数据不互通,有效避免了不同检测节点的数据隐私泄露的情况,提高了各个检测节点的数据安全,并且基于不同检测节点的局部模型的模型参数训练全局模型,使得全局模型可以适用于不同的检测节点,缩小不同的检测节点之间的数据误差,使得得到的检测结果更加的准确。
参照图5,为本发明实施例提供的网络入侵检测的场景示例图,图中的通用DNN模型模块和3层LSTM架构模型模块相当于第一神经网络模型和第二神经网络模型,联邦学习框架模块(相当于本申请中的联邦学习模型)。优选的,图中所示的数据预处理模块可以是同一模块,也可以是不同的模块,输入数据预处理模块的数据可以是相同的,也可以是不同的。优选的,通用DNN模型模块包括但不限于输入层、隐藏层、softmax层以及输出层;3层LSTM架构模型模块包括但不限于输入层、隐含层和输出层。图中所示的各个模块均设置于检测节点中。
图5所示的数据处理流程为:首先对输入的数据集进行符号预处理以及数据归一化,然后利用搭建的DNN模型模块对数据集进行特征学习、利用搭建的3层LSTM模型模块对数据集进行特征学习,将两个模型的学习结果进行合并,接着利用搭建的联邦学习框架使得多个服务器协作不断迭代优化参数,最后得出分类结果,该分类结果即为对网络的入侵检测结果。
本发明利用通用DNN模型模块提高整体框架模型的准确率以及减轻入侵时所面临的内存负担;利用3层LSTM模型模块提高整体框架模型对异常攻击检测时的实时响应速度;利用联邦学习框架保证数据安全性与数据隐私;可以解决在现有技术中模型训练时数据需要传输、互通的过程中存在数据隐私泄露的安全性问题;以及姐姐了在网络入侵检测中的检测率较低的问题。
与图1所示的方法相对应的,本发明还提供一种网络入侵检测装置,该装置设置于检测节点,该装置用于支持图1所示的方法的具体实现。
参照图6,为本发明实施例提供的一种网络入侵检测装置的结构示意图,具体说明如下所示。
第一获取单元501,用于获取待检测网络的网络数据;
训练单元502,用于调用预先训练完成的第一神经网络模型和第二神经网络模型对所述网络数据进行处理,得到所述第一神经网络模型输出的第一特征检测结果,以及所述第二神经网络模型输出的第二特征检测结果;
第二获取单元503,用于基于所述第一特征检测结果和所述第二特征检测结果,得到最优特征数据;
检测单元504,用于将所述最优特征数据输入预设的联邦学习模型进行检测,得到所述联邦学习模型输出的所述待检测网络的入侵检测结果。
本发明实施例提供的装置中,获取待检测网络的网络数据;调用预先训练完成的第一神经网络模型和第二神经网络模型对所述网络数据进行处理,得到第一神经网络模型输出的第一特征检测结果,以及第二神经网络模型输出的第二特征检测结果;基于第一特征检测结果和第二特征检测结果,得到最优特征数据;将最优特征数据输入预设的联邦学习模型进行检测,得到联邦学习模型输出的待检测网络的入侵检测结果。本发明通过使用两个神经网络模型对待检测网络的网络数据进行处理,得到第一特征检测结果和第二特征检测结果,然后从第一特征检测结果和第二特征检测结果中获取最优特征数据,应用多个神经网络模型对待检测网络的网络数据进行处理,可以得到不同的特征检测结果,由此增加数据的多样性,并且从各个特征检测结果中获取最优特征数据,可以减少数据误差,提高联邦学习模型处理的数据的精度,进而提高联邦学习模型输出的入侵检测结果的准确率。
本发明的另一实施例提供的装置中,该装置的第一获取单元501,包括:
采集子单元,用于采集所述待检测网络的网络初始数据;
清洗子单元,用于对所述网络初始数据进行数据清洗,得到有效网络数据;
处理子单元,用于将所述有效网络数据中的各个网络参数进行标准化处理,得到网络数据。
本发明的另一实施例提供的装置中,该装置还包括:训练单元,训练单元用于训练第一神经网络模型、第二神经网络模型以及联邦学习模型;
训练单元执行训练第一神经网络模型、第二神经网络模型以及联邦学习模型的过程,包括:
获取第一初始神经网络模型、第二初始神经网络模型以及将从中心节点获取的全局模型确定为局部模型;
确定本地训练数据;
使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练;
当确定所述局部模型满足预设的收敛条件时,将满足所述收敛条件的局部模型的模型参数向所述中心节点发送,并获取所述中心节点反馈的模型更新数据,所述模型更新数据包含模型更新参数以及状态指令;所述模型更新参数为所述中心节点基于各个检测节点发送的模型参数对所述中心节点的全局模型更新后的模型参数;所述状态指令用于表征更新后的全局模型是否处于收敛状态;
当所述状态指令表征更新后的全局模型处于收敛状态时,基于所述模型更新参数更新所述局部模型的模型参数,并将更新后的局部模型确定为联邦学习模型,以及将训练完成的第一初始神经网络模型确定为第一神经网络模型,将训练完成的第二初始神经网络模型确定为第二神经网络模型;
当所述状态指令表征更新后的全局模型未处于收敛状态时,基于所述模型更新参数更新所述局部模型的模型,并返回执行使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练的步骤。
本发明的另一实施例提供的装置中,该装置的训练单元执行使用所述本地训练数据对所述第一初始神经网络模型、第二初始神经网络模型以及所述局部模型进行训练的过程,包括:
将所述本地训练数据输入所述第一初始神经网络模型和所述第二初始神经网络模型,得到所述第一初始神经网络模型输出的第一特征识别结果,以及所述第二初始神经网络模型输出的第二特征识别结果;
基于所述第一特征识别结果和所述第二特征识别结果,得到最优特征识别数据;
将所述最优特征识别数据输入所述局部模型进行处理,得到检测结果;
基于所述检测确定损失值;
当所述损失值大于预设损失值时,基于所述损失值对所述第一初始神经网络、第二初始神经网络以及所述局部模型的模型参数进行调整,然后返回执行将所述本地训练数据输入所述第一初始神经网络模型和所述第二初始神经网络模型,得到所述第一初始神经网络模型输出的第一特征识别结果,以及所述第二初始神经网络模型输出的第二特征识别结果的步骤;
当所述损失值不大于预设损失值时,确定所述局部模型满足所述收敛条件,并完成对所述第一初始神经网络模型和第二初始神经网络模型的训练。
本发明的另一实施例提供的装置中,该装置还包括:
生成单元,用于基于所述入侵检测结果,生成所述待检测网络的维护方案;
发送单元,用于将所述维护方案发送给预设的维护人员。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述网络入侵检测方法。
本发明实施例还提供了一种电子设备,其结构示意图如图7所示,具体包括存储器601,以及一个或者一个以上的指令602,其中一个或者一个以上指令602存储于存储器601中,且经配置以由一个或者一个以上处理器603执行所述一个或者一个以上指令602执行上述网络入侵检测方法。
需要说明的是,本发明提供的网络入侵检测方法及装置可用于网络安全领域或金融领域。上述仅为示例,并不对本发明提供的网络入侵检测方法及装置的应用领域进行限定。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种网络入侵检测模型构建和网络入侵检测方法及装置
- 一种网络入侵检测模型建立方法及网络入侵检测方法