CN112235327A - 异常日志检测方法、装置、设备和计算机可读存储介质 - Google Patents
异常日志检测方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112235327A CN112235327A CN202011482570.0A CN202011482570A CN112235327A CN 112235327 A CN112235327 A CN 112235327A CN 202011482570 A CN202011482570 A CN 202011482570A CN 112235327 A CN112235327 A CN 112235327A
- Authority
- CN
- China
- Prior art keywords
- log
- detected
- sequence
- logs
- abnormal
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
Abstract
本申请公开了一种异常日志检测方法、装置、设备和计算机可读存储介质,所述方法包括:对收集的多个原始日志进行解析,得到待检测日志序列;待检测日志序列包括多个待检测日志;根据异常日志检测模型,确定待检测日志序列对应的检测结果序列;检测结果序列用于表征多个待检测日志中至少一个待检测日志是否异常日志;根据检测结果序列输出待检测日志序列对应的异常日志检测结果。根据本申请提供的异常日志检测方法可以提升异常日志的检测准确率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种异常日志检测方法、装置、设备和计算机可读存储介质。
背景技术
在大数据平台网络中存在大量的主机、服务器和各种网络设备,在网络系统运行过程中,会产生大量的系统日志、安全日志、应用日志和告警日志,通过分析上述日志可以获取安全事件的相关信息。
相关技术中,可以通过分析日志中数值是否处于正常范围进而判断是否为异常日志,该方法仅能检测出现明显异常的日志。可以看出,相关技术中对于数值正常的异常日志,无法将该异常日志检测出来,异常日志的检测准确率低。
发明内容
为解决上述技术问题,本申请期望提供一种异常日志检测方法、装置、设备和计算机可读存储介质,能够提升异常日志的检测准确率。
本申请的技术方案是这样实现的:
对收集的多个原始日志进行解析,得到待检测日志序列;所述待检测日志序列包括多个待检测日志;
根据异常日志检测模型,确定所述待检测日志序列对应的检测结果序列;所述检测结果序列用于表征所述多个待检测日志中至少一个待检测日志是否异常日志;
根据所述检测结果序列输出所述待检测日志序列对应的异常日志检测结果。
在本申请的一个实施例中,所述对收集的多个原始日志进行解析,得到待检测日志序列,包括:
对所述多个原始日志进行聚类重排,得到多个日志集合;所述日志集合包括多个原始日志;
根据预设的日志模板集对每一所述日志集合的多个原始日志进行模板转换,得到每一所述日志集合对应的待检测日志序列。
在本申请的一个实施例中,所述对所述多个原始日志进行聚类重排,得到多个日志集合,包括:
提取所述多个原始日志中每一所述原始日志对应的常量信息;
根据日志生成时间,将具有相同常量信息的原始日志按照日志生成时间顺序进行排序,并组合成对应的日志集合。
在本申请的一个实施例中,所述根据异常日志检测模型,确定所述待检测日志序列对应的检测结果序列,包括:
采用预设尺寸的滑动窗口在所述待检测日志序列中提取至少一个待检测子序列;
将所述至少一个待检测子序列输入至所述异常日志检测模型,得到每一所述待检测子序列对应的候选日志集合;所述候选日志集合包括至少一个候选日志和每一所述候选日志出现的条件概率;
根据所述待检测日志序列,确定每一所述待检测子序列对应的真实日志;
根据每一所述待检测子序列对应的真实日志和候选日志集合,确定每一所述待检测子序列对应的检测结果;
根据每一所述待检测子序列对应的检测结果生成检测结果序列。
在本申请的一个实施例中,所述将所述至少一个待检测子序列输入至所述异常日志检测模型,得到每一所述待检测子序列对应的候选日志集合,包括:
将任意一个待检测子序列输入至所述异常日志检测模型,得到所述待检测子序列对应的至少一个初始候选日志和每一所述初始候选日志出现的条件概率;
按照条件概率从高到低的顺序依次提取预设数量的初始候选日志至候选日志集合;或,将条件概率大于预设概率阈值的初始候选日志提取至候选日志集合。
在本申请的一个实施例中,所述根据所述检测结果序列输出所述待检测日志序列对应的异常日志检测结果,包括:
在所述检测结果序列表征所述多个待检测日志中不存在异常日志的情况下,判定所述待检测日志序列对应的异常日志检测结果为正常;
在所述检测结果序列表征所述多个待检测日志中存在至少一个异常日志的情况下,判定所述待检测日志序列对应的异常日志检测结果为异常。
在本申请的一个实施例中,所述方法还包括:
在所述异常日志检测结果为异常的情况下,获取对所述待检测日志序列的真实检测结果;
在所述真实检测结果为正常的情况下,将所述待检测日志序列添加至数据集;所述数据集用于训练所述异常日志检测模型。
在本申请的一个实施例中,所述异常日志检测模型的训练过程,包括:
对多个样本日志进行解析,得到包括多个样本日志序列的数据集;所述样本日志为正常日志;所述样本日志序列包括多个解析后的样本日志;
将所述数据集划分为训练集、验证集和测试集;
根据所述训练集对初始长短期记忆网络模型进行训练,并通过所述验证集在训练过程中调整所述初始长短期记忆网络模型的超参数;
通过所述测试集对训练后的初始长短期记忆网络模型进行评估,并在达到预设标准时将所述训练后的初始长短期记忆网络模型作为所述异常日志检测模型。
本申请提供一种异常日志检测装置,包括:
解析模块,用于对收集的多个原始日志进行解析,得到待检测日志序列;所述待检测日志序列包括多个待检测日志;
检测模块,用于根据异常日志检测模型,确定所述待检测日志序列对应的检测结果序列;所述检测结果序列用于表征所述多个待检测日志中至少一个待检测日志是否异常日志;
输出模块,用于根据所述检测结果序列输出所述待检测日志序列对应的异常日志检测结果。
本申请提供一种异常日志检测设备,包括:
存储器,用于存储可执行数据指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现上述的异常日志检测方法。
本申请提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现上述的异常日志检测方法。
本申请提供了异常日志检测方法,通过对收集的多个原始日志进行解析,得到待检测日志序列;根据异常日志检测模型,确定待检测日志序列对应的检测结果序列;检测结果序列用于表征多个待检测日志中至少一个待检测日志是否异常日志;根据检测结果序列输出待检测日志序列对应的异常日志检测结果。由于对收集的多个原始日志进行解析,得到待检测日志序列,可以通过该待检测日志序列表征同一会话下的日志的上下文特征,可以根据预设的异常日志检测模型检验待检测日志序列中各待检测日志是否符合正常日志出现的概率,进而对待检测日志序列中各待检测日志进行检测,可以提升异常日志的检测准确率;同时,由于对多个原始日志进行解析的预处理,在输入至异常日志检测模型后,可以减少模型的运算量,提高预测效率,进而提升异常日志的检测效率。
附图说明
图1为本申请提供的异常日志检测方法的一个可选的流程示意图;
图2为本申请提供的异常日志检测方法的一个可选的流程示意图;
图3为本申请提供的异常日志检测方法的一个可选的流程示意图;
图4为本申请提供的异常日志检测方法的一个可选的流程示意图;
图5为本申请提供的异常日志检测方法的一个可选的流程示意图;
图6为本申请提供的异常日志检测方法的一个可选的流程示意图;
图7为本申请提供的异常日志检测方法的一个可选的流程示意图;
图8为本申请提供的异常日志检测方法的一个可选的流程示意图;
图9为本申请提供的一个可选的模型预测示意图;
图10为本申请提供的一个可选的日志解析示意图;
图11为本申请提供的一个可选的日志解析示意图;
图12为本申请提供的一个可选的模型训练示意图;
图13为本申请提供的一个可选的异常日志检测流程示意图;
图14为本申请提供的一个可选的异常日志检测示意图;
图15为本申请提供的一种异常日志检测装置的组成结构示意图;
图16为本申请提供的一种设备的硬件实体示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述。
图1是本申请提供的异常日志检测方法的一个可选的流程示意图,将结合图1示出的步骤进行说明。
在S101中,对收集的多个原始日志进行解析,得到待检测日志序列;待检测日志序列包括多个待检测日志。
在本申请的一个实施例中,收集的多个原始日志可以为网络系统在运行过程中产生大量的日志,日志类型包括但不限于是系统日志、安全日志、应用日志和告警日志。
其中,可以通过这样的方式来实现上述的对收集的多个原始日志进行解析:通过比较多个原始日志,可以得到多个原始日志中重复的文本,将该重复的文本作为常量信息,各原始日志中除去常量信息的其他文本作为原始日志中的变量信息;常量信息可以包括但不限于是原始日志所属的会话标识和原始日志对应的日志模板,变量信息可以包括但不限于是原始日志的生成时间、操作IP地址和目标IP地址。
在本申请的一个实施例中,在对各原始日志解析后,可以得到每一原始日志对应的待检测日志,由于通过解析可以获取原始日志对应的常量信息及变量信息,因此该待检测日志可以为“常量信息+变量信息”的形式,该待检测日志还可以为“常量信息”的形式,该待检测日志还可以为“变量信息”形式。在待检测日志包括“常量信息:原始日志对应的日志模板”的情况下,可以根据预设的大量日志模板,及每一日志模板对应的模板标识,将原始日志对应的日志模板转换为对应的模板标识。之后,根据“常量信息:会话标识”对大量的待检测日志进行分类,并根据“变量信息:时间”对每一类中的待检测日志进行分类,可以将得到经过分类排序的每一类待检测日志作为对应的待检测日志序列。
以日志:“Receiving block blk_096 src: /10.250.19.10: 54106 dest: /10.250.19.10:50010,2020070140.10:21:07”为例,在对该日志进行解析之后,可以得到包括会话标识“blk_096”、日志模板“Receiving block * src: * dest: *,*”的常量信息,以及包括起始IP地址“/10.250.19.10: 54106”、目标IP地址“/10.250.19.10:50010”和时间“2020070140.10:21:07”的变量信息。在待检测日志包括原始日志对应的日志模板的情况下,可以根据预设的大量日志模板,及每一日志模板对应的模板标识,将原始日志对应的日志模板转换为对应的模板标识,即若“Receiving block * src: * dest: *,*”在大量日志模板中的模板标识为2,则以2作为原始日志对应的日志模板。
在S102中,根据异常日志检测模型,确定待检测日志序列对应的检测结果序列;检测结果序列用于表征多个待检测日志中至少一个待检测日志是否异常日志。
在本申请的一个实施例中,该异常日志检测模型为一种长短期记忆(LSTM)的深度递归神经网络模型,将包括大量样本日志的数据集建模为自然语言序列。自动从正常执行中学习正常日志的模式,经该方法训练出的模型可以实现针对当前日志序列,预测后续日志出现的条件概率。当后续的真实日志不属于预测的后续日志时,或后续日志对应的预测的条件概率小于预设的概率阈值时,表示该后续的真实日志为异常日志。
在本申请的一个实施例中,将该待检测日志序列输入至预先训练好的异常日志检测模型,可以根据该异常日志检测模型得到该待检测日志序列中至少一个待检测日志对应的检测结果,将得到的检测结果按顺序进行排列输出,可以得到该检测结果序列。
在本申请的一个实施例中,可以根据该异常日志检测模型对应的输入窗口长度,设置滑动窗口在该待检测日志序列中依次截取至少一个待检测子序列,将各待检测子序列输入至该异常日志检测模型,得到每一待检测子序列对应的检测位上的待检测日志是否为异常日志,并生成每一待检测子序列(即检测位上的待检测日志)对应的检测结果,将得到的检测结果按顺序进行排列输出,可以得到该检测结果序列。其中,待检测子序列对应的检测位可以为在待检测日志序列中该待检测子序列后的一位。
在S103中,根据检测结果序列输出待检测日志序列对应的异常日志检测结果。
在本申请的一个实施例中,该检测结果序列包括了所述待检测日志序列中至少一个待检测日志的检测结果,其中,每一待检测日志序列是按照会话标识进行分类排序的,因此,在该待检测日志序列中存在至少一个待检测日志的检测结果为异常时,表示该待检测日志序列对应的会话存在异常日志,则输出该待检测日志序列对应的异常日志检测结果为异常。
在本申请的一个实施例中,可以获取待检测日志序列中检测结果为异常的待检测日志的异常数量,判断该异常数量是否超过预设的数量阈值。在该异常数量小于该数量阈值时,输出该待检测日志序列对应的异常日志检测结果为正常;在该异常数量大于或等于比例阈值的情况下,输出该待检测日志序列对应的异常日志检测结果为异常。
在本申请的一个实施例中,可以获取待检测日志序列的序列长度,和该待检测日志序列中检测结果为异常的待检测日志的异常数量,判断该异常数量与序列长度的比值是否超过预设的比例阈值。在该比值小于比例阈值的情况下,输出该待检测日志序列对应的异常日志检测结果为正常;在该比例大于或等于比例阈值的情况下,输出该待检测日志序列对应的异常日志检测结果为异常。
根据本申请提供的异常日志检测方法,通过对收集的多个原始日志进行解析,得到待检测日志序列;根据异常日志检测模型,确定待检测日志序列对应的检测结果序列;检测结果序列用于表征多个待检测日志中至少一个待检测日志是否异常日志;根据检测结果序列输出待检测日志序列对应的异常日志检测结果。由于对收集的多个原始日志进行解析,得到待检测日志序列,可以通过该待检测日志序列表征同一会话下的日志的上下文特征,可以根据预设的异常日志检测模型检验待检测日志序列中各待检测日志是否符合正常日志出现的概率,进而对待检测日志序列中各待检测日志进行检测,可以提升异常日志的检测准确率;同时,由于对多个原始日志进行解析的预处理,在输入至异常日志检测模型后,可以减少模型的运算量,提高预测效率,进而提升异常日志的检测效率。
图2是本申请提供的异常日志检测方法的一个可选的流程示意图,基于图1,图1中的S101可以更新为S201至S202,将结合图2示出的步骤进行说明。
在S201中,对多个原始日志进行聚类重排,得到多个日志集合;日志集合包括多个原始日志。
在本申请的一个实施例中,可以根据最长公共子序列算法在多个原始日志中对比查找常量信息,如上述实施例所述,该常量信息可以包括会话标识。将同一会话标识对应的多个原始日志作为一个日志集合。其中,可以设定一个长度筛选条件,当一个会话标识对应的原始日志的数量不满足该长度筛选条件时,不生成该会话标识对应的日志集合。
在S202中,根据预设的日志模板集对每一日志集合的多个原始日志进行模板转换,得到每一日志集合对应的待检测日志序列。
在本申请的一个实施例中,预设的日志模板集包括多个不同的日志模板及每一日志模板对应的模板标识。对于得到的日志集合,可以按照该日志模板集将该日志集合内至少一个原始日志转化为对应的日志标识。例如,日志集合包括原始日志1至原始日志6共6条原始日志,其中原始日志1、3、6与日志模板A对应,原始日志2、5与日志模板B对应,原始日志4与日志模板C对应,日志模板A对应的日志标识为0,日志模板B对应的日志标识为1,日志模板C对应的日志标识为2,因此,该日志集合对应的待检测日志序列为“010210”。
在本申请的一个实施例中,该日志模板集可以根据通过以下方式获取:收集大量原始日志,通过合最长公共子序列算法和最小编辑距离算法实现日志聚类,将原始日志解析成日志模板和参数值向量两部分。统计所有原始日志对应的日志模板,并对每一日志目标模板添加对应的模板标识,将各日志模板及对应的模板标识保存至日志模板集中。
其中,最长公共子序列定义为:已知子序列是指保持原有字符顺序不变,从原有字符串中提取出来的子集构成的子串。那么对于字符串A和字符串B,两者的最长共公共子序列是指字符串A的所有子序列集合与字符串B的所有子序列集合的交集中的最长字符串。例如对于字符串A=“eeabciabc”,B=“abeceabc”,A与B的最长公共子序列为“abcabc”。字符串的编辑距离,又称为Levenshtein距离,由俄罗斯的数学家Vladimir Levenshtein在1965年提出。是指利用字符操作,把字符串A转换成字符串B所需要的最少操作数。其中,字符操作包括:删除一个字符、插入一个字符、修改一个字符。例如对于字符串“if”和“iff”,可以通过插入一个“f”或者删除一个“f”来达到目的。
根据本申请提供的异常日志检测方法,通过对多个原始日志进行聚类重排,得到多个日志集合,可以对杂乱无章的大量原始日志进行快速分类,并将同一会话下的多个原始日志作为一个日志集合,在提升分类效率的同时,利用属于同一会话下的日志集合可以提升日志异常检测的准确率;同时,由于根据预设的日志模板集对每一日志集合的多个原始日志进行模板转换,得到每一日志集合对应的待检测日志序列,可以快速提取各日志集合的日志排列特征,并且由于进行了模板转换,进而使得模型的计算数据量大大减少,提升了日志异常检测效率。
图3是本申请提供的异常日志检测方法的一个可选的流程示意图,基于图2,图2中的S201可以更新为S301至S302,将结合图3示出的步骤进行说明。
在S301中,提取多个原始日志中每一原始日志对应的常量信息。
在本申请的一个实施例中,可以通过上述的最长公共子序列算法直接提取原始日志对应的常量信息。该常量信息可以为会话标识。
在S302中,根据日志生成时间,将具有相同常量信息的原始日志按照日志生成时间顺序进行排序,并组合成对应的日志集合。
在本申请的一个实施例中,该日志生成时间可以在解析原始日志的过程中,根据解析得到的变量信息获取;该日志生成时间还可以通过提取原始日志的生成时间戳得到。对于每一常量信息对应的多个原始日志,可以按照每一原始日志的生成时间顺序,按照从前到后的顺序,将具有相同常量信息的原始日志排序并组合为对应的日志集合。
图4是本申请提供的异常日志检测方法的一个可选的流程示意图,基于图1,图1中的S102可以更新为S401至S405,将结合图4示出的步骤进行说明。
在S401中,采用预设尺寸的滑动窗口在待检测日志序列中提取至少一个待检测子序列。
在本申请的一个实施例中,可以根据训练好的异常日志检测模型确定该预设尺寸,该预设尺寸可以为10。获取到该预设尺寸后,可以根据该预设尺寸的滑动窗口在待检测日志序列中,按照日志顺序,滑动提取至少一个待检测子序列,直至达到该待检测日志序列的最后一位。若待检测日志序列的长度为M,预设尺寸为N,则可以提取(M-N+1)个待检测子序列。例如,对于待检测日志序列“0102210210102011…”,按照预设尺寸可以为10的滑动窗口,可以先提取“0102210210”作为第一个待检测子序列,接着可以提取“1022102101”作为第二个待检测子序列,直至达到该待检测日志序列的最后一位,若待检测日志序列的长度为15,则可以提取6个待检测子序列。
在S402中,将至少一个待检测子序列输入至异常日志检测模型,得到每一待检测子序列对应的候选日志集合;候选日志集合包括至少一个候选日志和每一候选日志出现的条件概率。
在本申请的一个实施例中,按照从前到后的顺序,分别将每一待检测子序列输入至该异常日志检测模型,可以得到每一待检测子序列对应的一个候选日志集,该候选日志集为该异常日志检测模型预测的待检测子序列之后的可能出现的至少一个候选日志的集合。该异常日志检测模型可以根据输入的待检测子序列,输出在该待检测子序列之后可能出现的至少一个候选日志,及每一候选日志对应的条件概率,将该至少一个候选日志和每一候选日志出现的条件概率作为该待检测子序列对应的候选日志集合。
在S403中,根据待检测日志序列,确定每一待检测子序列对应的真实日志。
在本申请的一个实施例中,由于该待检测日志序列中各待检测日志均按照日志生成时间从前到后的顺序进行排列的,因此,在该待检测日志序列中,该待检测子序列之后的一个待检测日志为该待检测子序列对应的真实日志。例如,对于待检测日志序列“0102210210102011…”,其中的待检测子序列“0102210210”对应的真实日志为排在第11位的“1”。在待检测子序列为该待检测日志序列的最后一个子序列时,由于待检测日志序列没有对应的真实日志,因此,需要确定是否收集了该待检测日志序列对应的会话标识对应的新的原始日志,在收集了该新的原始日志后,对新的原始日志进行解析,以得到对应的真实日志。
在S404中,根据每一待检测子序列对应的真实日志和候选日志集合,确定每一待检测子序列对应的检测结果。
在本申请的一个实施例中,通过对比每一待检测子序列对应的真实日志和预测得到的候选日志结合,可以得到每一待检测子序列对应的检测结果。其中,可以通过第一值和第二值表示待检测子序列对应的检测结果,其中,第一值表示该待检测子序列对应的检测结果为正常,第二值表示该待检测子序列对应的检测结果为异常。第一值和第二值可以分别通过“0、1”、“是、否”、“Y、N”表示,本申请对此不作限定。
在S405中,根据每一待检测子序列对应的检测结果生成检测结果序列。
根据本申请提供的异常日志检测方法,通过对比每一待检测子序列对应的真实日志和异常日志检测模型预测的每一待检测子序列的候选日志集合,可以得到每一待检测子序列对应的检测结果,进而可以得到用于表征至少一个待检测日志是否为异常日志的检测结果序列。
图5是本申请提供的异常日志检测方法的一个可选的流程示意图,基于图4,图4中的S402可以更新为S501至S502,将结合图5示出的步骤进行说明。
在S501中,将任意一个待检测子序列输入至异常日志检测模型,得到待检测子序列对应的至少一个初始候选日志和每一初始候选日志出现的条件概率。
在本申请的一个实施例中,该异常日志检测模型可以输出至少一个初始候选日志及每一初始候选日志的概率,也就是说,即使一个初始候选日志对应的条件概率为0或非常小,也会将该初始候选日志作为预测结果输出。因此,对于输入的待检测子序列,该异常日志检测模型会预测在该待检测子序列之后的日志属于各初始候选日志的条件概率。
在S502中,按照条件概率从高到低的顺序依次提取预设数量的初始候选日志至候选日志集合;或,将条件概率大于预设概率阈值的初始候选日志提取至候选日志集合。
在本申请的一个实施例中,对于异常日志检测模型输出的各初始候选日志对应的条件概率进行排序,并按照从高到低的顺序依次提取预设数量的初始候选日志至候选日志集合。例如,若存在5个初始候选日志,包括L1、L2、L3、L4和L5,其对应的条件概率分别为“0.2、0.3、0、0.1、0.4”,按照条件概率从高到低进行排序,若预设数量为3,则会依次提取“L5、L2、L1”及对应的条件概率“0.4、0.3、0.2”作为候选日志集合。
在本申请的一个实施例中,将条件概率大于预设概率阈值的初始候选日志提取至候选日志集合。例如,若存在5个初始候选日志,包括L1、L2、L3、L4和L5,其对应的条件概率分别为“0.2、0.3、0、0.1、0.4”,在预设概率阈值为0.25时,会将“L5、L2”及对应的条件概率“0.4、0.3”作为候选日志集合。
根据本申请提供的异常日志检测方法,通过按照上述候选日志集合生成规则,控制候选日志的选取,可以对异常日志的判决精度进行调整,在提升本申请应用度的同时,提升异常日志的检测效率。
图6是本申请提供的异常日志检测方法的一个可选的流程示意图,基于图1,图1中的S103可以包括S601、S602,将结合图6示出的步骤进行说明。
在S601中,在检测结果序列表征多个待检测日志中不存在异常日志的情况下,判定待检测日志序列对应的异常日志检测结果为正常。
在S602中,在检测结果序列表征多个待检测日志中存在至少一个异常日志的情况下,判定待检测日志序列对应的异常日志检测结果为异常。
在本申请的一个实施例中,由于一个待检测日志序列属于一个会话,因此,在检测结果序列表征多个待检测日志中存在至少一个异常日志的情况下,判定该检测日志序列对应的异常日志检测结果为异常;在检测结果序列表征多个待检测日志中不存在异常日志的情况下,判定待检测日志序列对应的异常日志检测结果为正常。例如,若检测结果序列为“0000100000”,可以看出,该检测结果序列表征对应的待检测日志序列中存在一个待检测日志属于异常日志,则将待检测日志序列对应的异常日志检测结果为异常。
图7是本申请提供的异常日志检测方法的一个可选的流程示意图,基于图1,在图1中的S103之后,还可以包括S701至S702,将结合图7示出的步骤进行说明。
在S701中,在异常日志检测结果为异常的情况下,获取对待检测日志序列的真实检测结果。
在S702中,在真实检测结果为正常的情况下,将待检测日志序列添加至数据集;数据集用于训练异常日志检测模型。
在本申请的一个实施例中,在异常日志检测结果为异常的情况下,可以通过人工复查的方式检测该异常日志检测结果对应的待检测日志序列中是否存在异常日志,若存在异常日志,则表示该异常日志检测模型预测准确;若不存在异常日志,即真实检测结果为正常,则将该待检测日志序列作为一条训练样本数据添加数据集中,以通过该数据集对异常日志检测模型进行训练,进而得到更新后的异常日志检测模型。
根据本申请提供的异常日志检测方法,将发生误判的待检测日志序列添加至数据集中,并进行反馈,重新训练异常日志检测模型,使得异常日志检测模型能够定期更新,提升异常日志检测模型检测的准确率,使异常日志检测模型具有更强大的泛化能力,进而也提升了本申请中异常日志的检测准确率。
根据本申请提供的异常日志检测方法,将发生误判的待检测日志序列添加至数据集中,并进行反馈,重新训练异常日志检测模型,使得异常日志检测模型能够定期更新,提升异常日志检测模型检测的准确率,使异常日志检测模型具有更强大的泛化能力,进而也提升了本申请中异常日志的检测准确率。
图8是本申请提供的异常日志检测方法的一个可选的流程示意图,为图1中的异常日志检测模型的训练方法,将结合图8示出的步骤进行说明。
在S801中,对多个样本日志进行解析,得到包括多个样本日志序列的数据集;样本日志为正常日志;样本日志序列包括多个解析后的样本日志。
在本申请的一个实施例中,可以将大量经过验证后的属于正常日志的多个日志作为多个样本日志,并按照上述实施例中的日志解析方法,对多个样本日志进行解析,得到包括多个样本日志序列的数据集。其中,每一样本日志序列也是属于正常执行并生成的日志序列。
在S802中,将数据集划分为训练集、验证集和测试集。
在本申请的一个实施例中,可以按照3:1:1的比例将数据集划分为训练集、验证集和测试集。
在S803中,根据训练集对初始长短期记忆网络模型进行训练,并通过验证集在训练过程中调整初始长短期记忆网络模型的超参数。
在本申请的一个实施例中,可以将训练集中的数据作为输入,通过指令运用通过时间的反向传播算法,对初始长短期记忆网络模型进行训练。其中,可以初步设定预测模型超参数的初始值,然后使用贝叶斯优化去寻找超参数的最优解;超参数包括:隐藏层数、每层神经元数量、dropout、learning rate、epoch、batch_size等。并且,利用该验证集中的数据在训练过程中调整初始长短期记忆网络模型的超参数。
在S804中,通过测试集对训练后的初始长短期记忆网络模型进行评估,并在达到预设标准时将训练后的初始长短期记忆网络模型作为异常日志检测模型。
在本申请的一个实施例中,可以利用测试集中的数据对训练后的初始长短期记忆网络模型进行评估,由于测试集中的样本日志序列均为正常执行的日志,因此,在将该测试集中每一样本日志序列输入至训练后的初始长短期记忆网络模型后,通过统计预测出现异常的概率作为模型的误判率,在误判率小于预设误判阈值时,判定达到预设标准,将训练后的初始长短期记忆网络模型作为异常日志检测模型。
根据本申请提供的异常日志检测方法,通过上述训练方法得到的异常日志检测模型可以准确的对输入的日志序列进行预测,进而提升了异常日志检测的准确率。
下面,将说明本申请在一个实际的应用场景中的示例性应用。
在大数据平台网络中存在大量的主机、服务器和各种网络设备,在网络系统运行过程中,会产生大量的系统日志、安全日志、应用日志和告警日志,这些日志之间存在一定的关联性,包含了安全事件的相关信息。在Hadoop集群运行过程中会产生大量的日志信息,这些日志信息记录了系统运行状态、安全事件及其内在联系,通过日志可以挖掘出系统运行中包含的安全事件信息。
相关的日志异常检测方法有基于规则库、基于数理统计方法、基于机器学习算法等方法。基于规则库方法主要通过规则匹配,优点是准确率较高,缺点方法受限于特定场景,只能针对特定日志类型,并且很难分析出未知安全事件;基于数理统计方法主要通过对实时数据的统计确定正常值范围,优点是可以发现未知安全事件,缺点是设定统计量阈值较难,安全事件类型也难以区别;传统的监督学习方法,如逻辑回归、SVM(support vectormachines,支持向量机)和基于树的分类器,仅仅将输入序列视为独立的特性,不能捕获输入之间的时间依赖关系。RNN(Recurrent Neural Network)以生成和标记序列,网络的内部状态不仅依赖于当前的输入,而且还依赖于以前的系统状态。然而,传统的RNN不能存储很长时间以前的输入信息,削弱了其建模输入序列长期结构的能力。
本申请提供的异常日志检测方法应用递归神经网络LSTM使用RNN架构,并改进存储和访问信息,通过引入内存单元来存储以前的时间步骤的信息,以解决长期依赖关系的问题。基于Hadoop组件日志的异常检测技术主要包括如下步骤:日志收集、日志解析、模型训练、异常检测。首先对日志进行基本的清洗,然后基于最长公共子序列(Longest CommonSubsequence, LCS)和编辑距离求得日志聚类并形成日志模板,然后分别对日志模板信息和日志中包含的参数向量信息进行模型训练。利用一种长短期记忆(LSTM)的深度递归神经网络模型,将系统日志建模为自然语言序列。自动从正常执行中学习日志模式,经该方法训练出的模型可以实现针对当前日志序列,预测后续日志出现的条件概率。经过对于日志序列的观察和研究发现,在实际环境中不同日志序列的后续日志个数差别很大,有的日志序列后面可能会有很多的日志发生,有的可能只有一种情况,同时经正常执行日志训练出的模型,针对不同情况的概率计算对不同情况可以有很好的反应。例如图9所示的本申请提供的一个可选的模型预测示意图,针对候选日志个数少的情况,如日志序列s1,模型计算出来的概率分布差别更大,而针对候选日志个数多的情况,如日志序列s2,模型计算出的概率分布更平均。基于此种观察,我们设计出了针对不同概率分布情况,选取不同的候选日志个数的方法,从而解决了中采用固定候选日志个数方法带来的一些弊端。
本申请提供的异常日志检测方法可以解决:
(1)不同系统的日志结构和语义是完全不同的,基于规则库方法主要通过规则匹配,受限于特定场景,只能针对特定日志类型。本申请实现一套通用的日志解析方法来应对不同结构的日志模式。
(2)传统的RNN不能存储很长时间以前的输入信息,削弱了其建模输入序列长期结构的能力。本方案使用LSTM改进存储和访问信息,通过引入内存单元来存储以前的时间步骤的信息,以解决长期依赖关系的问题。
(3)将结果集中的FN(false positive)数据(误判的异常结果集),反馈系统重新训练模型,使得模型能够定期更新,提升模型检测的准确率。通过异常反馈机制,使检测模型具有更强大的泛化能力。
相关的日志分析技术大多数都是着重于通用服务器日志的研究,而针对Hadoop日志的分析迄今为止仍然少见,本专利提出了一种针对Hadoop日志的异常检测方法。在运行日志系统方面,一条日志在当前上下文中出现的概率是基于一定的相关性的。首先我们利用LSTM神经网络自动学习正常的日志序列,然后基于当前上下文计算出全部日志可能出现的条件概率,根据概率递减的顺序对日志排序;最后利用DCG(Discounted CumulativeGain,衡量搜索引擎质量指标)确定候选日志的个数(选择出现概率较大的预测日志,如概率大于50%)来实现日志的判定。另外,由于这是一种自学习的方法,因此可以增量更新异常日志检测模型以适应新的日志模式。
DCG是一个衡量搜索引擎算法的指标。搜素引擎一般采用PI(peritem)的方式进行评测,简单地说就是逐条对搜索结果进行分等级的打分。假设我们现在在搜索引擎上搜索一个词,然后得到5个结果。我们对这些结果进行3个等级的区分:Good(好)、Fair(一般)、Bad(差),然后赋予他们分值分别为3、2、1,假定通过逐条打分后,得到这5个结果的分值分别为3、2、1、3、2。
DCG考虑了搜索结果位置对搜索引擎评分的影响。比如说在搜索结果里面,第一个和最后一个结果的评分都是GOOD,但是最后一个结果被看到的可能性就非常小。所以,他对整个搜索引擎的贡献也是不一样的。DCG统计方法的基础:在搜索结果页面,越相关的结果排在越前面越好,在PI标注时,等级高的结果比等级低的结果好。
本申请提供的异常日志检测方法分为日志收集、日志解析、模型训练、异常检测四个部分。
(1)日志收集:首先针对Hadoop组件完成相应的组件安装,包括HDFS(Hadoop分布式文件系统)、Yarn(分布式资源管理器)、Hbase(分布式列存数据库)、MapReduce(分布式计算框架)、Hive(数据仓库)、Kafka、Zookeeper(分布式协作服务)、Storm、Spark(内存DAG计算模型)等,日志配置,日志收集的工作。
(2)日志解析:根据收集到的各组件日志,通过分析日志的格式和结构,以及前期对于主流日志方法的调研,我们基于最长公共子序列算法(LCS)设计实现了通用日志解析程序,完成对不同Hadoop日志的解析。请参照图10所示的本申请提供的一个可选的日志解析示意图,首先基于LCS算法实现日志聚类,根据原始日志中对应的session_id会话标识(例如HDFS日志中的blk_id)对日志进行重排序,并统计各模板的日志序列频次提取日志模板。解析后的输出为原始日志的各项参数分解(包括对应LogKeyId参数),以及对应的日志模板序列。其中,最长公共子序列定义为:已知子序列是指保持原有字符顺序不变,从原有字符串中提取出来的子集构成的子串。那么对于字符串A和字符串B,两者的最长共公共子序列是指字符串A的所有子序列集合与字符串B的所有子序列集合的交集中的最长字符串。例如对于字符串A=“eeabciabc”,B=“abeceabc”,A与B的最长公共子序列为“abcabc”。
请参照图11所示的本申请提供的一个可选的日志解析示意图,基于上一步的得到的日志模板序列,对重排日志进行映射解析,其中参数值向量包含原生日志条目中的时间、IP等参数信息。日志解析模块将原始日志解析成日志模板和参数值向量两部分。例如日志:“Receiving block blk_096 src: /10.250.19.10: 54106 dest: /10.250.19.10:50010”,解析出一个日志模板“Receiving block * src * dest *”,和一个参数值向量“[blk_096,/10.250.19.102:54106, /10.250.19.10:50010]”。
(3)模型训练:针对上述日志重排序后的解析日志,首先执行数据预处理程序提取出正确执行的日志作为训练集,经过设置好模型的各项参数,开始对于模型的训练。
请参照图12所示的本申请提供的一个可选的模型训练示意图,以下将对各步骤进行说明。
在S1201中,采集Hadoop组件运行的日志样本数据。
其中,采集Hadoop各组件(包括HDFS、Yarn、HBase、MapReduce、Hive、Kafka、Zookeeper、Storm、Spark)日志样本数据。
在S1202中,基于LCS模型对日志样本数据进行预处理,得到日志数据集。
其中,S1202具体包括对样本进行特征提取,基于最长公共子序列算法(LCS)设计实现的通用日志解析程序,完成对不同Hadoop日志解析。针对日志中存在的并发任务情况,根据会话参数回话标识session_id(比如HDFS日志中的blk_id)出现的次序重新排列日志。根据模板对原始日志映射解析生成包含LogKeyId和参数值的日志序列,得到日志数据集。
在S1203中,将日志数据集划分为训练集、验证集、测试集。
其中,可以把各组件的日志数据集划分为三类训练集、验证集、测试集,对应的数据比例为3:1:1。引入验证集的目的主要是为了在保证模型不要过拟合的前提下,调整超参数使模型准确率和效果尽可能好。
在S1204中,基于LSTM算法,通过测试集进行训练。
针对日志重排序后的规则日志序列,选取长短期记忆网络(Long Short-TermMemory,简称LSTM)神经网络作为序列预测的模型,通过大量的正常执行的日志作为训练数据集,训练神经网络模型根据当前日志序列预测后续日志出现的条件概率,采用折扣累积收益来确定候选日志数量,选出概率最高的几种日志作为候选日志来实现日志判别。模型输入为给定长度(窗口长度)的日志序列,输出为对于当前位置出现每个日志模板的条件概率。
在S1205中,利用验证集、测试集对生成的模型进行评估。
其中,使用生成的模型在测试集和验证集上进行预测;验证LSTM模型库算法预测效果:使用准确率、召回率等对模型进行评估。例如,在准确率达到预设的阈值后,保存并输出对应的模型。
请参照图13所示的本申请提供的一个可选的异常日志检测流程示意图,以下将对各步骤进行说明。
在S1301中,对日志数据进行预处理,得到日志特征。
其中,S1301包括:收集待处理的日志数据,对于待处理的日志数据,首先基于LCS模型日志预处理,提取日志特征。
在S1302中,通过训练好的模型对日志特征进行检测。
其中,S1302包括:将提取的特征输入到利用LSTM算法生成的模型(模型训练流程参考图12),进行异常检测。
在S1303中,输出日志异常检测结果。
其中,模型自动预测给定日志序列的后续日志条件概率,最后根据DCG排序,基于条件概率实现日志的判别。如果真实日志模板属于模型预测候选集,则判定为正常;反之为异常。输出日志异常检测结果。
在本申请的一个实施例中,请参照图14所示的本申请提供的一个可选的异常日志检测示意图,在图中所示的1401中,共显示了收集的5条待处理的日志数据,基于LCS模型日志预处理,可以得到如1402中所示的日志聚类结果,包括由常量信息“blk_906”确定的3个日志、和由常量信息“blk_044”确定的2个日志。其中,在聚类时,会按照日志生成时间对每一常量信息确定的多个日志进行排序,可以按照上述的日志聚类排序方法对收集的大量原始日志进行聚类排序。在图中所示的1403中,根据预设的多个日志模板及每一日志模板对应的日志模板标识,可以将原始日志序列(包括原始日志1、2、3、4、5、6…)解析为对应的待检测日志序列,包括“010210…”。之后,可以采用滑动窗口在该待检测序列中抽取窗口长度对应的子日志序列,以窗口长度为10举例,在图中所示的1404中,可以在该待检测日志序列中先抽取“0102210210”,并将该子日志序列输入至训练好的模型中,可以得到预测位上各日志模板对应的条件概率,例如,得到模板标识为0的概率为0%,模板标识为1的概率为50%,模板标识为2的概率为50%,因此,根据预测位的真实值“1”,可以看出,该预测位对应的真实值在模型输出的范围内,该预测位对应的原始日志属于正常日志,进而在输出的检测结果序列中添加对应的结果“0”,以表征该结果位对应的原始日志属于正常日志;接着,滑动窗口继续向后滑动,可以在该待检测日志序列中继续抽取“1022102101”,并将该子日志序列输入至训练好的模型中,可以得到预测位上各日志模板对应的条件概率,例如,得到模板标识为0的概率为0%,模板标识为1的概率为50%,模板标识为2的概率为50%,因此,根据预测位的真实值“0”,可以看出,该预测位对应的真实值不在模型输出的范围内,该预测位对应的原始日志属于正常日志,进而在输出的检测结果序列中添加对应的结果“1”,以表征该结果位对应的原始日志属于异常日志;以此类推,滑动窗口继续向后滑动,可以在该待检测日志序列中继续抽取“0221021010”。
在S1304中,利用误判数据对模型进行反馈更新。
其中,S1304包括:为了能够在后续根据用户的反馈实现模型的迭代更新,将结果集中的FN数据(误判的异常结果集),反馈系统重新训练模型,使得模型能够定期更新,提升模型检测的准确率。其中,会先判断输出的结果是否误判,在结果出现误判的情况下,将该待处理的日志数据添加至Hadoop组件运行日志样本数据中,并基于LCS模型日志预处理后进行LSTM算法模型训练,以得到更新后的模型和相关参数,并保存至组件日志模型库中。在后续对日志进行异常检测的过程中,可以采用更新后的模型执行异常检测过程。
本申请提供的异常日志检测方法的主要保护点如下:
(1)基于最长公共子序列算法的多任务解析过程中将原始日志解析和重排序的方法。
(2)使用LSTM算法进行模型库训练中基于条件概率确定候选日志数量的方法。
(3)异常反馈机制方法。将结果集中的FN数据(误判的异常结果集),反馈系统重新训练模型,使得模型能够定期更新,提升模型检测的准确率,使检测模型具有更强大的泛化能力。
对应地,本申请提供的异常日志检测方法可以实现:
(1)本申请提供的方法可应用于Hadoop系统中不同组件的日志异常检测,实现一套通用的日志解析方法来应对不同结构的日志模式。
(2)利用基于LSTM神经网络的模型,对输入的当前日志序列,计算后续日志的条件概率来实现日志的异常检测。异常检测准确率更高,方案检测准确率达到98.5%以上。
(3)模型可以根据用户反馈不断进行迭代和更新。
图15为本申请提供的一种异常日志检测装置的组成结构示意图,如图15所示,所述异常日志检测装置1500包括解析模块1501、检测模块1502和输出模块1503,其中:
解析模块1501,用于对收集的多个原始日志进行解析,得到待检测日志序列;待检测日志序列包括多个待检测日志;
检测模块1502,用于根据异常日志检测模型,确定待检测日志序列对应的检测结果序列;检测结果序列用于表征多个待检测日志中至少一个待检测日志是否异常日志;
输出模块1503,用于根据检测结果序列输出待检测日志序列对应的异常日志检测结果。
这里需要指出的是:以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
需要说明的是,本申请中,如果以软件功能模块的形式实现上述异常日志检测方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得终端(可以是具有摄像头的智能手机、平板电脑等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请不限制于任何特定的硬件和软件结合。
对应地,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中任一所述异常日志检测方法中的步骤。
对应地,本申请中,还提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时,用于实现上述实施例中任一所述异常日志检测方法中的步骤。
对应地,本申请中,还提供了一种计算机程序产品,当该计算机程序产品被终端的处理器执行时,其用于实现上述实施例中任一所述异常日志检测方法中的步骤。
基于同一技术构思,本申请提供一种设备,用于实施上述方法实施例记载的异常日志检测方法。图16为本申请提供的一种设备的硬件实体示意图,如图16所示,所述设备1600包括存储器1610和处理器1620,所述存储器1610存储有可在处理器1620上运行的计算机程序,所述处理器1620执行所述程序时实现本申请任一所述异常日志检测方法中的步骤。
存储器1610配置为存储由处理器1620可执行的指令和应用,还可以缓存待处理器1620以及终端中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random Access Memory,RAM)实现。
处理器1620执行程序时实现上述任一项的异常日志检测方法的步骤。处理器1620通常控制终端1600的总体操作。
上述处理器可以为特定用途集成电路(Application Specific IntegratedCircuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(Programmable LogicDevice,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,实现上述处理器功能的电子器件还可以为其它,本申请不作具体限定。
上述计算机可读存储介质/存储器可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种终端,如移动电话、计算机、平板设备、个人数字助理等。
这里需要指出的是:以上存储介质和终端实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和终端实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施过程构成任何限定。上述本申请序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的终端和方法,可以通过其它的方式实现。以上所描述的终端实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本申请方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得设备自动测试线执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个方法或终端实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或终端实施例。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种异常日志检测方法,其特征在于,包括:
对收集的多个原始日志进行解析,得到待检测日志序列;所述待检测日志序列包括多个待检测日志;
根据异常日志检测模型,确定所述待检测日志序列对应的检测结果序列;所述检测结果序列用于表征所述多个待检测日志中至少一个待检测日志是否异常日志;
根据所述检测结果序列输出所述待检测日志序列对应的异常日志检测结果。
2.根据权利要求1所述的方法,其特征在于,所述对收集的多个原始日志进行解析,得到待检测日志序列,包括:
对所述多个原始日志进行聚类重排,得到多个日志集合;所述日志集合包括多个原始日志;
根据预设的日志模板集对每一所述日志集合的多个原始日志进行模板转换,得到每一所述日志集合对应的待检测日志序列。
3.根据权利要求2所述的方法,其特征在于,所述对所述多个原始日志进行聚类重排,得到多个日志集合,包括:
提取所述多个原始日志中每一所述原始日志对应的常量信息;
根据日志生成时间,将具有相同常量信息的原始日志按照日志生成时间顺序进行排序,并组合成对应的日志集合。
4.根据权利要求1所述的方法,其特征在于,所述根据异常日志检测模型,确定所述待检测日志序列对应的检测结果序列,包括:
采用预设尺寸的滑动窗口在所述待检测日志序列中提取至少一个待检测子序列;
将所述至少一个待检测子序列输入至所述异常日志检测模型,得到每一所述待检测子序列对应的候选日志集合;所述候选日志集合包括至少一个候选日志和每一所述候选日志出现的条件概率;
根据所述待检测日志序列,确定每一所述待检测子序列对应的真实日志;
根据每一所述待检测子序列对应的真实日志和候选日志集合,确定每一所述待检测子序列对应的检测结果;
根据每一所述待检测子序列对应的检测结果生成检测结果序列。
5.根据权利要求4所述的方法,其特征在于,所述将所述至少一个待检测子序列输入至所述异常日志检测模型,得到每一所述待检测子序列对应的候选日志集合,包括:
将任意一个待检测子序列输入至所述异常日志检测模型,得到所述待检测子序列对应的至少一个初始候选日志和每一所述初始候选日志出现的条件概率;
按照条件概率从高到低的顺序依次提取预设数量的初始候选日志至候选日志集合;或,将条件概率大于预设概率阈值的初始候选日志提取至候选日志集合。
6.根据权利要求1所述的方法,其特征在于,所述根据所述检测结果序列输出所述待检测日志序列对应的异常日志检测结果,包括:
在所述检测结果序列表征所述多个待检测日志中不存在异常日志的情况下,判定所述待检测日志序列对应的异常日志检测结果为正常;
在所述检测结果序列表征所述多个待检测日志中存在至少一个异常日志的情况下,判定所述待检测日志序列对应的异常日志检测结果为异常。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述异常日志检测结果为异常的情况下,获取对所述待检测日志序列的真实检测结果;
在所述真实检测结果为正常的情况下,将所述待检测日志序列添加至数据集;所述数据集用于训练所述异常日志检测模型。
8.根据权利要求1所述的方法,其特征在于,所述异常日志检测模型的训练过程,包括:
对多个样本日志进行解析,得到包括多个样本日志序列的数据集;所述样本日志为正常日志;所述样本日志序列包括多个解析后的样本日志;
将所述数据集划分为训练集、验证集和测试集;
根据所述训练集对初始长短期记忆网络模型进行训练,并通过所述验证集在训练过程中调整所述初始长短期记忆网络模型的超参数;
通过所述测试集对训练后的初始长短期记忆网络模型进行评估,并在达到预设标准时将所述训练后的初始长短期记忆网络模型作为所述异常日志检测模型。
9.一种异常日志检测装置,其特征在于,包括:
解析模块,用于对收集的多个原始日志进行解析,得到待检测日志序列;所述待检测日志序列包括多个待检测日志;
检测模块,用于根据异常日志检测模型,确定所述待检测日志序列对应的检测结果序列;所述检测结果序列用于表征所述多个待检测日志中至少一个待检测日志是否异常日志;
输出模块,用于根据所述检测结果序列输出所述待检测日志序列对应的异常日志检测结果。
10.一种异常日志检测设备,其特征在于,包括:
存储器,用于存储可执行数据指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011482570.0A CN112235327A (zh) | 2020-12-16 | 2020-12-16 | 异常日志检测方法、装置、设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011482570.0A CN112235327A (zh) | 2020-12-16 | 2020-12-16 | 异常日志检测方法、装置、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112235327A true CN112235327A (zh) | 2021-01-15 |
Family
ID=74123999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011482570.0A Pending CN112235327A (zh) | 2020-12-16 | 2020-12-16 | 异常日志检测方法、装置、设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112235327A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111908A (zh) * | 2021-03-03 | 2021-07-13 | 长沙理工大学 | 一种基于模板序列或词序列的bert异常检测方法及设备 |
CN113420777A (zh) * | 2021-05-14 | 2021-09-21 | 中国民航大学 | 异常日志检测方法、装置存储介质及设备 |
CN113468035A (zh) * | 2021-07-15 | 2021-10-01 | 创新奇智(重庆)科技有限公司 | 日志异常检测方法、装置、训练方法、装置及电子设备 |
CN113535454A (zh) * | 2021-07-15 | 2021-10-22 | 上海上讯信息技术股份有限公司 | 一种日志数据异常检测的方法及设备 |
CN113722479A (zh) * | 2021-08-10 | 2021-11-30 | 深圳开源互联网安全技术有限公司 | 一种日志的检测方法、装置及存储介质 |
CN114328076A (zh) * | 2021-09-18 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 日志信息提取方法、装置、计算机设备和存储介质 |
CN114584379A (zh) * | 2022-03-07 | 2022-06-03 | 四川大学 | 基于优化特征提取粒度的日志异常检测方法 |
CN115333973A (zh) * | 2022-08-05 | 2022-11-11 | 武汉联影医疗科技有限公司 | 设备异常检测方法、装置、计算机设备和存储介质 |
CN117041019A (zh) * | 2023-10-10 | 2023-11-10 | 中国移动紫金(江苏)创新研究院有限公司 | 内容分发网络cdn的日志分析方法、装置及存储介质 |
CN117473225A (zh) * | 2023-10-17 | 2024-01-30 | 杭州智顺科技有限公司 | 日志数据治理方法、装置、电子设备及可读存储介质 |
WO2024060767A1 (zh) * | 2022-09-20 | 2024-03-28 | 华为云计算技术有限公司 | 异常检测方法及相关装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105023022A (zh) * | 2015-07-09 | 2015-11-04 | 深圳天珑无线科技有限公司 | 跌倒检测方法及系统 |
WO2019060327A1 (en) * | 2017-09-20 | 2019-03-28 | University Of Utah Research Foundation | ONLINE DETECTION OF ANOMALIES IN A NEWSPAPER USING AUTOMATIC APPRENTICESHIP |
CN111782460A (zh) * | 2020-06-04 | 2020-10-16 | 昆山伊莱智能软件科技有限公司 | 大规模日志数据的异常检测方法、装置和存储介质 |
CN111930592A (zh) * | 2020-07-20 | 2020-11-13 | 国网浙江省电力有限公司嘉兴供电公司 | 一种实时检测日志序列异常的方法和系统 |
-
2020
- 2020-12-16 CN CN202011482570.0A patent/CN112235327A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105023022A (zh) * | 2015-07-09 | 2015-11-04 | 深圳天珑无线科技有限公司 | 跌倒检测方法及系统 |
WO2019060327A1 (en) * | 2017-09-20 | 2019-03-28 | University Of Utah Research Foundation | ONLINE DETECTION OF ANOMALIES IN A NEWSPAPER USING AUTOMATIC APPRENTICESHIP |
CN111782460A (zh) * | 2020-06-04 | 2020-10-16 | 昆山伊莱智能软件科技有限公司 | 大规模日志数据的异常检测方法、装置和存储介质 |
CN111930592A (zh) * | 2020-07-20 | 2020-11-13 | 国网浙江省电力有限公司嘉兴供电公司 | 一种实时检测日志序列异常的方法和系统 |
Non-Patent Citations (1)
Title |
---|
LIU JIAN等: "An Efficient Massive Log Discriminative Algorithm for Anomaly Detection in Cloud", 《2019 IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM)》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113111908A (zh) * | 2021-03-03 | 2021-07-13 | 长沙理工大学 | 一种基于模板序列或词序列的bert异常检测方法及设备 |
CN113420777A (zh) * | 2021-05-14 | 2021-09-21 | 中国民航大学 | 异常日志检测方法、装置存储介质及设备 |
CN113535454B (zh) * | 2021-07-15 | 2023-05-30 | 上海上讯信息技术股份有限公司 | 一种日志数据异常检测的方法及设备 |
CN113468035A (zh) * | 2021-07-15 | 2021-10-01 | 创新奇智(重庆)科技有限公司 | 日志异常检测方法、装置、训练方法、装置及电子设备 |
CN113535454A (zh) * | 2021-07-15 | 2021-10-22 | 上海上讯信息技术股份有限公司 | 一种日志数据异常检测的方法及设备 |
CN113468035B (zh) * | 2021-07-15 | 2023-09-29 | 创新奇智(重庆)科技有限公司 | 日志异常检测方法、装置、训练方法、装置及电子设备 |
CN113722479A (zh) * | 2021-08-10 | 2021-11-30 | 深圳开源互联网安全技术有限公司 | 一种日志的检测方法、装置及存储介质 |
CN113722479B (zh) * | 2021-08-10 | 2023-12-05 | 深圳开源互联网安全技术有限公司 | 一种日志的检测方法、装置及存储介质 |
CN114328076A (zh) * | 2021-09-18 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 日志信息提取方法、装置、计算机设备和存储介质 |
CN114328076B (zh) * | 2021-09-18 | 2024-04-30 | 腾讯科技(深圳)有限公司 | 日志信息提取方法、装置、计算机设备和存储介质 |
CN114584379A (zh) * | 2022-03-07 | 2022-06-03 | 四川大学 | 基于优化特征提取粒度的日志异常检测方法 |
CN115333973A (zh) * | 2022-08-05 | 2022-11-11 | 武汉联影医疗科技有限公司 | 设备异常检测方法、装置、计算机设备和存储介质 |
WO2024060767A1 (zh) * | 2022-09-20 | 2024-03-28 | 华为云计算技术有限公司 | 异常检测方法及相关装置 |
CN117041019A (zh) * | 2023-10-10 | 2023-11-10 | 中国移动紫金(江苏)创新研究院有限公司 | 内容分发网络cdn的日志分析方法、装置及存储介质 |
CN117041019B (zh) * | 2023-10-10 | 2024-01-02 | 中国移动紫金(江苏)创新研究院有限公司 | 内容分发网络cdn的日志分析方法、装置及存储介质 |
CN117473225A (zh) * | 2023-10-17 | 2024-01-30 | 杭州智顺科技有限公司 | 日志数据治理方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112235327A (zh) | 异常日志检测方法、装置、设备和计算机可读存储介质 | |
US10353685B2 (en) | Automated model management methods | |
CN110163647B (zh) | 一种数据处理方法及装置 | |
CN108090216B (zh) | 一种标签预测方法、装置及存储介质 | |
CN111258593B (zh) | 应用程序预测模型的建立方法、装置、存储介质及终端 | |
CN110674636B (zh) | 一种用电行为分析方法 | |
JP2005352613A (ja) | トピック分析方法及びその装置並びにプログラム | |
CN110689368B (zh) | 一种移动应用内广告点击率预测系统设计方法 | |
CN110851176B (zh) | 一种自动构造并利用伪克隆语料的克隆代码检测方法 | |
CN109933648B (zh) | 一种真实用户评论的区分方法和区分装置 | |
CN114254716B (zh) | 一种基于用户行为分析的高危操作识别方法及系统 | |
CN112528022A (zh) | 主题类别对应的特征词提取和文本主题类别识别方法 | |
CN114218958A (zh) | 工单处理方法、装置、设备和存储介质 | |
CN112330442A (zh) | 基于超长行为序列的建模方法及装置、终端、存储介质 | |
CN116881430A (zh) | 一种产业链识别方法、装置、电子设备及可读存储介质 | |
CN116451081A (zh) | 数据漂移的检测方法、装置、终端及存储介质 | |
CN110941713A (zh) | 基于主题模型的自优化金融资讯版块分类方法 | |
CN115619245A (zh) | 一种基于数据降维方法的画像构建和分类方法及系统 | |
CN114528908A (zh) | 网络请求数据分类模型训练方法、分类方法及存储介质 | |
CN110705597B (zh) | 基于事件因果关系抽取的网络苗头事件检测方法及系统 | |
Constantin et al. | Hateful meme detection with multimodal deep neural networks | |
CN114218569A (zh) | 数据分析方法、装置、设备、介质和产品 | |
CN113691525A (zh) | 一种流量数据处理方法、装置、设备及存储介质 | |
Sangeetha et al. | Crime Rate Prediction and Prevention: Unleashing the Power of Deep Learning | |
CN111565192A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210115 |
|
WD01 | Invention patent application deemed withdrawn after publication |