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

异常检测方法、模型训练方法以及相关装置与流程

2022-03-01 18:01:05 来源:中国专利 TAG:


1.本技术涉及本技术涉及数据处理技术领域,尤其涉及一种异常检测方法、模型训练方法以及相关装置。


背景技术:

2.互联网的兴起标志着信息时代的到来,随着互联网走入千家万户,数据信息井喷式增长。与此同时,攻击者使用非法手段盗取账号信息、获取隐私数据等,对用户的隐私和资产构成了巨大的威胁,为了保护企业和个人的关键信息、数据等不被窃取盗用,通常需要对用户账号的行为进行检测,便于对越权操作、异地登录等的异常行为进行相应的安全响应。尤其是对于云服务账号中的资源账号来说,行为检测变得至关重要,因为资源账号控制着所有的可用资源的分配和权限控制,一旦这些账号信息泄露,对于旨在于此盈利的云服务厂商来说,是巨大的利益流失和安全信誉的损失。
3.目前用户异常行为检测通常使用基于规则的方法和基于数据特征的方法,但是特征工程与基于规则的分析方法都依赖人工建立规则或者特征,大多只能对单一的行为进行分析,而通常行为数据的特征较多、数据量较大,某些关键变量特征可能会被其他大量变量特征所掩盖,最终导致异常检测的效率较低、准确率也不尽如人意,无法满足用户的需求。
4.因此,如果提高异常检测的效率和准确率是本领域技术人员正在研究的热点问题。


技术实现要素:

5.本技术实施例公开了一种异常检测方法、模型训练方法以及相关装置,能够提高异常检测的效率和准确率。
6.第一方面,本技术实施例公开了一种异常行为检测方法,包括:
7.提取第一会话,其中,所述第一会话用于描述预设时间长度内操作第一账号时的行为特征和时间特征,所述时间特征用于反映所述行为特征在时序上的关联性;
8.将所述第一会话输入目标自编码器ae模型中,得到检测结果;其中,所述检测结果用于指示完成所述第一会话的操作是否为正常操作;所述目标ae模型为将至少两项会话的数据输入ae模型训练所得,所述至少两项会话中每个会话用于描述预设时间长度内正常操作目标账号时的行为特征和时间特征。
9.本技术实施例中,使用自编码器(autoencoder)对操作行为对应的第一会话进行检测,一方面,由于自编码器是无监督式的训练,无需构建特征工程或规则集合,避免了经验为主的异常检测,减少了研究人员大量的研究投入,提高了异常检测的效率。另一方面,第一会话中包含操作行为的行为特征和时间特征,且会话反映了行为特征在时序上的关联性,因此训练得到的自编码模型,在检测时可以按时间顺序形成行为序列进行异常检测,而不是对单个行为进行检测,有助于对除关键特征外的时序性异常行为特征检测,提高了异常检测的准确率。
10.在第一方面的一种可能的实施方式中,所述将所述第一会话输入目标ae模型中,得到检测结果,包括:
11.将所述第一会话输入所述目标ae模型中,得到第一重构会话;
12.根据所述第一会话和第一重构会话,确定第一重构误差;
13.若第一重构误差大于或者等于第一阈值,则所述检测结果用于指示完成所述第一会话的操作不为正常操作;其中,所述第一阈值为将多个会话的数据输入所述目标ae模型所得。
14.在第一方面的又一种可能的实施方式中,所述提取第一会话,包括:
15.获取多条操作行为数据,所述多条操作行为数据中的每一条操作行为数据用于描述操作一个账号的行为特征和时间特征;
16.按照预设划分粒度,对所述多条操作行为数据进行划分,得到第一数据集合;所述第一数据集合中包括至少一条操作行为数据;
17.根据第一数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话。
18.在第一方面的又一种可能的实施方式中,所述预设时间长度为15分钟;所述根据第一数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话,包括:
19.根据第一数据集合中数据的时序关系,按照15分钟的时间长度划分得到第一会话;所述第一会话中包括15分钟内的n条操作行为数据;所述n条数据中的每一条数据包括q个特征,所述q个特征用于指示所述行为特征和所述时间特征。
20.在第一方面的又一种可能的实施方式中,所述行为特征包括网际互连协议ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔中的至少一个;所述预设划分粒度包括ip地址、mac地址、账号id或操作地点中的至少一项。
21.第二方面,本技术实施例公开了一种自编码器ae模型训练方法,包括:
22.提取至少两项会话,其中,每项会话用于描述预设时间段内正常操作目标账号时的行为特征和时间特征,每项会话中的时间特征用于反映每项会话中的行为特征在时序上的关联性;
23.根据所述至少两项会话训练ae模型,得到目标ae模型,其中,所述目标自编码模型用于根据第一会话检测完成所述第一会话的操作是否为正常操作。
24.本技术实施例中,通过在操作正常的操作行为数据中提取至少两项会话(session),用该至少两项会话对自编码器进行训练,得到目标自编码器模型。由于至少两项会话为确认为操作正常的数据,用该至少两项会话训练得到的目标ae模型,对于正常操作对应的会话来说,输出的得到重构会话不会与原本的输入会话偏差太多,从而能够有效捕捉正常账号行为之间的内在相似性与共同点。与此同时,异常操作得到的会话由于操作是异常的,因此输入编码器后,最终得到的重构会话会偏离原本的输入会话较多,从而可以被该模型检测出来。
25.一方面,由于自编码器是无监督式的训练,无需构建特征工程或规则集合,避免了经验为主的异常检测,减少了研究人员大量的研究投入,提高了异常检测的效率。另一方面,每项会话中包含操作的行为特征和时间特征,且会话反映了行为特征在时序上的关联
性,因此训练得到的自编码模型,在检测时可以按时间顺序形成行为序列进行异常检测,而不是对单个行为进行检测,有助于对除关键特征外的时序性异常行为特征检测,提高了异常检测的准确率。
26.在第二方面的一种可能的实施方式中,所述方法还包括:
27.将所述至少两项会话输入所述目标ae模型中,得到至少两项重构误差;
28.根据所述至少两项重构误差,确定第一阈值;所述第一阈值用于衡量完成第一会话的操作是否为正常操作。
29.在第二方面的又一种可能的实施方式中,所述根据所述至少两项重构误差,确定第一阈值,包括:
30.根据所述至少两项重构误差的分布情况,确定所述第一阈值。
31.在第二方面的又一种可能的实施方式中,所述方法还包括:
32.提取多项会话,所述多项会话中的一部分会话用于描述预设时间段内正常操作第一目标账号时的行为特征和时间特征,所述多项会话中的另一部分会话用于描述预设时间段内异常操作第二目标账号时的行为特征和时间特征;
33.根据所述多项会话和所述第一阈值验证所述目标ae模型;若根据所述目标ae模型检测出的异常操作对应的会话的数量大于或者等于第二阈值,则表征所述目标ae模型训练完成。
34.在第二方面的又一种可能的实施方式中,所述提取至少两项会话,包括:
35.获取多条操作行为数据,所述多条操作行为数据中的每一条操作行为数据用于描述正常操作所述目标账号的行为特征和时间特征;
36.按照预设划分粒度,对所述多条操作行为数据进行划分,得到目标数据集合;
37.根据所述目标数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述至少两项会话。
38.在第二方面的又一种可能的实施方式中,所述预设时间长度为15分钟;所述根据所述目标数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述至少两项会话,包括:
39.根据目标数据集合中数据的时序关系,按照15分钟的时间长度划分得到至少两项会话;所述至少两项会话中的每一个会话包括15分钟内的至少1条操作行为数据;所述至少1条数据中的每一条数据包括q个特征,所述q个特征用于指示所述行为特征和所述时间特征;其中,q大于等于1。
40.在第二方面的又一种可能的实施方式中,所述获取多条操作行为数据,包括:
41.从统一身份认证服务iam的日志中,选取得到多个样本;所述多个样本包括多个日期中多个时间段正常操作所述目标账号时的数据;
42.从所述多个样本中,过滤网际互连协议ip地址属于白名单登录ip的样本;
43.对过滤后的多个样本进行分组、重新编码和字符串匹配,得到所述多条操作行为数据。
44.在第二方面的又一种可能的实施方式中,所述行为特征包括ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔中的至少一个;所述预设划分粒度包括ip地址、mac地址、账号id或操作
地点中的至少一项。
45.在第二方面的又一种可能的实施方式中,所述根据所述至少两项会话训练自编码模型,得到目标自编码模型,包括:
46.将所述至少两项会话输入所述ae模型中,得到至少两项重构会话;
47.根据所述至少两项会话和所述至少两项重构会话,通过梯度下降算法更新所述ae模型,得到所述目标ae模型。
48.在第二方面的又一种可能的实施方式中,所述将所述至少两项会话输入所述自编码模型中,得到至少两项重构会话,包括:
49.根据所述至少两项会话,建立输入矩阵;
50.基于所述ae模型,对所述输入矩阵进行编码、解码,得到输出矩阵;所述输出矩阵包括所述至少两项重构会话。
51.第三方面,本技术实施例公开了一种异常行为检测装置,包括:
52.提取单元,用于提取第一会话,其中,所述第一会话用于描述预设时间长度内操作第一账号时的行为特征和时间特征,所述时间特征用于反映所述行为特征在时序上的关联性;
53.检测单元,用于将所述第一会话输入目标自编码器ae模型中,得到检测结果;其中,所述检测结果用于指示完成所述第一会话的操作是否为正常操作;所述目标ae模型为将至少两项会话的数据输入ae模型训练所得,所述至少两项会话中每个会话用于描述预设时间长度内正常操作目标账号时的行为特征和时间特征。
54.在第三方面的一种可能的实施方式中,所述检测单元,具体用于:
55.将所述第一会话输入所述目标ae模型中,得到第一重构会话;
56.根据所述第一会话和第一重构会话,确定第一重构误差;
57.若第一重构误差大于或者等于第一阈值,则所述检测结果用于指示完成所述第一会话的操作不为正常操作;其中,所述第一阈值为将多个会话的数据输入所述目标ae模型所得。
58.在第三方面的一种可能的实施方式中,所述提取单元,具体用于:
59.获取多条操作行为数据,所述多条操作行为数据中的每一条操作行为数据用于描述操作一个账号的行为特征和时间特征;
60.按照预设划分粒度,对所述多条操作行为数据进行划分,得到第一数据集合;所述第一数据集合中包括至少一条操作行为数据;
61.根据第一数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话。
62.在第三方面的一种可能的实施方式中,述预设时间长度为15分钟;所述提取单元,具体用于:
63.根据第一数据集合中数据的时序关系,按照15分钟的时间长度划分得到第一会话;所述第一会话中包括15分钟内的n条操作行为数据;所述n条数据中的每一条数据包括q个特征,所述q个特征用于指示所述行为特征和所述时间特征。
64.在第三方面的一种可能的实施方式中,所述行为特征包括网际互连协议ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、
请求失败原因或请求时间间隔中的至少一个;所述预设划分粒度包括ip地址、mac地址、账号id或操作地点中的至少一项。
65.第四方面,本技术实施例公开了一种自编码器ae模型训练装置,包括:
66.提取单元,用于提取至少两项会话,其中,每项会话用于描述预设时间段内正常操作目标账号时的行为特征和时间特征,每项会话中的时间特征用于反映每项会话中的行为特征在时序上的关联性;
67.训练单元,用于根据所述至少两项会话训练ae模型,得到目标ae模型,其中,所述目标自编码模型用于根据第一会话检测完成所述第一会话的操作是否为正常操作。
68.在第四方面的一种可能的实施方式中,所述训练单元,还用于将所述至少两项会话输入所述目标ae模型中,得到至少两项重构误差;
69.所述训练单元,还用于根据所述至少两项重构误差,确定第一阈值;所述第一阈值用于衡量完成所述第一会话的操作是否为正常操作。
70.在第四方面的一种可能的实施方式中,所述训练单元,还用于:
71.根据所述至少两项重构误差的分布情况,确定所述第一阈值。
72.在第四方面的一种可能的实施方式中,所述提取单元,还用于提取多项会话,所述多项会话中的一部分会话用于描述预设时间段内正常操作第一目标账号时的行为特征和时间特征,所述多项会话中的另一部分会话用于描述预设时间段内异常操作第二目标账号时的行为特征和时间特征;
73.所述装置还包括:验证单元,用于根据所述多项会话和所述第一阈值验证所述目标ae模型;若根据所述目标ae模型检测出的异常操作对应的会话的数量大于或者等于第二阈值,则表征所述目标ae模型训练完成。
74.在第四方面的一种可能的实施方式中,所述提取单元,具体用于:
75.获取多条操作行为数据,所述多条操作行为数据中的每一条操作行为数据用于描述正常操作所述目标账号的行为特征和时间特征;
76.按照预设划分粒度,对所述多条操作行为数据进行划分,得到目标数据集合;
77.根据所述目标数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话。
78.在第四方面的一种可能的实施方式中,所述预设时间长度为15分钟;所述提取单元,具体用于:
79.根据目标数据集合中数据的时序关系,按照15分钟的时间长度划分得到至少两项会话;所述至少两项会话中的每一个会话包括15分钟内的至少1条操作行为数据;所述至少1条数据中的每一条数据包括q个特征,所述q个特征用于指示所述行为特征和所述时间特征;其中,q大于等于1。
80.在第四方面的一种可能的实施方式中,所述提取单元,具体用于:
81.从统一身份认证服务iam的日志中,选取得到多个样本;所述多个样本包括多个日期中多个时间段正常操作所述目标账号时的数据;
82.从所述多个样本中,过滤网际互连协议ip地址属于白名单登录ip的样本;
83.对过滤后的多个样本进行分组、重新编码和字符串匹配,得到所述多条操作行为数据。
84.在第四方面的一种可能的实施方式中,所述行为特征包括ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔中的至少一个;所述预设划分粒度包括ip地址、mac地址、账号id或操作地点中的至少一项。
85.在第四方面的一种可能的实施方式中,所述训练单元,具体用于:
86.将所述至少两项会话输入所述ae模型中,得到至少两项重构会话;
87.根据所述至少两项会话和所述至少两项重构会话,通过梯度下降算法更新所述ae模型,得到所述目标ae模型。
88.在第四方面的一种可能的实施方式中,所述训练单元,具体用于:
89.根据所述至少两项会话,建立输入矩阵;
90.基于所述ae模型,对所述输入矩阵进行编码、解码,得到输出矩阵;所述输出矩阵包括所述至少两项重构会话。
91.第五方面,本技术实施例公开了一种业务节点,所述业务节点包括处理器和存储器;所述处理器用于执行所述存储器存储的计算机指令,使得所述业务节点实现第一方面或者第一方面任意一种可能的实施方式所描述的方法。
92.第六方面,本技术实施例公开了一种服务器,所述服务器包括处理器和存储器;所述处理器用于执行所述存储器存储的计算机指令,使得所述服务器实现第二方面或者第二面任意一种可能的实施方式所描述的方法。
93.第七方面,本技术实施例公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令用于实现第一方面或者第一方面任意一种可能的实施方式所描述的方法,或者所述计算机指令用于实现第二方面或者第二方面任意一种可能的实施方式所描述的方法。
94.第八方面,本技术实施例公开了一种异常检测系统,所述异常检测系统包括业务节点和服务器,所述业务节点包含第三方面或者第三方面的任意一种可能的实现方式所描述的异常检测装置,所述服务器包含第四方面或者第四方面的任意一种可能的实现方式所描述的模型训练装置。
附图说明
95.以下对本技术实施例用到的附图进行介绍。
96.图1是本技术实施例提供的一种异常检测系统的架构示意图;
97.图2是本技术实施例提供的又一种异常检测系统的架构示意图;
98.图3是本技术实施例提供的又一种异常检测系统的架构示意图;
99.图4是本技术实施例提供的又一种异常检测系统的架构示意图;
100.图5是本技术实施例提供的一种异常检测系统的结构示意图;
101.图6是本技术实施例提供的又一种异常检测系统的架构示意图;
102.图7是本技术实施例提供的一种模型训练方法的流程示意图;
103.图8是本技术实施例提供的一种会话的结构示意图;
104.图9是本技术实施例提供的一种操作行为数据的结构示意图;
105.图10是本技术实施例提供的一种自编码器ae模型的结构示意图;
106.图11是本技术实施例提供的一种异常检测方法的流程示意图;
107.图12是本技术实施例提供的又一种异常检测方法的流程示意图;
108.图13是本技术实施例提供的一种异常检测装置的结构示意图;
109.图14是本技术实施例提供的一种模型训练装置的结构示意图;
110.图15是本技术实施例提供的一种业务节点的结构示意图;
111.图16是本技术实施例提供的一种模型训练服务器的结构示意图。
具体实施方式
112.下面结合本技术实施例中的附图对本技术实施例进行描述。需要说明的是,本技术中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
113.下面先对本技术涉及到的相关技术和专业术语进行简单的介绍以方便理解。
114.一、深度学习(deep learning)
115.深度学习是机器学习的分支,是一种以人工神经网络为架构,对数据进行表征学习的算法。深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
116.二、自编码器(autoencoder)
117.自编码器(autoencoder)是在无监督学习中对数据使用的一种人工神经网络,属于seq2seq模型的一种。自编码器通常包含编码器(encoder)和解码器(decoder)两部分,对具有时序性的数据具有一般意义上表征学算法的功能,常用于降维和异常值检测。
118.三、统一身份认证服务(identity and access management,iam)
119.iam是云服务供应商提供身份认证和权限管理的基础服务,帮助用户安全地控制云服务和资源的操作权限。
120.下面对本技术实施例的系统架构和业务场景进行描述。需要说明的是,本技术描述的系统架构及业务场景是为了更加清楚的说明本技术的技术方案,并不构成对于本技术提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术提供的技术方案对于类似的技术问题,同样适用。
121.请参见图1,图1是本技术实施例提供的一种异常检测系统10的示意图,该异常检测系统30包括内部网络服务器101和模式生成服务器102,其中,审计人员根据内部网络服务器101进行审计数据的采集。模式生成服务器102针对采集的审计数据,使用相应的关联规则或序列模式进行分析,然后将分析得到的行为模式与正常的行为模式进行比对,得到模式比较结果。一方面对正常行为模式库进行持续补充,另一方面对极少数的确认越权、异地登录等的异常行为模式进行相应的审计安全响应,这种方法需要对数据背后的行为模式进行分析,随着业务的越来越复杂,行为模式也越来越复杂,不能满足用户对复杂业务系统的异常检测的需求。
122.请参见图2,图2是本技术实施例提供的又一种异常检测系统20的示意图,该异常检测系统20通过规则集202来处理待检测数据201得到“判定正常”的检测结果204和“判定
异常”的检测结果205。例如,待检测数据201可以包含一段时间内某一ip所请求登录的次数、请求成功率、请求方法等指标。在构建规则集202的过程中,异常行为由一条或多条规则构成,例如参见区域203可知,规则集可以包括请求次数、请求成功率、请求方法等等。这些规则可以是规定了统计量的阈值(例如请求次数超过某一阈值),或者也可以是明确声明了变量的取值。进一步的,规则与规则之间通常使用与或非等逻辑连接要素连接在一起形成复合规则,从而达到异常行为分析的目的。但是,基于规则的异常行为分析需要对业务充分的理解和专家的投入,当异常行为的场景逐渐增加,不仅人力成本耗用巨大,规则集合也会逐渐膨胀,规则之间耦合度较大,对于已有的规则进行梳理往往更加困难。另一方面,由于规则集合十分明确,这也给黑客绕过检测留下了可能性。黑客可以有针对性地进行侵入,这会带来更大的信息安全隐患。
123.请参见图3,图3是本技术实施例提供的又一种异常检测系统30的示意图,异常检测系统30的数据处理模块301用对对数据缺失、数据重复、数据错误等情况进行处理,使得数据成为标准化数据。特征工程模块302用于从标准数据化数据中提取用于区分正常和异常行为的关键特征,或者还可以进行向量化。学习算法模块303可以是孤立森林(isolation forest)、一类支持向量机(one-class svm)等都是常用的异常点检测或奇异点检测的算法,用于建立算法模型304。该算法模型304可以用于部署在业务节点中作为部署模型306,该部署模型306可以用于对真实数据305进行检测,得到判定结果。但是,该异常检测系统的表现很大程度依赖于特征工程的选择和实施,而是否是有效的特征工程与基于规则进行分析的方法一样取决于研究人员宝贵的经验。在网络安全领域,正常行为是占据绝大多数的主体,且他们之间的相似度很高;而异常行为是罕见的,且各有各的不同,研究人员很难用某种场景概括出所有异常行为的共同特征,这就使得特征工程不可能抓住本不存在的共性的特征。随着时间的推移,新的异常行为的变种会产生,旧的模型也会因为表现的下降而需要定期更新,这大大浪费了研究人员的精力。
124.请参见图4,图4是本技术实施例提供的又一种异常检测系统40的架构示意图,包括模型训练服务器401和业务节点402。
125.其中,模型训练服务器401是具有数据处理能力的电子设备,该模型训练服务器401包含ae模型,该模型训练服务器401可以根据训练数据对ae模型进行训练,得到目标ae模型。该目标ae模型可以部署在业务节点402中,用于对用户操作的操作行为数据进行检测,从而判定用户的操作是否异常。其中,该训练数据为确认为操作正常的数据,对ae模型进行训练时需要将数据处理为会话数据,而ae模型可以对具有时序性的异常行为进行编码和解码,对数据进行重构。具体的,由于训练数据为确认为操作正常的数据,用该训练数据进行编码、解码,输出的得到重构数据不会过多偏离原本结果,从而能够有效捕捉正常账号行为之间的内在相似性与共同点。与此同时,异常账号行为会由于数据本身是罕见的原因,经过编码和解码过程后,最终得到的重构数据偏离原本结果较多,从而可以被该模型检测出来。
126.业务节点402是具有数据收发能力的电子设备,具体可以用于实现通过账号访问某一业务功能。例如,部署有iam的服务器可以看作是402,该目标ae模型可以用于检测统一身份认证服务的日志,从而实现异常行为分析。再如,部署有网络应用防火墙(web application firewall,waf)的应用服务器可以看作是业务节点402,该目标ae模型可以用
于应用服务器上对用户登录的行为进行异常拦截分析。再如,态势感知平台也可以看作是业务节点402,该目标ae模型可以用于态势感知平台,通过对接用户登录行为的数据,从而进行数据展示与数据分析。
127.在一种可能的实施方式中,该异常检测系统40可以包含算法层、管理层、数据层三个层次。参见图5,图5是本技术实施例中提供的一种可能的异常检测系统的结构示意图,该异常检测系统可以为图4所示的异常检测系统40,该系统包括算法层501、管理层502和数据层503,其中:
128.算法层501作为整个系统最顶层,可以包含数据清洗,数据向量化,模型训练等深度学习的算法实现。算法层501包括数据清洗模块、数据向量化模块、神经网络训练模块和深度学习模块,该数据清洗模块用于对训练所用到的数据进行清洗、去除无效数据等;数据向量化模块用于对训练所用到的数据进行编码等;神经网络训练模块、深度学习模块用于根据训练数据对自编码模型进行训练。
129.管理层502作为连接数据层和算法层的重要组成部分,可以解决作业调度,数据对接,数据存储以及数据生命周期管理的问题。可选的,该管理层502具体可以包括作业调度模块、数据对接模块、数据存储模块和数据生命周期管理模块,该作业调度模块用于管理训练的作业进度、或者还可以用于调度训练数据等等;数据对接模块用于对接算法层和管理层的数据等;数据存储模块用于为训练结果、或者数据清洗结果、或者模型输出的结果等数据安排存储空间;数据生命周期管理模块用于对数据的有效期进行管理、或者还可以用于对一些过期的数据进行清理等等。
130.数据层503提供底层数据来源的问题,可以包括用于训练的黑白样本,用于检测的服务或设备日志,其他需要的关联重要数据,以及数据结果的展示。可选的,该数据层503具体可以包括训练黑白样本数据模块、服务/设备原始日志模块、结果数据模块和其它关联数据模块,该训练黑白样本数据模块用于采集或者以及存储黑白样本数据等,其中黑样本为确认存在操作异常的样本,白样本为确认操作正常的样本;服务/设备原始日志模块用于获取服务器或者其它执行业务的设备的日志等,该日志可以用于获取黑白样本数据;结果数据模块用于存储训练结果、或者数据清晰结果、或者模型输出的结果等数据;其它关联数据模块用于存储白名单ip地址、和其它操作数据等等。
131.可以理解的,模型训练服务器401可以是一个独立的服务器,也可以是多个服务器组成的服务器集群。例如,参见图6,模型训练服务器401可以由训练服务器603、管理服务器602和数据服务器601三个部分组成。
132.相应的,业务节点402可以是一个业务节点,也可以是多个业务节点组成的业务节点集群。
133.可选的,该异常检测系统40至少可以应用于以下场景中:
134.应用场景一:对云业务的租户资源分配和权限控制的监控分析。
135.应用场景二:企业对内部用户操作使用权限的监控分析。
136.应用场景三:对企业内部系统账号的安全检测。
137.应用场景四:企业对外部租户操作使用权限的安全检测。
138.请参见图7,图7是本技术实施例提供的一种模型训练方法,该方法包括但不限于如下步骤:
139.步骤s701:模型训练服务器提取至少两项会话。
140.具体地,至少两项会话(session)中的每项会话用于描述预设时间段内正常操作目标账号时的行为特征和时间特征,每项会话中的时间特征用于反映每项会话中的行为特征在时序上的关联性。可选的,行为特征包括网际互连协议(internet protocol,ip)地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔等等中的一个或者多个。
141.例如,参见图8,图8是本技术实施例提供的一种可能的会话80的结构示意图,会话80横向包括3行数据,分别为a1,a2,a3,纵向包括12列,分别为b1-b12。其中,a1,a3,a3可以为时间顺序从远到近排列的,其中的一列或者多列数据用于指示操作目标账号的一个行为特征或者一个时间特征。例如,b1、b2两列用于指示操作目标账号时发出的请求(request)的请求方式,该请求方式可以为基于“账号密码”请求方式以及“委托请求”请求方式以及其他的一些请求方式,其中,b1为0,b2为1可以指示基于“账号密码”请求方式。可以理解的,图8所示的会话80中的行为特征和时间特征仅为举例,具体实现过程中会话80可以不包括会话80中所示的部分特征,也可以还包括未在图8中示出的其他特征。
142.可选的,该至少两项会话可以是从多条操作行为数据中提取的,该所述多条操作行为数据中的每一条操作行为数据用于描述正常操作所述目标账号的行为特征和时间特征。
143.例如,参见图9,图9是本技术实施例提供的一种操作行为数据的结构示意图,包括操作行为数据901、操作行为数据902、操作行为数据903、操作行为数据904和操作行为数据905等,该多条操作数据包括请求时间、请求方式、请求结果、ip地址、账号id、请求url、间隔、请求地点,其中,请求时间可以为时间戳(timestamp)格式的数据(当然也可以是其他格式);请求方式可以为于“账号密码”请求方式以及“委托请求”请求方式以及其他的一些请求方式;请求结果为“成功”表示请求成功,当然,还存在其他的请求结果(例如“失败”表示请求失败等等),此处不再赘述。ip地址为发出该请求的源地址,账号id为发出该请求的身份标识,请求统一资源定位符(uniform resource locator,url)用于指示该请求对应的资源地址,间隔用于指示该次请求与上一次该账号发出请求的时间间隔,请求地点用于表示发出该请求的实际地址。可以看出,操作行为数据901、操作行为数据903、操作行为数据905是操作账号id为“0002”的账号得到的;相应的,操作行为数据902、操作行为数据903是操作账号id为“0002”的账号得到的。
144.第一节点可以对该多条操作行为数据进行处理,从而提取得到至少两项会话。例如,第一节点按照预设划粒度,对多条操作行为数据进行划分,得到目标数据集合。可选的,预设的划分力度可以包括ip地址、mac地址、账号id或请求地点等等中的一项或者多项。例如,参见图9,多条操作行为数据按照ip地址进行划分,可以得到数据集合901(其中包括序号1和序号3的操作行为数据)、数据集合907(其中包括序号2和序号4的操作行为数据)、数据集合908(其中包括序号5的操作行为数据)。再如,多条操作行为数据按照账号id进行划分,可以得到数据集合909(其中包括序号1、序号3和序号5的操作行为数据)、数据集合910其中包括序号2和序号4的操作行为数据)。进一步的,第一节点根据所述目标数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话,例如,第一节点根据数据集合909中的数据的时序关系,按照15分钟为时间窗进行划分,将15分钟这一时间长度内的
数据作为一个会话。可选的,该至少两个会话的行数可以是相同的,例如至少两项会话的行数为n,对于操作行为数据不足n条的,提取得到的会话其余的行可以用0补齐。
145.可以看出,在一种可能的实施方案中,提取至少两项会话,至少可以包括如下步骤:获取多条操作行为数据;按照预设划分粒度,对所述多条操作行为数据进行划分,得到目标数据集合;根据所述目标数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述至少两项会话。
146.可以理解的,本技术中为了方便描述,所以将操作行为数据表示为方便理解的形式,在实际处理中,操作行为数据可以为经过编码后得到的字符,例如图8所示的会话结构的一行为一条操作行为数据得到的。可选的,操作行为的编码与行为特征的类别有关,具体的,特征可以存在三种类别,分别为分类特征(无大小也无序列,如请求方式、ip地址、请求url等等)、数值特征(有大小,如时间间隔)、序列特征(无大小但有排序)。其中,数值特征无需重新编码;序列特征可以使用一个变量自定义大小;分类特征则需要用多个变量来表示,如使用热独编码(one-hot encoding)进行表示,例如,会话80中,b3列用于指示操作目标账号时发出的请求(request)的请求结果,其中,b3列为0可以指示请求结果为“失败”,b3列为1可以指示请求结果为“成功”。再如,b10、b11、b12三列用于指示请求地点,其中,“b10列为0,b11列为2,b12列为1”可以指示请求地点为湖北武汉,“b10列为0,b11列为1,b12列为1”可以指示请求地点为广东深圳。
147.可选的,该多条操作行为数据可以对多个样本中进行处理得到的,该样本可以是从iam中选取的。进一步可选的,模型训练服务器从统一身份认证服务iam的日志中,选取得到多个样本,所述多个样本包括多个日期中多个时间段正常操作所述目标账号时的数据。模型训练服务器从所述多个样本中,过滤ip地址属于白名单登录ip的样本。对过滤后的多个样本进行分组、重新编码和字符串匹配,得到所述多条操作行为数据。
148.可选的,在获取多个操作行为数据时,可以使用批量读入的方式,无需一次性读入大量数据。在读入下一批数据之前,可以释放掉已处理完毕的数据,避免了由于内存溢出而引发的宕机的风险。
149.可以理解的,目标账号可以为一个账号,也可以为多个账号。
150.步骤s702:模型训练服务器根据所述至少两项会话训练ae模型,得到目标ae模型。
151.具体地,ae模型是一种无监督的神经网络模型,它可以学习到输入数据的隐含特征,这称为编码(encoding,同时用学习到的新特征可以重构出原始输入数据,称之为解码(decoding),该编码器的更新需要通过损失函数来衡量由于编码解码而损失掉的信息,从而更新模型。参见图10,图10是本技术实施例提供的一种可能的ae模型的结构示意图,包括编码层905、中间量1002和解码层1003,该至少两项会话可以先输入编码层1001中,编码得到中间量1002。其中,每一项会话包括n行数据(参见图10中r1-rn为一个会话的n行数据),每一个会话逐个输入到n个编码子单元中(参见图10中c1-cn为n个编码子单元)得到编码中间量1002。该编码中间量被传递(或者复制)到解码层1003中,对应到解码层的n个解码子单元(参见图10中d1-dn为n个解码子单元),得到至少两个重构会话,该至少两个重构会话中的每一个重构会话包括n行数据(参见图10中d1-dn为一个重构会话的n行数据)。根据至少两项会话和至少两项重构会话,可以通过损失函数得到梯度下降的方向,从而通过梯度下降算法更新ae模型,使得重构会话与原本输入得会话的差别尽量小。
152.可选的,编码器和解码器通常为参数化的方程,通常使用神经网络组成,例如可以为长短期记忆神经网络(long short term memory network,lstm)、门控循环单元(gated recurrent unit,gru)等循环神经网络(recurrent neural network,rnn)中的一种或者多种。进一步可选的,编码器和解码器可以看作由两个级联网络(编码网络和解码网络)组成,编码网络负责接收输入r,并将输入通过函数h变换为中间量y,可以满足如下公式:
153.y=h(r)
154.解码网络负责将中间量y作为其输入,通过函数f得到重构的会话d,可以满足如下公式:
155.d=f(y)=f(h(r))
156.定义误差e为原始输入r与重构会话d之差,即e满足如下公式:
157.e=r
–d158.对ae模型进行训练的目标是减少均方误差(mean-square error,mse),即使得误差e尽量小。这样一来,由于至少两项会话为确认为操作正常的数据,用该至少两项会话训练得到的目标ae模型,对于正常操作对应的会话来说,输出的得到重构会话不会与原本的输入会话偏差太多,从而能够有效捕捉正常账号行为之间的内在相似性与共同点。与此同时,异常操作得到的会话由于操作是异常的,因此输入编码器后,最终得到的重构会话会偏离原本的输入会话较多,从而可以被该模型检测出来。
159.可选的,模型训练服务器可以根据至少两项会话建立输入矩阵(或者称为输入层矩阵),该输入矩阵包括该至少两项重构会话。例如,该至少两项会话可以为n个会话,表示为r
1-rn,而输入矩阵q可以满足如下公式:
160.q=[r1,r2,

,rn]
[0161]
该输入矩阵q可以输入到ae模型中,ae模型对该n个会话进行编码、解码,得到输出矩阵,该输出矩阵包括至少两项重构会话。
[0162]
可选的,该目标自编码模型用于根据第一会话检测完成第一会话的操作是否为正常操作。
[0163]
可选的,图7所示的实施例还包括步骤s703-步骤s706中的部分或者全部步骤,该步骤s703-步骤s706具体如下:
[0164]
步骤s703:模型训练服务器将所述至少两项会话输入所述目标ae模型中,得到至少两项重构误差。
[0165]
具体的,对于训练后得到的目标ae模型,可以将至少两项会话输入该目标ae模型中,得到至少两项重构会话;根据至少两项会话和至少两项重构会话,可以确定至少两项重构误差。
[0166]
步骤s704:模型训练服务器根据至少两项重构误差,确定第一阈值。
[0167]
具体的,所述第一阈值用于衡量完成所述第一会话的操作是否为正常操作。例如,根据该至少两项重构误差为确定的第一阈值为215.0,且大于(或者大于等于)第一阈值的会话对应的操作异常。在这种情况下,若将第一会话(该第一会话为待检测的会话)输入该目标ae模型,得到的重构误差为216.5,则完成该第一会话的操作为异常操作。
[0168]
步骤s705:模型训练服务器提取多项会话。
[0169]
具体的,多项会话中的一部分会话用于描述预设时间段内正常操作第一目标账号
时的行为特征和时间特征,多项会话中的另一部分会话用于描述预设时间段内异常操作第二目标账号时的行为特征和时间特征。可以理解的,第一目标账号可以为一个账号,也可以为多个账号。
[0170]
可选的,该提取多项会话的操作可以参考步骤s701中提取至少两项会话的相关操作,此处不再赘述。
[0171]
可选的,该用于描述预设时间段内正常操作第一目标账号时的行为特征和时间特征的会话可以是在白样本中提取的,该白样本可以为确认操作正常的日志或者操作行为数据等等。相应的,用于描述预设时间段内异常操作第二目标账号时的行为特征和时间特征的会话可以是在黑样本中提取的,该黑样本可以为确认操作异常的日志或者操作行为数据等等。
[0172]
步骤s706:模型训练服务器根据多项会话验证目标ae模型。
[0173]
具体地,若根据目标ae模型检测出的异常操作对应的会话的数量或者比例大于或者等于第二阈值,则表征所述目标ae模型训练完成。例如,步骤s705中的多项会话中,存在2个正常操作对应的会话,以及8个异常操作对应的会话,该第二阈值可以为7个,即若检测出的异常操作对应的会话的数量为7个,则表征训练完成。相应的,该第二阈值也可以是比例,如若根据目标ae模型检测出的异常操作对应的会话的比例大于或者等于80%,则表征目标ae模型训练完成。
[0174]
可选的,若根据目标ae模型检测出的异常操作对应的会话的数量或者比例小于或者小于等于第二阈值,则可以对目标ae模型进行再次训练,直到达到期望的效果为止。
[0175]
可选的,该模型训练服务器可以将目标ae模型发送给业务节点,或者通过管理人员将目标ae模型部署在业务节点中,用于业务节点根据第一会话检测完成所述第一会话的操作是否为正常操作。
[0176]
可选的,该目标ae模型也可以称为会话自编码器(session autoencoder)。
[0177]
在图7所描述的方法中,通过在操作正常的操作行为数据中提取至少两项会话(session),用该至少两项会话对自编码器进行训练,得到目标自编码器模型。由于至少两项会话为确认为操作正常的数据,用该至少两项会话训练得到的目标ae模型,对于正常操作对应的会话来说,输出的得到重构会话不会与原本的输入会话偏差太多,从而能够有效捕捉正常账号行为之间的内在相似性与共同点。与此同时,异常操作得到的会话由于操作是异常的,因此输入编码器后,最终得到的重构会话会偏离原本的输入会话较多,从而可以被该模型检测出来。
[0178]
一方面,由于自编码器是无监督式的训练,无需构建特征工程或规则集合,避免了经验为主的异常检测,减少了研究人员大量的研究投入,提高了异常检测的效率。另一方面,每项会话中包含操作行为的行为特征和时间特征,且会话反映了行为特征在时序上的关联性,因此训练得到的自编码模型,在检测时可以按时间顺序形成行为序列进行异常检测,而不是对单个行为进行检测,有助于对除关键特征外的时序性异常行为特征检测,提高了异常检测的准确率。
[0179]
请参见图11,图11是本技术实施例提供的一种异常检测方法,该方法包括但不限于如下步骤:
[0180]
步骤s1101:业务节点提取第一会话。
[0181]
具体地,第一会话用于描述预设时间长度内操作第一账号时的行为特征和时间特征,所时间特征用于反映所述行为特征在时序上的关联性。可选的,行为特征包括ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔等等中的一个或者多个。
[0182]
可选的,该至少两项会话可以是从多条操作行为数据中提取的,该多条操作行为数据中的每一条操作行为数据用于描述正常操作该第一账号的行为特征和时间特征。
[0183]
第一节点可以对该多条操作行为数据进行处理,从而提取得到第一会话。例如,第一节点按照预设划粒度,对多条操作行为数据进行划分,得到第一数据集合。可选的,预设的划分力度可以包括ip地址、mac地址、账号id或请求地点等等中的一项或者多项。进一步的,第一节点根据第一标数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话,例如,第一节点根据数据集合,按照15分钟为时间窗进行划分,将15分钟这一时间长度内的数据作为第一会话。可选的,该第一会话的行数可以是预先配置或者预先定义的,例如第一会话的行数配置为n,对于操作行为数据不足n条的,提取得到的会话的其余的行可以用0补齐。
[0184]
可以看出,在一种可能的实施方案中,提取第一会话,至少可以包括如下步骤:业务节点获取多条操作行为数据,该多条操作行为数据中的每一条操作行为数据用于描述操作一个账号的行为特征和时间特征。业务节点按照预设划分粒度,对多条操作行为数据进行划分,得到第一数据集合,该第一数据集合中包括至少一条操作行为数据。业务节点根据第一数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话。
[0185]
可选的,该多条操作行为数据可以是从iam中选取的。进一步可选的,业务节点从统一身份认证服务iam的日志中,选取得到多个样本,该多个样本包括多个日期中多个时间段操作第一账号时的数据。业务节点从多个样本中,过滤ip地址属于白名单登录ip的样本。对过滤后的多个样本进行分组、重新编码和字符串匹配,得到多条操作行为数据。
[0186]
可以理解的,第一账号可以为一个账号,也可以为多个账号。
[0187]
步骤s1102:业务节点将第一会话输入目标ae模型中,得到检测结果。
[0188]
具体的,该检测结果用于指示完成第一会话的操作是否为正常操作。该目标ae模型为将至少两项会话的数据输入ae模型训练所得,该至少两项会话中每个会话用于描述预设时间长度内正常操作目标账号时的行为特征和时间特征。
[0189]
可选的,该目标ae模型可以来自于模型训练服务器。例如,模型训练服务器向业务节点发送目标ae模型,相应的,业务节点接受来自模型训练服务器的目标ae模型。进一步可选的,该目标ae模型可以是基于图7所示的模型训练方法训练所得的。
[0190]
可选的,业务节点将第一会话输入目标ae模型中,得到检测结果,具体可以为:业务节点将第一会话输入目标ae模型中,得到第一重构会话。业务节点根据第一会话和第一重构会话,确定第一重构误差。若第一重构误差大于或者等于第一阈值,则检测结果用于指示完成所述第一会话的操作不为正常操作;其中,第一阈值为将多个会话的数据输入所述目标ae模型所得。相应的,若第一重构误差小于等于或者小于第一阈值,则检测结果用于指示完成所述第一会话的操作为正常操作。
[0191]
可选的,该目标ae模型也可以称为会话自编码器(session autoencoder)。
[0192]
在图11所描述的方法中,使用自编码器(autoencoder)对操作行为对应的第一会
话进行检测,一方面,由于自编码器是无监督式的训练,无需构建特征工程或规则集合,避免了经验为主的异常检测,减少了研究人员大量的研究投入,提高了异常检测的效率。另一方面,第一会话中包含操作行为的行为特征和时间特征,且会话反映了行为特征在时序上的关联性,因此训练得到的自编码模型,在检测时可以按时间顺序形成行为序列进行异常检测,而不是对单个行为进行检测,有助于对除关键特征外的时序性异常行为特征检测,提高了异常检测的准确率。
[0193]
以上图7以及图11所示的方法实施例中包含了很多可能的实现方案,下面分别结合图12对其中的部分实现方案进行举例说明,需要说明的是,图12未解释到的相关概念或者操作或者逻辑关系可以参照图7以及图11所示实施例中的相应描述,因此不再赘述。
[0194]
请参见图12,图12是本技术实施例提供的一种异常检测方法,该方法包括但不限于如下步骤:
[0195]
步骤s1201:模型训练服务器采集多个样本。
[0196]
具体的,该样本包括确认为操作正常的白样本和确认为操作异常的黑样本。该样本可以是从iam中获取的。可选的,该白样本可以是从已验证为操作正常的日志中采用隔天阶梯式选取(即选择不同日期不同时间段的数据),黑样本则可以尽可能选择多种类型的异常行为。
[0197]
步骤s1202:模型训练服务器提取多个会话。
[0198]
具体的,多个会话(session)中的每项会话用于描述预设时间段内正常操作目标账号时的行为特征和时间特征,每项会话中的时间特征用于反映每项会话中的行为特征在时序上的关联性。可选的,行为特征包括ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔等等中的一个或者多个。
[0199]
可选的,模型训练服务器可以采用yield生成器对数据进行读取。其中,yield生成器以数据流的方式读取样本数据,逐条进行数据清洗、特征提取等基本操作,对多字段的数据的处理有很大优势,可以提高处理效率,减少内存的消耗。
[0200]
可选的,模型训练服务器提取多个会话可以包括步骤s1202a-步骤s1202c中的部分或者全部步骤,步骤s1202a-步骤s1202c具体如下:
[0201]
步骤s1202a:模型训练服务器过滤属于白名单登录ip的样本。
[0202]
具体的,在采集的多个样本中,若样本a的请求ip属于白名单登录ip,则该样本a不作为训练ae模型的数据,即过滤掉该样本a。
[0203]
步骤s1202b:模型训练服务器解析样本并提取特征。
[0204]
具体的,模型训练服务器对样本的各个字段进行分组、重新编码和正则等解析,获取数据的行为特征,得到操作行为数据。其中,数据的行为特征包括ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔等中的一个或者多个。可选的,每一条操作行为数据r可以形成一个一维向量,含有q个特征,分别为则操作行为数据r(i)满足如下公式:
[0205][0206]
步骤s1202c:模型训练服务器按照预设时间长度划分得到多个会话。
[0207]
具体的,将操作行为数据按时间顺序从远到近排序,以按照预设时间长度划分,得到多个会话(session)。每个会话包含同一时间长度内的n条数据。该n条数据可以形成二维矩阵,也即是说,会话r
(j)
满足如下公式:
[0208]r(j)
=(r
(1)
,
(2)
,

,(i)),i=1,2,

,n
[0209]
可选的,在划分得到多个会话之前,可以按照预设划分粒度,将多个操作行为数据划分得到多个数据集合,从多个数据集合中划分得到多个会话。
[0210]
进一步可选的,还可以在划分得到多个会话时确定划分粒度,例如,从多条操作行为数据中,以登录ip为划分粒度以15分钟为时间长度划分得到多个会话。
[0211]
可选的,如果会话包含的操作行为数据的条数存在差别,则选取会话中操作行为数据最多的值n作为列数,或者也可以预先配置或者预先定义列数n,对于条数不足n条的用0补齐。
[0212]
步骤s1203:模型训练服务器构建训练集会话。
[0213]
具体的,模型训练服务器可以按照预设比例,将多个会话中对应于正常操作行为的至少两项会话作为训练集会话。例如,模型训练服务器按8:2的训练集:验证集的比例随机划分所有对应于正常操作行为的会话,即,若提取的会话的数量为110个,其中100个会话为白样本中提取的会话,10个会话为黑样本中提取的会话,则训练集会话的数量为80个,且该80个会话均为白样本中提取的会话。
[0214]
可以看出,构建的训练集会话全部由正常操作对应的会话组成,用于ae模型的训练。
[0215]
步骤s1204:模型训练服务器构建验证集会话。
[0216]
具体的,由步骤s1203中划分的另一部分对应于正常操作行为的会话和对应于异常操作行为的会话组成,用于最终模型的验证。例如,若提取的会话的数量为110个,其中100个会话为白样本中提取的会话,10个会话为黑样本中提取的会话,则验证集会话的数量为30个,且其中20个会话为白样本中提取的会话,10个为黑样本中提取的会话。
[0217]
步骤s1205:模型训练服务器建立输入矩阵。
[0218]
具体的,模型训练服务器根据训练集会话建立输入矩阵,该输入矩阵也可以称为深度学习神经网络输入矩阵。可选的,该输入矩阵q1可以满足如下公式:
[0219]
q1=(r
(1)
,r
(2)
,

,r
(j)
),j=1,2,

,n1
[0220]
其中,r
(j)
为会话,n1为训练集会话的会话数量。
[0221]
相应的,模型训练服务器根据验证集会话也可以建立输入矩阵,该输入矩阵q2可以满足如下公式:
[0222]
q2=(r
(1)
,r
(2)
,

,r
(j)
),j=1,2,

,n2
[0223]
其中,r
(j)
为会话,n2为验证集会话的会话数量。
[0224]
步骤s1205:模型训练服务器对输入矩阵进行编码,输出中间量。
[0225]
具体的,模型训练服务器构建自编码器的编码层(encoder),将输入矩阵中的每一个会话输入编码单元中进行编码,得到中间量,该中间量也称为编码向量、或者中间向量等等。可选的,该会话中的每条操作行为数据可以按照从远到近的顺序依次传入n个编码单元中,该编码单元可以为长短期记忆神经网络(long short term memory network,lstm)、门控循环单元(gated recurrent unit,gru)等循环神经网络(recurrent neural network,
rnn)中的一种或者多种。
[0226]
步骤s1206:模型训练服务器对输入矩阵进行编码,输出中间量。
[0227]
具体的,模型训练服务器构建自编码器的编码层(encoder),将输入矩阵中的每一个会话输入编码单元中进行编码,得到中间量,该中间量也称为编码向量、或者中间向量等等。可选的,该会话中的每条操作行为数据可以按照从远到近的顺序依次传入n个编码单元中,该编码单元可以为长短期记忆神经网络(long short term memory network,lstm)、门控循环单元(gated recurrent unit,gru)等循环神经网络(recurrent neural network,rnn)中的一种或者多种。
[0228]
步骤s1207:模型训练服务器对中间量进行解码,得到输出矩阵。
[0229]
具体的,模型训练服务器将中间量传入解码单元进行解码,得到输出矩阵。该输出矩阵包括重构的训练集会话。其中,该解码单元可以为长短期记忆神经网络(long short term memory network,lstm)、门控循环单元(gated recurrent unit,gru)等循环神经网络(recurrent neural network,rnn)中的一种或者多种。
[0230]
具体的,模型训练服务器对中间量进行解码,得到输出矩阵,具体可以包括步骤s1207a-步骤s1207c中的部分或者全部步骤,步骤s1207a-步骤s1207c具体如下:
[0231]
步骤s1207a:模型训练服务器将中间量输入解码单元中。
[0232]
可选的,对于输入的一个会话,会话中的n条操作行为数据输入n个编码单元可以得到n个中间量,因此模型训练服务器将n个中间量依次输入n个解码单元中。对于n条会话,则重复n次输入。
[0233]
步骤s1207b:模型训练服务器构建解码单元,输出解码向量。
[0234]
具体地,将n个中间量依次传入解码单元,经过解码单元计算后都输出一个解码向量d,该解码向量d满足如下公式:
[0235]d(j)
=(d
(1)
,d
(2)
,

,d
(k)
),k=1,2,

,n
[0236]
步骤s1207b:模型训练服务器根据时序分层全连接还原解码向量矩阵得到输出层矩阵。
[0237]
具体的,根据时序分层全连接技术,得到的输出矩阵q1

满足如下公式:
[0238]
q1

=(d
(1)
,d
(2)
,

,d
(l)
),l=1,2,

,n1
[0239]
步骤s1208:模型训练服务器通过梯度下降算法对ae模型进行训练,得到目标ae模型。
[0240]
具体的,根据输入矩阵中的训练集会话和输出矩阵中重构的训练集会话的差别,通过损失函数得到梯度下降的方向,从而通过梯度下降算法更新ae模型,得到目标ae模型。
[0241]
可选的,训练过程中可以使用adam优化器进行优化,还可以使用mse作为损失函数。
[0242]
步骤s1209:模型训练服务器将训练集会话输入目标ae模型,得到多个重构误差。
[0243]
具体的,对于训练后得到的目标ae模型,可以将训练集会话输入该目标ae模型中,得到多个重构会话;根据训练集会话和多个重构会话,可以确定多个重构误差。
[0244]
步骤s1210:模型训练服务器根据多个重构误差的分布确定第一阈值。
[0245]
具体的,第一阈值用于衡量完成第一会话的操作是否为正常操作。例如,根据该多个重构误差的分布,确定第一阈值为215.0,且大于(或者大于等于)第一阈值的会话对应的
操作异常。在这种情况下,若将第一会话(该第一会话为待检测的会话)输入该目标ae模型,得到的重构误差为216.5,则完成该第一会话的操作为异常操作。
[0246]
步骤s1211:模型训练服务器将验证集会话输入目标ae模型中,得到验证结果。
[0247]
具体的,该验证集会话构建有输入矩阵q2,可以通过输入矩阵q2将验证集会话输入目标ae中,得到验证结果。该验证结果具体可以通过检测出的异常操作对应的会话的数量或者比例是否达到第二阈值来指示。
[0248]
步骤s1212:模型训练服务器确认检测出的异常操作对应的会话的数量或者比例是否达到第二阈值。
[0249]
具体的,若根据目标ae模型检测出的异常操作对应的会话的数量或者比例大于或者等于第二阈值,则表征所述目标ae模型训练完成。例如,验证即存在20个正常操作对应的会话,以及10个异常操作对应的会话,该第二阈值可以为18个,即若检测出的异常操作对应的会话的数量为18个,则表征验证成功,训练完成。相应的,该第二阈值也可以是比例,如若根据目标ae模型检测出的异常操作对应的会话的比例大于或者等于80%,则表征目标ae模型验证成功,训练完成。
[0250]
可选的,若根据目标ae模型检测出的异常操作对应的会话的数量或者比例小于或者小于等于第二阈值,则可以对目标ae模型进行再次训练,直到达到期望的效果为止。
[0251]
可选的,若目标ae模型训练完成,则可以部署在业务节点中。可选的,模型训练服务器向业务节点发送目标ae模型,相应的,业务节点接受来自模型训练服务器的目标ae模型。
[0252]
步骤s1213:业务节点采集待检测数据。
[0253]
具体的,业务节点可以定期或者不定期的采集待检测的数据,例如日志、操作行为等等。以业务节点为iam为例,iam可以每小时定时从数据桶中读取前两个小时的iam日志。
[0254]
步骤s1214:业务节点提取第一会话。
[0255]
具体的,第一会话(session)中的每项会话用于描述预设时间段内正常操作第一账号时的行为特征和时间特征,每项会话中的时间特征用于反映每项会话中的行为特征在时序上的关联性。可选的,行为特征包括ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔等等中的一个或者多个。
[0256]
可选的,第一会话可以采用yield生成器对数据进行读取。其中,yield生成器以数据流的方式读取样本数据,逐条进行数据清洗、特征提取等基本操作,对多字段的数据的处理有很大优势,可以提高处理效率,减少内存的消耗。
[0257]
可选的,第一会话提取第一会话可以包括步骤s1214a-步骤s1214c中的部分或者全部步骤,步骤s1214a-步骤s1214c具体如下:
[0258]
步骤s1214a:业务节点过滤属于白名单登录ip的样本。
[0259]
具体的,在采集的多个待检测数据中,若待检测数据a的请求ip属于白名单登录ip,则该待检测数据a不作为需要检测的数据,即过滤掉该待检测数据a。
[0260]
步骤s1214b:业务节点解析样本并提取特征。
[0261]
具体的,业务节点对待检测数据的各个字段进行分组、重新编码和正则等解析,获取数据的行为特征,得到操作行为数据。其中,数据的行为特征包括ip地址、媒体存取控制
mac地址、账号id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔等中的一个或者多个。可选的,每一条操作行为数据r可以形成一个一维向量,含有q个特征,分别为则操作行为数据r(i)满足如下公式:
[0262][0263]
步骤s1214c:业务节点按照预设时间长度划分得到第一会话。
[0264]
具体的,业务节点将操作行为数据按时间顺序从远到近排序,以按照预设时间长度划分,得到多个会话(session)。每个会话包含同一时间长度内的n条数据。该n条数据可以形成二维矩阵,也即是说,第一会话r
(j)
满足如下公式:
[0265]r(j)
=(r
(1)
,r
(2)
,

,r(i)),i=1,2,

,n
[0266]
可选的,在划分得到第一会话之前,可以按照预设划分粒度,将多个操作行为数据划分得到多个数据集合,从多个数据集合中划分得到第一会话。
[0267]
进一步可选的,还可以在划分得到第一会话时确定划分粒度,例如,从多条操作行为数据中,以登录ip为划分粒度以15分钟为时间长度划分得到第一会话。
[0268]
可选的,如果会话包含的操作行为数据的条数存在差别,则选取会话中操作行为数据最多的值n作为列数,或者也可以预先配置或者预先定义列数n,对于条数不足n条的用0补齐。
[0269]
步骤s1215:业务节点建立输入矩阵。
[0270]
具体的,业务节点根据第一会话建立输入矩阵,该输入矩阵也可以称为深度学习神经网络输入矩阵。可选的,该输入矩阵q3可以满足如下公式:
[0271]
q3=(r
(1)
,r
(2)
,

,r
(j)
),j=1,2,

,n3
[0272]
其中,r
(j)
为会话,n3为第一会话包含的会话数量。
[0273]
步骤s1216:业务节点载入目标ae模型。
[0274]
具体的,业务节点加载步骤s1208中得到的目标ae模型。
[0275]
步骤s1217:业务节点将第一会话输入目标ae模型中,得到第一重构误差。
[0276]
具体的,业务节点将第一会话输入目标ae模型中,得到第一重构会话。业务节点根据第一会话和第一重构会话,确定第一重构误差。
[0277]
步骤s1218:若重构误差超过第一阈值,业务节点反馈到告警平台。
[0278]
具体的,若第一重构误差大于或者等于第一阈值,则检测结果用于指示完成所述第一会话的操作不为正常操作。因此业务节点可以向告警平台反馈存在操作行为异常。
[0279]
可选的,若第一重构误差超过第一阈值,则目标ae模型判断存在操作行为异常,可以自动化同步到账号安全告警平台。
[0280]
进一步可选的,还可以由专家进行深入调查,如果确认异常行为,则进行风险控制并及时闭环,此黑样本可以加入验证集,用于模型后续的改进完善。
[0281]
在图11所示的实施例中,通过训练ae模型可以对不同种类的日志进行无差别的异常行为分析,与传统的机器学习算法相比应用面更广,无需专家经验即可对异常行为进行检测分析,大大减少了训练负担和人工成本。另外,对登录ip的检测采用会话机制,在一段时间内的操作行为数据属于同一个会话。在每个会话中逐条进行基本特征的提取,保留时序的特征,并作为该会话的特征矩阵输入到算法中。按时间顺序形成行为序列进行异常检
测,而不仅仅对单个行为进行检测,有助于对除关键行为外的序列性异常行为进行有效地检测。
[0282]
此外,在读入数据时,传统的方法是将数据全部读入内存中来进行预处理、向量化等操作,对于百万级别的数据读入,这会耗费大量内存空间。本技术实施例中,读入数据时使用生成器机制读入,减少了读入大量无效信息,大大节省了内存,此外,生成器机制还可以在读入的同时进行类似流式处理,所占内存处理后即刻释放掉,从而节约了内存缓解了很大程度的压力。
[0283]
上述详细阐述了本技术实施例的方法,下面提供了本技术实施例的装置。
[0284]
请参见图13,图13是本技术实施例提供的一种异常检测装置130的结构示意图,该装置130可以为业务节点,也可以为业务节点的一个器件,例如芯片或者集成电路等。该装置130可以包括提取单元1301和检测单元1302。其中,各个单元的描述如下:
[0285]
提取单元1301,用于提取第一会话,其中,所述第一会话用于描述预设时间长度内操作第一账号时的行为特征和时间特征,所述时间特征用于反映所述行为特征在时序上的关联性;
[0286]
检测单元1302,用于将所述第一会话输入目标自编码器ae模型中,得到检测结果;其中,所述检测结果用于指示完成所述第一会话的操作是否为正常操作;所述目标ae模型为将至少两项会话的数据输入ae模型训练所得,所述至少两项会话中每个会话用于描述预设时间长度内正常操作目标账号时的行为特征和时间特征。
[0287]
在一种可能的实施方式中,所述检测单元1302,具体用于:
[0288]
将所述第一会话输入所述目标ae模型中,得到第一重构会话;
[0289]
根据所述第一会话和第一重构会话,确定第一重构误差;
[0290]
若第一重构误差大于或者等于第一阈值,则所述检测结果用于指示完成所述第一会话的操作不为正常操作;其中,所述第一阈值为将多个会话的数据输入所述目标ae模型所得。
[0291]
在一种可能的实施方式中,所述提取单元1301,具体用于:
[0292]
获取多条操作行为数据,所述多条操作行为数据中的每一条操作行为数据用于描述操作一个账号的行为特征和时间特征;
[0293]
按照预设划分粒度,对所述多条操作行为数据进行划分,得到第一数据集合;所述第一数据集合中包括至少一条操作行为数据;
[0294]
根据第一数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话。
[0295]
在一种可能的实施方式中,述预设时间长度为15分钟;所述提取单元1302,具体用于:
[0296]
根据第一数据集合中数据的时序关系,按照15分钟的时间长度划分得到第一会话;所述第一会话中包括15分钟内的n条操作行为数据;所述n条数据中的每一条数据包括q个特征,所述q个特征用于指示所述行为特征和所述时间特征。
[0297]
在一种可能的实施方式中,所述行为特征包括网际互连协议ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔中的至少一个;所述预设划分粒度包括ip地址、mac地址、账号id或操作
地点中的至少一项。
[0298]
需要说明的是,各个单元的实现还可以对应参照图11或者图12所示的方法实施例的相应描述。该异常检测装置130可以为图11或者图12所示的方法实施例中的业务节点。
[0299]
在图13所描述的异常检测装置130中,使用自编码器(auto encoder)对操作行为对应的第一会话进行检测,一方面,由于自编码器是无监督式的训练,无需构建特征工程或规则集合,避免了经验为主的异常检测,减少了研究人员大量的研究投入,提高了异常检测的效率。另一方面,第一会话中包含操作行为的行为特征和时间特征,且会话反映了行为特征在时序上的关联性,因此训练得到的自编码模型,在检测时可以按时间顺序形成行为序列进行异常检测,而不是对单个行为进行检测,有助于对除关键特征外的时序性异常行为特征检测,提高了异常检测的准确率。
[0300]
本技术各实施例中,对于单元的划分仅是一种根据功能进行的逻辑划分,不作为对装置具体的结构的限定。在具体实现中,其中部分功能模块可能被细分为更多细小的功能模块,部分功能模块也可能组合成一个功能模块,但无论这些功能模块是进行了细分还是组合,装置130在视频编码的过程中所执行的大致流程是相同的。通常,每个单元都对应有各自的程序代码(或者说程序指令),这些单元各自对应的程序代码在处理器上运行时,使得该单元执行相应的流程从而实现相应功能。
[0301]
请参见图14,图14是本技术实施例提供的一种模型训练装置140的结构示意图,该装置140可以为模型训练服务器,也可以为模型训练服务器中的一个器件,例如芯片或者集成电路等。该装置140可以包括提取单元1401和检测单元1402。其中,各个单元的描述如下:
[0302]
提取单元1401,用于提取至少两项会话,其中,每项会话用于描述预设时间段内正常操作目标账号时的行为特征和时间特征,每项会话中的时间特征用于反映每项会话中的行为特征在时序上的关联性;
[0303]
训练单元1402,用于根据所述至少两项会话训练ae模型,得到目标ae模型,其中,所述目标自编码模型用于根据第一会话检测完成所述第一会话的操作是否为正常操作。
[0304]
在一种可能的实施方式中,所述训练单元1402,还用于将所述至少两项会话输入所述目标ae模型中,得到至少两项重构误差;
[0305]
所述训练单元1402,还用于根据所述至少两项重构误差,确定第一阈值;所述第一阈值用于衡量完成所述第一会话的操作是否为正常操作。
[0306]
在一种可能的实施方式中,所述训练单元,还用于:
[0307]
根据所述至少两项重构误差的分布情况,确定所述第一阈值。
[0308]
在一种可能的实施方式中,所述提取单元1401,还用于提取多项会话,所述多项会话中的一部分会话用于描述预设时间段内正常操作第一目标账号时的行为特征和时间特征,所述多项会话中的另一部分会话用于描述预设时间段内异常操作第二目标账号时的行为特征和时间特征;
[0309]
所述装置140还包括:验证单元1403,用于根据所述多项会话和所述第一阈值验证所述目标ae模型;若根据所述目标ae模型检测出的异常操作对应的会话的数量大于或者等于第二阈值,则表征所述目标ae模型训练完成。
[0310]
在一种可能的实施方式中,所述提取单元1401,具体用于:
[0311]
获取多条操作行为数据,所述多条操作行为数据中的每一条操作行为数据用于描
述正常操作所述目标账号的行为特征和时间特征;
[0312]
按照预设划分粒度,对所述多条操作行为数据进行划分,得到目标数据集合;
[0313]
根据所述目标数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话。
[0314]
在一种可能的实施方式中,所述预设时间长度为15分钟;所述提取单元1401,具体用于:
[0315]
根据目标数据集合中数据的时序关系,按照15分钟的时间长度划分得到至少两项会话;所述至少两项会话中的每一个会话包括15分钟内的至少1条操作行为数据;所述至少1条数据中的每一条数据包括q个特征,所述q个特征用于指示所述行为特征和所述时间特征;其中,q大于等于1。
[0316]
在一种可能的实施方式中,所述提取单元1401,具体用于:
[0317]
从统一身份认证服务iam的日志中,选取得到多个样本;所述多个样本包括多个日期中多个时间段正常操作所述目标账号时的数据;
[0318]
从所述多个样本中,过滤网际互连协议ip地址属于白名单登录ip的样本;
[0319]
对过滤后的多个样本进行分组、重新编码和字符串匹配,得到所述多条操作行为数据。
[0320]
在一种可能的实施方式中,所述行为特征包括ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔中的至少一个;所述预设划分粒度包括ip地址、mac地址、账号id或操作地点中的至少一项。
[0321]
在一种可能的实施方式中,所述训练单元1402,具体用于:
[0322]
将所述至少两项会话输入所述ae模型中,得到至少两项重构会话;
[0323]
根据所述至少两项会话和所述至少两项重构会话,通过梯度下降算法更新所述ae模型,得到所述目标ae模型。
[0324]
在一种可能的实施方式中,所述训练单元1402,具体用于:
[0325]
根据所述至少两项会话,建立输入矩阵;
[0326]
基于所述ae模型,对所述输入矩阵进行编码、解码,得到输出矩阵;所述输出矩阵包括所述至少两项重构会话。
[0327]
需要说明的是,各个单元的实现还可以对应参照图7或者图12所示的方法实施例的相应描述。该异常检测装置140可以为图7或者图12所示的方法实施例中的模型训练服务器。
[0328]
在图14所描述的装置140中,通过在操作正常的操作行为数据中提取至少两项会话(session),用该至少两项会话对自编码器进行训练,得到目标自编码器模型。由于至少两项会话为确认为操作正常的数据,用该至少两项会话训练得到的目标ae模型,对于正常操作对应的会话来说,输出的得到重构会话不会与原本的输入会话偏差太多,从而能够有效捕捉正常账号行为之间的内在相似性与共同点。与此同时,异常操作得到的会话由于操作是异常的,因此输入编码器后,最终得到的重构会话会偏离原本的输入会话较多,从而可以被该模型检测出来。
[0329]
一方面,由于自编码器是无监督式的训练,无需构建特征工程或规则集合,避免了
经验为主的异常检测,减少了研究人员大量的研究投入,提高了异常检测的效率。另一方面,每项会话中包含操作行为的行为特征和时间特征,且会话反映了行为特征在时序上的关联性,因此训练得到的自编码模型,在检测时可以按时间顺序形成行为序列进行异常检测,而不是对单个行为进行检测,有助于对除关键特征外的时序性异常行为特征检测,提高了异常检测的准确率。
[0330]
请参见图15,图15是本技术实施例提供的一种业务节点150的结构示意图。该业务节点150可以包括至少一个存储器1501和至少一个处理器1502。可选的,还可以包含总线1503。进一步可选的,还可以包括通信接口1504,其中,存储器1501、处理器1502和通信接口1504通过总线1503相连。
[0331]
其中,存储器1501用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1501包括但不限于是随机存储记忆体(random access memory,ram)、只读存储器(read-only memory,rom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、或便携式只读存储器(compact disc read-only memory,cd-rom)。
[0332]
处理器1502是进行算术运算和/或逻辑运算的模块,具体可以是中央处理器(central processing unit,cpu)、图片处理器(graphics processing unit,gpu)、微处理器(microprocessor unit,mpu)、人工智能处理器、专用集成电路(application specific integrated circuit,asic)、现场可编程逻辑门阵列(field programmable gate array,fpga)、复杂可编程逻辑器件(complex programmable logic device,cpld)等处理模块中的一种或者多种的组合。
[0333]
通信接口1504用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(wi-fi、蓝牙等)接口。可选的,通信接口1504还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
[0334]
该业务节点150中的处理器1502用于读取所述存储器1501中存储的计算机程序,用于执行前述的异常检测方法,例如图11、图12所描述的异常检测方法。
[0335]
举例说明,该业务节点150中的处理器1502用于读取所述存储器1501中存储的计算机程序,用于执行以下操作:
[0336]
提取第一会话,其中,所述第一会话用于描述预设时间长度内操作第一账号时的行为特征和时间特征,所述时间特征用于反映所述行为特征在时序上的关联性;
[0337]
将所述第一会话输入目标自编码器ae模型中,得到检测结果;其中,所述检测结果用于指示完成所述第一会话的操作是否为正常操作;所述目标ae模型为将至少两项会话的数据输入ae模型训练所得,所述至少两项会话中每个会话用于描述预设时间长度内正常操作目标账号时的行为特征和时间特征。
[0338]
在一种可能的实施方式中,所述处理器1502,具体用于:
[0339]
将所述第一会话输入所述目标ae模型中,得到第一重构会话;
[0340]
根据所述第一会话和第一重构会话,确定第一重构误差;
[0341]
若第一重构误差大于或者等于第一阈值,则所述检测结果用于指示完成所述第一会话的操作不为正常操作;其中,所述第一阈值为将多个会话的数据输入所述目标ae模型所得。
[0342]
在一种可能的实施方式中,所述处理器1502,具体用于:
[0343]
获取多条操作行为数据,所述多条操作行为数据中的每一条操作行为数据用于描述操作一个账号的行为特征和时间特征;
[0344]
按照预设划分粒度,对所述多条操作行为数据进行划分,得到第一数据集合;所述第一数据集合中包括至少一条操作行为数据;
[0345]
根据第一数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话。
[0346]
在一种可能的实施方式中,述预设时间长度为15分钟;所述处理器1502,具体用于:
[0347]
根据第一数据集合中数据的时序关系,按照15分钟的时间长度划分得到第一会话;所述第一会话中包括15分钟内的n条操作行为数据;所述n条数据中的每一条数据包括q个特征,所述q个特征用于指示所述行为特征和所述时间特征。
[0348]
在一种可能的实施方式中,所述行为特征包括网际互连协议ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔中的至少一个;所述预设划分粒度包括ip地址、mac地址、账号id或操作地点中的至少一项。
[0349]
需要说明的是,各个模块的实现还可以对应参照图11或者图12所示的方法实施例的相应描述。该业务节点150可以为图11或者图12所示的方法实施例中的业务节点。
[0350]
请参见图16,图16是本技术实施例提供的一种模型训练服务器160的结构示意图。该服务器160可以包括至少一个存储器1601和至少一个处理器1602。可选的,还可以包含总线1603。进一步可选的,还可以包括通信接口1604,其中,存储器1601、处理器1602和通信接口1604通过总线1603相连。
[0351]
其中,存储器1601用于提供存储空间,存储空间中可以存储操作系统和计算机程序等数据。存储器1601包括但不限于是ram、rom、eprom、或cd-rom。
[0352]
处理器1602是进行算术运算和/或逻辑运算的模块,具体可以是cpu、gpu、mpu、人工智能处理器、asic、fpga、cpld等处理模块中的一种或者多种的组合。
[0353]
通信接口1604用于接收外部发送的数据和/或向外部发送数据,可以为包括诸如以太网电缆等的有线链路接口,也可以是无线链路(wi-fi、蓝牙、通用无线接口等)接口。可选的,通信接口1604还可以包括与接口耦合的发射器(如射频发射器、天线等),或者接收器等。
[0354]
该服务器160中的处理器1602用于读取所述存储器1601中存储的计算机程序,用于执行前述的模型训练方法,例如图10、图12所描述的模型训练方法。
[0355]
举例说明,该服务器160中的处理器1602用于读取所述存储器1601中存储的计算机程序,用于执行以下操作:
[0356]
提取至少两项会话,其中,每项会话用于描述预设时间段内正常操作目标账号时的行为特征和时间特征,每项会话中的时间特征用于反映每项会话中的行为特征在时序上的关联性;
[0357]
根据所述至少两项会话训练ae模型,得到目标ae模型,其中,所述目标自编码模型用于根据第一会话检测完成所述第一会话的操作是否为正常操作。
[0358]
在一种可能的实施方式中,所述处理器1602,还用于:
[0359]
将所述至少两项会话输入所述目标ae模型中,得到至少两项重构误差;
[0360]
根据所述至少两项重构误差,确定第一阈值;所述第一阈值用于衡量完成所述第一会话的操作是否为正常操作。
[0361]
在一种可能的实施方式中,所述处理器1602,还用于:
[0362]
根据所述至少两项重构误差的分布情况,确定所述第一阈值。
[0363]
在一种可能的实施方式中,所述处理器1602,还用于:
[0364]
提取多项会话,所述多项会话中的一部分会话用于描述预设时间段内正常操作第一目标账号时的行为特征和时间特征,所述多项会话中的另一部分会话用于描述预设时间段内异常操作第二目标账号时的行为特征和时间特征;
[0365]
根据所述多项会话和所述第一阈值验证所述目标ae模型;若根据所述目标ae模型检测出的异常操作对应的会话的数量大于或者等于第二阈值,则表征所述目标ae模型训练完成。
[0366]
在一种可能的实施方式中,所述处理器1602,具体用于:
[0367]
获取多条操作行为数据,所述多条操作行为数据中的每一条操作行为数据用于描述正常操作所述目标账号的行为特征和时间特征;
[0368]
按照预设划分粒度,对所述多条操作行为数据进行划分,得到目标数据集合;
[0369]
根据所述目标数据集合中数据的时序关系,按照预设时间长度进行划分,得到所述第一会话。
[0370]
在一种可能的实施方式中,所述预设时间长度为15分钟;所述处理器1602,具体用于:
[0371]
根据目标数据集合中数据的时序关系,按照15分钟的时间长度划分得到至少两项会话;所述至少两项会话中的每一个会话包括15分钟内的至少1条操作行为数据;所述至少1条数据中的每一条数据包括q个特征,所述q个特征用于指示所述行为特征和所述时间特征;其中,q大于等于1。
[0372]
在一种可能的实施方式中,所述处理器1602,具体用于:
[0373]
从统一身份认证服务iam的日志中,选取得到多个样本;所述多个样本包括多个日期中多个时间段正常操作所述目标账号时的数据;
[0374]
从所述多个样本中,过滤网际互连协议ip地址属于白名单登录ip的样本;
[0375]
对过滤后的多个样本进行分组、重新编码和字符串匹配,得到所述多条操作行为数据。
[0376]
在一种可能的实施方式中,所述行为特征包括ip地址、媒体存取控制mac地址、账号标识id、请求类别、请求结果、请求途径、请求地点、请求内容、请求失败原因或请求时间间隔中的至少一个;所述预设划分粒度包括ip地址、mac地址、账号id或操作地点中的至少一项。
[0377]
在一种可能的实施方式中,所述处理器1602,具体用于:
[0378]
将所述至少两项会话输入所述ae模型中,得到至少两项重构会话;
[0379]
根据所述至少两项会话和所述至少两项重构会话,通过梯度下降算法更新所述ae模型,得到所述目标ae模型。
[0380]
在一种可能的实施方式中,所述处理器1602,具体用于:
[0381]
根据所述至少两项会话,建立输入矩阵;
[0382]
基于所述ae模型,对所述输入矩阵进行编码、解码,得到输出矩阵;所述输出矩阵包括所述至少两项重构会话。
[0383]
需要说明的是,各个单元的实现还可以对应参照图7或者图12所示的方法实施例的相应描述。该异常检测装置160可以为图7或者图12所示的方法实施例中的模型训练服务器。
[0384]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,所述计算机指令用于实现上述的异常检测方法,例如图11或者图12所示的实施例的异常检测方法。
[0385]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,所述计算机指令用于实现上述的模型训练方法,例如图7或者图12所示的实施例的模型训练方法。
[0386]
本技术实施例还提供了一种芯片系统,该芯片系统包括至少一个处理器,存储器和接口电路,所示接口电路用于为至少一个处理器提供信息输入/输出,该至少一个存储器中存储有计算机指令,当计算机指令在一个或多个处理器上运行时,所述芯片系统执行上述的异常检测方法,例如图11或者图12所示的实施例的异常检测方法。
[0387]
本技术实施例还提供了一种芯片系统,该芯片系统包括至少一个处理器,存储器和接口电路,所示接口电路用于为至少一个处理器提供信息输入/输出,该至少一个存储器中存储有计算机指令,当计算机指令在一个或多个处理器上运行时,所述芯片系统执行上述的模型训练方法,例如图7或者图12所示的实施例的模型训练方法。
[0388]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机指令产品的形式实现。在计算机上加载和执行该计算机指令时,可以全部或部分地实现本技术实施例所描述的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其它可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者通过计算机可读存储介质进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
[0389]
本技术方法实施例中的步骤可以根据实际需要进行顺序调整、合并和删减。
[0390]
本技术装置实施例中的模块可以根据实际需要进行合并、划分和删减。
[0391]
以上,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。
再多了解一些

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

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

相关文献