一种高危操作识别方法、装置和存储介质
文献发布时间:2023-06-19 18:30:43
技术领域
本发明涉及网络安全、深度学习等技术领域,尤其涉及一种高危操作识别方法、装置和存储介质。
背景技术
随着互联网的快速发展,运维系统的网络安全面临来自多方面的威胁,需要基于操作日志对用户行为进行挖掘分析,及时发现用户的高危操作行为,即进行日志异常检测。目前日志异常检测主要有三大类方法:基于规则的异常检测方法,基于有监督的异常检测方法,基于无监督的异常检测方法。
现有的这些方法,都存在一定的缺点。其中,基于规则的异常检测方法是通过统计海量日志中的关键字频数结合正则表达式,挖掘潜在检测规则并以此进行日志异常检测,但是自动化程度低,人工成本高;基于有监督的异常检测方法需要提前对日志数据打上标签用于模型训练,通过训练分类模型来进行日志异常检测,但是系统产生的日志数据庞大,打标签的工作就会变得繁杂、耗时;基于无监督的异常检测方法是通过判断正常日志与异常日志两种序列的差异来进行日志异常检测,但是无监督的异常检测容易陷入局部最优问题,泛化能力得不到保证。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于深度半监督学习的高危操作识别方法、装置和存储介质。
本发明所采用的技术方案是:
一种高危操作识别方法,包括以下步骤:
采集历史日志数据,对采集到的历史日志数据进行解析处理,划分得到第一key序列和第一value序列;
采用聚类方式,根据第一key序列对日志数据进行分组,并结合第一value序列生成不同组下的事件模板;
根据事件模板构建高危操作识别模型,采用深度半监督学习训练高危操作识别模型;
获取待识别日志数据,对待识别日志数据进行解析处理后,根据得到key序列划分到对应的组内,采用对应的高危操作识别模型进行识别,输出识别结果。
进一步地,所述对采集到的历史日志数据进行解析处理,包括:
采用改进的AEL算法对采集到的历史日志数据进行解析处理;
改进的AEL算法对历史日志数据的解析步骤如下:
根据正则匹配将历史日志数据拆分为第一key序列和第一value序列两个序列;
基于层次聚类方法将第一key序列进行分组,计算不同组下的第一value序列的相似度,根据相似度生成事件模板。
进一步地,所述相似度为余弦相似度,所述余弦相似度通过以下方式进行计算:
假设在A组下包括两个value序列:X序列和Y序列;
将X序列和Y序列合并成Z序列;
根据Z序列将X序列和Y序列向量化,遍历Z序列,若X序列或者Y序列中存在v
遍历完Z序列后,计算X序列和Y序列的相似度。
进一步地,采用以下公式计算X序列和Y序列的相似度:
式中,x
进一步地,采用以下方式将不同组内的value序列向量化:
1)计算词频:
其中,n
2)计算逆文件频率:
式中,M表示在该组下所有value序列总数,m
3)计算词频-逆文件频率:
tf_idf=tf*idf
根据计算获得的词频-逆文件频率将不同组下的value序列向量化。
进一步地,所述采用深度半监督学习训练高危操作识别模型,包括:
半监督的训练数据包括标签数据D
对无标签数据设置加权函数,通过以下公式优化高危操作识别模型:
其中,
进一步地,所述高危操作识别方法还包括计算风险系数的步骤:
对待识别日志数据进行解析处理后,获得对第二key序列和第二value序列;
根据第二key序列划分到对应的组后,计算第二key序列与组内所有key序列相同的比例,记为r
根据余弦距离计算第二value序列与组内所有value序列的相似度,并取相似度最高值,记为sim;
计算待识别日志数据所在组内所有高危日志的占比,记为r
根据比例r
进一步地,所述比例r
式中,n
所述最高值sim的计算公式如下:
式中,x表示待识别日志数据的第二value序列,y
所述占比r
r
式中,m
所述风险系数risk的计算公式如下:
risk=r
本发明所采用的另一技术方案是:
一种高危操作识别装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本发明所采用的另一技术方案是:
一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
本发明的有益效果是:本发明采用聚类方式根据key序列进行分组,能够提高类别日志的解析能力,进而提高模型的识别能力。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中一种高危操作识别方法的步骤流程图;
图2是本发明实施例中高危操作识别模型训练的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
基于现有技术的问题,本发明实施例提供一种基于DS
如图1所示,本实施例提供一种高危操作识别方法,包括以下步骤:
S1、采集历史日志数据,对采集到的历史日志数据进行解析处理,划分得到第一key序列和第一value序列。
作为一种可选的实施方式,可通过以下方式采集日志:依托日志采集探针和大数据架构,完成目标网络内的主机、应用等不同类型的访问日志、登录日志、操作日志的采集,采集的日志信息作为日志解析的输入;主要涉及系统登录日志、WEB访问日志、运维操作日志等类型。
日志为用于描述系统时间、位置和描述行为内容等信息的文本数据,属于非结构化数据,非结构化数据具有关系复杂,难以有效利用的特性,因此需要将日志进行解析处理,日志解析的目的就是为了根据日志的相似性对日志进行流式聚类,并转换成日志事件模版,提高日志的处理效率。
目前系统采集到的日志都是{key:value}格式的,因此采用改进的AEL算法对用户历史操作日志进行解析。AEL算法的基本原理是根据日志长度及key-value对的对数给日志进行分组,将其分组到多个类别。每个类别内部依据固定部分是否相同,决定是否产生新的事件模版。只考虑key-value的对数,会很大概率将具有相同key-value的日志分到不同的组中,因此本实施例中对AEL算法进行改进。
S2、采用聚类方式,根据第一key序列对日志数据进行分组,并结合第一value序列生成不同组下的事件模板。
改进AEL算法的日志解析步骤如下:
1)根据正则匹配将日志拆分成两个序列:key序列和value序列。
2)基于层次聚类方法将key序列进行分组。
3)将不同组下的value序列根据余弦距离计算相似度,从而汇聚相似度高的日志,生成日志事件模板。假设在A组下存在两个value序列:X序列和Y序列,则余弦相似度计算公式步骤如下:
I、将X序列和Y序列合并成Z序列。
II、根据Z序列将X序列和Y序列向量化,遍历Z序列,若X序列或者Y序列存在vi存在,则该值用1表示,没有用0表示。
III、根据公式(1)计算X序列和Y序列的相似度。
其中,value序列通过以下方式进行向量化:
将不同的日志根据key序列分成组后,使用tf-idf算法将不同组内的value序列向量化。步骤如下:
1)计算TF(Term Frequency,词频):
其中,n
2)计算IDF(Inverse Document Frequency,逆文件频率):
其中,M表示在该组下所有value序列总数,m
3)计算TF-IDF:
tf_idf=tf*idf (4)
根据计算的tf-idf把不同组下的value序列向量化,以便于训练高危操作识别模型。
S3、根据事件模板构建高危操作识别模型,采用深度半监督学习训练高危操作识别模型。
由于初始日志是非结构化数据,因此历史数据中只对部分日志的风险标签进行区分,即现有数据中有部分数据有风险标签,部分数据无标签。该场景属于半监督学习场景。用户操作日志会随着时间有所新增,为使高危操作识别模型的泛化能力得到保证,引入深度半监督学习π模型,π模型算法一种常用的DSSL算法;对于标签序列D
对于π模型来说,
参见图2,DS
在不同组下训练DS
S4、获取待识别日志数据,对待识别日志数据进行解析处理后,根据得到key序列划分到对应的组内,采用对应的高危操作识别模型进行识别,输出识别结果。
S5、计算风险系数。
为了提高高危操作的识别能力,需要计算日志的高危指数,综合DS
1)将日志根据key序列分组后,计算日志key序列与组内所有key相同的比例,记为r
其中,n
2)根据余弦距离计算日志的value序列与组内所有value序列的相似度,并取相似度最高值,记为sim。
其中,x表示日志的value序列,y
3)计算日志所在组内所有高危日志的占比,记为r
r
其中,m
4)计算风险系数,记为risk。
risk=r
当日志进入上述系统后,最终会输出高危操作识别模型的判定结果,以及日志的高危指数,提供工作人员用于进一步决策判定。
综上所述,本实施例相对于现有技术,具有如下优点及有益效果:
(1)本实施例改进了AEL算法,从根据日志的key-value的相同对数分组,转为使用层次聚类根据key序列分组,提高了key-value类别日志的解析能力。
(2)本实施例引入常用于图像识别的DS
(3)本实施例日志的高危指数计算方法,从key、value和组内高危日志情况三方面综合考虑日志的高危操作指数,用于进一步判别操作的风险等级。
本实施例还提供了一种高危操作识别装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现图1所示方法。
本实施例的一种高危操作识别装置,可执行本发明方法实施例所提供的一种高危操作识别方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种高危操作识别方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
- 一种车牌识别方法、装置、计算机装置及计算机可读存储介质
- 一种方言语音识别方法、装置、终端及其存储介质
- 一种渐进式图像识别方法、装置、系统及存储介质
- 一种语音识别方法、装置、设备及存储介质
- 一种文字识别方法、装置及计算机可读存储介质
- 数据库高危操作检测方法、装置、计算机设备和存储介质
- 一种高危网元操作指令识别方法和装置