一种基于异构信息网络嵌入算法的用户识别系统及方法与流程

文档序号:20764529发布日期:2020-05-15 18:42阅读:222来源:国知局
一种基于异构信息网络嵌入算法的用户识别系统及方法与流程

本发明涉及一种基于异构信息网络嵌入算法的用户识别系统及方法,属于信息安全检测技术领域,用于企业内网环境中。



背景技术:

当今最具破坏性的安全威胁不是来自外部的恶意人员或恶意软件,而是来自可信赖的内部人员。组织中的成员按照职责获取一定的访问控制权限,有效的身份认证是防御内部攻击的重要途径。然而身份认证机制主要包括账号密码、指纹识别等,仅在登录时有效,仍然存在诸多的安全隐患。现有研究通常基于行为分析建立用户正常行为模型,从而获得登录后持续有效的用户身份监测。因为无论是哪种形式的内部攻击,都会表现出一定程度的行为偏离,通过对比当前行为与历史正常模型的相似程度就可以识别用户身份,进而发现异常操作。

基于行为分析的用户识别可分为单域行为分析和多域行为分析两大类别。基于单域行为分析的用户识别是指利用单一类型的行为数据建模正常行为,例如:文件行为、邮件行为等。存在的问题是使用的数据源单一,难以刻画全面的正常行为模型,且通常采用简单的机器学习分类器,用户识别率不高。基于多域行为分析的用户识别方法借鉴多源数据融合的思想,尝试结合多种行为类型构建全面的行为模型。但思路上要么通过对比工作流相似性,要么采用特征工程提取多源行为特征,均没有考虑多种行为数据之间的关联。

在此背景下,本发明将多源异构的行为数据转化成异构信息网络,为分析行为关联创造了条件,使用局部嵌入算法和全局嵌入算法分别提取局部特征和全局特征从而可以构建全面的行为模型,并且能够捕获行为之间的关联信息,针对模型识别错误的情况,还可以进一步基于相似性计算给出可疑行为排序供安全人员分析溯源。



技术实现要素:

本发明技术解决问题:解决现有基于行为分析的用户识别方法中存在的多源异构行为数据关联建模困难的问题,本发明提供一种基于异构信息网络嵌入算法的用户识别系统及方法,能构建更加全面的行为模型,大大提高用户识别准确率,且能够针对可疑情况加以分析,提供事件级的可疑操作排序。

本发明技术解决方案:一种基于异构信息网络嵌入算法的用户识别系统,其特征在于:所述异构信息网络嵌入算法是指基于神经网络实现的局部嵌入算法和基于元路径实现的全局嵌入算法,所述用户识别是指在企业内网中基于每台主机采集的多源异构审计日志数据识别潜在的操作用户,所述系统包括数据处理模块、联合嵌入模块和评估分析模块,其中:

数据处理模块:有两个功能:第一个功能是从历史行为数据库中提取标准化的审计日志数据,这些日志数据将作为训练集用于构建异构信息网络g;第二个功能是对从内网主机中新采集的原始多源异构审计日志数据进行预处理;无论是历史行为数据库中规范化的审计日志数据还是新采集的原始审计日志数据均包含五种多源异构审计日志数据类型,这五种日志数据类型分别为登录日志数据、文件日志数据、邮件日志数据、http日志数据和设备日志数据,这些数据分别记录了用户的登录行为、文件行为、邮件行为、web行为和外部设备连接行为;所述对原始多源异构审计日志数据进行预处理是指对每条日志数据进行标准化处理,使用日志解析器基于预定义的字段提取关键信息,所述预定义的字段包括主体、设备、客体和时间戳四个部分,所述主体指用户标识,所述设备指主机标识,所述客体根据不同的日志数据类型确定,用于标识特定日志数据类型的具体行为;在文件类型的日志数据中,所述客体采用文件路径与文件名的组合;所述时间戳是日志数据的发生时间;经过解析的新采集日志数据将被作为测试集;所述异构信息网络g把标准化的日志数据中基于预定义字段提取到的信息视为节点标识,其中主机标识作为中心节点,用户标识和行为标识作为主机标识的邻居节点,构建的异构信息网络遵循图2所示网络模式;

联合嵌入模块:以数据处理模块中构建的异构信息网络g作为输入,训练一个反映每台主机操作模式的模型,称为用户预测器,用户预测器将对测试集执行用户预测,最终得到对应于测试集中日志数据的潜在操作用户排序;训练用户预测器的过程是指学习异构信息网络g中节点的向量表示以及模型的参数。为了使得学习到的节点向量能够保留网络结构信息和节点间的相似性信息,联合嵌入模块采用了两种异构信息网络嵌入算法,称为局部嵌入算法和全局嵌入算法,局部嵌入算法用于学习每台主机与其邻居节点的交互,嵌入正常行为模式信息;全局嵌入算法利用元路径定义的语义嵌入不同类型节点之间的关联信息;最终通过联合目标函数将两个嵌入算法结合起来迭代训练;

评估分析模块,对联合嵌入模块中得到的预测结果进行评估,判别主机的真实操作用户是否与预测结果相一致;在联合嵌入模块,得到针对于测试集中的日志数据模型给出的预测结果a,该结果是一个序列,序列中的排名先后代表了测试集中的行为属于某个用户的概率,如果测试集中的行为对应的真实操作用户出现在预测序列中的前k个,则认为识别正确,反之,则表示测试集中的用户行为与训练集中的正常行为模式发生了偏离,称为可疑情况;针对此类可疑情况,通过基于相似性的异常分析,最终得到的是造成用户识别结果出现错误的可疑行为的排序,以便安全分析师或相关工作人员能够根据系统给出的线索进行溯源查证。

所述数据处理模块中,构建异构信息网络的过程为:基于历史数据库中已经得到标准化处理的日志数据,利用提取到的主机、用户、行为标识作为节点构建异构信息网络g,其中主机标识作为中心节点,用户标识和行为标识作为主机标识的邻居节点。

所述联合嵌入模块中,局部嵌入算法基于神经网络实现,具体过程如下:

(1)首先将异构信息网络g中的所有节点映射到一个潜在空间,即将所有节点的向量表示随机初始化形成嵌入向量表v;

(2)给定主机p,分两个步骤聚合得到主机向量vp,第一个步骤中,计算主机p的每一类行为标识邻居节点的节点类型向量方法是将每种类型包含的所有行为标识邻居节点向量vn取平均;

其中,代表主机p包含的第t种类型的行为标识邻居节点集合;

第二个步骤中,计算节点类型向量的加权组合获得主机向量vp;

其中wt代表第t类节点类型向量的权重,本发明中行为标识邻居节点类型共有5种,所以t的取值为1到5,分别代表登录节点类型、文件节点类型、邮件节点类型、http节点类型、设备节点类型;

(3)基于主机向量vp,计算主机与用户之间的点积相似性,并进行潜在操作用户排序,其中vu代表用户向量;

(4)采用随机梯度下降(sgd)更新嵌入向量表v,并学习每一类节点类型向量的权重wt使用max-margin目标函数作为损失函数,损失函数定义为:

max(0,f(p,u′)-f(p,u)+ε)

其中,u为主机p的真实操作用户,即正例样本,u′则为负例样本,ε为边界值,如果f(p,u)与f(p,u′)之间的差值如果小于ε,则产生损失惩罚。

所述联合嵌入模块的具体实现中,全局嵌入算法基于元路径实现,实现过程如下:

(1)元路径定义不同类型节点之间的高阶语义关联,高阶语义关联是指原始网络中的边无法捕获的关联信息;给定元路径集合r,基于元路径的全局嵌入算法首先对节点的条件邻居分布建模,在异构信息网络g中,从节点i出发的元路径有多种,因此节点的邻居分布既取决于节点i,也取决于给定的元路径r,条件邻居分布函数定义如下:

其中,vi和vj代表节点i和j的向量表示,dst(r)表示节点i在元路径r目标侧的所有可能节点集合;

(2)元路径r目标侧的所有可能节点集合dst(r)中包含的节点数是巨大的,为减轻运算负担,使用负采样策略由下式得到近似解,公式左边即代表对上一个公式的近似;

表示是对公式取得近似解,j′是从为元路径r预定义的噪声分布中采样的负节点,每个节点i采样k个负节点,偏置项br用来调整不同元路径的密度;

(3)使用随机梯度下降(sgd)学习嵌入向量表v和参数br,目标是使得似然函数最大化。

所述联合嵌入模块的具体实现中,联合目标函数的目的是将局部嵌入算法捕获的局部特征与全局嵌入算法捕获的全局特征有效结合起来,定义如下:

其中,ω∈[0,1]是一个预定义的参数,用于平衡模型重要性进行调优,添加正则化项以防止过拟合;其中zunited代表联合嵌入模型的目标函数,zglobal代表全局嵌入模型的目标函数,zlocal代表局部嵌入模型的目标函数,λ为正则化参数;

运用联合目标函数进行迭代训练过程如下:

(1)基于参数为ω的伯努利分布采样局部嵌入算法和全局嵌入算法中的一个;

(2)若采样到局部嵌入算法,则按照局部嵌入算法操作步骤训练嵌入向量表v并学习每一类节点类型向量的权重wt,同样地,若采样到全局嵌入算法,则按照全局嵌入算法操作步骤训练嵌入向量表v并学习参数br,所述嵌入向量表v对于两个嵌入算法是共享的;

(3)重复执行步骤(1)(2),直至模型收敛,得到用户预测器。

所述评估分析模块中针对可疑情况的分析过程为:

可疑情况是测试集中的用户行为与训练集中的正常行为模式发生偏离导致的,在评估分析模块中,针对可疑情况,将依次计算主机行为标识邻居节点与主机真实操作用户节点的点积作为异常参考,点积分数越低,代表两个实体之间的相似性越低,则异常的风险越高,最终按照异常风险由高到低进行可疑行为排序:

其中,lp代表最终得到的可疑行为序列,ep代表主机p的行为标识邻居节点集合,vi表示节点i的向量表示,up代表主机p的真实操作用户的向量表示。

所述元路径集合r的确定需要经过元路径选择过程,具体如下:

(1)逐个计算添加每个元路径之后达到的识别准确率,并进行排序,得到每个元路径单独使用时对识别效果的影响;

(2)按照得到的排序逐步加入元路径,根据识别准确率的变化,最终贪心地选择能够使得用户识别准确率达到最高的组合作为最优元路径集合r。

本发明的一种基于异构信息网络嵌入算法的用户识别方法,步骤如下:

步骤(1)数据处理:收集一段时间间隔里内网中某台主机的审计日志数据,审计日志类型包括登录日志、文件日志、邮件日志、http日志和设备日志;利用日志解析器对每种类型的日志逐条解析,提取预定义的关键字段,关键字段包括主体、客体、设备和时间戳,对于一条文件日志,提取到的主体是用户账号,客体是文件路径与文件名的组合,设备是主机编号,时间戳是日志记录的访问时间,解析后的日志数据将用作测试集,此外,利用历史行为数据库里一个时间窗口内标准化的日志数据作为训练集用于构建异构信息网络g;

步骤(2)异构信息网络构建:利用训练集构建异构信息网络g,把历史行为数据库标准化的日志数据中基于预定义字段提取到的信息视为节点标识,其中主机标识作为中心节点,用户标识和行为标识作为主机的邻居节点,针对每台主机p,将与其有关的所有行为标识邻居节点组成集合ep,同时将其真实操作用户表示成up,每个独立的行为标识可以关联多个主机,如果两个主机p、q均与邮件实体e有过日志记录,则邮件实体e将同时作为两个主机p、q的邻居节点;

步骤(3)联合嵌入:得到异构信息网络g后,将迭代学习每个节点的向量表示,首先随机初始化嵌入向量表v,然后基于联合目标函数中的参数ω采样局部嵌入算法和全局嵌入算法中的一个;若采样到局部嵌入算法,则按照局部嵌入算法操作步骤训练嵌入向量表v并学习每一类节点类型向量的权重wt;若采样到全局嵌入算法,则按照全局嵌入算法操作步骤训练嵌入向量表v并学习参数br,重复这个迭代训练过程直到模型收敛,此时得到训练好的模型,称为用户预测器;

步骤(4)用户预测:用户预测器中包含训练后的节点嵌入向量表v以及局部嵌入算法和全局嵌入算法各自的参数,随后在测试集上执行用户预测任务,即给定待预测主机p,预测主机p上的日志数据属于哪个操作用户,预测结果是一个序列,序列中的排名先后代表了测试集中的日志数据属于某个用户的概率,排序的依据是主机向量与用户向量的点积相似性得分;

步骤(5)评估与分析:针对步骤(4)中得到的预测结果,如果测试集中的行为对应的真实操作用户出现在预测序列中的前k个,则认为识别正确,反之,则表示测试集中的用户行为与训练集中的正常行为模式发生偏离,称为可疑情况,针对此类可疑情况,将通过基于相似性的异常分析,最终得到造成用户识别结果出现错误的可疑行为的排序,以便安全分析师或相关工作人员能够根据系统给出的线索进行溯源查证。

本发明与现有技术相比的优点在于:

(1)防御内部攻击的关键在于用户权限管理,而用户权限管理的有效途径是基于行为分析对用户身份持续监测,传统的用户识别方法均没有充分利用多源异构的行为数据,难以建模数据之间复杂的关联。本发明巧妙的利用异构信息网络将结构化的审计日志数据表示成图结构,为分析数据关联创造了条件;

(2)本发明结合两种异构信息网络嵌入算法自动学习节点的向量表示,这是一次将异构信息网络嵌入方法应用于安全领域的创新尝试,解决了传统方法依赖人工经验知识提取特征的问题,两种嵌入算法分别关注局部的行为模式特征和网络全局的关联特征,优点在于可以进行全面的用户行为模式刻画,大大提高了用户识别准确率;

(3)对于预测错误的可疑情况,本发明还能够根据实体间的相似性给潜在的异常操作排序,提供事件级别的可疑行为线索。安全分析人员可以基于这些事件级别的有效线索进行溯源查证;

(4)总的来说,本发明提出了一种基于异构信息网络嵌入算法的用户识别系统,核心优势在于能够建模全面的用户行为特征,提高用户识别准确率,且能提供细粒度的异常分析。

附图说明

图1为本发明系统的实现框图;

图2为本发明中异构信息网络的网络模式;

图3为本发明中局部嵌入算法的框架。

具体实施方式

下面结合附图及实施例对本发明进行详细说明。

本发明主要解决如何基于多源异构的主机审计日志识别潜在的操作用户,并针对识别错误的可疑情况给出有指导意义的异常分析。

如图1所示,本发明的系统包括数据处理模块、联合嵌入模块、评估分析模块。数据处理模块,将原始的多源异构主机审计日志数据进行解析处理,保留预定义的关键字段,并利用标准化的历史日志数据构建异构信息网络;联合嵌入模块,用两种异构信息网络嵌入算法分别进行单个主机操作模式的学习和网络全局关联的捕获,两种异构信息网络嵌入算法称之为局部嵌入算法和全局嵌入算法,并通过联合函数将两者结合起来迭代训练,得到用户预测器;评估分析模块,对用户识别效果进行评估,针对识别错误的可疑情况,通过基于相似性的异常分析给出可疑行为排序。

数据处理模块具体实现如下:

(1)数据处理:收集一段时间间隔里内网中某台主机的审计日志数据,审计日志类型包括登录日志、文件日志、邮件日志、http日志和设备日志;利用日志解析器对每种类型的日志逐条解析,提取预定义的关键字段,关键字段包括主体、客体、设备和时间戳,对于一条文件日志,提取到的主体是用户账号,客体是文件路径与文件名的组合,设备是主机编号,时间戳是日志记录的访问时间,解析后的日志数据将用作测试集。此外,利用历史行为数据库里一个时间窗口内标准化的日志数据作为训练集用于在下个步骤中构建异构信息网络g。

(2)异构信息网络构建:利用训练集构建异构信息网络g,把历史行为数据库标准化的日志数据中基于预定义字段提取到的信息视为节点标识,其中主机标识作为中心节点,用户标识和行为标识作为主机的邻居节点,构建的异构信息网络遵循图2所示网络模式。在本网络模式中,主要涉及六种节点类型,分别是pc、用户、登录、文件、邮件、http、设备,其中pc是连接其余五种节点类型的超节点;涉及的边类型包括“pc访问文件”、“pc发送邮件”等。针对每台主机p,将与其有关的所有行为标识邻居节点组成集合ep,同时将其真实操作用户表示成up,每个独立的行为标识可以关联多个主机,如果两个主机p、q均与邮件实体e有过日志记录,则邮件实体e将同时作为两个主机p、q的邻居节点;

联合嵌入模块具体实现如下:

传统方法往往采用特征工程的方式人工提取高维特征,需要人为的经验知识。本发明自动提取蕴含丰富结构和语义关联的特征向量用于表示用户和实体。然后基于训练好的用户预测器来预测测试集中日志数据的操作用户。步骤如下:

(1)初始化:首先随机初始化嵌入向量表v,v代表了构建的异构信息网络g中所有节点的向量表示;

(2)迭代训练:接下来执行迭代训练过程,基于联合目标函数中的参数ω采样局部嵌入算法和全局嵌入算法中的一个;若采样到的是局部嵌入算法,则按照局部嵌入模型的执行步骤进行训练,更新嵌入向量表v和每一类节点类型向量的权重wt;若采样到的是全局嵌入算法,则按照全局嵌入模型的执行步骤进行训练,更新嵌入向量表v和参数br,重复这个迭代训练过程直到模型收敛,此时得到了训练好的模型,称为用户预测器;

(3)用户预测:将测试集输入训练好的用户预测器中,用户预测器基于测试集中标准化的日志数据预测潜在的操作用户,预测结果是一个序列,序列中的排名先后代表了测试集中的日志数据属于某个用户的概率,排序的依据是主机向量与用户向量的点积相似性得分;

根据图3所示,所述局部嵌入算法的执行步骤如下:

(1)给定主机p,分两个步骤聚合得到主机向量vp,第一个步骤中,计算主机p的每一类行为标识邻居节点的节点类型向量方法是将每种类型包含的所有行为标识邻居节点向量vn取平均;

其中,代表主机p包含的第t种类型的行为标识邻居节点集合;

第二个步骤中,计算节点类型向量的加权组合获得主机向量vp;

其中,wt代表第t类节点类型向量的权重,本发明中行为标识邻居节点类型共有5种,所以t的取值为1到5,分别代表登录节点类型、文件节点类型、邮件节点类型、http节点类型、设备节点类型;

(2)基于主机向量vp,计算主机与用户之间的点积相似性,并进行潜在操作用户排序,其中vu代表用户向量;

(3)采用随机梯度下降(sgd)更新嵌入向量表v,并学习每一类节点类型向量的权重wt使用max-margin目标函数作为损失函数,损失函数定义为:

max(0,f(p,u′)-f(p,u)+ε)

其中,u为主机p的真实操作用户,即正例样本,u′则为负例样本,ε为边界值,如果f(p,u)与f(p,u′)之间的差值如果小于ε,则产生损失惩罚。

所述全局嵌入算法的执行步骤如下:

(1)元路径定义不同类型节点之间的高阶语义关联,高阶语义关联是指原始网络中的边无法捕获的关联信息;给定元路径集合r,基于元路径的全局嵌入算法首先对节点的条件邻居分布建模,在异构信息网络g中,从节点i出发的元路径有多种,因此节点的邻居分布既取决于节点i,也取决于给定的元路径r,条件邻居分布函数定义如下:

其中,vi和vj代表节点i和j的向量表示,dst(r)表示节点i在元路径r目标侧的所有可能节点集合;

(2)元路径r目标侧的所有可能节点集合dst(r)中包含的节点数是巨大的,为减轻运算负担,使用负采样策略由下式得到近似解,公式左边即代表对上一个公式的近似;

表示是对公式取得近似解,j′是从为元路径r预定义的噪声分布中采样的负节点,每个节点i采样k个负节点,偏置项br用来调整不同元路径的密度;

(3)使用随机梯度下降(sgd)学习嵌入向量表v和参数br,目标是使得似然函数最大化。

评估分析模块具体实现如下:

(1)评估:对联合嵌入模块中得到的预测结果进行评估,判别主机的真实操作用户是否与预测结果相一致。在联合嵌入模块,得到了针对于测试集中的日志数据模型给出的预测结果a,该结果是一个序列,序列中的排名先后代表了测试集中的行为属于某个用户的概率。如果测试集中的行为对应的真实操作用户出现在预测序列中的前k个,则认为识别正确,反之,称为“可疑情况”。

(2)分析:模型认为“可疑情况”是由测试集中的用户行为与训练集中的正常行为模式发生偏离导致的,在评估分析模块中,针对可疑情况,将依次计算主机行为标识邻居节点与主机真实操作用户的点积作为异常参考,点积分数越低,代表两个实体之间的相似性越低,则异常的风险越高,最终按照异常风险由高到低进行可疑行为排序:

其中,lp代表最终得到的可疑行为序列,ep代表主机p的行为标识邻居节点集合,vi表示节点i的向量表示,up代表主机p的真实操作用户的向量表示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1