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

一种基于机器学习的用户行为异常检测方法及装置与流程

2022-11-23 15:48:03 来源:中国专利 TAG:


1.本发明属于智能自动化技术领域,尤其涉及一种基于机器学习的用户行为异常检测方法及装置。


背景技术:

2.随着企业数字化转型的发展,网络安全也迎来了前所未有的挑战。企业将会面对各式各样的网络安全攻击,大量数据表明来自企业内部人员的攻击更加难以发现和防范。根据调研发现现有的用户行为异常检测方法并不能达到企业的要求,由于误报和漏报数量过多导致企业运维人员无法高效的发现真正的用户行为异常。
3.现阶段用户行为异常检测方法多是使用规则或者聚类算法,漏报率和误报率偏高,在使用过程中效果不理想。也有一些方法结合了深度学习技术,例如lstm、transformer通过预测用户未来动作来判断用户是否存在异常行为,但只通过用户行为时间序列维度去判断用户行为是否异常,仍然不能满足企业对低漏报率和低误报率的要求。


技术实现要素:

4.本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于机器学习的用户行为异常检测方法及装置,能够提高用户行为异常检测的准确率,有效的降低了误报率和漏报率,使得企业运维人员在面对内部人员攻击时可以提早发现,提早采取措施减少企业损失。
5.根据本发明的一个方面,本发明提供了一种基于机器学习的用户行为异常检测方法,所述方法包括以下步骤:
6.s1:采集用户行为日志信息,对所述用户行为日志信息进行预处理,得到预设格式的用户行为日志信息;
7.s2:从所述预设格式的用户行为日志信息中获取用于用户行为异常检测的参数,将所述参数输入到用户行为异常检测模型中,对用户行为是否异常进行检测;
8.s3:如果用户行为被检测为异常,自动根据预先设置的模板结合用户信息和用户行为信息生成告警信息。
9.优选地,所述用于用户行为异常检测的参数包括用户行为特征,所述用户行为特征包括用户行为日志信息中的用户行为以及所述用户行为对应的数值。
10.优选地,所述用于用户行为异常检测的参数包括用户角色行为特征,所述从所述预设格式的用户行为日志信息中获取用于用户行为异常检测的参数包括:
11.根据所述用户行为日志信息中的用户名获取当前用户角色信息,通过计算属于同一角色的用户行为特征的平均值,得到用户角色行为特征平均值;
12.将当前用户行为特征对应的数值减去用户角色行为特征平均值,得到用户角色行为特征。
13.优选地,所述用于用户行为异常检测的参数包括用户行为时间序列,所述用户行
为时间序列是按用户行为的发生时间顺序对用户行为进行排序得到的。
14.优选地,所述方法包括:
15.将所述用户行为时间序列输入到时序异常检测模型,检测用户行为时间序列是否异常;
16.所述将所述参数输入到用户行为异常检测模型中,对用户行为是否异常进行检测包括:
17.将所述用户行为特征、所述用户角色行为特征、所述用户行为时间序列输入到catboost模型中,对用户行为是否异常进行分类。
18.根据本发明的另一个方面,本发明还提供了一种基于机器学习的用户行为异常检测装置,所述装置包括:
19.处理模块,用于采集用户行为日志信息,对所述用户行为日志信息进行预处理,得到预设格式的用户行为日志信息;
20.检测模块,用于从所述预设格式的用户行为日志信息中获取用于用户行为异常检测的参数,将所述参数输入到用户行为异常检测模型中,对用户行为是否异常进行检测;
21.告警模块,用于如果用户行为被检测为异常,自动根据预先设置的模板结合用户信息和用户行为信息生成告警信息。
22.优选地,所述用于用户行为异常检测的参数包括用户行为特征,所述用户行为特征包括用户行为日志信息中的用户行为以及所述用户行为对应的数值。
23.优选地,所述用于用户行为异常检测的参数包括用户角色行为特征,所述检测模块从所述预设格式的用户行为日志信息中获取用于用户行为异常检测的参数包括:
24.根据所述用户行为日志信息中的用户名获取当前用户角色信息,通过计算属于同一角色的用户行为特征的平均值,得到用户角色行为特征平均值;
25.将当前用户行为特征对应的数值减去用户角色行为特征平均值,得到用户角色行为特征。
26.优选地,所述用于用户行为异常检测的参数包括用户行为时间序列,所述用户行为时间序列是按用户行为的发生时间顺序对用户行为进行排序得到的。
27.优选地,所述检测模块还用于:
28.将所述用户行为时间序列输入到时序异常检测模型,检测用户行为时间序列是否异常;
29.所述检测模块将所述参数输入到用户行为异常检测模型中,对用户行为是否异常进行检测包括:
30.将所述用户行为特征、所述用户角色行为特征、所述用户行为时间序列输入到catboost模型中,对用户行为是否异常进行分类。
31.有益效果:本发明通过将用户行为特征、用户角色行为特征、以及用户行为时间序列作为特征送入catboost树模型判断用户行为是否异常,大幅度提高了用户行为异常检测的准确率,有效的降低了误报率和漏报率,使企业运维人员可以第一时间发现来自企业内部的攻击,并采取有效措施。
32.通过参照以下附图及对本发明的具体实施方式的详细描述,本发明的特征及优点将会变得清楚。
附图说明
33.图1是基于机器学习的用户行为异常检测方法流程图;
34.图2是用户行为时间序列异常检测方法流程图;
35.图3是基于机器学习的用户行为异常检测装置示意图。
具体实施方式
36.下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.实施例1
38.图1是基于机器学习的用户行为异常检测方法流程图。如图1所示,本实施例提供了一种基于机器学习的用户行为异常检测方法,所述方法包括以下步骤:
39.s1:采集用户行为日志信息,对所述用户行为日志信息进行预处理,得到预设格式的用户行为日志信息。
40.具体地,采集用户行为日志信息,根据预设日志模板对用户行为日志进行匹配,匹配成功后,系统会通过模板对用户行为日志进行预处理,将日志处理为预设的格式,预设的格式内容包括:用户名、发生时间、行为、数值。
41.s2:从所述预设格式的用户行为日志信息中获取用于用户行为异常检测的参数,将所述参数输入到用户行为异常检测模型中,对用户行为是否异常进行检测。
42.优选地,所述用于用户行为异常检测的参数包括用户行为特征,所述用户行为特征包括用户行为日志信息中的用户行为以及所述用户行为对应的数值。
43.优选地,所述用于用户行为异常检测的参数包括用户角色行为特征,所述从所述预设格式的用户行为日志信息中获取用于用户行为异常检测的参数包括:
44.根据所述用户行为日志信息中的用户名获取当前用户角色信息,通过计算属于同一角色的用户行为特征的平均值,得到用户角色行为特征平均值;
45.将当前用户行为特征对应的数值减去用户角色行为特征平均值,得到用户角色行为特征。
46.具体地,对每种角色都会有一个行为的统计,例如人力资源组的用户每天发邮件的次数,邮件附件的大小等等这些都是这个角色的特征。计算用户角色平均值就是,假如人力资源组有5人,那么他们每天发邮件的次数加在一起除以5就是这个角色的行为特征的平均值。
47.需要说明的是,用户角色行为特征,是通过历史数据统计出这个用户角色应该有的行为特征。而用户行为特征,是通过日志获取的用户行为特征。例如人力资源组的某个用户去内网下载了大量数据。这个行为不属于用户角色行为特征,因为这个用户角色行为里不应该有这个行为,但这个属于用户行为。
48.优选地,所述用于用户行为异常检测的参数包括用户行为时间序列,所述用户行为时间序列是按用户行为的发生时间顺序对用户行为进行排序得到的。
49.具体地,按时间对用户行为进行排序,例如9:05行为1,9:06行为2,9:07行为3等
等,这样就得到用户行为时间序列。
50.优选地,所述方法包括:
51.将所述用户行为时间序列输入到时序异常检测模型,检测用户行为时间序列是否异常;
52.所述将所述参数输入到用户行为异常检测模型中,对用户行为是否异常进行检测包括:
53.将所述用户行为特征、所述用户角色行为特征、所述用户行为时间序列输入到catboost模型中,对用户行为是否异常进行分类。
54.具体地,参见图2,将用户行为时间序列输入时序异常检测模型。模型分为两个阶段,模型第一个阶段输入分别为损失误差(初始化为0),完整序列和窗口序列。完整序列与损失误差进行concatenate操作,然后加入位置编码,随后进入完整序列编码器。窗口序列加入位置编码,随后进入窗口序列编码器。完整序列经过layernorm(完整序列 mu l t i headatt(完整序列,完整序列,完整序列))得到完整序列编码器过程1结果,然后经过layernorm(完整序列编码器过程1结果 feedforwward(完整序列编码器过程1结果))得到完整序列编码器过程2结果。窗口序列经过mask(mu l t i headatt(窗口序列,窗口序列,窗口序列))得到窗口序列编码器过程1结果,然后经过layernorm(窗口序列 窗口序列编码器过程1结果)得到窗口序列编码器过程2结果,最后与完整序列编码器过程2结果一起完成窗口序列编码器过程3layernorm(窗口序列编码器过程2 mu l t i headatt(完整序列编码器过程2结果,完整序列编码器过程2结果,窗口序列编码器过程2结果))。完成上述操作后将输出分别交给两个结构相同的解码器(sigmoid(feedforwward(窗口序列编码器过程3))),解码器1的输出与窗口序列计算损失l1,第一阶段输出为o1,o2,l1,l2,至此第一阶段结束。
55.其中,
56.multiheadatt(q,k,v)=concat(h1,...,hh),
57.where hi=attention(qi,ki,vi).
[0058][0059][0060]
式中,n训练迭代次数,∈是一个训练参数接近1,o1、o2是阶段1输出,是阶段2输出,w是窗口序列。
[0061]
第二阶段输入分别为l1,完整序列和窗口序列,其余步骤与第一阶段相同,第二阶段输出通过下面的公式计算结果是否大于阈值判断用户行为序列是否异常。
[0062][0063]
其中,s是分数,为输入的串口数据,如果这个分数大于阈值就说明是有问题的。
[0064]
catboost是一个现有的应用很成熟的模型,本实施例使用用户行为特征、用户角色特征、用户行为时序模型结果组成模型的输入特征,输入该模型中,模型的输出是对用户
行为是否异常的分类。
[0065]
s3:如果用户行为被检测为异常,自动根据预先设置的模板结合用户信息和用户行为信息生成告警信息。
[0066]
具体地,如果用户行为被模型检测为异常,将自动根据预先设置的模板结合用户信息,用户行为信息生成告警信息,并将告警信息推送给相关运维人员。
[0067]
本实施例的技术方案从三个维度对用户行为进行检测(用户所属角色、用户行为以及用户行为时间序列),与现有算法完全不同。尤其是用户行为时间序列模型,对传统的transformer模型进行了深度重构,采用了编码器、窗口编码器、双解码器的结构并且融入了对抗网络的思想,大幅度提高了模型的f1值。除此之外,本实施例的检测方法还将用户角色、用户行为以及用户行为时序序列作为特征输入catboost树模型判断用户行为是否异常。通过以上步骤,大幅度提高了用户行为异常检测的准确率,有效的降低了误报率和漏报率,使企业运维人员可以第一时间发现来自企业内部的攻击,并采取有效措施。
[0068]
实施例2
[0069]
图3是基于机器学习的用户行为异常检测装置示意图。如图3所示,本发明还提供了一种基于机器学习的用户行为异常检测装置,所述装置包括:
[0070]
处理模块301,用于采集用户行为日志信息,对所述用户行为日志信息进行预处理,得到预设格式的用户行为日志信息;
[0071]
检测模块302,用于从所述预设格式的用户行为日志信息中获取用于用户行为异常检测的参数,将所述参数输入到用户行为异常检测模型中,对用户行为是否异常进行检测;
[0072]
告警模块303,用于如果用户行为被检测为异常,自动根据预先设置的模板结合用户信息和用户行为信息生成告警信息。
[0073]
优选地,所述用于用户行为异常检测的参数包括用户行为特征,所述用户行为特征包括用户行为日志信息中的用户行为以及所述用户行为对应的数值。
[0074]
优选地,所述用于用户行为异常检测的参数包括用户角色行为特征,所述检测模块302从所述预设格式的用户行为日志信息中获取用于用户行为异常检测的参数包括:
[0075]
根据所述用户行为日志信息中的用户名获取当前用户角色信息,通过计算属于同一角色的用户行为特征的平均值,得到用户角色行为特征平均值;
[0076]
将当前用户行为特征对应的数值减去用户角色行为特征平均值,得到用户角色行为特征。
[0077]
优选地,所述用于用户行为异常检测的参数包括用户行为时间序列,所述用户行为时间序列是按用户行为的发生时间顺序对用户行为进行排序得到的。
[0078]
优选地,所述检测模块302还用于:
[0079]
将所述用户行为时间序列输入到时序异常检测模型,检测用户行为时间序列是否异常;
[0080]
所述检测模块302将所述参数输入到用户行为异常检测模型中,对用户行为是否异常进行检测包括:
[0081]
将所述用户行为特征、所述用户角色行为特征、所述用户行为时间序列输入到catboost模型中,对用户行为是否异常进行分类。
[0082]
本实施例2中各个模块所实现的功能的具体实施过程与实施例1中的各个步骤的实施过程相同,在此不再赘述。
[0083]
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献