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

资源访问的异常检测方法、装置及设备与流程

2022-06-29 14:42:52 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种资源访问的异常检测方法、装置及设备。


背景技术:

2.在大型应用系统中往往存在多个账号,包括不同角色的账号、同一角色的多个账号等。由于不同的账号的角色或使用者不同,使得不同账号访问同一资源的行为具有不同的特点,在这些账号访问资源的过程中,可能存在账号使用异常等情况的发生。如账号被他人盗用、账号的使用不规范、及账号之间访问资源的模式发生了未经户主授权的变更行为等。如果该账号访问某个资源的行为与该账号历史访问同一资源的频率发生了明显的偏差,则认为该账号对此资源的访问出现了异常。
3.传统的异常检测方法,一种是基于统计学的理论,通过统计账号访问资源确定检测指标,结合为检测指标设置的固定阈值,实现账号访问资源的异常检测。但是这些阈值需要进行人工设置及优化,异常检测效果严重依赖于固定阈值的好坏,而固定阈值依赖于设置人员的经验和能力,效果不稳定,误报率高。另一种是基于单任务自编码器进行账号访问资源的异常检测,异常检测结果不稳定、误报率很高。


技术实现要素:

4.本技术提供一种资源访问的异常检测方法、装置及设备,用以解决目前资源访问场景下异常检测结果不稳定、误报率很高问题。
5.一方面,本技术提供一种资源访问的异常检测方法,包括:
6.根据待检测时间段内账号访问资源的行为数据,确定在所述待检测时间段内所述账号访问所述资源的原始时间序列数据;
7.将所述原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据;
8.将所述多个重建时间序列数据与所述原始时间序列数据进行比对,确定异常检测结果。
9.另一方面,本技术提供一种资源访问的异常检测装置,包括:
10.时间序列确定模块,用于根据待检测时间段内账号访问资源的行为数据,确定在所述待检测时间段内所述账号访问所述资源的原始时间序列数据;
11.时间序列重建模块,用于将所述原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据;
12.检测处理模块,用于将所述多个重建时间序列数据与所述原始时间序列数据进行比对,确定异常检测结果。
13.另一方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
14.所述存储器存储计算机执行指令;
15.所述处理器执行所述存储器存储的计算机执行指令,以实现上述所述的方法。
16.另一方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述所述的方法。
17.本技术提供的资源访问的异常检测方法、装置及设备,通过根据待检测时间段内账号访问资源的行为数据,确定在待检测时间段内账号访问资源的原始时间序列数据;将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据;将多个重建时间序列数据与原始时间序列数据进行比对,确定异常检测结果,异常检测结果包括待检测时间段内存在异常访问行为的单位时段,提高了账号访问资源的异常检测的精准度,降低异常检测的误报率和漏报率。
附图说明
18.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
19.图1为本技术所基于的一种示例性网络架构的示意图;
20.图2为本技术一示例性实施例提供的资源访问的异常检测方法流程图;
21.图3为本技术一示例性实施例提供的多任务自编码器的框架图;
22.图4为本技术一示例性实施例提供的资源访问的异常检测方法流程图;
23.图5为本技术一示例性实施例提供的资源访问的异常检测装置的结构示意图;
24.图6为本技术一示例实施例提供的电子设备的结构示意图。
25.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
26.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
27.首先对本技术所涉及的名词进行解释:
28.时域卷积网络(temporal convolutional network,简称tcn):一种卷积神经网络模型。
29.循环神经网络(recurrent neural network,简称rnn):常用的时序深度学习网络模型之一。
30.均方误差(mean square error,简称mse):是一种性能函数。
31.应用程序接口(application programming interface,简称api):是一些应用预先定义的接口,如函数、http接口。
32.此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两
个以上,除非另有明确具体的限定。
33.在大型应用系统中往往存在多个账号,包括不同角色的账号、同一角色的多个账号等。由于不同的账号的角色或使用者不同,使得不同账号访问同一资源的行为具有不同的特点,在这些账号访问资源的过程中,可能存在账号使用异常等情况的发生。如账号被他人盗用、账号的使用不规范、及账号之间访问资源的模式发生了未经户主授权的变更行为等。如果该账号访问某个资源的行为与该账号历史访问同一资源的频率发生了明显的偏差,则认为该账号对此资源的访问出现了异常。
34.示例性地,在云服务场景中,在不同的企业用户的主账号下,通常存在该企业下的多个不同的子账号。不同的子账号有着不同的应用程序接口(application programming interface,简称api)调用行为,在这些调用行为过程中,存在账号使用异常等情况的发生。如账号被他人盗用、账号的使用不规范、及账号之间调用api的模式发生了未经户主授权的变更行为等。如果该账号调用的某个api与历史调用行为发生了明显的偏差,则认为该账号的此api调用出现了异常。
35.针对上述应用场景,传统的异常检测方法存在异常检测结果不稳定、误报率高的技术问题。
36.本技术提供一种资源访问的异常检测方法,该方法基于多任务自编码模型,每间隔一段时间,基于上一间隔时间(待检测时间段)内各账号访问资源的行为数据,确定在待检测时间段内账号访问资源的原始时间序列数据,原始时间序列数据包括待检测时间段的每一单位时段的时间戳和访问频次,以及待检测时间段的起始时间戳;将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据;将多个重建时间序列数据与原始时间序列数据进行比对,确定异常检测结果,异常检测结果包括待检测时间段内存在异常访问行为的单位时段,能够大大提高异常检测的精准度。
37.示例性地,图1为本技术所基于的一种示例性网络架构的示意图,图1所示网络架构具体可包括服务器以及终端。
38.其中,终端具体可为具有网络通信功能、运算功能以及信息显示功能的硬件设备,其包括但不限于智能手机、平板电脑、台式电脑、物联网设备等。通过与服务器的通信交互,用户可以通过终端使用自己的账号访问服务器提供的各资源。
39.服务器具体可为设置在云端的服务器集群,该服务器提供各个用户账号所需访问的资源,可以记录并存储各个账号访问资源的行为数据。该服务器还存储有多任务自编码模型相关的模型数据。通过服务器中预设运算逻辑,服务器可以实现模型训练、进行异常检测等多种运算功能。
40.服务器基于预设的异常检测策略,根据待检测时间段内账号访问资源的行为数据,确定在待检测时间段内账号访问资源的原始时间序列数据,将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据;将多个重建时间序列数据与原始时间序列数据进行比对,确定异常检测结果。
41.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
42.图2为本技术一示例性实施例提供的资源访问的异常检测方法流程图。本实施例
提供的资源访问的异常检测方法具体可以应用于前述提及的服务器。如图2所示,该方法具体步骤如下:
43.步骤s201、根据待检测时间段内账号访问资源的行为数据,确定在待检测时间段内账号访问资源的原始时间序列数据。
44.其中,原始时间序列数据包括待检测时间段的每一单位时段的时间戳和访问频次,以及待检测时间段的起始时间戳。
45.在实际应用中,服务器可以根据预设异常检测策略,每间隔一段时间执行一次资源访问的异常检测方法,进行一次异常检测。
46.例如,异常检测策略可以是每间隔一个小时,根据前一小时内各账号访问各资源的行为数据,进行一次异常检测。
47.其中,异常检测策略可以为:周期性地进行异常检测、定时地进行异常检测等等,基于不同的异常检测策略,进行异常检测时的待检测时间段可以不同,例如,周期性地进行异常检测,待检测时间段可以是上一周期;定时地进行异常检测,待检测时间段可以是定时时刻之前的一个历史时间段。异常检测策略及待检测时间段,可以根据实际应用场景的需要进行设置和调整,此处不做具体限定。
48.本实施例中,在进行异常检测时,获取待检测时间段内账号访问资源的行为数据,根据行为数据确定在待检测时间段的每一单位时段内账号访问资源的频次,以及每一单位时段对应的时间戳,以及待检测时间段的起始时刻的时间戳(也即起始时间戳),并按照单位时段的先后顺序,排列生成每一账号访问每一资源的行为数据对应的原始时间序列数据。
49.其中,原始时间序列数据中各数据项可以按照设定的指定顺序排列,在模型训练及异常检测过程中,使用统一的指定顺序即可,此处对于具体顺序不做具体限定。
50.示例性地,原始时间序列数据可以为如下任一排列方式:{起始时间戳,频次1,时间戳1,频次2,时间戳2,

},或者{频次1,频次2,

,时间戳1,时间戳2,

,起始时间戳},或者{时间戳1:频次1,时间戳2:频次2,

,起始时间戳}。
51.可选地,可以配置需要进行异常检测的账号集合,在进行异常检测时,针对账号集合中的目标账号,对目标账号访问资源的行为进行异常检测。
52.可选地,可以配置需要进行异常检测的资源集合,在进行异常检测时,针对资源集合中的目标资源,对各个账号访问目标资源的行为进行异常检测。
53.可选地,可以配置需要进行异常检测的账号集合和资源集合,在进行异常检测时,针对账号集合中的目标账号和资源集合中的目标资源,对目标账号访问目标资源的行为进行异常检测。
54.另外,若不配置账号集合和资源集合,默认对每一账号访问每一资源的行为进行异常检测。
55.对任一账号访问任一资源的行为进行异常检测的过程一致,本实施例以对一个账号访问一个资源的行为进行异常检测的过程为例,对异常检测的过程进行示例性地说明。
56.步骤s202、将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据。
57.本实施例中,多任务自编码器为训练好的基于多任务学习的自编码器,在模型训
练过程中多任务自编码器学习了每一账号正常访问每一资源的行为特征。多任务自编码器相比于单任务的自编码器,训练时损失函数相对下降的更低,对时间序列的特征提取的更准确和更丰富。同时,融合多个效果较好的单任务自编码器形成多任务自编码器,可以结合各个单任务自编码器的异常检测和识别能力,使得多任务自编码器发挥最大的效果。
58.在确定原始时间序列数据之后,将任一账号访问任一资源的原始时间序列数据输入训练好的多任务自编码器,通过训练好的多任务自编码器,根据输入的原始时间序列数据进行该账号访问该资源的行为重建,得到多个重建时间序列数据,多个重建时间序列体现了该账号正常访问该资源的行为特征。
59.步骤s203、将多个重建时间序列数据与原始时间序列数据进行比对,确定异常检测结果。
60.其中,异常检测结果包括待检测时间段内存在异常访问行为的单位时段。
61.在通过多任务自编码器重建得到的多个重建时间序列数据之后,通过比对该账号访问该资源的原始时间序列数据与多个重建时间序列数据,分析原始时间序列数据中各个单位时段的访问频次与多个重建时间序列数据中同一单位时段的访问频次之间的差异,如果差异较大,则说明该单位时段内该账号访问该资源的行为是异常访问行为的可能性较大,将该单位时段确定为存在异常访问行为的单位时段。
62.示例性地,假设某一账号访问某一资源的原始时间序列数据为序列1,使用多任务自编码器进行重建后得到如下3个重建序列:序列2,序列3和序列4。那么,可以通过比较序列1与序列2中第一个单位时段内的访问频次的差异值a1,比较序列1与序列3中第一个单位时段内的访问频次的差异a2,比较序列1与序列4中第一个单位时段内的访问频次的差异a3,根据差异值a1,a2和a3,如果其中一个或者多个差异值较大,则确定第一个单位时段为存在异常访问行为的单位时段,或者如果a1,a2和a3三者的均值较大,则确定第一个单位时段为存在异常访问行为的单位时段。
63.本实施例通过根据待检测时间段内账号访问资源的行为数据,确定在待检测时间段内账号访问资源的原始时间序列数据,原始时间序列数据包括待检测时间段的每一单位时段的时间戳和访问频次,以及待检测时间段的起始时间戳;将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据;将多个重建时间序列数据与原始时间序列数据进行比对,确定异常检测结果,异常检测结果包括待检测时间段内存在异常访问行为的单位时段,提高了账号访问资源的异常检测的精准度,降低异常检测的误报率和漏报率。
64.一种可选地实施方式中,多任务自编码器包括至少两个自编码器单元,不同的自编码器单元包含的卷积核的大小不同。
65.其中,每一个自编码器单元为一个单任务学习的自编码器,包括一个编码器和一个解码器。多种不同卷积核结构在其单任务学习的自编码器单元中有着不同的检测效果,通过将多种不同卷积核的自编码器单元结合在一起形成多任务自编码器,可以共享不同卷积核学习到的不同的时间序列特征,模型的损失函数值能够下降到更低的程度,并且仍能够捕获单个模型能够捕获的时间序列特征,在损失函数下降到合适程度之后,通过结合三种不同卷积核学习到的时间序列特征,取得更为精确的异常检测效果。
66.另外,本实施例提供的多任务自编码器,相对于使用多个独立的单任务自编码器,
能够减少内存占用,并且在模型训练过程中多任务一次前向计算得出结果,推理速度增加,能够减少训练时间,提高训练效率。
67.可选地,自编码器单元包含的卷积核为对称卷积核。当然,自编码器单元包含的卷积核也可以为非对称卷积核。
68.可选地,每一自编码器单元可以为基于时域卷积网络(tcn)的单任务自编码器模型。
69.其中,时域卷积网络中的卷积层是专门针对时间序列而设计的时序卷积层,由具有相同输入和输出长度的扩张的、因果的一维卷积层组成。相比于传统的卷积神经网络由于受到卷积核大小的限制,不能很好的抓取长时的依赖信息,时域卷积网络中的时序卷积层与多种rnn结构相比,在多种任务上的表现能够超越rnn模型。时域卷积网络可以并行的处理序列,可以根据不同的任务、不同的特性灵活定制其感受范围(即卷积核大小),并且不存在梯度消失和梯度爆炸的问题,而且内存使用也较低。
70.示例性地,多任务自编码器包括3个自编码器单元,每一自编码器单元采用不同大小的对称卷积核,3种不同卷积核的自编码器结合在一起来构建基于多任务学习的自编码器。例如,3种对称卷积核的大小分别为:16*8*8*16、16*4*4*16、24*12*12*24。
71.示例性地,图3为本技术一示例性实施例提供的多任务自编码器的框架图,如图3所示,多任务自编码器包括3种对称卷积核的大小分别为:16*8*8*16、16*4*4*16、24*12*12*24的自编码器单元:自编码器1(包括编码器1和解码器1),自编码器2(包括编码器2和解码器2)和自编码器3(包括编码器3和解码器3)。原始时间序列数据分别输入3个自编器单元的编码器,每一编码器生成一个抽象特征并输入对应的解码器,解码器对抽象特征进行解码生成对应的重建时间序列数据,最终得到3个重建时间序列数据:重建时间序列数据1,重建时间序列数据2和重建时间序列数据3。
72.在进行模型训练时,训练数据为历史时期内账号正常访问资源的历史行为数据。该历史时期可以是一个较长的时间段,以获取更多的训练数据。将历史时期拆分为多个待检测时间段,并确定每一待检测时间段内的历史行为数据,根据历史行为数据确定该待检测时间段对应的原始时间序列样本,具体实现方式与步骤s201中确定待检测时间段账号访问资源的原始时间序列数据的实现方式类似,此处不再赘述。
73.进一步地,基于历史时期内各个待检测时间段对应的原始时间序列样本,将原始时间序列样本输入多任务自编码器进行重建,得到对应的多个重建时间序列样本。根据计算原始时间序列样本与对应的多个重建时间序列样之间的差异计算损失函数值,根据损失函数值更新多任务自编码器的模型参数,以最小化损失函数值。
74.示例性地,模型训练过程中的各种训练参数的可以根据实际应用场景和经验值进行设置,此处不做具体限定。例如,模型的学习率可以设置为0.001,激活函数可以采用线性整流函数(linear rectification function,简称relu函数),损失函数可以设置为均方误差(mse)或者回归损失函数(logcosh)。训练批量(batch)大小可以设置为16。训练的轮次(epoch)可以设置为100,训练这么多轮次之后损失函数在绝大多数情况会下降至稳定状态,表明模型对特征学习到了一个比较稳定和彻底的状态。
75.可选地,在根据计算原始时间序列样本与对应的多个重建时间序列样之间的差异计算损失函数值时,可以分别根据原始时间序列样本与对应的每一重建时间序列样之间的
差异计算一个损失值,对多个损失值进行加权求均值,得到综合损失,将综合损失作为原始时间序列样本对应的最终的损失函数值。
76.训练好的多任务自编码器用于根据输入的原始时间序列数据进行该账号访问该资源的行为重建,得到多个重建时间序列数据,多个重建时间序列体现了该账号正常访问该资源的行为特征。
77.多任务自编码器相比于单任务的自编码器,训练时损失函数相对下降的更低,对时间序列的特征提取的更准确和更丰富。同时,融合多个效果较好的单任务自编码器形成多任务自编码器,可以结合各个单任务自编码器的异常检测和识别能力,使得多任务自编码器发挥最大的效果。在benchmark数据集上的测试结果表明,多任务自编码器拥有着更低的损失值,更低的误报率、以及更低的漏报率。并且多任务自编码器对比统计学模型有着更好的非线性拟合能力。
78.可选地,可以每间隔一段时间利用新增加的行为数据对多任务自编码器进行训练和优化,以使多任务自编码器能够学习到更多的账号正常访问资源的行为特征,提高异常检测的精准度。
79.一种可选地实施例中,根据待检测时间段之前的历史访问数据,确定在待检测时间段之前账号是否访问过资源;若确定在待检测时间段之前账号访问过资源,则使用多任务自编码模型进行异常检测;若确定在待检测时间段之前账号未访问过资源,也即该账号在待检测时间段内才第一次访问该资源,可以将一个账号第一次访问一个资源作为异常访问,将待检测时间段内账号第一次访问资源的单位时段,确定为存在异常访问行为的单位时段,得到异常检测结果。
80.图4为本技术一示例性实施例提供的资源访问的异常检测方法流程图,如图4所示,该方法具体步骤如下:
81.步骤s400、根据待检测时间段内账号访问资源的行为数据,确定在待检测时间段内账号访问资源的原始时间序列数据。
82.其中,原始时间序列数据包括待检测时间段的每一单位时段的时间戳和访问频次,以及待检测时间段的起始时间戳。
83.在实际应用中,服务器可以根据预设异常检测策略,每间隔一段时间执行一次资源访问的异常检测方法,进行一次异常检测。
84.例如,异常检测策略可以是每间隔一个小时,根据前一小时内各账号访问各资源的行为数据,进行一次异常检测。
85.其中,异常检测策略可以为:周期性地进行异常检测、定时地进行异常检测等等,基于不同的异常检测策略,进行异常检测时的待检测时间段可以不同,例如,周期性地进行异常检测,待检测时间段可以是上一周期;定时地进行异常检测,待检测时间段可以是定时时刻之前的一个历史时间段。异常检测策略及待检测时间段,可以根据实际应用场景的需要进行设置和调整,此处不做具体限定。
86.本实施例中,在进行异常检测时,获取待检测时间段内账号访问资源的行为数据,根据行为数据确定在待检测时间段的每一单位时段内账号访问资源的频次,以及每一单位时段对应的时间戳,以及待检测时间段的起始时刻的时间戳(也即起始时间戳),并按照单位时段的先后顺序,排列生成每一账号访问每一资源的行为数据对应的原始时间序列数
据。
87.其中,原始时间序列数据中各数据项可以按照设定的指定顺序排列,在模型训练及异常检测过程中,使用统一的指定顺序即可,此处对于具体顺序不做具体限定。
88.示例性地,原始时间序列数据可以为如下任一排列方式:{起始时间戳,频次1,时间戳1,频次2,时间戳2,

},或者{频次1,频次2,

,时间戳1,时间戳2,

,起始时间戳},或者{时间戳1:频次1,时间戳2:频次2,

,起始时间戳}。
89.可选地,可以配置需要进行异常检测的账号集合,在进行异常检测时,针对账号集合中的目标账号,对目标账号访问资源的行为进行异常检测。
90.可选地,可以配置需要进行异常检测的资源集合,在进行异常检测时,针对资源集合中的目标资源,对各个账号访问目标资源的行为进行异常检测。
91.可选地,可以配置需要进行异常检测的账号集合和资源集合,在进行异常检测时,针对账号集合中的目标账号和资源集合中的目标资源,对目标账号访问目标资源的行为进行异常检测。
92.另外,若不配置账号集合和资源集合,默认对每一账号访问每一资源的行为进行异常检测。
93.对任一账号访问任一资源的行为进行异常检测的过程一致,本实施例以对一个账号访问一个资源的行为进行异常检测的过程为例,对异常检测的过程进行示例性地说明。
94.步骤s401、确定在待检测时间段之前账号是否访问过资源。
95.本实施例中,在进行异常检测时,可以获取待检测时间段之前的历史访问数据,根据待检测时间段之前的历史访问数据,确定在待检测时间段之前账号是否访问过资源。
96.若该步骤中确定在待检测时间段之前账号访问过资源,则执行步骤s402-s405,使用多任务自编码模型进行异常检测确定异常检测结果,能够检测到与该账号历史访问该资源的行为不吻合,与历史访问频次不一致的异常情况,给出异常结果,还可以进行异常预警。
97.若该步骤中,确定在待检测时间段之前账号未访问过资源,则执行步骤s406,将待检测时间段内账号第一次访问资源的单位时段,确定为存在异常访问行为的单位时段,得到异常检测结果。
98.示例性地,以云服务场景中,在不同的企业用户的主账号下存在该企业下的多个不同的子账号,不同的子账号调用api的场景为例,若待检测时间段之前该子账号未调用过该api,在模型训练阶段使用的训练数据中也就不存在某一子账号调用某一api的行为数据,那么在进行异常检测过程中,在该子账号第一次调用该api时,确定存在异常访问行为,给出异常检测结果,并可以进行异常预警。若待检测时间段之前某一子账号调用过某一api,在模型训练阶段使用的训练数据中存在该子账号调用该api的行为数据,多任务自编码器在训练时学习到了该账号正常调用该api的行为特征,使用多任务自编码器进行异常检测,能够对该账号对该api其他与历史调用该api的行为特征不吻合,与历史调用频次不一致的情况,能够检测出异常,给出异常检测结果,还可以进行异常预警。
99.步骤s402、根据配置的滑动窗口大小,将原始时间序列数据分割为多个向量,多个向量排布成第一特征矩阵。
100.其中,滑动窗口大小可以根据实际应用场景的需要进行设置,如设置为10、20、25
等。
101.示例性地,滑动窗口大小可以用n表示,n为正整数。该步骤中,从原始时间序列数据的起始位置开始,依次分割出包含n个单位时段内的数据项的分段,生成每一分段对应的向量,可以得到多个向量。其中分割生成的每一向量为行向量,多个行向量构成第一特征矩阵。
102.可选地,该步骤具体可以采用如下方式实现:
103.将原始时间序列数据中的每一数据项转换为向量表示,得到向量表示序列;根据配置的滑动窗口大小,对向量表示序列进行分割,得到多个行向量,其中,每一行向量包括向量表示序列中指定数量的单位时段内的数据项的向量表示,指定数量等于滑动窗口大小;多个行向量排布成矩阵,得到第一特征矩阵。
104.可选地,该步骤具体可以采用如下方式实现:
105.根据配置的滑动窗口大小,对原始时间序列数据进行分割,得到多个数据分段,其中,每一数据分段包括原始时间序列数据中指定数量的单位时段内的数据项,指定数量等于滑动窗口大小;将每一数据分段中的每一数据项转换为向量表示,得到每一数据分段对应的向量;多个行向量排布成矩阵,得到第一特征矩阵。
106.另外,本实施例中,根据配置的滑动窗口大小,将原始时间序列数据分割为多个向量,并排布成第一特征矩阵,可以采用现有技术中类似的方法实现,此处不做具体限定。
107.可选地,在确定第一特征矩阵之后,在将第一特征矩阵输入每一自编码器单元进行重建之前,对第一特征矩阵进行归一化处理,在后续步骤中将归一化处理后的第一特征矩阵输入每一自编码器单元进行重建,从而实现对多任务自编码器的输入的标准化处理,以提高多任务自编码器的拟合速度与精度。
108.步骤s403、将第一特征矩阵输入每一自编码器单元进行重建,得到每一自编码器单元重建得到的第二特征矩阵。
109.本实施例中,多任务自编码器为训练好的基于多任务学习的自编码器,在模型训练过程中多任务自编码器学习了每一账号正常访问每一资源的行为特征。多任务自编码器包括至少两个自编码器单元,不同的自编码器单元包含的卷积核的大小不同。
110.其中,每一个自编码器单元为一个单任务学习的自编码器,包括一个编码器和一个解码器。多种不同卷积核结构在其单任务学习的自编码器单元中有着不同的检测效果,通过将多种不同卷积核的自编码器单元结合在一起形成多任务自编码器,以求在损失函数下降到合适程度之后,通过结合三种不同卷积核学习到的时间序列特征,取得更为精确的异常检测效果。
111.可选地,自编码器单元包含的卷积核为对称卷积核。当然,自编码器单元包含的卷积核也可以为非对称卷积核。
112.可选地,每一自编码器单元可以为基于时域卷积网络(tcn)的单任务自编码器模型。
113.在确定原始时间序列数据对应的第一特征矩阵之后,将第一特征矩阵输入训练好的多任务自编码器,通过训练好的多任务自编码器,根据输入的第一特征矩阵进行该账号访问该资源的行为重建,得到多个第二特征矩阵,多个第二特征矩阵包含该账号正常访问该资源的行为特征。
114.步骤s404、解析每一第二特征矩阵,得到对应的重建时间序列数据。
115.在经多任务自编码器重建得到多个第二特征矩阵之后,通过解析每一第二特征矩阵,可以得到对应的重建时间序列数据。
116.示例性地,重建时间序列数据与原始时间序列数据中包含的数据项的类型、数量和顺序均一致。该步骤中,可以将第二特征矩阵中的各个行向量依次拼接起来,得到一个完整的序列;根据重建时间序列数据中每一数据项对应向量的维度,从完整序列中分割出每一数据项对应的向量,将每一数据项对应的向量转换为数据项的值,从而可以得到重建时间序列数据。
117.本实施例中,使用多任务自编码模型进行异常检测时,通过上述步骤s402-s404,将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据。
118.在使用多任务自编码模型重建得到多个重建时间序列数据之后,通过步骤s405-s407,将多个重建时间序列数据与原始时间序列数据进行比对,分析原始时间序列数据中各个单位时段的访问频次与多个重建时间序列数据中同一单位时段的访问频次之间的差异,如果差异较大,则说明该单位时段内该账号访问该资源的行为是异常访问行为的可能性较大,将该单位时段确定为存在异常访问行为的单位时段,从而确定异常检测结果。
119.步骤s405、将多个重建时间序列数据与原始时间序列数据进行比对,确定异常检测结果。
120.可选地,该步骤具体可以采用如下方式实现:
121.确定原始时间序列数据与每一重建时间序列数据中同一单位时段的访问频次的差异值;对原始时间序列数据与每一重建时间序列数据中同一单位时段的访问频次的差异值加权求和,确定每一单位时段对应的综合差异信息;将对应的综合差异信息大于差异阈值的单位时段,确定为待检测时间段内存在异常访问行为的单位时段,得到异常检测结果。
122.可选地,差异阈值可以为所有单位时段对应的综合差异信息的标准差,或者,差异阈值可以为所有单位时段对应的所有差异值的标准差,或者差异阈值可以是根据实际应用场景设置的固定值,此处不做具体限定。
123.示例性地,假设某一账号访问某一资源的原始时间序列数据为序列1,使用多任务自编码器进行重建后得到如下3个重建序列:序列2,序列3和序列4。那么,可以通过比较序列1与序列2中第一个单位时段内的访问频次的差异值a1,比较序列1与序列3中第一个单位时段内的访问频次的差异a2,比较序列1与序列4中第一个单位时段内的访问频次的差异a3,根据差异值a1,a2和a3,对a1,a2和a3加权求和得到第一个单位时段对应的综合差异信息,如果综合差异信息大于差异阈值,则确定第一个单位时段为存在异常访问行为的单位时段;如果综合差异信息小于或等于差异阈值,则确定第一个单位时段不是存在异常访问行为的单位时段。同理,可以确定待检测时间段内的每一个单位时段是否是存在异常访问行为的单位时段,从而得到异常检测结果。
124.可选地,该步骤具体还可以采用如下方式实现:
125.确定原始时间序列数据与每一重建时间序列数据中同一单位时段的访问频次的差异值;对原始时间序列数据与每一重建时间序列数据中同一单位时段的访问频次的差异值求均值,得到每一单位时段对应的均值差异信息;将对应的均值差异信息大于差异均值阈值的单位时段,确定为待检测时间段内存在异常访问行为的单位时段,得到异常检测结
果。
126.可选地,差异均值阈值可以为所有单位时段对应的均值差异信息的标准差,或者,差异均值阈值可以为所有单位时段对应的所有差异值的标准差,或者差异均值阈值可以是根据实际应用场景设置的固定值,此处不做具体限定。
127.步骤s406、将待检测时间段内账号第一次访问资源的单位时段,确定为存在异常访问行为的单位时段,得到异常检测结果。
128.本实施例中,若步骤s401中确定在待检测时间段之前账号未访问过资源,则将待检测时间段内账号第一次访问资源的单位时段,确定为存在异常访问行为的单位时段,得到异常检测结果。
129.步骤s407、根据异常检测结果,进行异常访问预警。
130.本实施例中,在确定异常检测结果之后,可以根据异常检测结果进行异常访问预警,以提醒相关人员及时地对账号异常访问资源的行为进行核实和处理,以提高资源的安全性。
131.本实施例中,根据待检测时间段之前的历史访问数据,确定在待检测时间段之前账号是否访问过资源;若确定在待检测时间段之前账号访问过资源,则使用多任务自编码模型进行异常检测;若确定在待检测时间段之前账号未访问过资源,也即该账号在待检测时间段内才第一次访问该资源,可以将一个账号第一次访问一个资源作为异常访问,将待检测时间段内账号第一次访问资源的单位时段,确定为存在异常访问行为的单位时段,得到异常检测结果,能够对账号第一次访问资源的行为进行预警,提高资源的安全性,降低异常检测的误报率和漏报率。
132.图5为本技术一示例性实施例提供的资源访问的异常检测装置的结构示意图。本技术实施例提供的资源访问的异常检测装置可以执行资源访问的异常检测方法实施例提供的处理流程。如图5所示,资源访问的异常检测装置50包括:时间序列确定模块501,时间序列重建模块502和检测处理模块503。
133.具体地,时间序列确定模块501,用于根据待检测时间段内账号访问资源的行为数据,确定在待检测时间段内账号访问资源的原始时间序列数据。
134.时间序列重建模块502,用于将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据。
135.检测处理模块503,用于将多个重建时间序列数据与原始时间序列数据进行比对,确定异常检测结果。
136.本技术实施例提供的装置可以具体用于执行上述图2对应方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
137.一种可选地实施例中,多任务自编码器包括至少两个自编码器单元,不同的自编码器单元包含的卷积核的大小不同。
138.在将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据时,时间序列重建模块,具体用于:
139.根据配置的滑动窗口大小,将原始时间序列数据分割为多个向量,多个向量排布成第一特征矩阵;将第一特征矩阵输入每一自编码器单元进行重建,得到每一自编码器单元重建得到的第二特征矩阵;解析每一第二特征矩阵,得到对应的重建时间序列数据。
140.一种可选地实施例中,在根据配置的滑动窗口大小,将原始时间序列数据分割为多个向量,多个向量排布成第一特征矩阵时,时间序列重建模块,还用于:
141.将原始时间序列数据中的每一数据项转换为向量表示,得到向量表示序列,其中,原始时间序列数据包括待检测时间段的每一单位时段的时间戳和访问频次,以及待检测时间段的起始时间戳;根据配置的滑动窗口大小,对向量表示序列进行分割,得到多个行向量,其中,每一行向量包括向量表示序列中指定数量的单位时段内的数据项的向量表示,指定数量等于滑动窗口大小;多个行向量排布成矩阵,得到第一特征矩阵。
142.一种可选地实施例中,自编码器单元包含的卷积核为对称卷积核,每一自编码器单元为基于时域卷积网络的单任务自编码器。
143.一种可选地实施例中,在将多个重建时间序列数据与原始时间序列数据进行比对,确定异常检测结果时,检测处理模块具体用于:
144.确定原始时间序列数据与每一重建时间序列数据中同一单位时段的访问频次的差异值;对原始时间序列数据与每一重建时间序列数据中同一单位时段的访问频次的差异值加权求和,确定每一单位时段对应的综合差异信息;将对应的综合差异信息大于差异阈值的单位时段,确定为待检测时间段内存在异常访问行为的单位时段,得到异常检测结果。
145.一种可选地实施例中,在将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据之前,时间序列重建模块还用于:
146.根据待检测时间段之前的历史访问数据,确定在待检测时间段之前账号访问过资源。
147.一种可选地实施例中,将原始时间序列数据输入多任务自编码器进行重建,得到多个重建时间序列数据之前,检测处理模块还用于:
148.根据待检测时间段之前的历史访问数据,若确定在待检测时间段之前账号未访问过资源,则将待检测时间段内账号第一次访问资源的单位时段,确定为存在异常访问行为的单位时段,得到异常检测结果。
149.本技术实施例提供的装置可以具体用于执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
150.图6为本技术一示例实施例提供的电子设备的结构示意图。如图6所示,该电子设备60包括:处理器601,以及与处理器601通信连接的存储器602,存储器602存储计算机执行指令。
151.其中,处理器执行存储器存储的计算机执行指令,以实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。该电子设备可以为上述提及的服务器。
152.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
153.本技术实施例还提供了一种计算机程序产品,程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一方法实施例所提供的方案,具体功能和所能实现的技术效果此处不再赘述。
154.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
155.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
再多了解一些

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

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

相关文献