一种检测应用系统操作人员行为异常的方法与流程

文档序号:33483331发布日期:2023-03-15 13:23阅读:43来源:国知局
一种检测应用系统操作人员行为异常的方法与流程

1.本发明涉及信息安全技术领域,具体为一种检测应用系统操作人员行为异常的方法。


背景技术:

2.神经网络是一种运算模型,由大量的节点(或称神经元)之间相互连接构成,每个节点代表一种特定的输出函数,称为激活函数。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式、权重值和激活函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑的表达。在神经网络中,信息从上一个神经元直接流转到下一个神经元,直到输出,依据每一个神经元的输入并根据相应规则可以计算出输出,最终得到在当前参数下的损失函数的过程,称为前向传播。反向传播算法是在前向传播算法的基础上,从神经网络的输出层向输入层依次计算损失函数对于各个参数的梯度,并在给定学习率下更新相关参数。
3.nlp (natural language processing) 是人工智能(ai)的一个子领域,也是人工智能中最为困难的问题之一。自然语言处理是指利用人类交流所使用的自然语言与机器进行交互通讯的技术。通过人为的对自然语言的处理,使得计算机对其能够可读并理解。自然语言处理的相关研究始于人类对机器翻译的探索。虽然自然语言处理涉及语音、语法、语义、语用等多维度的操作,但简单而言,自然语言处理的基本任务是基于本体词典、词频统计、上下文语义分析等方式对待处理语料进行分词,形成以最小词性为单位,且富含语义的词项单元。本发明中涉及自然语言处理中的skip-gram算法。
4.语言模型的用处很广泛,比如机器翻译中要经常面对的一个问题就是如何挑选一个概率尽可能大的句子也就是尽量靠谱的句子返回。神经网络语言模型直接从语言模型出发,将模型最优化过程转化为求词向量表示的过程。word2vec是依据神经网络语言模型发展而来的,它是从大量文本预料中以无监督方式学习语义知识的模型,被广泛地应用于自然语言处理中,通过上下文来学习语义信息,skip-gram是它的经典模型之一,根据给定的中心词预测上下文。
5.网络安全行业对于安全攻防的关注度一直集中于攻击者视角,对于攻击者视角的过度关注致使防守方面临的巨大的压力。一方面,攻击者拥有极高的灵活性和技术优势,防御者一味跟随攻击者的角度进行防守成功率很低;另一方面,防守的关键因素是核心业务的平稳运行,而被攻击者牵制后,会出现核心防御能力分散的问题。对于应用系统环境来说,有必要发展以保护核心业务为核心关注点的检测方法,利用word2vec对自然语言的处理方法,学习核心业务的行为逻辑,并准确发现违反逻辑的行为。


技术实现要素:

6.本发明的目的在于提供一种检测应用系统操作人员行为异常的方法,以解决上述
背景技术中提出的问题。
7.为实现上述目的,本发明提供如下技术方案:一种检测应用系统操作人员行为异常的方法,包括检测系统,所述的检测系统包括数据处理模块、前向传播模块、后向传播模块、存储模块、异常检测模块、告警模块,其中,所述的数据处理模块负责对原始业务数据进行遍历菜单id、数据预处理以及构建训练样本操作;所述的前向传播模块负责构建模型;所述的后向传播模块负责学习优化模型;所述的存储模块负责数据组合与存储;所述的异常检测模块将推理数据与存储模块内数据进行比对查找;所述的告警模块用于向用户反馈操作异常行为;在训练阶段,所述的数据处理模块与前向传播模块连接;所述的前向传播模块与后向传播模块连接;所述的后向传播模块与存储模块连接;所述的存储模块与推理阶段的异常检测模块连接。在推理阶段,所述的数据处理模块与异常检测模块连接;所述的异常检测模块与训练阶段的存储模块连接;所述的异常检测模块与告警模块连接。
8.优选的,检测方法包括以下步骤。
9.a、数据预处理;包括对原始业务数据进行数据清洗、对菜单进行编号,以及在训练阶段,随机初始化输入菜单向量和输出菜单向量、创建embedding矩阵和context矩阵,在推理阶段,从第二条数据开始遍历菜单id。本步骤的输出将作为后续训练样本构建步骤、异常数据检测步骤的依据。
10.b、训练样本构建;本步骤以数据预处理步骤的输出为依据,遍历菜单id,在每一个训练步骤中,取一个正样本及其相关的负样本。本步骤的输出将作为后续模型构建步骤、学习优化步骤的依据。
11.c、模型构建;本步骤以训练样本构建步骤的输出为依据,查找菜单嵌入,对于输入菜单,查看embedding矩阵,对于输出菜单,查看context矩阵,输出输入嵌入和输出嵌入;计算输入嵌入与输出嵌入的点积即相似性;将相似度结果转换为概率;定义损失函数。本步骤的输出将作为下一步骤学习优化的依据。
12.d、学习优化;本步骤以训练样本构建步骤和模型构建步骤的输出为依据,最大化输出菜单正样本的概率,最小化损失函数,不断学习,优化模型。
13.e、数据组合与存储;组合并存储优化后模型输出的最终结果,形成一张“查询表”;根据业务情况及数据信息设定告警阈值并存储。本步骤的输出将作为后续异常数据检测步骤和推送告警步骤的依据。
14.f、异常数据检测;本步骤以数据组合与存储步骤的输出和推理阶段数据预处理步骤的输出为依据,遍历推理数据中菜单点击数据,到查询表进行查询比较,查看是否低于设定的阈值。本步骤的输出将作为后续推送告警阶段的依据。
15.g、推送告警;本步骤以异常数据检测步骤的结果为依据,可以推送哪位操作人员在点击某菜单之前点击了哪个菜单的行为存在异常以及相应的概率及阈值等信息。
16.优选的,所述步骤a具体步骤如下:在训练阶段,a、首先设置操作人员id和菜单id,原始业务数据中的操作人员列均为操作人员账号名称、菜单均为菜单名称,为方便在此场景中应用更多方法,在这里设置一个大字典,操作人员id与操作人员账号名称一一对应、菜单id与菜单名称一一对应;b、选择子集,选择需要进行分析的数据集中的数据列,在这里选择操作人员id、菜
单id两列,清洗脏数据;c、随机初始化输入菜单向量和输出菜单向量,维度为m;d、创建embedding、context矩阵,这两个矩阵在词汇表中嵌入了每个菜单,其中embedding矩阵最终要得到的向量矩阵,即每个菜单所各自对应的向量矩阵。context矩阵为神经网络训练时为输出菜单准备的矩阵,为工具矩阵;在推理阶段,a、首先设置操作人员id和菜单id,原始业务数据中的操作人员列均为操作人员账号名称、菜单均为菜单名称,为方便在此场景中应用更多方法,在这里设置一个大字典,操作人员id与操作人员账号名称一一对应、菜单id与菜单名称一一对应;b、选择子集,选择需要进行分析的数据集中的数据列,在这里选择操作人员id、菜单id两列;c、从第二条数据开始遍历菜单id,根据该菜单id以及上一条菜单id到查询表内查询比对。
17.优选的,所述步骤b具体方法如下:遍历菜单id,生成训练样本,同时采用负采样,按照窗口大小(此处取1)划分正样本与负样本(例如遍历到id1这个菜单,那么输入菜单上下紧挨着出现的菜单均为菜单id1的正样本,并将标签设为1,否则为负样本,标签设为0)。遍历完成后,得到一个输入菜单与输出菜单以及标签的列表。
18.优选的,所述步骤c具体步骤如下:a、查找菜单嵌入;对于输入菜单,在embedding矩阵中查找,对于输出菜单,在context矩阵中查找,得到输入嵌入和输出嵌入;b、计算输入嵌入与输出嵌入的点积;在每种情况下,产生一个数字,该数字表示输入和输出嵌入的相似性度;c、利用softmax函数将相似度结果转换为概率;假设某个菜单在词典中索引为i,当它为输入菜单时向量表示为vi∈rm,而为输出菜单时向量表示为ui∈rm.设输入菜单wc在词典中索引为c,背景词wo在词典中索引为o,给定输入菜单生成输出菜单的条件概率可以利用softmax函数将相似度结果转换为概率:d、定义损失函数;log=。
19.优选的,所述步骤d具体方法如下: 最大化输出菜单正样本的概率、调整矩阵、最小化损失函数、优化模型。不断学习优化,以实现最优效果。其中最小化损失函数用到了梯度下降算法。
20.优选的,具体算法为梯度下降。在机器学习中以损失函数来衡量模型预测的好坏,而往往机器学习的损失函数以凸函数(函数有最低点)形式来呈现,梯度下降就是使损失函数最小的一种方法。
21.优选的,所述步骤e具体方法如下:将优化后的模型输出的概率进行组合并存储,根据业务情况及数据信息设定告警阈值并存储,均存储到查询表内。此查询表记录菜单先
后顺序概率及阈值,横向为先点击的菜单-输入菜单,竖向为后点击的菜单-输出菜单,根据先后点击的菜单到表内相应位置查找概率及阈值。
22.根据业务情况及数据信息设定告警规则:设定2v个阈值(v为菜单个数),即为每个菜单作为输入菜单和输出菜单时各设定一个阈值;告警规则为当到查询表中查找到的概率小于设定的阈值则判定该操作人员点击菜单顺序存在异常并在后续推送告警步骤通知相关负责人,同时可以获知操作人员具体点了哪些菜单存在异常。
23.优选的,所述步骤f具体方法如下:推理阶段,从第二条数据开始遍历菜单id,根据菜单点击顺序到查询表中匹配对应的概率值及阈值。例如推理数据中操作人员1在点击7菜单前点击了9菜单,则到查询表中查找(9,7)位置的概率值以及9菜单对应的阈值,通过比较二者大小关系来检测异常数据。
24.优选的,所述步骤g具体方法如下:例如在推理阶段遍历操作人员的操作数据时发现操作人员1在点击7菜单前点击了9菜单,到查询表中查找点击9菜单后点击7菜单的概率值为0.09且给9菜单设定的阈值为0.6,发现概率值0.09小于阈值0.6,符合告警规则,判定该操作人员的行为存在异常,系统会通过向相关负责人发送邮件等方式推送告警以及时处理安全事件。
25.与现有技术相比,本发明的有益效果是:本发明以保护核心业务为核心关注点,解决了网络安全行业对于安全攻防的关注度一直集中于攻击者视角的问题。本发明较分析菜单点击顺序是否异常的方法而言,解决了其无法辨别特征相近的菜单的问题;可以有效训练出菜单正常点击顺序从而分析操作人员的操作顺序是否存在异常。
附图说明
26.图1为本发明工作原理框图。
27.图2为本发明流程图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.请参阅图1-2,本发明提供一种技术方案:一种检测应用系统操作人员行为异常的方法,其特征在于:包括检测系统,所述的检测系统包括数据处理模块1、前向传播模块2、后向传播模块3、存储模块4、异常检测模块5、告警模块6,其中,所述的数据处理模块1负责对原始业务数据进行遍历菜单id、数据预处理以及构建训练样本操作;所述的前向传播模块2负责构建模型;所述的后向传播模块3负责学习优化模型;所述的存储模块4负责数据组合与存储;所述的异常检测模块5将推理数据与存储模块内数据进行比对查找;所述的告警模块6用于向用户反馈操作异常行为;在训练阶段,所述的数据处理模块1与前向传播模块2连接;所述的前向传播模块2与后向传播模块3连接;所述的后向传播模块3与存储模块4连接;所述的存储模块4与推理阶段的异常检测模块5连接。在推理阶段,所述的数据处理模块1与异常检测模块5连接;所述的异常检测模块5与训练阶段的存储模块4连接;所述的异常检测
模块5与告警模块6连接。
30.本发明的检测方法包括以下步骤。
31.a、数据预处理;包括对原始业务数据进行数据清洗、对菜单进行编号,以及在训练阶段,随机初始化输入菜单向量和输出菜单向量、创建embedding矩阵和context矩阵,在推理阶段,从第二条数据开始遍历菜单id。本步骤的输出将作为后续训练样本构建步骤、异常数据检测步骤的依据。
32.b、训练样本构建;本步骤以数据预处理步骤的输出为依据,遍历菜单id,在每一个训练步骤中,取一个正样本及其相关的负样本。本步骤的输出将作为后续模型构建步骤、学习优化步骤的依据。
33.c、模型构建;本步骤以训练样本构建步骤的输出为依据,查找菜单嵌入,对于输入菜单,查看embedding矩阵,对于输出菜单,查看context矩阵,输出输入嵌入和输出嵌入;计算输入嵌入与输出嵌入的点积即相似性;将相似度结果转换为概率;定义损失函数。本步骤的输出将作为下一步骤学习优化的依据。
34.d、学习优化;本步骤以训练样本构建步骤和模型构建步骤的输出为依据,最大化输出菜单正样本的概率,最小化损失函数,不断学习,优化模型。
35.e、数据组合与存储;组合并存储优化后模型输出的最终结果,形成一张“查询表”;根据业务情况及数据信息设定告警阈值并存储。本步骤的输出将作为后续异常数据检测步骤和推送告警步骤的依据。
36.f、异常数据检测;本步骤以数据组合与存储步骤的输出和推理阶段数据预处理步骤的输出为依据,遍历推理数据中菜单点击数据,到查询表进行查询比较,查看是否低于设定的阈值。本步骤的输出将作为后续推送告警阶段的依据。
37.g、推送告警;本步骤以异常数据检测步骤的结果为依据,可以推送哪位操作人员在点击某菜单之前点击了哪个菜单的行为存在异常以及相应的概率及阈值等信息。
38.本发明中,所述步骤a具体步骤如下:在训练阶段,a、首先设置操作人员id和菜单id,原始业务数据中的操作人员列均为操作人员账号名称、菜单均为菜单名称,为方便在此场景中应用更多方法,在这里设置一个大字典,操作人员id与操作人员账号名称一一对应、菜单id与菜单名称一一对应;b、选择子集,选择需要进行分析的数据集中的数据列,在这里选择操作人员id、菜单id两列,清洗脏数据;c、随机初始化输入菜单向量和输出菜单向量,维度为m;d、创建embedding、context矩阵,这两个矩阵在词汇表中嵌入了每个菜单,其中embedding矩阵最终要得到的向量矩阵,即每个菜单所各自对应的向量矩阵。context矩阵为神经网络训练时为输出菜单准备的矩阵,为工具矩阵;在推理阶段,a、首先设置操作人员id和菜单id,原始业务数据中的操作人员列均为操作人员账号名称、菜单均为菜单名称,为方便在此场景中应用更多方法,在这里设置一个大字典,操作人员id与操作人员账号名称一一对应、菜单id与菜单名称一一对应;b、选择子集,选择需要进行分析的数据集中的数据列,在这里选择操作人员id、菜
单id两列;c、从第二条数据开始遍历菜单id,根据该菜单id以及上一条菜单id到查询表内查询比对。
39.本发明中,所述步骤b具体方法如下:遍历菜单id,生成训练样本,同时采用负采样,按照窗口大小(此处取1)划分正样本与负样本(例如遍历到id1这个菜单,那么输入菜单上下紧挨着出现的菜单均为菜单id1的正样本,并将标签设为1,否则为负样本,标签设为0)。遍历完成后,得到一个输入菜单与输出菜单以及标签的列表。
40.本发明中,所述步骤c具体步骤如下:a、查找菜单嵌入;对于输入菜单,在embedding矩阵中查找,对于输出菜单,在context矩阵中查找,得到输入嵌入和输出嵌入;b、计算输入嵌入与输出嵌入的点积;在每种情况下,产生一个数字,该数字表示输入和输出嵌入的相似性度;c、利用softmax函数将相似度结果转换为概率;假设某个菜单在词典中索引为i,当它为输入菜单时向量表示为vi∈rm,而为输出菜单时向量表示为ui∈rm.设输入菜单wc在词典中索引为c,背景词wo在词典中索引为o,给定输入菜单生成输出菜单的条件概率可以利用softmax函数将相似度结果转换为概率:d、定义损失函数;log=。
41.本发明中,所述步骤d具体方法如下: 最大化输出菜单正样本的概率、调整矩阵、最小化损失函数、优化模型。不断学习优化,以实现最优效果。其中最小化损失函数用到了梯度下降算法。
42.本发明中,具体算法为梯度下降。在机器学习中以损失函数来衡量模型预测的好坏,而往往机器学习的损失函数以凸函数(函数有最低点)形式来呈现,梯度下降就是使损失函数最小的一种方法。
43.本发明中,所述步骤e具体方法如下:将优化后的模型输出的概率进行组合并存储,根据业务情况及数据信息设定告警阈值并存储,均存储到查询表内。此查询表记录菜单先后顺序概率及阈值,横向为先点击的菜单-输入菜单,竖向为后点击的菜单-输出菜单,根据先后点击的菜单到表内相应位置查找概率及阈值。
44.根据业务情况及数据信息设定告警规则:设定2v个阈值(v为菜单个数),即为每个菜单作为输入菜单和输出菜单时各设定一个阈值;告警规则为当到查询表中查找到的概率小于设定的阈值则判定该操作人员点击菜单顺序存在异常并在后续推送告警步骤通知相关负责人,同时可以获知操作人员具体点了哪些菜单存在异常。
45.本发明中,所述步骤f具体方法如下:推理阶段,从第二条数据开始遍历菜单id,根据菜单点击顺序到查询表中匹配对应的概率值及阈值。例如推理数据中操作人员1在点击7菜单前点击了9菜单,则到查询表中查找(9,7)位置的概率值以及9菜单对应的阈值,通过比较二者大小关系来检测异常数据。
46.本发明中,所述步骤g具体方法如下:例如在推理阶段遍历操作人员的操作数据时发现操作人员1在点击7菜单前点击了9菜单,到查询表中查找点击9菜单后点击7菜单的概率值为0.09且给9菜单设定的阈值为0.6,发现概率值0.09小于阈值0.6,符合告警规则,判定该操作人员的行为存在异常,系统会通过向相关负责人发送邮件等方式推送告警以及时处理安全事件。
47.综上所述,本发明以保护核心业务为核心关注点,解决了网络安全行业对于安全攻防的关注度一直集中于攻击者视角的问题。本发明较分析菜单点击顺序是否异常的方法而言,解决了其无法辨别特征相近的菜单的问题;可以有效训练出菜单正常点击顺序从而分析操作人员的操作顺序是否存在异常。
48.需要说明的是,在本文中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
49.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1