一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于联邦学习的智能入侵检测方法和系统与流程

2021-12-08 00:23:00 来源:中国专利 TAG:


1.本发明涉及计算机网络技术领域,具体地,涉及一种基于联邦学习的智能入侵检测方法和系统。


背景技术:

2.随着网络应用的广泛普及和网络攻击技术的不断发展,社会各界都对网络空间安全技术给予了高度关注在网络空间安全领域迫切需要解决入侵检测问题。近年来,对用户异常行为的检测已经成为入侵检测的重要分支。由于每个用户都有不同的工作任务和个人习惯,因此用户命令输入具有序列化和多样化的特征。因此,有必要设计一种检测系统来审核用户输入的外壳命令,以检测和防止恶意行为。
3.近年来,由于深度学习功能强大的特征提取能力,它被认为是解决网络空间安全技术中各种问题的最有效工具之一。但是,用户输入的shell命令涉及操作隐私,许多用户无法共享用于算法模型训练的个人数据集。最近的研究表明,机器学习模型的性能与训练数据集的数量之间存在正相关。训练数据集的数量越大,通常意味着模型的性能越高。现有的大多数入侵检测模型都是基于传统的机器学习算法构建的,很难在不涉及用户隐私的情况下使用用户的本地数据集进行训练。根据不同的数据源,入侵检测可以分为两类:基于网络的入侵检测和基于主机的入侵检测。两种方法从不同角度进行检测和区分,现有的检测方法有以下几种:
4.在基于网络流量的入侵检测方面:
5.1)ambusaidi提出了一种基于支持向量机的特征选择算法进行特征选择,并构建了基于支持向量机的入侵检测系统,通过参数选择减少了训练和测试时间。
6.2)haitao he提出了一种基于lstm的入侵检测模型。使用深度学习算法可以从大规模数据环境中选择特征,而lstm适合处理相关特征的特征以构建入侵检测模型。尽管该方法在算法性能上已经取得了一些进展,但是所需的预训练繁琐并且需要提高训练效率。
7.在基于主机的入侵检测方面:
8.3)kim进行了一项经验研究,以验证测试支持向量机在检测两组不同的unix命令中的攻击方面的有效性。实验结果表明,支持向量机算法提高了入侵攻击的检测率。
9.4)在vidal的工作中,研究人员使用sea数据集建立了基于遗传算法的入侵者攻击检测模型,并通过分析序列之间的突变数来确定相似性得分。
10.5)daesung moon提出了dtb

ids,一种基于决策树的apt攻击检测系统。该系统通过划分系统中的用户行为数据来识别潜在的apt攻击,从而达到入侵检测的目的。
11.专利文献cn112800461a(申请号:cn202110117662.7)公开了一种基于联邦学习框架的电力计量系统网络入侵检测方法,包括以下步骤:s1、集中器获取本地模型并设定目标;s2、获取用户电表数据并发送至集中器中构造若干批量的训练样本;s3、每一个集中器分别从数据中心下载全局模型权重参数并与所选取的一批量训练样本并进行训练以获取对应的本地模型权重参数;s4、将本地模型权重参数均传输给数据中心进行聚合平均以获
取下一轮全局模型参数,同时将得到的下一轮全局模型权重参数反馈至集中器中并优化各自的本地模型权重参数;s5、重复步骤s4以获取检测模型;s6、根据所获取的检测模型判定实时运行系统是否存在网络入侵。然而该专利在数据获取和传输的过程中与用户数据进行了直接接触,无法避免用户隐私泄露的风险。


技术实现要素:

12.针对现有技术中的缺陷,本发明的目的是提供一种基于联邦学习的智能入侵检测方法和系统。
13.根据本发明提供的基于联邦学习的智能入侵检测方法,包括:
14.步骤1:初始化长短期记忆网络模型lstm,并在所有用户服务器上进行部署;
15.步骤2:每个用户使用本地命令序列训练其单个模型,将模型参数上传到中央服务器;
16.步骤3:中央服务器执行模型参数聚合,形成新的全局模型并将其分发给用户服务器,循环按序执行步骤2和步骤3,直到达到设置的训练轮次n后停止检测模型的训练;
17.步骤4:保存第n轮的检测模型,将命令序列输入模型得到分类结果,实现入侵检测。
18.优选的,通过双向长短记忆网络bilstm对模型lstm的信息进行编码;
19.所述双向长短记忆网络包括退出层,在训练过程中随机放弃预设数量的神经元,在迭代过程中保持神经元的相应权重不变,对其余权重进行更新。
20.优选的,为每个用户设置子端服务器和训练集,在每个通信回合开始前,中央服务器将全局模型发送到每个子端服务器和子级服务器,根据子端服务器的训练集进行训练。
21.优选的,在检测模型训练过程中,若存在模型文件,则加载中央服务器发布的全局模型文件进行训练;若不存在模型文件,则构建用于训练的模型。
22.优选的,子级服务器将每次训练获得的权重上传到中央服务器,并进行保存;
23.中央服务器汇总不同的子用户模型并下载,再通过训练集进行模型训练;
24.在上传和下载的过程中,仅上传和下载模型的参数。
25.根据本发明提供的基于联邦学习的智能入侵检测系统,包括:
26.模块m1:初始化长短期记忆网络模型lstm,并在所有用户服务器上进行部署;
27.模块m2:每个用户使用本地命令序列训练其单个模型,将模型参数上传到中央服务器;
28.模块m3:中央服务器执行模型参数聚合,形成新的全局模型并将其分发给用户服务器,循环按序调用模块m2和模块m3,直到达到设置的训练轮次n后停止检测模型的训练;
29.模块m4:保存第n轮的检测模型,将命令序列输入模型得到分类结果,实现入侵检测。
30.优选的,通过双向长短记忆网络bilstm对模型lstm的信息进行编码;
31.所述双向长短记忆网络包括退出层,在训练过程中随机放弃预设数量的神经元,在迭代过程中保持神经元的相应权重不变,对其余权重进行更新。
32.优选的,为每个用户设置子端服务器和训练集,在每个通信回合开始前,中央服务器将全局模型发送到每个子端服务器和子级服务器,根据子端服务器的训练集进行训练。
33.优选的,在检测模型训练过程中,若存在模型文件,则加载中央服务器发布的全局模型文件进行训练;若不存在模型文件,则构建用于训练的模型。
34.优选的,子级服务器将每次训练获得的权重上传到中央服务器,并进行保存;
35.中央服务器汇总不同的子用户模型并下载,再通过训练集进行模型训练;
36.在上传和下载的过程中,仅上传和下载模型的参数。
37.与现有技术相比,本发明具有如下的有益效果:
38.(1)本发明建立联邦学习,通过中央服务器协调多个子服务器,并统一用户数据集以建立通用模型并共同受益,模型中每个用户的原始数据都存储在本地,并且不会交换或传输,不会对用户数据隐私造成风险;
39.(2)本发明提出了一种用于智能入侵检测(iid)方法的联合学习辅助长时间短时间(fl

lstm)框架,根据开源sea数据集进行调整,通过添加攻击命令来设置攻击场景并重置数据集上的标签,最后使用独立的验证数据集进行模型性能测试,该方法能够在保证用户隐私的同时,全面学习子终端用户服务器数据集的特征,具有较高的分类精度和较强的实用性。
附图说明
40.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
41.图1是本发明整体架构图;
42.图2是联邦学习模型更新过程流程图。
具体实施方式
43.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
44.实施例1:
45.本发明提供了一种基于联合学习(fl)辅助长短期记忆(fl

lstm)框架的有效iid方法,通过建立联邦学习(fl)模型,不会对用户数据隐私造成风险。包括如下步骤:
46.步骤s1,初始的lstm全局模型部署在所有用户服务器上;
47.步骤s2,每个用户训练其单个模型,然后将其模型参数上载到中央服务器;
48.步骤s3,中央服务器执行模型参数聚合以形成新的全局模型并将其分发给用户服务器。
49.使用此步骤作为循环,以完成入侵检测模型的训练。
50.步骤s1中lstm算法框架,bilstm网络使lstm可以从头到尾对信息进行编码。它是通过组合前向lstm和后向lstm形成的。bilstm可以更好地捕获双向语义相关性,从而进一步提高预测的准确性。退出层在训练过程中随机放弃一些神经元,以便在迭代过程中,神经元的相应权重保持与上一步相同,并且其他权重得到更新。这种机制可以减少隐藏层中的节点数量。相互作用和过度拟合现象避免了算法模型进入局部最优解。
51.步骤s2中的基于fl的入侵检测方法,构建一个新颖的架构,在该架构中,将n个用户设置为n个子端服务器。每个服务器具有其自己的数据集di。在每个通信回合t的开始,中央服务器将全局模型mt发送到每个子端。服务器和子级服务器使用它们各自的训练集进行训练。如果存在模型文件,请加载中央服务器发布的全局模型文件mt进行训练。如果模型文件不存在,请构建用于训练的模型。子级服务器将保存由子级服务器上载到中央服务器的每次训练获得的权重。
52.步骤s3中将训练后的文件参数上传到中央服务器,中央服务器将汇总不同的子用户模型并下载。然后使用训练来训练算法模型。上传和下载过程仅涉及模型的参数,并且不会泄漏任何用户数据。
53.实施例2:
54.实施例2为实施例1的优选例。
55.本实施例实现的平台,考虑到linux操作系统下开发的便捷性和便捷性,整个实验环境搭建在linux虚拟机中。操作系统为ubuntu 18.04,处理器是intel core i9

7920x@2.9ghz,内存是32gb,使用python 3.6语言实现,机器学习库为tensorflow 2.0.1、scikit

learn和keras 2.3.1,扩展库为numpy 1.16.3。
56.本实施例样本数据均主要来源于at&t香农实验室生成的sea数据集。sea数据集中的用户登录类似于以下命令序列:{cpp,sh,cpp,sh,xrdb,mkpts...}。sea数据集涵盖了70多个unix用户的行为日志。但是,数据集也有一些缺点。主要问题是sea数据集的负样本大小严重不足。从中提取的有效信息还不够,因此需要有更强大的分类算法或增强数据集。通过在原始数据集的基础上插入一定数量的黑色样本来补充数据集的改进。数据集中的每50条命令被分为一个单独的命令块,每个命令块对应一个标签。在黑色样本为独立命令块的50条命令中,指令记录中存在相应的攻击。随机插入数据块,使其具有目录遍历攻击,大量读取,文件删除,批量卸载和其他特定攻击情形,并将这些修改后的数据块视为黑色样本。
57.如图1所示,本实施例的系统模型的搭建包括如下步骤:
58.步骤s1,数据集预处理,初始的lstm全局模型部署在所有用户服务器上;
59.数据集的预处理主要由词袋模型完成。词袋模型中的分词器用于向量化文本或将文本转换为相应的序列。在将shell命令块输入到网络模型中之后,首先使用分段的单词对文本中的单词进行计数,以生成字典文档。输入的shell命令块将根据字典顺序转换为向量表示。输入长度不足以填充长度并满足长度要求。
60.由于联邦学习对用户数据的私密性的要求,因此不可能通过获取用户数据来构建标记词袋模型。因此,使用10000个命令块(包括500000个命令)的单独数据集来构建大型词袋模型。大字词模型包含大多数类型的shell命令。词袋被发送到每个子终端服务器,然后建立独立的功能(例如词序和词频),最后使用keras中的嵌入层将向量化输入到训练网络。本实施例的lstm算法。框架对于lstm框架,采用bilstm网络使lstm可以从头到尾对信息进行编码。它是通过组合前向lstm和后向lstm形成的。bilstm可以更好地捕获双向语义相关性,从而进一步提高预测的准确性。退出层在训练过程中随机放弃一些神经元,以便在迭代过程中,神经元的相应权重保持与上一步相同,并且其他权重得到更新。
61.如图2所示,本实施例的系统模型的构成框架体系结构包括如下步骤:
62.步骤s2,每个用户训练其单个模型,然后将其模型参数上载到中央服务器;
63.fl基于分布式机器学习和边缘计算,其权重更新方法类似于分布式机器学习的原理。与分布式机器学习相比,fl具有一些相似之处,但是每个部分对本地数据具有完全自治权,并且可以自主决定是否加入fl进行建模。其次,fl强调模型训练过程。数据所有者的数据隐私保护是处理数据隐私保护的有效措施。在fl数据和模型本身中,没有传输发生。因此,不可能在数据级别泄漏,也不会违反日益严格的数据保护法律。
64.将n个用户设置为n个子端服务器。每个服务器具有其自己的数据集di。在每个通信回合t的开始,中央服务器将全局模型mt发送到每个子端。服务器和子级服务器使用它们各自的训练集进行训练。如果存在模型文件,请加载中央服务器发布的全局模型文件mt进行训练。如果模型文件不存在,请构建用于训练的模型。子级服务器将保存由子级服务器上载到中央服务器的每次训练获得的权重。
65.步骤s3,中央服务器执行模型参数聚合以形成新的全局模型并将其分发给用户服务器。
66.当中央服务器收到的模型数量达到设置的标准时,可以开始模型聚合。为了避免性能低下的服务器参数影响整个模型,将在第一次通信期间发送一个小规模的测试数据集,并在训练后使用该测试数据集进行性能测试。如果测试结果低于设置的最小值,则不会上传参数。同时,在上传时添加了md5检查,以确保模型重量参数信息的完整性。
67.将训练后的文件参数上传到中央服务器,中央服务器将汇总不同的子用户模型并下载。然后使用训练来训练算法模型。上传和下载过程仅涉及模型的参数,并且不会泄漏任何用户数据。
68.本实施例中,比较了fl lstm模型和cl

lstm模型之间的性能比较。fl

lstm模型的准确率高达99.21%,召回率高达99.23%,f1值高达99.21%,此时的loss值低。cl

lstm的准确率达到99.51%,比fl

lstm模型的值提高约0.3%。实验结果表明,fl

lstm模型的性能已经高于cl

cnn模型的性能,可以看出,fl

lstm模型不会显着降低lstm算法的性能,并且可以准确地检测到入侵。
69.本实施例中,将每个子终端服务器数据集作为独立训练的训练数据集进行测试。通过对四个子端数据集进行训练,判断恶意入侵行为的准确率可以达到大约90%。由于数据集的特征不全面,算法模型的损失值在训练过程中呈上升趋势,并且模型表现出明显的过拟合现象。因此,相比而言,fl算法的检测性能具有明显的优势。fl算法模型具有较高的准确率和较低且更稳定的loss值。
70.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
71.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相
互组合。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献