本发明涉及数据处理
技术领域:
,尤其涉及一种基于用户行为序列相似度的异常检测方法、终端及存储介质。
背景技术:
:随着科技不断的发展,数据信息已成为当前重要的载体。数据信息承载着企业的信息,用户的信息,交易的信息以及通信的信息。数据信息对每个人每个企业均具有十分重要的作用。数据信息的异常问题是当前需要重视的问题。对于数据异常问题,基于大数据挖掘的流量分析可以动态全面地寻找内网中的恶意行为。而现有技术中的ips/ids,也就是入侵检测系统是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。它与其他网络安全设备的不同之处便在于,ids是一种积极主动的安全防护技术。现有技术中还涉及nta,也就是流量异常分析方式,这两种方式均是基于规则匹配和预设统计阈值的方法,无法识别掩藏在群组内部的异常行为,这样导致数据信息的安全性无法保障。技术实现要素:为了克服上述现有技术中的不足,提高检测内网中群组内部异常行为的准确率,本发明提供一种用户行为序列异常检测方法,本方法的特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。方法包括:获取预设时间段用户行为信息;基于访问地址信息将预设时间段内的特征属性进行聚合;将预设时间段内的行为矩阵按照时间进行顺序;将用户预设时间段内的行为配置成行向量,再基于时间顺序形成行为行向量时间序列;提取任意两个用户的行为行向量时间序列,计算两个用户之间的相关系数,并判断两用户在预设时间段内预设时间节点上的向量相似度;在预设时间段内,采用动态规整算法查找两个用户的行为行向量时间序列的最优距离;基于上述方式得到的最优距离,计算所有用户之间的距离平均值和标准差;在预设时间段内,如有用户与其他用户间的距离大于平均值的 3倍标准差,则判断所述用户为异常用户,并写入到异常用户列表中。进一步需要说明的是,获取异常用户列表中的异常用户与正常用户之间的相似度;如果相似度大于平均值-3倍标准差,且正常用户数占比超过90%,则所述异常用户变更为正常用户,否则确定为异常用户。进一步需要说明的是,步骤获取预设时间段用户行为信息之前还包括:基于内网用户,获取预设时间段内访问目标服务器的行为信息。进一步需要说明的是,所述访问目标服务器的行为信息包括:内网用户访问每个目标服务器产生的流量信息、时间信息以及所属应用协议的信息。进一步需要说明的是,在预设时间段内,统计与内网用户连接过的目标服务器,并形成目标服务器ip列表;统计内网用户与每个目标服务器连接时,分别产生的上下行流量总和以及分别与每个目标服务器连接的总频次。进一步需要说明的是,在预设时间段内,统计内网用户每次连接目标服务器连接的总时长以及与目标服务器最后一次连接时间距离当前时间的时长,并配置活跃度;在预设时间段内,统计内网用户与目标服务器连接使用的应用层协议种类数。进一步需要说明的是,计算两个用户之间的相关系数方式为:基于上述公式分别计算两个用户在每个时间节点上的相关系数。进一步需要说明的是,采用动态规整算法计算两个用户的行为行向量时间序列最优距离的计算方式为:γ(i,j)=d(qi,cj) max{γ(i-1,j-1),γ(i-1,j),γ(i,j-1)}。本发明还提供一种实现用户行为序列异常检测方法的终端设备,包括:存储器,用于存储计算机程序及用户行为序列异常检测方法;处理器,用于执行所述计算机程序及用户行为序列异常检测方法,以实现用户行为序列异常检测方法的步骤。本发明还提供一种具有用户行为序列异常检测方法的可读存储介质,可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现用户行为序列异常检测方法的步骤。从以上技术方案可以看出,本发明具有以下优点:本发明步骤清晰、复用率高:因为流量数据的特性,可以提取出高频共用的规则为行为提取特征,实现复用,例如时间、协议、流量字节以及连接频次等等,基于时间的扩展度高。本发明方法可以应用于内网群组中异常检测的场景中。基于相似度的离群点检测可以帮助企业或政府组织安全分析人员快速定位异常用户,脱离传统安全工具的规则限制,主动识别用户行为的规律。本发明还原业务场景种类多,克服痛点多。在现实场景下,能够从用户每天的行为特征入手去衡量用户之间的相似程度,可以满足全面分析用户行为细节的需求,克服用户由于出差、休假、或在预设时间段内未有连续行为等因素造成的没有工作而无法生成特征矩阵,造成的序列长度不一致的问题,大大降低了异常检测的误报率。使得可以识别掩藏在群组内部的异常行为,保障数据信息的安全性。附图说明为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为基于用户行为序列相似度的异常检测方法流程图;图2为基于用户行为序列相似度的异常检测方法架构示例图;图3为基于用户行为序列相似度的异常检测方法实施例流程图。具体实施方式本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。本发明为了提高检测内网中群组内部异常行为的准确率,提供一种用户行为序列异常检测方法,如图1所示。方法按照预定的方法读取相关信息,统计所述时间内用户的行为量化。本发明基于终端处理器的数据处理,通过读取存储在可读存储设备中的代码指令,执行相似度的运算,对群组内部行为特征离群点的检测。本发明涉及的用户是内网用户。内网用户指的是在局域网,或单位办公网而建立的网络。当然内网也可以与外网进行连接。当然也可以是基于光纤专到单体楼、一个社区、或者一个办公区等地域范围比较大基于以太网技术的于内网。在内网中的系统架构100可以包括终端设备101、102、103中的一种或多种,网络104和服务器105。通信网络104是用以在终端设备101、102、103和服务器105之间提供通信链路的介质。通信网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。应该理解,图2中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。需要说明的是,图2示出的电子设备的计算机系统200仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机、数字电影放映机等等。服务器105可以是提供各种服务的服务器。例如用户利用终端设备103(也可以是终端设备101或102)向服务器105发送数据信息。方法具体包括:s101,获取预设时间段用户行为信息;预设时间段可以基于实际使用的环境以及使用需要进行设置,可以以小时、天、周或月来设置时间段。用户行为信息是基于终端设备对目标服务器的访问以及数据操作。s102,基于访问地址信息将预设时间段内的特征属性进行聚合;访问地址信息包括:访问源ip和访问目标ip。s103,将预设时间段内的行为矩阵按照时间进行顺序;将用户预设时间段内的行为配置成行向量,再基于时间顺序形成行为行向量时间序列;在预设时间段,每个用户在每个时间节点上都要生成一个行为特征矩阵,对于因出差或者休假或在预设时间段内未有连续行为等因素造成的没有工作而无法生成特征矩阵的情况,可以按照时间顺序由下一个时间节点后,补填充。s104,提取任意两个用户的行为行向量时间序列,计算两个用户之间的相关系数,并判断两用户在预设时间段内预设时间节点上的向量相似度;相关系数越大,表示相似度越高。任意两个用户是基于在在预设时间段内,具有数据操作行为的用户,也就是对在预设时间段内所有具有数据操作行为的用户进行检测。s105,在预设时间段内,采用动态规整算法查找两个用户的行为行向量时间序列的最优距离;s106,基于上述方式得到的最优距离,计算所有用户之间的距离平均值和标准差;s107,在预设时间段内,如有用户与其他用户间的距离大于平均值的 3倍标准差,则判断所述用户为异常用户,并写入到异常用户列表中。获取异常用户列表中的异常用户与正常用户之间的相似度;如果相似度大于平均值-3倍标准差,且正常用户数占比超过90%,则所述异常用户变更为正常用户,否则确定为异常用户。基于上述方法步骤,本发明执行效率非常高,通过图1中可以看到相似度在计算过程中只调用处理器一次,存储和获取均在内存中执行。本发明方法可以应用于内网群组中异常检测的场景中。基于相似度的离群点检测可以帮助企业或政府组织安全分析人员快速定位异常用户,脱离传统安全工具的规则限制,主动识别用户行为的规律。本发明还原业务场景种类多,克服痛点多。在现实场景下,能够从用户每天的行为特征入手去衡量用户之间的相似程度,可以满足全面分析用户行为细节的需求,克服用户由于出差、休假、或在预设时间段内未有连续行为等因素造成的没有工作而无法生成特征矩阵,造成的序列长度不一致的问题,大大降低了异常检测的误报率。使得可以识别掩藏在群组内部的异常行为,保障数据信息的安全性。本发明提供的用户行为序列异常检测方法的附图中的流程图和框图,图示了按照本公开各种实施方式的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本发明提供的用户行为序列异常检测方法所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。图3示意性示出了根据本公开的一实施方式的另一种用户行为序列异常检测方法的流程图。本实施方式的方法步骤可以由终端设备执行,也可以由服务端执行,或者由终端设备和服务端交互执行,例如,可以由上述图2中的服务器105执行,但本公开并不限定于此。s201,基于内网用户,获取预设时间段内访问目标服务器的行为信息。s202,所述访问目标服务器的行为信息包括:内网用户访问每个目标服务器产生的流量信息、时间信息以及所属应用协议的信息。s203,在预设时间段内,统计与内网用户连接过的目标服务器,并形成目标服务器ip列表;s204,统计内网用户与每个目标服务器连接时,分别产生的上下行流量总和以及分别与每个目标服务器连接的总频次。s205,在预设时间段内,统计内网用户每次连接目标服务器连接的总时长以及与目标服务器最后一次连接时间距离当前时间的时长,并配置活跃度;s206,在预设时间段内,统计内网用户与目标服务器连接使用的应用层协议种类数。s207,获取预设时间段用户行为信息;s208,基于访问地址信息将预设时间段内的特征属性进行聚合;s209,将预设时间段内的行为矩阵按照时间进行顺序;将用户预设时间段内的行为配置成行向量,再基于时间顺序形成行为行向量时间序列;s210,提取任意两个用户的行为行向量时间序列,计算两个用户之间的相关系数,并判断两用户在预设时间段内预设时间节点上的向量相似度;相关系数越大,表示相似度越高。s211,在预设时间段内,采用动态规整算法查找两个用户的行为行向量时间序列的最优距离;s212,基于上述方式得到的最优距离,计算所有用户之间的距离平均值和标准差;s213,在预设时间段内,如有用户与其他用户间的距离大于平均值的 3倍标准差,则判断所述用户为异常用户,并写入到异常用户列表中。其中,将异常用户写入到异常用户列表中之后,再进行检测,并进一步确定是否为异常用户。获取异常用户列表中的异常用户与正常用户之间的相似度;如果相似度大于平均值-3倍标准差,且正常用户数占比超过90%,则所述异常用户变更为正常用户,否则确定为异常用户。正常用户也可以是基于系统在正常运行状态下,用户所具有的预设数据信息,可以作为一个标准阈值,来对其他用户行为进行判断。当然也可以是基于当前在预设时间段内正常用户所具有的数据,来作为一个标准阈值,对异常用户列表中的用户行为进行判断。这样,应用于内网群组中异常检测的场景中。基于相似度的离群点检测可以帮助企业或政府组织安全分析人员快速定位异常用户,脱离传统安全工具的规则限制,主动识别用户行为的规律。本发明还原业务场景种类多,克服痛点多。在现实场景下,能够从用户每天的行为特征入手去衡量用户之间的相似程度,既可以满足分析人员希望全面分析用户行为细节的需求,也克服了用户由于出差、休假、或在预设时间段内未有连续行为等因素造成的没有工作而无法生成特征矩阵,造成的序列长度不一致的问题,大大降低了异常检测的误报率。使得可以识别掩藏在群组内部的异常行为,保障数据信息的安全性。本发明还提供一种实施方式,实施方式的方法步骤可以由终端设备执行,也可以由服务端执行,或者由终端设备和服务端交互执行,例如,可以由上述图2中的服务器105执行,但本公开并不限定于此。获取用户行为特征矩阵针对所述内网用户,获取预设时间段内访问目标服务器的行为信息,访问目标服务器的行为信息包括所述内网用户的访问每一个目标服务器产生的流量信息、时间信息以及所属应用协议的信息。基于所述访问目标服务器的行为信息,统计内网用户在预设时间段内与所连接过的目标服务器的ip列表、与每一个目标服务器连接所产生的上下行流量总和、与目标服务器连接的总频次;统计内网用户在预设时间段内每次连接的结束时间减去起始时间,即与每个目标服务器连接的总时长、与每个目标服务器最后一次连接的时间距离当前时间的时长,表示为活跃度;统计内网用户在所述时间段内与每个目标服务器连接一共使用的应用层协议种类数。构建预设时间段内的用户行为矩阵;基于上述获取到的统计特征,按照用户源ip地址以及访问服务器目标ip地址进行聚合。在单位时间窗口为一天的情况下,每个用户在每个时间节点上都要生成一个行为特征矩阵,对于因出差或者休假等因素造成的没有工作而无法生成特征矩阵的情况,按照时间顺序由下一个时间节点后补填充。计算相似度:基于上述获取行为特征矩阵步骤,得到预处理之后的数据,进行数学变换模块,对特征矩阵再做特征工程以满足算法的要求:具体的,在预设时间段内,每个用户都在每天做了行为特征的统计聚合,如果直接拼接可能不易处理。因此这里需要先将每个时间节点上的行为特征矩阵转秩相乘,统一为6*6的方阵,然后再拉直形成一行行为特征向量,按照时间顺序依次拼接成完整的行为序列。行为向量间的相关系数:假设两个用户q和c,要计算他们之间的相关系数:基于上述特征工程步骤得到的行为时间序列,分别计算用户q和用户c在每个时间节点上的相关系数,计算公式如上。假设用户q的行为序列有2个时间节点,用户c的行为序列有3个时间节点,最终结果的样式就是输出为一张表,如下表2,其中行表示用户q的两个时间节点i,列表示用户c的三个时间节点j,空格处表示对应的特征向量相关系数。表2q/c12312现实中用户之间的行为序列往往长度不一,传统的距离计算方法并不能适应该问题,因此基于动态规整算法(dtw)的距离计算更适合本实施例,如表2,计算矩阵中寻找最优的路径,数学模型如下公式:γ(i,j)=d(qi,cj) max{γ(i-1,j-1),γ(i-1,j),γ(i,j-1)}公式所求为在表2矩阵中计算两个用户的行为行向量时间序列最优距离。最终将会生成用户之间行为序列的最优相似度,如下表3:表3用户相似度矩阵示例qcdtw_distance(q,c)定位异常用户下面结合具体实施例,介绍如何根据相似度去找到内网中群组里的异常用户。a)首先计算所有相似度的平均值和标准差。b)如果群组中有两用户之间的相似度小于平均值减去三倍标准差,则将他们视为疑似异常用户。c)在疑似异常用户列表中,分别比较他们与剩余正常用户之间的相似度。如果相似度大于平均值减三倍标准差的正常用户数占比超过其90%,则该疑似异常用户属于正常用户,否则就确定为异常用户。这样,应用于内网群组中异常检测的场景中。基于相似度的离群点检测可以帮助企业或政府组织安全分析人员快速定位异常用户,脱离传统安全工具的规则限制,主动识别用户行为的规律。本发明还原业务场景种类多,克服痛点多。在现实场景下,能够从用户每天的行为特征入手去衡量用户之间的相似程度,既可以满足分析人员希望全面分析用户行为细节的需求,也克服了用户由于出差、休假、或在预设时间段内未有连续行为等因素造成的没有工作而无法生成特征矩阵,造成的序列长度不一致的问题,大大降低了异常检测的误报率。使得可以识别掩藏在群组内部的异常行为,保障数据信息的安全性。基于上述方法本发明还提供一种实现用户行为序列异常检测方法的终端设备,包括:存储器,用于存储计算机程序及用户行为序列异常检测方法;处理器,用于执行所述计算机程序及用户行为序列异常检测方法,以实现用户行为序列异常检测方法的步骤。基于上述方法本发明还提供一种具有用户行为序列异常检测方法的可读存储介质,可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现用户行为序列异常检测方法的步骤。终端设备包括中央处理单元(cpu,centralprocessingunit),其可以根据存储在只读存储器(rom,read-onlymemory)中的程序以及用户行为序列异常检测方法。或者从储存部分加载到随机访问存储器(ram,randomaccessmemory)中的程序而执行用户行为序列异常检测方法。在ram中,还存储有系统操作所需的各种程序和数据。cpu、rom以及ram通过总线彼此相连。输入/输出(i/o)接口也连接至总线。以下部件连接至i/o接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(crt,cathoderaytube)、液晶显示器(lcd,liquidcrystaldisplay)等以及扬声器等的输出部分;包括硬盘等的储存部分;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至i/o接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入储存部分。实现用户行为序列异常检测方法的终端设备是结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
技术特征:1.一种用户行为序列异常检测方法,其特征在于,方法包括:
获取预设时间段用户行为信息;
基于访问地址信息将预设时间段内的特征属性进行聚合;
将预设时间段内的行为矩阵按照时间进行顺序;将用户预设时间段内的行为配置成行向量,再基于时间顺序形成行为行向量时间序列;
提取任意两个用户的行为行向量时间序列,计算两个用户之间的相关系数,并判断两用户在预设时间段内预设时间节点上的向量相似度;
在预设时间段内,采用动态规整算法查找两个用户的行为行向量时间序列的最优距离;
基于上述方式得到的最优距离,计算所有用户之间的距离平均值和标准差;
在预设时间段内,如有用户与其他用户间的距离大于平均值的 3倍标准差,则判断所述用户为异常用户,并写入到异常用户列表中。
2.根据权利要求1所述的用户行为序列异常检测方法,其特征在于,
获取异常用户列表中的异常用户与正常用户之间的相似度;
如果相似度大于平均值-3倍标准差,且正常用户数占比超过90%,则所述异常用户变更为正常用户,否则确定为异常用户。
3.根据权利要求1所述的用户行为序列异常检测方法,其特征在于,
步骤获取预设时间段用户行为信息之前还包括:
基于内网用户,获取预设时间段内访问目标服务器的行为信息。
4.根据权利要求3所述的用户行为序列异常检测方法,其特征在于,
所述访问目标服务器的行为信息包括:内网用户访问每个目标服务器产生的流量信息、时间信息以及所属应用协议的信息。
5.根据权利要求3所述的用户行为序列异常检测方法,其特征在于,
在预设时间段内,统计与内网用户连接过的目标服务器,并形成目标服务器ip列表;
统计内网用户与每个目标服务器连接时,分别产生的上下行流量总和以及分别与每个目标服务器连接的总频次。
6.根据权利要求3所述的用户行为序列异常检测方法,其特征在于,
在预设时间段内,统计内网用户每次连接目标服务器连接的总时长以及与目标服务器最后一次连接时间距离当前时间的时长,并配置活跃度;
在预设时间段内,统计内网用户与目标服务器连接使用的应用层协议种类数。
7.根据权利要求1所述的用户行为序列异常检测方法,其特征在于,
计算两个用户之间的相关系数方式为:
基于上述公式分别计算两个用户在每个时间节点上的相关系数。
8.根据权利要求1所述的用户行为序列异常检测方法,其特征在于,
采用动态规整算法计算两个用户的行为行向量时间序列最优距离的计算方式为:
γ(i,j)=d(qi,cj) max{γ(i-1,j-1),γ(i-1,j),γ(i,j-1)}。
9.一种实现用户行为序列异常检测方法的终端设备,其特征在于,包括:
存储器,用于存储计算机程序及用户行为序列异常检测方法;
处理器,用于执行所述计算机程序及用户行为序列异常检测方法,以实现如权利要求1至8任意一项所述用户行为序列异常检测方法的步骤。
10.一种具有用户行为序列异常检测方法的可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1至8任意一项所述用户行为序列异常检测方法的步骤。
技术总结本发明提供一种用户行为序列异常检测方法、终端及存储介质,获取预设时间段用户行为信息;将特征属性进行聚合顺序;将用户预设时间段内的行为配置成行向量,再形成行为行向量时间序列;提取任意两个用户的行为行向量时间序列,计算相关系数,并判断向量相似度;采用动态规整算法查找两个用户的行为行向量时间序列的最优距离;计算所有用户之间的距离平均值和标准差;如有用户与其他用户间的距离大于平均值的 3倍标准差,则判断所述用户为异常用户。本发明可以分析用户行为细节,克服用户由于未有连续行为造成无法生成特征矩阵,序列长度不一致的问题,降低异常检测的误报率。使得可以识别掩藏在群组内部的异常行为,保障数据信息的安全性。
技术研发人员:邹斯达;李兴国;苗功勋;路冰;孙宁
受保护的技术使用者:中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司
技术研发日:2020.11.26
技术公布日:2021.03.12