本公开涉及数据处理技术领域,尤指一种数据访问异常的检测方法、装置、电子设备及存储介质。
背景技术:
随着异构系统的广泛应用,用户常常需要跨系统地访问各类资源,例如数据库表、文件、接口等。这些异构系统的权限管理往往有不同的访问控制机制,且由不同的安全管理员维护。为了统一这些资源的权限控制,往往需要大量人力去重新设计和实现各自的策略,并且要求策略设计人员具备所有系统的相关业务知识。因此,跨系统的资源权限管理具有较大的实施难度,往往存在一些权限滥用、误用等问题。在实现本公开构思的过程中,发明人发现,传统方法通常仅根据网络流量来检测信息系统中的异常,且往往针对单一应用逻辑,难以发现跨系统的资源访问行为中的异常。
技术实现要素:
本公开的一个方面提供了一种数据访问异常的检测方法,包括:
根据异构系统的历史访问数据,生成拓扑图;其中,所述拓扑图用以表示预设时间内的所有主体和客体的跨异构系统数据访问情况;
根据所述拓扑图中每个主体和客体的共现信息,分别获取每个所述主体和所述客体的嵌入向量;
针对每个所述主体,根据所述主体的嵌入向量以及与所述主体共现的客体的嵌入向量获取每个所述主体的访问序列;
将每个所述主体的访问序列送入经训练的循环神经网络进行依赖关系提取,以获取与每个所述主体的访问序列对应的隐向量;
将所述隐向量送入经训练的浅层全连接神经网络进行分类,以识别数据访问异常行为。
可选地,所述根据所述拓扑图中每个主体和客体的共现信息,分别获取每个所述主体和所述客体的嵌入向量,包括:
采用受约束的随机游走和词向量嵌入将所述拓扑图中每个主体和客体的共现信息分别嵌入到每个所述主体和所述客体所对应的向量空间中,以形成每个所述主体和所述客体的嵌入向量。
可选地,所述受约束的随机游走包括:按照主体作为路径起点,逐次访问客体的顺序进行所述拓扑图的路径游走。
可选地,每个所述主体的嵌入向量和所述客体的嵌入向量具有相同的维度。
可选地,所述根据异构系统的历史访问数据,生成拓扑图,包括:
将所述异构系统的历史访问数据按照预设时间间隔进行分割;
以所述主体和所述客体作为节点,以访问行为作为边,并基于分割后的历史访问数据生成所述拓扑图。
可选地,所述根据所述主体的嵌入向量以及与所述主体共现的客体的嵌入向量获取每个所述主体的访问序列,包括:根据时间顺序排列所述主体与所述客体的嵌入向量,以生成每个所述主体的访问序列。
本公开的另一个方面提供了一种数据访问异常的检测装置,包括:
生成模块,用于根据异构系统的历史访问数据,生成拓扑图;其中,所述拓扑图用以表示预设时间内的所有主体和客体的跨异构系统数据访问情况;
嵌入模块,用于根据所述拓扑图中每个主体和客体的共现信息,分别获取每个所述主体和所述客体的嵌入向量;
获取模块,用于针对每个所述主体,根据所述主体的嵌入向量以及与所述主体共现的客体的嵌入向量获取每个所述主体的访问序列;
提取模块,用于将每个所述主体的访问序列送入经训练的循环神经网络进行依赖关系提取,以获取与每个所述主体的访问序列对应的隐向量;
检测模块,用于将所述隐向量送入经训练的浅层全连接神经网络进行分类,以识别数据访问异常行为。
可选地,所述嵌入模块还用于:采用受约束的随机游走和词向量嵌入将所述拓扑图中每个主体和客体的共现信息分别嵌入到每个所述主体和所述客体所对应的向量空间中,以形成每个所述主体和所述客体的嵌入向量;
其中,所述受约束的随机游走包括:按照主体作为路径起点,逐次访问客体的顺序进行所述拓扑图的路径游走。
可选地,所述嵌入模块形成的每个所述主体的嵌入向量和所述客体的嵌入向量具有相同的维度。
可选地,所述生成模块还包括:第一生成模块,用于将所述异构系统的历史访问数据按照预设时间间隔进行分割;第二生成模块,用于以所述主体和所述客体作为节点,以访问行为作为边,并基于分割后的历史访问数据生成所述拓扑图。
本公开的另一方面提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令在被所述处理器执行时实现如上所述的方法。
本公开的又一方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令在被所述处理器执行时实现如上所述的方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据访问异常的检测方法的应用场景;
图2示意性示出了根据本公开实施例的数据访问异常的检测方法的流程图;
图3示意性示出了根据本公开实施例的数据访问异常的检测方法的示意图;
图4示意性示出了根据本公开实施例的数据访问异常的检测装置的框图;
图5示意性示出了根据本公开另一实施例的数据访问异常的检测装置的框图;
图6示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“a、b和c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b和c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。在使用类似于“a、b或c等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有a、b或c中至少一个的系统”应包括但不限于单独具有a、单独具有b、单独具有c、具有a和b、具有a和c、具有b和c、和/或具有a、b、c的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种数据访问异常的检测方法和装置,可以应用于跨异构系统的数据访问行为异常检测。本公开中的数据访问异常的检测方法通过采用拓扑图对跨系统的数据访问行为进行描述,并在此基础上通过图嵌入技术等对这些访问行为建模,最后基于深度学习网络对访问行为分类,进而实现自动化地对跨异构系统数据访问行为的异常检测。
图1示意性示出了根据本公开实施例的可以应用于数据访问异常的检测方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的数据访问异常的检测方法一般可以由服务器105执行。相应地,本公开实施例所提供的数据访问异常的检测装置一般可以设置于服务器105中。本公开实施例所提供的数据访问异常的检测方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的数据访问异常的检测装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的数据访问异常的检测方法的流程图。图3示意性示出了图2的方法的示意图。下面将结合图3对图2中的数据访问异常的检测方法进行说明。
需要说明的是,图3中示例性示出的内容,例如主、客体的数量、神经网络模型结构等等,仅是为了便于本领域技术人员理解本公开的技术方案,并非用以限定本公开的保护范围。
如图2所示,该数据访问异常的检测方法例如可以包括操作s210~s250。
在操作s210,根据异构系统的历史访问数据,生成拓扑图。其中,拓扑图用以表示预设时间内的所有主体和客体的跨异构系统数据访问情况。
访问控制涉及三个基本概念,即主体、客体和访问授权。主体是一个主动的实体,它包括用户、用户组、终端、主机或一个应用等,主体可以访问客体。客体是一个被动的实体,对客体的访问要受控。它可以是一个字节、字段、记录、程序、文件,或者是一个处理器、存贮器、网络节点等。授权访问是指主体访问客体的允许,授权访问对每一对主体和客体来说是给定的。例如,授权访问有读写、执行,读写客体是直接进行的,而执行是搜索文件、执行文件。对用户的访问授权是由系统的安全策略决定的。在一个访问控制系统中,区别主体与客体很重要,首先由主体发起访问客体的操作,该操作根据系统的授权或被允许或被拒绝。另外,主体与客体的关系是相对的,当一个主体受到另一个主体的访问,成为访问目标时,该主体便成为了客体。
可以理解,所获取的异构系统的历史访问数据中包含有多个主体和客体及其对应的访问行为,而主体和客体之间是存在共现关系的,这里的共现是指在某一时间间隔内的访问行为中,有些主体和有些客体会经常一起出现,这些主、客体序列构成了该时间间隔内的访问行为。也就是说,基于数据访问行为是具有周期性规律的,例如工作日的访问行为是相似的、周末的访问行为是相似的。因此,可以利用这种访问行为存在的关联性和规律性(即主体和客体之间的共现关系)来对跨异构系统的数据访问情况进行表述。
具体地,将异构系统中各系统的历史访问数据按照预设时间间隔进行分割,并以主体和客体作为节点,以访问行为作为边,并基于分割后的历史访问数据生成拓扑图。
如前所述,主客体之间的共现关系反映的是某一时间间隔内主体和客体同时出现的情况,因此,主客体之间的共现关系是受时间间隔影响的,例如周一的主客体访问历史构成的拓扑图与周日的可能有很大不同。如果时间间隔更长,例如年底两个月和年中几个月份的访问行为也有很大不同。在本公开实施例中,为了便于操作,例如可以以月为单位对上述历史访问数据进行分割,当然,也可以根据实际需要进行间隔大小的选择,在此不做限制。例如在图3中,假设待检测的异构系统的历史访问数据中包括3个访问主体和4个客体,主体和客体之间的连线用以表示主体对客体的访问行为,具体地,上述主体和客体形成的拓扑图如图3所示,该拓扑图表示了某一时间段(例如一个月)内的所有主体和客体的跨异构系统数据访问情况。
在操作s220,根据拓扑图中每个主体和客体的共现信息,分别获取每个主体和客体的嵌入向量。
具体地,在本公开实施例中,采用受约束的随机游走和词向量嵌入将拓扑图中每个主体和客体的共现信息分别嵌入到每个主体和客体所对应的向量空间中,以形成每个主体和客体的嵌入向量。其中,受约束的随机游走是指按照主体作为路径起点,逐次访问客体的顺序进行拓扑图的路径游走。例如,参考图3,以主体3为例对受约束的随机游走进行说明。对主体3,以主体3为路径起点,以逐次访问客体4、客体1、客体2和客体3的顺序进行拓扑图的路径游走,这样就可以得到一个与主体3对应的向量。同样地,其他主体和客体也可以得到对应的向量。然后,通过词向量嵌入将拓扑图中每个主体和客体的共现信息分别嵌入到每个主体和客体所对应的向量空间中,得到上述每个主体和客体的嵌入向量,例如图3中示出的主体1~主体3的嵌入向量表示,客体1~客体4的嵌入向量表示。
每个主体和客体在嵌入之前都是独热编码(one-hot编码),其缺点在于:每个主体或客体所对应的向量的长度为主体和客体的数量,特征空间会变得非常大,且向量都过于稀疏,除了少数维度之外的大多数维度都为零。每个主体和客体所对应的向量在空间上都是两两正交的,任意一对向量之间的内积等数值特征都为零,无法表达主客体之间的语义关联和差异,也即无法体现出主体和客体之间的共现关系。
上述对主体和客体的向量进行嵌入至少包括以下两个方面的目的:其一,将每个主体和客体嵌入为一个固定长度的向量,也即每个主体的嵌入向量和客体的嵌入向量具有相同的维度(嵌入后主、客体向量是低维空间的特征向量),这样极大地缩减了向量的长度,提高了程序运行效率。
其二,对每个主体和客体所对应的向量进行词义嵌入,其目的是为了使用低维、稠密、实值的嵌入向量来表示每一个主体或客体,让每个主体和客体在输入神经网络时具备一定语义信息,并使得计算主客体之间的相关度成为可能。具体地,嵌入后的主体和客体向量具有相同的维度,能够度量嵌入向量之间的距离,例如通过计算两个嵌入向量之间的余弦相似度距离判断两者是否相近。而这些向量之间的距离能够表示主客体之间共现的信息:若两者距离近,则说明主体或客体具有相近的含义(即经常共现),经常出现在相同的访问序列中。可见,通过上述这些共现信息可以提高神经网络模型的序列关系提取效率和准确率。
在操作s230,针对每个主体,根据主体的嵌入向量以及与主体共现的客体的嵌入向量获取每个主体的访问序列。
其中,根据时间顺序排列主体与客体的嵌入向量,以生成每个主体的访问序列。例如,在图3中,以第i(i=1,2,3)个主体为例,将主体i的嵌入向量以及与主体i共现的第i~m(i,m=1,2,3,4)个客体(即客体i~m)的嵌入向量按照时间顺序进行排序,得到主体i的访问序列fi。
在操作s240,将每个主体的访问序列送入经训练的循环神经网络进行依赖关系提取,以获取与每个主体的访问序列对应的隐向量。例如,在图3中,将主体i的访问序列fi送入循环神经网络中进行依赖关系提取,并输出与主体i的访问序列fi对应的隐向量ui。
循环神经网络(recurrentneuralnetwork,rnn)是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。循环神经网络具有记忆性、参数共享并且图灵完备(turingcompleteness),因此在对序列的非线性特征进行学习时具有一定优势。
经训练的循环神经网络包括但不限于双向循环神经网络(bidirectionalrnn,bi-rnn)和长短期记忆网络(longshort-termmemorynetworks,lstm)等,可以根据需要选择合适的神经网路来进行特征提取。
在本公开实施例中,循环神经网络的训练方法主要包括:将一段时间内(包含多个时间间隔)所有用户的访问序列输入作为训练样本,采用例如adam或标准梯度下降方法训练循环神经网络,进而获得局部最优的模型参数,即得到了经训练的循环神经网络模型。使用该经训练的循环神经网络模型能够对用户的访问序列进行高效地特征提取。
在操作s250,将隐向量送入经训练的浅层全连接神经网络进行分类,以识别数据访问异常行为。
在本公开实施例中,由于浅层全连接神经网络的输入就是循环神经网络的输出,因此,浅层全连接神经网络的训练可以与循环神经网络同步进行,浅层全连接神经网络的训练方式与循环神经网络相似,在此不再赘述。
当循环神经网络输出与每个主体的访问序列对应的隐向量后,使用经训练的浅层全连接神经网络模型对该访问序列进行分类,输出数据访问是否异常的结果。参考图3,将与主体i的访问序列fi对应的隐向量ui送入经训练的浅层全连接神经网络模型,输出主体i的访问序列fi的分类结果,即数据访问是否存在异常。
根据本公开实施例,采用上述数据访问异常的检测方法,可以实现自动、快速地对跨异构系统的数据访问行为的异常检测。上述方法降低了跨系统资源访问策略设计的难度,使安全人员只需要进行核心关键策略的设计即可。
图4示意性示出了根据本公开实施例的数据访问异常的检测装置的框图。
如图4所示,本公开实施例中数据访问异常的检测装置400包括:生成模块410、嵌入模块420、获取模块430、提取模块440和检测模块450,其中:
生成模块410用于根据异构系统的历史访问数据,生成拓扑图。其中,拓扑图用以表示预设时间内的所有主体和客体的跨异构系统数据访问情况。
嵌入模块420用于根据拓扑图中主体和客体的共现信息,分别获取主体和客体的嵌入向量。其中,嵌入模块420所形成的每个主体的嵌入向量和客体的嵌入向量具有相同的维度。
获取模块430用于针对每个主体,根据主体和客体的嵌入向量获取每个主体的防问序列。
提取模块440用于将每个主体的访问序列送入经训练的循环神经网络进行依赖关系提取,以获取与每个主体的访问序列对应的隐向量。
检测模块450用于将隐向量送入经训练的浅层全连接神经网络进行分类,以识别数据访问异常行为。
根据本公开实施例,嵌入模块520还用于采用受约束的随机游走和词向量嵌入将拓扑图中每个主体和客体的共现信息分别嵌入到每个主体和客体所对应的向量空间中,以形成每个主体和客体的嵌入向量。其中,受约束的随机游走包括按照主体作为路径起点,逐次访问客体的顺序进行拓扑图的路径游走。
图5示意性示出了根据本公开另一实施例的数据访问异常的检测装置的框图。
如图5所示,数据访问异常的检测装置500包括:生成模块510、嵌入模块520、获取模块530、提取模块540和检测模块550。其中,嵌入模块520、获取模块530、提取模块540和检测模块550分别具有与嵌入模块420、获取模块430、提取模块440和检测模块450对应相同的功能,重复的部分不再赘述。
在本公开实施例中,生成模块510还包括第一生成模块511和第二生成模块512。其中:
第一生成模块511用于将异构系统的历史访问数据按照预设时间间隔进行分割。
第二生成模块512用于以主体和客体作为节点,以访问行为作为边,并基于分割后的历史访问数据生成拓扑图。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,生成模块510、嵌入模块520、获取模块530、提取模块540和检测模块550中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,生成模块510、嵌入模块520、获取模块530、提取模块540和检测模块550中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(fpga)、可编程逻辑阵列(pla)、片上系统、基板上的系统、封装上的系统、专用集成电路(asic),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,生成模块510、嵌入模块520、获取模块530、提取模块540和检测模块550中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。图6示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600包括处理器610、计算机可读存储介质620。该电子设备600可以执行根据本公开实施例的方法。
具体地,处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(asic)),等等。处理器610还可以包括用于缓存用途的板载存储器。处理器610可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(hdd);光存储装置,如光盘(cd-rom);存储器,如随机存取存储器(ram)或闪存;等等。
计算机可读存储介质620可以包括计算机程序621,该计算机程序621可以包括代码/计算机可执行指令,其在由处理器610执行时使得处理器610执行根据本公开实施例的方法或其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括模块621a、模块621b、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器610执行时,使得处理器610可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,生成模块510、嵌入模块520、获取模块530、提取模块540和检测模块550中的至少一个可以实现为参考图6描述的计算机程序模块,其在被处理器610执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
1.一种数据访问异常的检测方法,包括:
根据异构系统的历史访问数据,生成拓扑图;其中,所述拓扑图用以表示预设时间内的所有主体和客体的跨异构系统数据访问情况;
根据所述拓扑图中每个主体和客体的共现信息,分别获取每个所述主体和所述客体的嵌入向量;
针对每个所述主体,根据所述主体的嵌入向量以及与所述主体共现的客体的嵌入向量获取每个所述主体的访问序列;
将每个所述主体的访问序列送入经训练的循环神经网络进行依赖关系提取,以获取与每个所述主体的访问序列对应的隐向量;
将所述隐向量送入经训练的浅层全连接神经网络进行分类,以识别数据访问异常行为。
2.根据权利要求1所述的数据访问异常的检测方法,其中,所述根据所述拓扑图中每个主体和客体的共现信息,分别获取每个所述主体和所述客体的嵌入向量,包括:
采用受约束的随机游走和词向量嵌入将所述拓扑图中每个主体和客体的共现信息分别嵌入到每个所述主体和所述客体所对应的向量空间中,以形成每个所述主体和所述客体的嵌入向量。
3.根据权利要求2所述的数据访问异常的检测方法,其中,所述受约束的随机游走包括:
按照主体作为路径起点,逐次访问客体的顺序进行所述拓扑图的路径游走。
4.根据权利要求2所述的数据访问异常的检测方法,其中,每个所述主体的嵌入向量和所述客体的嵌入向量具有相同的维度。
5.根据权利要求1所述的数据访问异常的检测方法,其中,所述根据异构系统的历史访问数据,生成拓扑图,包括:
将所述异构系统的历史访问数据按照预设时间间隔进行分割;
以所述主体和所述客体作为节点,以访问行为作为边,并基于分割后的历史访问数据生成所述拓扑图。
6.根据权利要求1所述的数据访问异常的检测方法,其中,所述根据所述主体的嵌入向量以及与所述主体共现的客体的嵌入向量获取每个所述主体的访问序列,包括:
根据时间顺序排列所述主体与所述客体的嵌入向量,以生成每个所述主体的访问序列。
7.一种数据访问异常的检测装置,包括:
生成模块,用于根据异构系统的历史访问数据,生成拓扑图;其中,所述拓扑图用以表示预设时间内的所有主体和客体的跨异构系统数据访问情况;
嵌入模块,用于根据所述拓扑图中每个主体和客体的共现信息,分别获取每个所述主体和所述客体的嵌入向量;
获取模块,用于针对每个所述主体,根据所述主体的嵌入向量以及与所述主体共现的客体的嵌入向量获取每个所述主体的访问序列;
提取模块,用于将每个所述主体的访问序列送入经训练的循环神经网络进行依赖关系提取,以获取与每个所述主体的访问序列对应的隐向量;
检测模块,用于将所述隐向量送入经训练的浅层全连接神经网络进行分类,以识别数据访问异常行为。
8.根据权利要求7所述的数据访问异常的检测装置,其中,所述嵌入模块还用于:
采用受约束的随机游走和词向量嵌入将所述拓扑图中每个主体和客体的共现信息分别嵌入到每个所述主体和所述客体所对应的向量空间中,以形成每个所述主体和所述客体的嵌入向量;
其中,所述受约束的随机游走包括:按照主体作为路径起点,逐次访问客体的顺序进行所述拓扑图的路径游走。
9.根据权利要求7所述的数据访问异常的检测装置,其中,所述嵌入模块形成的每个所述主体的嵌入向量和所述客体的嵌入向量具有相同的维度。
10.根据权利要求7所述的数据访问异常的检测装置,其中,所述生成模块还包括:
第一生成模块,用于将所述异构系统的历史访问数据按照预设时间间隔进行分割;
第二生成模块,用于以所述主体和所述客体作为节点,以访问行为作为边,并基于分割后的历史访问数据生成所述拓扑图。
11.一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1-6中任一项所述的方法所执行的操作。
12.一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-6中任一项所述的方法所执行的操作。
技术总结