一种用户异常行为检测和处理系统及其方法

文档序号:28721116发布日期:2022-01-29 15:06阅读:93来源:国知局
一种用户异常行为检测和处理系统及其方法

1.本发明涉及计算机网络安全领域,尤其是涉及一种用户异常行为检测和处理系统及其方法。


背景技术:

2.随着网络应用的广泛普及和网络攻击技术的不断发展,社会各界都对网络空间安全技术给予了高度关注,需要在网络空间安全领域解决入侵检测的问题。
3.近年来,对用户异常行为的检测已经成为入侵检测的重要分支。由于每个用户都有不同的工作任务和个人习惯,因此用户命令输入具有序列化和多样化的特征。故有必要设计一种检测系统来审核用户输入的shell命令,以快速检测和防止恶意行为。
4.但是,用户输入的shell命令涉及操作隐私,许多用户无法共享用于算法模型训练的个人数据集。而大多数的入侵检测系统都是基于传统的机器学习算法构建的,很难在不涉及用户隐私的情况下使用用户的本地数据集进行训练。


技术实现要素:

5.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种用户异常行为检测和处理系统及其方法,该系统和方法能够在不泄漏任何用户数据的情况下高效检测用户的异常行为并及时处理异常数据,确保在数据加密交互过程中的安全性。
6.本发明的目的可以通过以下技术方案来实现:
7.根据本发明的一个方面,提供一种用户异常行为检测和处理系统,包括:用户数据处理模块、网络检测和识别分类模块、异常识别模块和参数执行聚合模块;
8.用户数据处理模块:采用用户本地的数据进行训练,并将训练获取的模型参数作为流量数据包上传;
9.网络检测和识别分类模块:检测并对上传的流量数据包进行特征信息的提取和分类,以及为不同类型的特征信息标记对应的特征向量;
10.异常识别模块:根据特征向量和特征信息识别流量数据包是否异常,保存并处理异常流量数据包,并将正常流量数据包和未能处理的异常流量数据包发送至参数执行聚合模块;
11.参数执行聚合模块:对未能处理的异常流量数据包进行识别和处理,并对处理后的正常流量数据包中的模型参数进行聚合,进而形成用以每个用户联合建模的全局模型,并将全局模型发送至每个用户。
12.优选地,所述用户数据处理模块与网络检测和识别分类模块位于每个用户的子系统的终端服务器,所述异常识别模块和参数执行聚合模块位于中央服务器。
13.优选地,所述用户数据处理模块采用bilstm模型对用户本地的数据进行训练。
14.优选地,每个所述流量数据包的特征信息包括编号、时间戳、源地址、目标地址、协议、长度以及数据包信息。
15.优选地,所述异常识别模块包括用于存放各种异常的特征向量,以及每种异常的特征向量对应的处理手段的网络异常数据库。
16.优选地,所述系统还包括用于监测上传的流量数据包,进而防止流量数据包处理阻塞的虚拟化网络流量监控模块。
17.优选地,当监测的流量数据包的数量超过中央服务器的处理能力的70%时,所述虚拟化网络流量监控模块暂停流量数据包的上传。
18.根据本发明的另一个方面,提供了一种采用所述的用户异常行为检测和处理系统的用户异常行为检测和处理方法,包括以下步骤:
19.s1:采用用户本地的数据进行训练,并将训练获取的模型参数作为流量数据包上传,检测并对上传中的流量数据包进行特征信息的提取和分类,以及为不同类型的特征信息标记对应的特征向量;
20.s2:汇总多个用户上传的流量数据包,并根据特征向量和特征信息识别每个流量数据包是否异常,保存并处理异常流量数据包,并将正常流量数据包和未能处理的异常流量数据包上传;
21.s3:对未能处理的异常流量数据包进行识别和处理,并对处理后的所有流量数据包中的模型参数进行聚合,进而形成安全且用以每个用户联合建模的全局模型,并将全局模型发送至各个用户。
22.优选地,所述s2的具体内容为:
23.根据特征向量和特征信息资质识别每个流量数据包是否异常,获取异常流量数据包;将获取的异常流量数据包中的异常特征向量与网络异常数据库中存有的特征向量进行匹配,若网络异常数据库中存在异常流量数据包中的异常特征向量,则直接调用异常网络数据库中的处理方式进行处理;否则将未能处理的异常流量数据包上传至参数执行聚合模块。
24.优选地,所述s3具体内容为:
25.对未能处理的异常流量数据包进行识别,若确定是异常流量数据包,则进行相应处理并反馈给异常流量数据包所对应的用户的终端,并将该异常流量数据包的异常特征向量录入网络异常数据库,以便下次能够直接处理;若确定不是异常流量数据包,则恢复为正常流量数据包;将处理后的正常流量数据包中的模型参数进行聚合,进而形成用以每个用户联合建模的全局模型,并将全局模型发送至各个用户。
26.与现有技术相比,本发明具有以下优点:
27.1、本发明通过中央服务器协调多个子服务器,并统一用户数据集以建立通用模型实现数据交互。每个用户的子服务器使用独立数据进行本地训练,并将训练后的模型参数上传至中央服务器。由中央处理器汇总不同的子用户模型并下载,并训练全局模型。整个过程仅涉及模型的参数,不会泄露任何用户数据。
28.2、本发明在不泄漏任何用户数据的情况下,上传用户的模型参数的流量数据包,同时通过网络检测和识别分类模块和异常识别模块对流量数据包的异常情况进行监控和分析,并利用网络异常数据库,快速筛选并处理异常用户,进而形成安全的全局模型发送至每个用户,每个用户即可在保护隐私的条件下,利用全局模型处理数据。
29.3、本发明通过虚拟化网络流量监控模块读取中央服务器的型号,并按照中央服务
器70%的处理能力设定阈值,防止上传的流量数据包超过阈值,造成流量数据包上传阻塞或遗漏。
附图说明
30.图1为本实施例一种用户异常行为检测和处理系统的结构示意图。
具体实施方式
31.下面结合附图和具体实施例对本发明进行详细说明。
32.参考图1所示,本实施例提供一种用户异常行为检测和处理系统,包括:用户数据处理模块m1、网络检测和识别分类模块m2、异常识别模块m3、参数执行聚合模块m4和虚拟化网络流量监控模块m5;
33.其中,用户数据处理模块m1和网络检测和识别分类模块m2位于各个用户的子系统的终端服务器上,异常识别模块m3、参数执行聚合模块m4和虚拟化网络流量监控模块m5位于中央服务器上;
34.用户数据处理模块m1:采用用户本地的数据进行训练,并将训练获取的模型参数作为流量数据包上传至网络检测和识别分类模块m2;
35.作为一种可选的实施方式,用户数据处理模块m1采用bilstm模型对用户的数据进行训练。bilstm模型由前向lstm和后向lstm形成。bilstm可以更好地捕获双向语义相关性,从而进一步提高预测的准确性。退出层在训练过程中随机放弃一些神经元,以便在迭代过程中,神经元的相应权重保持与上一步相同,并且其他权重得到更新。这种机制可以减少隐藏层中的节点数量。相互作用和过度拟合现象避免了算法模型进入局部最优解。
36.网络检测和识别分类模块m2:检测并对上传中的流量数据包进行特征信息的提取和分类,以及为不同类型的特征信息标记对应的特征向量;
37.采用wireshark工具检测并抓取流量数据包,每个流量数据包所包含的特征信息包括编号、时间戳、源地址、目标地址、协议、长度以及数据包信息,并为不同类型的特征信息标记对应的特征向量。
38.异常识别模块m3:根据特征向量和特征信息识别流量数据包是否异常,保存异常的流量数据包并进行处理,并将正常的流量数据包和未能处理的异常流量数据包发送至参数执行聚合模块m4;
39.异常识别模块m3还包括网络异常数据库,网络异常数据库中存放有已知的各种异常行为,以及每一种异常行为对应的处理方式。
40.作为一种可选的实施方式,网络异常数据库中存放的各种异常行为以特征向量的形式标记。
41.作为一种可选的实施方式,处理方式包括报错和丢弃异常流量数据包。
42.wireshark工具自动根据特征向量和特征信息识别流量数据包是否异常,将异常数据包中各类型的异常的特征向量与网络异常数据库存放的特征向量进行对比,若异常的特征向量在网络异常数据库中已经存在,则直接调取对应的处理手段进行处理,并反馈给异常数量数据包所对应的用户;若异常的特征向量在网络异常数据库中不存在,则无法处理该异常流量数据包,故将未能处理的异常流量数据包和正常流量数据包发送至参数执行
聚合模块m4。
43.参数执行聚合模块m4:根据正常数据流量包对未能处理的异常流量数据包进行识别和处理,并对处理后的所有正常的流量数据包中的模型参数进行聚合,进而形成用以每个用户联合建模的全局模型,并将全局模型发送至各个用户,确保数据交互过程中的安全性。
44.wireshark工具捕捉流量数据包的信息还包括用户的终端信息,即网络的访问频率和访问端口等的情况。参数执行聚合模块m4根据由wireshark工具捕捉的未能处理的异常流量数据包的用户的终端信息识别该流量数据包是否为异常流量数据包。若确定是异常流量数据包,则进行相应处理并反馈给异常流量数据包所对应的用户的终端,并将该异常流量数据包的异常特征向量录入网络异常数据库,以便下次能够直接处理;若确定不是异常流量数据包,则恢复为正常流量数据包,将所有的正常流量数据包的模型参数进行聚合,进而形成全局模型并将全局模型发送至各个用户,上传和下载过程仅涉及模型的参数,并且不会泄露任何用户数据,确保数据交互过程中的安全性。
45.虚拟化网络流量监控模块m5:监控上传的流量数据包是否超过设定阈值。若是,则暂停上传流量数据包,等待上一批的流量数据包处理完成。
46.虚拟化网络流量监控模块m5自主读取中央服务器的型号,并按照70%的处理能力设定阈值。
47.本实施例还提供一种应用所述用户异常行为检测和处理系统的用户异常行为检测和处理方法,该方法包括以下步骤:
48.s1:采用用户本地的数据进行训练,并将训练获取的模型参数作为流量数据包上传,检测并对上传中的流量数据包进行特征信息的提取和分类,以及为不同类型的特征信息标记对应的特征向量;
49.s1.1:采用bilstm模型对用户本地的数据进行训练,并将训练获取的模型参数作为流量数据包上传;
50.s1.2:检测并对上传中的流量数据包进行特征信息的提取和分类,特征信息包括:包括编号、时间戳、源地址、目标地址、协议、长度以及数据包信息,并为不同类型的特征信息标记对应的特征向量。
51.s2:汇总多个用户上传的流量数据包,并根据特征向量和特征信息识别每个流量数据包是否异常,保存并处理异常流量数据包,并将正常流量数据包和未能处理的异常流量数据包上传;
52.s2.1:由wireshark工具根据特征向量和特征信息资质识别每个流量数据包是否异常,获取异常流量数据包;
53.s2.2:将获取的异常流量数据包中的异常特征向量与网络异常数据库中存有的特征向量进行匹配,若网络异常数据库中存在异常流量数据包中的异常特征向量,则直接调用异常网络数据库中的处理方式进行处理;否则将未能处理的异常流量数据包上传至参数执行聚合模块m4;
54.s3:根据wireshark捕捉的终端信息对未能处理的异常流量数据包进行识别和处理,并对处理后的正常流量数据包中的模型参数进行聚合,进而形成用以每个用户联合建模的全局模型,并将全局模型发送至各个用户,确保数据交互过程中的安全性。
55.s3.1:根据wireshark捕捉的终端信息对未能处理的异常流量数据包进行识别,若确定是异常流量数据包,则进行相应处理并反馈给异常流量数据包所对应的用户的终端,并将该异常流量数据包的异常特征向量录入网络异常数据库,以便下次能够直接处理;若确定不是异常流量数据包,则恢复为正常流量数据包;
56.s3.2:将处理后的正常流量数据包中的模型参数进行聚合,进而形成用以每个用户联合建模的全局模型,并将全局模型发送至各个用户。
57.本发明提供的一种用户异常行为检测和处理系统及其方法,具体实验如下:
58.本实施例样本数据均主要来源于at&t香农实验室生成的sea数据集。sea数据集中的用户登录类似于以下命令序列:{cpp,sh,cpp,sh,xrdb,mkpts...}。sea数据集涵盖了70多个unix用户的行为日志。但是,sea数据集存在数据集的负样本大小严重不足的问题,从中提取的有效信息还不够,因此需要更强大的分类算法或增强数据集,这在近年来的kholidy和kudlacik的研究中可以看出。通过在原始数据集的基础上插入一定数量的黑色样本来补充我们数据集的改进。数据集中的每50条命令被分为一个单独的命令块,每个命令块对应一个标签。在黑色样本为独立命令块的50条命令中,指令记录中存在相应的攻击。随机插入数据块,使其具有目录遍历攻击,大量读取,文件删除,批量卸载和其他特定攻击情形,并将这些修改后的数据块视为黑色样本。
59.s0:对数据集进行预处理,将初始的bilstm模型部署在所有用户服务器上。
60.数据集的预处理主要由标记器完成。分词器用于向量化文本或将文本转换为相应的序列。在将shell命令块输入到网络模型中之后,首先使用分段的单词对文本中的单词进行计数,以生成字典文档。输入的shell命令块将根据字典顺序转换为向量表示。输入长度不足以填充长度并满足长度要求。
61.由于对用户数据的私密性的要求,因此不可能通过获取用户数据来构建标记词袋模型。因此,使用10,000个命令块(包括500,000个命令)的单独数据集来构建大型词袋模型。大字词模型包含大多数类型的shell命令。词袋被发送到每个子终端服务器,然后建立独立的功能(例如词序和词频),最后使用keras中的嵌入层将向量化输入到训练网络。本实施例的lstm算法。框架对于lstm框架,采用bilstm网络使lstm可以从头到尾对信息进行编码。它是通过组合前向lstm和后向lstm形成的。bilstm可以更好地捕获双向语义相关性,从而进一步提高预测的准确性。退出层在训练过程中随机放弃一些神经元,以便在迭代过程中,神经元的相应权重保持与上一步相同,并且其他权重得到更新。
62.s1:采用用户本地的数据进行训练,并将训练获取的模型参数作为流量数据包上传,检测并对上传中的流量数据包进行特征信息的提取和分类,以及为不同类型的特征信息标记对应的特征向量;
63.以有n个用户为例,将n个用户设置为n个子端服务器,每个子端服务器都有自己的数据集di,在每个通信回合的开始,中央服务器将全局模型m
t
发送至每个子端服务器,每个子端服务器使用各自的数据集进行训练。如果存在模型文件,则加载中央服务器发布的全局模型m
t
文件进行训练;如果模型文件不存在,则构建用于训练的模型。子级服务器将保存由子级服务器上传到中央服务器的每次训练获得的权重。
64.s2:汇总多个用户上传的流量数据包,并根据特征向量和特征信息识别每个流量数据包是否异常,合并保存并处理异常流量数据包,并将正常流量数据包和未能处理的异
常流量数据包上传;
65.根据特征向量和特征信息识别流量数据包是否异常,将异常数据包中各类型的异常的特征向量与网络异常数据库对比,若异常的特征向量在网络异常数据库中已经存在,则直接调取对应的处理手段进行处理,并反馈给异常数量数据包所对应的用户;若异常的特征向量在网络异常数据库中不存在,则将未能处理的异常流量数据包和正常流量数据包上传至参数执行聚合模块m4。
66.s3:对未能处理的异常流量数据包进行识别和处理,并对处理后的所有流量数据包中的模型参数进行聚合,进而形成用以每个用户联合建模的全局模型,并将全局模型发送至各个用户,确保数据交互过程中的安全性。
67.对未能处理的异常流量数据包进行识别,若确定是异常流量数据包,则进行相应处理并反馈给异常流量数据包所对应的用户,并将该异常流量数据包的异常特征向量存入网络异常数据库;若确定不是异常流量数据包,则归为正常流量数据包,将所有的流量数据包的模型参数进行聚合,进而形成全局模型并将全局模型发送至各个用户,实现数据加密交互。
68.在模型聚合算法中设置子服务器的数量。当中央服务器收到的模型数量达到设置的数量时,可以开始模型聚合。为了避免性能低下的服务器参数影响整个模型,我们将在第一次通信期间发送一个小规模的测试数据集,并在训练后使用该测试数据集进行性能测试。如果测试结果低于我们设置的最小值,则不会上传参数。同时,我们在上传时添加了md5检查,以确保模型重量参数信息的完整性。
69.基于深度学习的智能入侵检测(iid)方法已受到网络安全中计算机安全保护的强烈关注。所有这些学习模型都是在单个用户服务器或集中式服务器上进行训练的。一方面,几乎不可能在单个用户上训练强大的深度学习模型。另一方面,如果从所有用户服务器收集数据集,它将在中心服务器上遇到入侵风险并侵犯用户隐私。
70.为了解决这些问题,本发明通过建立联邦学习(fl)模型解决了这些问题。通过中央服务器协调多个子服务器,并统一用户数据集以建立通用模型并共同受益。模型中每个用户的原始数据都存储在本地,并且不会交换或传输,这不会对用户数据隐私造成风险。该数据集根据开源sea数据集进行调整。通过添加攻击命令来设置攻击场景并重置数据集上的标签。最后,使用独立的验证数据集进行模型性能测试。结果表明,该方法能够在保证用户隐私的同时,全面学习子终端用户服务器数据集的特征,具有较高的分类精度和较强的实用性。
71.fl基于分布式机器学习和边缘计算,其权重更新方法类似于分布式机器学习的原理。与分布式机器学习相比,fl具有一些相似之处,但是每个部分对本地数据具有完全自治权,并且可以自主决定是否加入fl进行建模。其次,fl强调模型训练过程。数据所有者的数据隐私保护是处理数据隐私保护的有效措施。在fl数据和模型本身中,没有传输发生。因此,不可能在数据级别泄漏,也不会违反日益严格的数据保护法律。
72.同时,本发明在数据上传的过程中对用户的异常行为进行检测并及时对异常进行处理,确保数据交互过程中的安全性。且每个用户在上传自己模型数据前,首先对其进行加密,然后中央服务器收到密文后,在密文上进行加法聚合,再将密文结果返回给用户。假设使用的同态加密为部分同态,则用户需要先解密、再完成模型更新;如果使用的同态加密为
全同态加密,则用户无需进行解密,可以在密文的模型上进行更新。即,中心服务将当前加密模型分发给各个用户,收到模型的用户先对模型进行加密,再在本地数据上进行参数的有偏估计。然后中央服务器收集用户的加密参数估计,进行聚合,得到新的、密态下的模型参数。最后中央服务器使用聚合后的新加密参数最为当前模型。
73.上述的对实施例的描述是为便于该技术领域的普通技术人员能理解和使用发明。熟悉本领域技术的人员显然可以容易地对这些实施例做出各种修改,并把在此说明的一般原理应用到其他实施例中而不必经过创造性的劳动。因此,本发明不限于上述实施例,本领域技术人员根据本发明的揭示,不脱离本发明范畴所做出的改进和修改都应该在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1