CN114091455B - 基于学习方式的日志类型识别方法及装置 - Google Patents

基于学习方式的日志类型识别方法及装置 Download PDF

Info

Publication number
CN114091455B
CN114091455B CN202210063092.2A CN202210063092A CN114091455B CN 114091455 B CN114091455 B CN 114091455B CN 202210063092 A CN202210063092 A CN 202210063092A CN 114091455 B CN114091455 B CN 114091455B
Authority
CN
China
Prior art keywords
word
type
system log
vector
log
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210063092.2A
Other languages
English (en)
Other versions
CN114091455A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Juming Network Technology Co ltd
Original Assignee
Nanjing Juming Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Juming Network Technology Co ltd filed Critical Nanjing Juming Network Technology Co ltd
Priority to CN202210063092.2A priority Critical patent/CN114091455B/zh
Publication of CN114091455A publication Critical patent/CN114091455A/zh
Application granted granted Critical
Publication of CN114091455B publication Critical patent/CN114091455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供一种基于学习方式的日志类型识别方法及装置,所述方法包括基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本。本公开的方法能够降低人工制作日志规格化脚本的工作量,提升工作效率。

Description

基于学习方式的日志类型识别方法及装置
技术领域
本公开涉及机器学习技术领域,尤其涉及一种基于学习方式的日志类型识别方法及装置。
背景技术
在安全大数据分析系统中,对于各类设备的日志标准化是非常重要的一环,所谓日志标准化就是指根据不同类型的设备,对其产生的日志进行规格化,进行规格化的目的主要是将非结构化数据转换为结构化的数据,以便于制定相关规则进行审计或分析;一般这些规格化的脚本需要人工识别日志格式并进行编写。
一般的日志规格化后,会关注诸如IP地址(包括源、目的等)、端口(包括源、目的端口,但更为关注目的端口,而源端口在于网络会话的溯源中也有一定的作用,如地址NAT转换等)、日志的性质、严重程度、部分负载(在WAF日志中负载是非常重要的内容,对于判断SQL注入、Webshell、命令注入等有着关键的作用)、文件名称、进程名称、进程路径(上述这些特征在Windows类恶意软件行为的分析中有着重要作用)等,利用上述规格化后的数据,可以制定相关规则进行安全问题的检查,如针对一些无文件的攻击,在这类攻击中会调用一些系统脚本,如Powershell、CScript等,所以规格化既是安全分析的第一步也是最为重要的一环。
传统的日志规格化或标准化的做法是通过人工指定设备和规格化脚本的关系,或者采用半自动的海量正则特征匹配的方法进行,上述这些方法明显存在如下几个方面的缺陷:
第一,由于需要人工关联设备或系统与规格化脚本之间的关系,故在实际实施过程中,面对海量设备则显得效率过低,实施成本太高,而且如一台设备中包含不止一类的日志需要被收集和分析,则实施起来更为繁琐;
第二,使用半自动的、基于海量正则匹配的方法,会导致设备产品运行效率过低,在识别过程中将耗用大量CPU时间以处理识别环节,因为一般在大数据环境中,这些日志的数量巨大,通常每秒会超过20000条;
第三,在虚拟化环境中,主机的IP地址可能经常发生变化,采用传统方法很难应对这种情况,会导致已经配置好的信息需要经常性地变动,从而可能致使日志规格化的失败。
综上所述,所以需要一个高度自动化的日志格式识别机制,以解决上述相关问题,从而达到在不干涉或少干涉的情况下,能正确规格化各类主流设备发出的运行日志,包括如Linux主机、Windows主机、常见安全设备、常见路由/交换设备、数据库/大数据系统等。
公开于本申请背景技术部分的信息仅仅旨在加深对本申请的一般背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
发明内容
本公开实施例提供一种基于学习方式的日志类型识别方法及装置,能够至少解决现有技术中的部分问题。
本公开实施例的第一方面,
提供一种基于学习方式的日志类型识别方法,包括:
基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;
将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;
获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;
根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本。
在一种可选的实施方式中,
所述系统日志的数据类型至少包括类自然语言类型、半自然语言类型以及键值对或类键值对类型中至少一种,
根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理:
当所述系统日志的数据类型包括类自然语言类型时,对其整体数据采用第一预设分隔符进行分词处理;
当所述系统日志的数据类型包括半自然语言类型时,对其相邻片段采用第二预设分隔符进行分词处理;
当所述系统日志的数据类型包括键值对或类键值对类型时,对其各个键值对采用与其对应的第三预设分隔符进行分词处理。
在一种可选的实施方式中,
在获取每类系统日志词向量之间的向量距离的方法之前,所述方法还包括:
按照如下公式所示的方法确定每个词向量与其在同一条系统日志中的向量维度关系:
Figure 147326DEST_PATH_IMAGE001
其中,
Figure 677664DEST_PATH_IMAGE002
表示词wi和词wj的词距离,
Figure 680124DEST_PATH_IMAGE003
表示日志的数量,
Figure 295913DEST_PATH_IMAGE004
表示位置参数,
Figure 792753DEST_PATH_IMAGE005
表 示第k条日志;
所述获取每类系统日志词向量之间的向量距离的方法包括:
按照如下公式所示的方法获取每类系统日志词向量之间的向量距离:
Figure 239915DEST_PATH_IMAGE006
其中,
Figure 898430DEST_PATH_IMAGE007
表示每类系统日志词向量之间的向量距离,
Figure 250783DEST_PATH_IMAGE008
表示第
Figure 285735DEST_PATH_IMAGE009
个词向量,
Figure 852982DEST_PATH_IMAGE010
表 示第
Figure 682398DEST_PATH_IMAGE011
个词向量,
Figure 272779DEST_PATH_IMAGE012
表示
Figure 360690DEST_PATH_IMAGE008
的模范数,
Figure 516865DEST_PATH_IMAGE013
表示
Figure 782761DEST_PATH_IMAGE010
的模范数。
在一种可选的实施方式中,
在将进行分词处理后的系统日志建立词嵌入向量之前,所述方法还包括:
获取进行分词处理后的系统日志的数值部分,并将所述数值部分按照预设替换规则进行数值替换;和/或
获取进行分词处理后的系统日志的时间数值中的月份数据,并将所述月份数据进行过滤。
在一种可选的实施方式中,
所述确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本的方法包括:
Figure 594859DEST_PATH_IMAGE014
其中,
Figure 237193DEST_PATH_IMAGE015
表示关键词比例,
Figure 513454DEST_PATH_IMAGE016
表示词的数量,
Figure 202448DEST_PATH_IMAGE017
表示命中的单词数。
本公开实施例的第二方面,
提供一种基于学习方式的日志类型识别装置,包括:
第一单元,用于基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;
第二单元,用于将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;
第三单元,用于获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;
第四单元,用于根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本。
在一种可选的实施方式中,
所述系统日志的数据类型至少包括类自然语言类型、半自然语言类型以及键值对或类键值对类型中至少一种,
所述第一单元还用于:
根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理:
当所述系统日志的数据类型包括类自然语言类型时,对其整体数据采用第一预设分隔符进行分词处理;
当所述系统日志的数据类型包括半自然语言类型时,对其相邻片段采用第二预设分隔符进行分词处理;
当所述系统日志的数据类型包括键值对或类键值对类型时,对其各个键值对采用与其对应的第三预设分隔符进行分词处理。
在一种可选的实施方式中,
所述装置还包括第五单元,所述第五单元用于:
按照如下公式所示的方法确定每个词向量与其在同一条系统日志中的向量维度关系:
Figure 767422DEST_PATH_IMAGE001
其中,
Figure 682288DEST_PATH_IMAGE002
表示词wi和词wj的词距离,
Figure 813055DEST_PATH_IMAGE003
表示日志的数量,
Figure 420754DEST_PATH_IMAGE004
表示位置参数,
Figure 456712DEST_PATH_IMAGE005
表 示第k条日志;
所述第三单元还用于:
按照如下公式所示的方法获取每类系统日志词向量之间的向量距离:
Figure 175270DEST_PATH_IMAGE006
其中,
Figure 426122DEST_PATH_IMAGE007
表示每类系统日志词向量之间的向量距离,
Figure 204723DEST_PATH_IMAGE008
表示第
Figure 478709DEST_PATH_IMAGE009
个词向量,
Figure 250225DEST_PATH_IMAGE010
表 示第
Figure 355584DEST_PATH_IMAGE011
个词向量,
Figure 39506DEST_PATH_IMAGE018
表示
Figure 800789DEST_PATH_IMAGE008
的模范数,
Figure 126728DEST_PATH_IMAGE019
表示
Figure 86594DEST_PATH_IMAGE010
的模范数。
在一种可选的实施方式中,
在将进行分词处理后的系统日志建立词嵌入向量之前,所述方法还包括:
获取进行分词处理后的系统日志的数值部分,并将所述数值部分按照预设替换规则进行数值替换;和/或
获取进行分词处理后的系统日志的时间数值中的月份数据,并将所述月份数据进行过滤。
在一种可选的实施方式中,
所述第四单元还用于:
Figure 190685DEST_PATH_IMAGE014
其中,
Figure 704843DEST_PATH_IMAGE015
表示关键词比例,
Figure 365631DEST_PATH_IMAGE020
表示词的数量,
Figure 117687DEST_PATH_IMAGE021
表示命中的单词数。
本公开提供一种基于学习方式的日志类型识别方法,包括:
基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;
将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;
获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;
根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本。
本公开实施例的基于学习方式的日志类型识别方法至少包括如下有益效果:
1.利用词嵌入方式对各类设备日志的不变量部分进行识别,这些不变量部分实际上就是一些关键词,通过这些关键词能够与特定的设备进行关联;
2.能够识别并抽取新型设备日志的模式,从而降低人工制作日志规格化脚本的工作量,提升工作效率。
附图说明
图1为本公开实施例基于学习方式的日志类型识别方法的流程示意图;
图2为本公开实施例基于学习方式的日志类型识别装置的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
应当理解,在本公开的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
应当理解,在本公开中,“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本公开中,“多个”是指两个或两个以上。“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“包含A、B和C”、“包含A、B、C”是指A、B、C三者都包含,“包含A、B或C”是指包含A、B、C三者之一,“包含A、B和/或C”是指包含A、B、C三者中任1个或任2个或3个。
应当理解,在本公开中,“与A对应的B”、“与A相对应的B”、“A与B相对应”或者“B与A相对应”,表示B与A相关联,根据A可以确定B。根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。A与B的匹配,是A与B的相似度大于或等于预设的阈值。
取决于语境,如在此所使用的“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。
下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1示例性地示出本公开实施例基于学习方式的日志类型识别方法的流程示意图,如图1所示,所述方法包括:
S101、基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;
为了解决在日志识别、设备关联环节的这些问题,本公开提出了一种可以高效识别、提取、匹配以及规划化日志的方法,以应对各种场景下效率低下等问题,从而提升自动化的水平。
示例性地,本公开实施例可以收集各类系统日志作为初始学习的样本,这些系统的日志包含Linux主机类(包括如CentOS、Ubuntu、Debian等,虽然均是Linux同源系统但格式不尽相同)、Windows类日志(这些日志利用Nxlog工具从各种版本的Windows系统中获取)、各类交换路由类日志(如思科、华为、华三、迪普等)、各类安全设备日志(如防火墙、WAF、IDS/IPS、防毒、EDR等)。在安全分析中,主机日志和各类安全设备日志尤为重要,它们可以提供很多信息用以分析网络、主机或应用是否遭受攻击或被种植木马程序、感染病毒等。
在一种可选的实施方式中,
所述系统日志的数据类型至少包括类自然语言类型、半自然语言类型以及键值对或类键值对类型中至少一种,
根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理:
当所述系统日志的数据类型包括类自然语言类型时,对其整体数据采用第一预设分隔符进行分词处理;
当所述系统日志的数据类型包括半自然语言类型时,对其相邻片段采用第二预设分隔符进行分词处理;
当所述系统日志的数据类型包括键值对或类键值对类型时,对其各个键值对采用与其对应的第三预设分隔符进行分词处理。
示例性地,当系统日志的数据类型为类自然语言类型时,如Linux主机日志,可以使用空格作为分词;
当系统日志的数据类型为半自然语言类型时,某些片段类似自然语言,但片段间可能使用如逗号或者其它符号;
当所述系统日志的数据类型包括键值对或类键值对类型时,各Key-Value对之间的分割符号也存在差异,如逗号、Tab、分号、冒号等,而且Key和Value之间除了使用常见的等号,还有使用‘/’或者‘\’等进行分割的;
在分词的时候,可以针对样本利用统计特性对各类日志的可能分隔符号以及Key-Value的分割符号进行猜测和萃取,对于不是主要语义分割符号或者Key-Value分割符号的其它符号,则统一替换为不可打印字符以便于建立词向量。
S102、将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;
在一种可选的实施方式中,
在将进行分词处理后的系统日志建立词嵌入向量之前,所述方法还包括:
获取进行分词处理后的系统日志的数值部分,并将所述数值部分按照预设替换规则进行数值替换;和/或
获取进行分词处理后的系统日志的时间数值中的月份数据,并将所述月份数据进行过滤。
在建立词向量之前,可以有效缩小词向量的空间大小,本步骤先对样本中含有数值的部分进行替换,具体方法是将部分数值替换成x,如对于日志中出现的IP地址为192.168.5.50,则替换成xxx.xxx.5.50,端口则替换成如x1或xx616(两位端口到五位表示,部分保留数值),日期等也进行类似替换,而月份等直接过滤,包括如Jan、Feb、Mar等等;部分替换的目的主要是为了缩小词向量空间,但为了在一定程度上突出差异仍保留部分。
本公开实施例可以为每个词建立维度为8192的向量(如果样本空间的词数较多,也可以扩展此维度,如16384等),每一维代表样本中的其它词,这些词的位置是固定的,每个维度为一个浮点数,则本词与其它词的关系则用此向量来表示。
S103、获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;
在一种可选的实施方式中,
在获取每类系统日志词向量之间的向量距离的方法之前,所述方法还包括:
按照如下公式所示的方法确定每个词向量与其在同一条系统日志中的向量维度关系:
Figure 674570DEST_PATH_IMAGE001
其中,
Figure 207182DEST_PATH_IMAGE002
表示词wi和词wj的词距离,
Figure 127121DEST_PATH_IMAGE003
表示日志的数量,
Figure 733683DEST_PATH_IMAGE004
表示位置参数,
Figure 461468DEST_PATH_IMAGE005
表 示第k条日志。
示例性地,上式表明词wi的向量中第j维为词wj的统计特性,其计算方法是分布在k 条日志中与词wi的计数并除以位置参数即
Figure 481376DEST_PATH_IMAGE004
(其逻辑是距离越远关联越小)的绝对值,其逻 辑是计算词距离,即wj和词wi之间的间隔,而Ak则表示第k条日志,如超出上限则不再计算;
通过上述处理,可知某个词的向量所在维度一定为0,而与它出现在同一条日志中的其它词在向量中不为0,未出现的其它词则为0。
在一种可选的实施方式中,
所述获取每类系统日志词向量之间的向量距离的方法包括:
按照如下公式所示的方法获取每类系统日志词向量之间的向量距离:
Figure 687230DEST_PATH_IMAGE022
其中,
Figure 663145DEST_PATH_IMAGE007
表示每类系统日志词向量之间的向量距离,
Figure 561831DEST_PATH_IMAGE008
表示第
Figure 803456DEST_PATH_IMAGE009
个词向量,
Figure 813001DEST_PATH_IMAGE010
表 示第
Figure 659734DEST_PATH_IMAGE011
个词向量,
Figure 713009DEST_PATH_IMAGE018
表示
Figure 707510DEST_PATH_IMAGE008
的模范数,
Figure 255166DEST_PATH_IMAGE023
表示
Figure 956406DEST_PATH_IMAGE010
的模范数。
公式中的分子部分为向量的内积,而分母部分分别是这两个向量的模范数,通过上述计算可以获得不同词之间的距离关系(在同一种设备日志中),其实际效果即为日志中经常变化的部分(如IP地址、端口、进程名、文件名等)与不变的部分具有较大统计上的差异,变化部分的可替代性强(这实际上是词嵌入分析的关键部分),因为它们的余弦距离很小。
向量归一化:对各个词向量进行归一化,归一化的目的是使不同的词在不同的统计维度下看上去差距不是特别明显,进行归一化的方式是使用比较简单的计算方法,公式如下:
Figure 931315DEST_PATH_IMAGE024
S104、根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本。
在一种可选的实施方式中,
所述确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本的方法包括:
Figure 413112DEST_PATH_IMAGE025
其中,
Figure 13727DEST_PATH_IMAGE015
表示关键词比例,
Figure 569473DEST_PATH_IMAGE026
表示词的数量,
Figure 777600DEST_PATH_IMAGE027
表示命中的单词数。匹配部 分关键词后即能自动找到对应的设备规格化脚本(规格化脚本中有具体对日志内容进行信 息抽取的正则表达式模式)。
上式的含义就是在一条日志中(例如针对W,包含若干词,可以写成如w 1 w 2 …w n 的形式,词的数量就是|W|n,|W m |则是命中的单词数)有多少命中了关键词的比例p,如果这个比例高于某个阈值(比如50%),则认为此条日志属于某种设备,即到达了自动识别日志是属于哪类设备的目的;为了加速关键词的比对速度,本发明采用关键词与设备名称列表对应的倒排方式,最后取集合大者最为最终结果,其过程如下:
定义映射文件格式:w i :device 1 ,device 2 ,…,device k 其含义为某个词出现在不同的设备;
获取每个单词w i 匹配设备种类集合,形成设备向量V D 向量的每一维即为某种设备,有多少种已知设备则就有多少维,每匹配一次则对应维的计数加一;
Figure 684377DEST_PATH_IMAGE028
在上式中,Prj i 为对设备向量V D 的第i维的投影运算,取其中最大者即为匹配的关键词数量。
本公开实施例还可以到达自动抽取各类设备日志不变量词,从而形成自动生成特征抽取正则表达式的机制,降低人工甄别的工作量。
本公开提供一种基于学习方式的日志类型识别方法,包括:
基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;
将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;
获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;
根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本。
本公开实施例的基于学习方式的日志类型识别方法至少包括如下有益效果:
1.利用词嵌入方式对各类设备日志的不变量部分进行识别,这些不变量部分实际上就是一些关键词,通过这些关键词能够与特定的设备进行关联;
2.能够识别并抽取新型设备日志的模式,从而降低人工制作日志规格化脚本的工作量,提升工作效率。
图2示例性地示出本公开实施例基于学习方式的日志类型识别装置的结构示意图,如图2所示,所述装置包括:
第一单元21,用于基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;
第二单元22,用于将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;
第三单元23,用于获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;
第四单元24,用于根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本。
在一种可选的实施方式中,
所述系统日志的数据类型至少包括类自然语言类型、半自然语言类型以及键值对或类键值对类型中至少一种,
所述第一单元21还用于:
根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理:
当所述系统日志的数据类型包括类自然语言类型时,对其整体数据采用第一预设分隔符进行分词处理;
当所述系统日志的数据类型包括半自然语言类型时,对其相邻片段采用第二预设分隔符进行分词处理;
当所述系统日志的数据类型包括键值对或类键值对类型时,对其各个键值对采用与其对应的第三预设分隔符进行分词处理。
在一种可选的实施方式中,
所述装置还包括第五单元,所述第五单元用于:
按照如下公式所示的方法确定每个词向量与其在同一条系统日志中的向量维度关系:
Figure 308256DEST_PATH_IMAGE029
其中,
Figure 501864DEST_PATH_IMAGE002
表示词wi和词wj的词距离,
Figure 615314DEST_PATH_IMAGE003
表示日志的数量,
Figure 9386DEST_PATH_IMAGE004
表示位置参数,
Figure 436956DEST_PATH_IMAGE005
表 示第k条日志;
所述第三单元23还用于:
按照如下公式所示的方法获取每类系统日志词向量之间的向量距离:
Figure 232874DEST_PATH_IMAGE006
其中,
Figure 782804DEST_PATH_IMAGE007
表示每类系统日志词向量之间的向量距离,
Figure 913440DEST_PATH_IMAGE008
表示第
Figure 879122DEST_PATH_IMAGE009
个词向量,
Figure 529546DEST_PATH_IMAGE010
表 示第
Figure 250378DEST_PATH_IMAGE011
个词向量,
Figure 619042DEST_PATH_IMAGE030
表示
Figure 637682DEST_PATH_IMAGE008
的模范数,
Figure 142613DEST_PATH_IMAGE031
表示
Figure 34346DEST_PATH_IMAGE010
的模范数。
在一种可选的实施方式中,
所述装置还包括第六单元,所述第六单元用于:
获取进行分词处理后的系统日志的数值部分,并将所述数值部分按照预设替换规则进行数值替换;和/或
获取进行分词处理后的系统日志的时间数值中的月份数据,并将所述月份数据进行过滤。
在一种可选的实施方式中,
所述第四单元24还用于:
Figure 890306DEST_PATH_IMAGE014
其中,
Figure 463370DEST_PATH_IMAGE015
表示关键词比例,
Figure 72075DEST_PATH_IMAGE032
表示词的数量,
Figure DEST_PATH_IMAGE033
表示命中的单词数。
需要说明的是,本公开实施例的装置实施例的有益效果可以参考前述方法实施例的有益效果,本公开实施例在此不再赘述。
本公开还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得设备实施上述的各种实施方式提供的方法。
其中,可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(ApplicationSpecific Integrated Circuits,简称:ASIC)中。另外,该ASIC可以位于用户设备中。当然,处理器和可读存储介质也可以作为分立组件存在于通信设备中。可读存储介质可以是只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在上述终端或者服务器的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。

Claims (8)

1.一种基于学习方式的日志类型识别方法,其特征在于,包括:
基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;
将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;
获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;
根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本;
在获取每类系统日志词向量之间的向量距离的方法之前,所述方法还包括:
按照如下公式所示的方法确定每个词向量与其在同一条系统日志中的向量维度关系:
Figure 140114DEST_PATH_IMAGE002
其中,
Figure DEST_PATH_IMAGE003
表示词wi和词wj的词距离,
Figure 665774DEST_PATH_IMAGE004
表示日志的数量,
Figure DEST_PATH_IMAGE005
表示位置参数,
Figure 525014DEST_PATH_IMAGE006
表示第k 条日志;
所述获取每类系统日志词向量之间的向量距离的方法包括:
按照如下公式所示的方法获取每类系统日志词向量之间的向量距离:
Figure 554150DEST_PATH_IMAGE008
其中,
Figure DEST_PATH_IMAGE009
表示每类系统日志词向量之间的向量距离,
Figure 122535DEST_PATH_IMAGE010
表示第
Figure DEST_PATH_IMAGE011
个词向量,
Figure 355064DEST_PATH_IMAGE012
表示第
Figure DEST_PATH_IMAGE013
个词向量,
Figure 34307DEST_PATH_IMAGE014
表示
Figure 652370DEST_PATH_IMAGE010
的模范数,
Figure DEST_PATH_IMAGE015
表示
Figure 391656DEST_PATH_IMAGE012
的模范数。
2.根据权利要求1所述的方法,其特征在于,
所述系统日志的数据类型至少包括类自然语言类型、半自然语言类型以及键值对或类键值对类型中至少一种,
根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理:
当所述系统日志的数据类型包括类自然语言类型时,对其整体数据采用第一预设分隔符进行分词处理;
当所述系统日志的数据类型包括半自然语言类型时,对其相邻片段采用第二预设分隔符进行分词处理;
当所述系统日志的数据类型包括键值对或类键值对类型时,对其各个键值对采用与其对应的第三预设分隔符进行分词处理。
3.根据权利要求1所述的方法,其特征在于,在将进行分词处理后的系统日志建立词嵌入向量之前,所述方法还包括:
获取进行分词处理后的系统日志的数值部分,并将所述数值部分按照预设替换规则进行数值替换;和/或
获取进行分词处理后的系统日志的时间数值中的月份数据,并将所述月份数据进行过滤。
4.根据权利要求1所述的方法,其特征在于,所述确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本的方法包括:
Figure DEST_PATH_IMAGE017
其中,
Figure 878526DEST_PATH_IMAGE018
表示关键词比例,
Figure DEST_PATH_IMAGE019
表示词的数量,|W m |表示命中的单词数。
5.一种基于学习方式的日志类型识别装置,其特征在于,包括:
第一单元,用于基于预先获取的各类系统日志,根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理;
第二单元,用于将进行分词处理后的系统日志建立词嵌入向量,并对词嵌入向量进行归一化处理,确定系统日志词向量;
第三单元,用于获取每类系统日志词向量之间的向量距离,根据所述向量距离以及预先确定的距离阈值,确定所述系统日志的不变部分;
第四单元,用于根据所述系统日志的不变部分,确定所述不变部分的词向量对应的关键词,并根据所述关键词确定与所述关键词对应的设备规格化脚本;
所述装置还包括第五单元,所述第五单元用于:
按照如下公式所示的方法确定每个词向量与其在同一条系统日志中的向量维度关系:
Figure 830301DEST_PATH_IMAGE002
其中,
Figure 834029DEST_PATH_IMAGE003
表示词wi和词wj的词距离,
Figure 213058DEST_PATH_IMAGE004
表示日志的数量,
Figure 154600DEST_PATH_IMAGE005
表示位置参数,
Figure 910067DEST_PATH_IMAGE006
表示第k 条日志;
所述第三单元还用于:
按照如下公式所示的方法获取每类系统日志词向量之间的向量距离:
Figure 237143DEST_PATH_IMAGE020
其中,
Figure 52652DEST_PATH_IMAGE009
表示每类系统日志词向量之间的向量距离,
Figure 730758DEST_PATH_IMAGE010
表示第
Figure 539183DEST_PATH_IMAGE011
个词向量,
Figure 986345DEST_PATH_IMAGE012
表示第
Figure 441597DEST_PATH_IMAGE013
个词向量,
Figure 872578DEST_PATH_IMAGE014
表示
Figure 704268DEST_PATH_IMAGE010
的模范数,
Figure 537095DEST_PATH_IMAGE015
表示
Figure 913981DEST_PATH_IMAGE012
的模范数。
6.根据权利要求5所述的装置,其特征在于,所述系统日志的数据类型至少包括类自然语言类型、半自然语言类型以及键值对或类键值对类型中至少一种,
所述第一单元还用于:
根据系统日志的数据类型与其对应的分词处理方式,对所述系统日志的数据进行分词处理:
当所述系统日志的数据类型包括类自然语言类型时,对其整体数据采用第一预设分隔符进行分词处理;
当所述系统日志的数据类型包括半自然语言类型时,对其相邻片段采用第二预设分隔符进行分词处理;
当所述系统日志的数据类型包括键值对或类键值对类型时,对其各个键值对采用与其对应的第三预设分隔符进行分词处理。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括第六单元,所述第六单元用于:
获取进行分词处理后的系统日志的数值部分,并将所述数值部分按照预设替换规则进行数值替换;和/或
获取进行分词处理后的系统日志的时间数值中的月份数据,并将所述月份数据进行过滤。
8.根据权利要求5所述的装置,其特征在于,所述第四单元还用于:
Figure DEST_PATH_IMAGE021
其中,
Figure 97837DEST_PATH_IMAGE018
表示关键词比例,
Figure 733218DEST_PATH_IMAGE019
表示词的数量,|W m |表示命中的单词数。
CN202210063092.2A 2022-01-20 2022-01-20 基于学习方式的日志类型识别方法及装置 Active CN114091455B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210063092.2A CN114091455B (zh) 2022-01-20 2022-01-20 基于学习方式的日志类型识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210063092.2A CN114091455B (zh) 2022-01-20 2022-01-20 基于学习方式的日志类型识别方法及装置

Publications (2)

Publication Number Publication Date
CN114091455A CN114091455A (zh) 2022-02-25
CN114091455B true CN114091455B (zh) 2022-05-10

Family

ID=80308916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210063092.2A Active CN114091455B (zh) 2022-01-20 2022-01-20 基于学习方式的日志类型识别方法及装置

Country Status (1)

Country Link
CN (1) CN114091455B (zh)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491326B (zh) * 2018-03-21 2024-02-02 重庆金融资产交易所有限责任公司 测试行为重组方法、装置及存储介质
CN109271272B (zh) * 2018-10-15 2022-05-17 江苏物联网研究发展中心 基于非结构化日志的大数据组件故障辅助修复系统

Also Published As

Publication number Publication date
CN114091455A (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
EP3065367B1 (en) System and method for automated phishing detection rule evolution
CN109933984B (zh) 一种最佳聚类结果筛选方法、装置和电子设备
CN109981625B (zh) 一种基于在线层次聚类的日志模板抽取方法
CN112445775B (zh) 一种光刻机的故障分析方法、装置、设备和存储介质
CN109495479B (zh) 一种用户异常行为识别方法及装置
CN111800430B (zh) 一种攻击团伙识别方法、装置、设备及介质
WO2017091985A1 (zh) 停用词识别方法与装置
CN112632535B (zh) 攻击检测方法、装置、电子设备及存储介质
CN112613309A (zh) 一种日志归类分析方法、装置、设备及可读存储介质
CN113935028A (zh) 一种攻击行为识别的方法及装置
CN110991509A (zh) 基于人工智能技术的资产识别与信息分类方法
CN114584619B (zh) 设备数据解析方法、装置、电子设备及存储介质
CN108399321B (zh) 基于动态指令依赖图胎记的软件局部抄袭检测方法
CN110008701B (zh) 基于elf文件特征的静态检测规则提取方法及检测方法
CN114024761B (zh) 网络威胁数据的检测方法、装置、存储介质及电子设备
CN114091455B (zh) 基于学习方式的日志类型识别方法及装置
CN116975865B (zh) 恶意Office文档检测方法、装置、设备及存储介质
CN111581057A (zh) 一种通用日志解析方法、终端设备及存储介质
US20100153421A1 (en) Device and method for detecting packed pe file
Vahedi et al. Cloud based malware detection through behavioral entropy
CN113688240A (zh) 威胁要素提取方法、装置、设备及存储介质
CN112597498A (zh) 一种webshell的检测方法、系统、装置及可读存储介质
CN107770188B (zh) 一种高效的基于通用服务器的报文自动镜像的方法
CN114021146B (zh) 一种基于值集分析的非结构化差异补丁分析方法
CN116033048B (zh) 物联网的多协议解析方法、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant