CN111274125B - 一种日志分析方法及装置 - Google Patents
一种日志分析方法及装置 Download PDFInfo
- Publication number
- CN111274125B CN111274125B CN202010035917.0A CN202010035917A CN111274125B CN 111274125 B CN111274125 B CN 111274125B CN 202010035917 A CN202010035917 A CN 202010035917A CN 111274125 B CN111274125 B CN 111274125B
- Authority
- CN
- China
- Prior art keywords
- log
- word
- tested
- determining
- reference set
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种日志分析方法及装置,确定待测试日志属于N类参照集中的第一类参照集;根据该参照集的第一主题矩阵,确定待测试日志与该参照集的第一主题距离;根据该参照集的第一词向量矩阵和第一互斥矩阵,确定待测试日志与该参照集的第一词距离;根据第一主题距离和第一词距离,确定待测试日志与该参照集的互斥相似度;在互斥相似度不大于第一阈值时,确定待测试日志为异常日志。该方案通过将待测试日志与已知N类参照集进行匹配,可快速确定待测试日志所属的类型,极大缩短确定待测试日志正常与否的时间;在确定相似度的过程中,通过将词集间的互斥关系引入,对于确定待测试日志正常与否的问题,极大程度上提高了对其判断的准确性。
Description
技术领域
本发明涉及Web安全分析领域,尤其涉及一种日志分析方法及装置。
背景技术
目前,基于传统规则的Web安全检测易被绕过,基于AI的检测方法已逐渐成为发展趋势。但是,通常情况下,基于AI的检测方法的时间复杂度较高,如果对全量数据进行检测,则在实际场景中有较高的时延。因此,当进行web安全检测时,须预先执行流量过滤步骤,对绝大部分的流量使用较低复杂度的处理流程进行过滤。也即,如何快速并准确地过滤正常大流量显得十分重要。
现有技术通常使用基于规则的特征抽取方案,即无论是基于正则表达式或字段筛选,均依赖于技术人员的安全经验对其进行设定。
以up1.com/api1/api2/api3/?p=123&p2=test&p3=3为例,基于规则,对每个参数值对独立判断,对参数值123和test分别做单独的正则过滤,与host、url完全无关。
以上技术存在人为干预成本较高的问题,也即必须要求技术人员有较高的技术能力与场景经验才能设定泛而准的规则,每一次维护规则库均需要技术人员投入较大的精力,才起到很好的比较效果。
综上,现有技术存在无法快速并准确地过滤正常大流量的问题。
发明内容
本发明提供一种日志分析方法及装置,用以解决无法快速并准确地过滤正常大流量的问题。
第一方面,本发明实施例提供一种日志分析方法,该方法包括:确定待测试日志属于N类参照集中的第一类参照集;所述N类参照集是对历史正常日志进行划分得到的;根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离;所述第一主题矩阵是根据所述第一类参照集中的多个历史正常日志确定的;根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离;所述第一词向量矩阵和所述第一互斥矩阵均是根据所述第一类参照集中的多个历史正常日志确定的;根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度;在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志。
基于该方案,通过对历史正常日志进行划分,得到相应的N类参照集,则对于待测试日志,通过将其与N类参照集进行匹配,则可以快速定位出所述待测试日志所属的类型,由于同一类型的历史正常日志为全量历史正常日志的子集,则通过将所述待测试日志与所述待测试日志所属同一类型的历史正常日志进行比较,极大地缩减了确定所述待测试日志正常与否的时间;进一步地,在确定所述待测试日志与所述第一类参照集中相似度的过程中,通过将词集之间的互斥关系引入,对于确定所述待测试日志正常与否的问题,极大程度上提高了对其判断的准确性。
作为一种可能实现的方式,所述第一主题矩阵包括作为类中心的M个主题向量,其中,M个类中心的主题向量是对所述第一主题矩阵聚类后得到的;根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离,包括:根据所述第一主题矩阵,确定所述待测试日志的第一主题向量;针对M个类中心中的任一类中心,确定所述第一主题向量与所述类中心的主题向量之间的第一主题距离;根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离,包括:根据所述第一词向量矩阵,确定所述待测试日志的第一词向量;针对M个类中心中的任一类中心,根据所述第一互斥矩阵,确定所述第一词向量与所述类中心的词向量之间的第一词距离;根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度,包括:针对同一类中心,根据所述待测试日志与所述类中心的主题向量之间的第一主题距离、所述待测试日志与所述类中心的词向量之间的第一词距离,确定所述待测试日志与所述第一类参照集的类中心的互斥相似度。
基于该方案,通过将待测试日志与所述待测试日志所属同一类型的历史正常日志中的多个类中心日志进行互斥相似度的计算,且计算过程中既包括了两者之间的第一主题距离的确定,又包括了两者之间的第一词距离的确定,兼顾了对所述待测试日志与所述多个类中心日志的主题和词集这两方面的考虑,极大程度上保证了判断所述待测试日志正常性的准确性。
作为一种可能实现的方式,确定所述第一词向量与所述类中心的词向量之间的第一词距离,包括:确定所述第一词向量和所述类中心的词向量构建的词集二分图;所述词集二分图中包括节点和边,其中,所述第一词向量和所述类中心的词向量中的每个词对应一个节点;根据所述第一互斥矩阵,若所述第一词向量和所述类中心的词向量中的各词之间存在互斥关系,则在存在互斥关系的词之间建立一条边;若所述第一词向量和所述类中心的词向量中的各词包括同一词,则在同一词之间建立一条边;在所述词集二分图中确定包含所述第一词向量和所述类中心的词向量中各词的最小覆盖路径;根据所述最小覆盖路径,确定所述第一词向量和所述类中心的词向量中置零的词;根据置零处理后的所述第一词向量和所述类中心的词向量,确定所述第一词向量和所述类中心的词向量之间的第一词距离。
基于该方案,在构建所述第一词向量和所述类中心的词向量之间的词集二分图时,引入了一些词之间可能存在的互斥关系的因素,有助于提高对待测试日志的正常性的判断效果。
作为一种可能实现的方式,在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志,包括:确定所述待测试日志与所述第一类参照集的任一类中心的互斥相似度均不大于所述第一阈值时,确定所述待测试日志为异常日志。
基于该方案,鉴于类中心即是所述第一类参照集的代表日志,当待测试日志与所述第一类参照集所有类中心的互斥相似度均不大于第一阈值时,说明在所述第一类参照集中不能匹配出与待测试日志相似的日志,则可以将待测试日志视作异常日志。
作为一种可能实现的方式,若所述待测试日志与所述第一类参照集的第一类中心的互斥相似度大于所述第一阈值,则确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度;其中,特征向量是根据日志中的参数部分确定的;若特征相似度大于第二阈值,则确定所述待测试日志为正常日志。
基于该方案,鉴于类中心即是所述第一类参照集的代表日志,通过计算待测试日志与所述第一类参照集所有类中心的互斥相似度,若存在至少一个互斥相似度大于第一阈值,则进一步确定待测试日志的特征向量与互斥相似度大于第一阈值所对应的类中心的特征向量这两者间的特征相似度,若特征相似度大于第二阈值,则可以将待测试日志视作正常日志;也即不仅从互斥相似度的角度保证了待测试日志的正常性,还从特征相似度的角度保证了待测试日志的正常性。
作为一种可能实现的方式,若所述特征相似度不大于所述第二阈值,则确定与所述第一类中心的特征向量具有一度关系的特征向量;其中,所述具有一度关系的特征向量为与所述第一类中心的特征向量距离最近、且不属于所述第一类中心的特征向量所在类的特征向量;确定所述具有一度关系的特征向量和所述待测试日志的特征向量的特征相似度;若特征相似度大于所述第二阈值且所述具有一度关系的特征向量对应的历史正常日志属于所述第一类参照集,则确定所述待测试日志为正常日志。
基于该方案,考虑到仅仅从第一类参照集的类中心作为计算特征相似度的局限性,因而针对所述特征相似度不大于所述第二阈值的情形,进一步计算待测试日志的特征向量与所述第一类中心的特征向量具有一度关系的特征向量这两者间的特征相似度,若特征相似度大于第二阈值且所述具有一度关系的特征向量对应的历史正常日志属于所述第一类参照集,则可以将待测试日志视作正常日志。
作为一种可能实现的方式,所述N类参照集是根据历史正常日志中的host进行分类的;所述第一词向量矩阵和所述第一主题矩阵是根据所述第一类参照集中各历史正常日志中的子URL确定的;所述第一互斥矩阵是根据所述第一词向量矩阵中各词向量之间的互斥关系确定的。
作为一种可能实现的方式,确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度,包括:基于字符串的特征泛化,确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度。
基于该方案,在确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度的过程中,对待测试日志和所述第一类中心这两者的特征向量执行基于字符串的特征泛化操作,提供了一种可量化的、用于计算特征相似度的方法。
第二方面,本发明实施例提供一种日志分析装置,该装置包括:类别确定单元,用于确定待测试日志属于N类参照集中的第一类参照集;所述N类参照集是对历史正常日志进行划分得到的;距离确定单元,用于根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离;所述第一主题矩阵是根据所述第一类参照集中的多个历史正常日志确定的;所述距离确定单元,还用于根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离;所述第一词向量矩阵和所述第一互斥矩阵均是根据所述第一类参照集中的多个历史正常日志确定的;相似度确定单元,用于根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度;判断单元,用于在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志。
基于该方案,通过对历史正常日志进行划分,得到相应的N类参照集,则对于待测试日志,通过将其与N类参照集进行匹配,则可以快速定位出所述待测试日志所属的类型,由于同一类型的历史正常日志为全量历史正常日志的子集,则通过将所述待测试日志与所述待测试日志所属同一类型的历史正常日志进行比较,极大地缩减了确定所述待测试日志正常与否的时间;进一步地,在确定所述待测试日志与所述第一类参照集中相似度的过程中,通过将词集之间的互斥关系引入,对于确定所述待测试日志正常与否的问题,极大程度上提高了对其判断的准确性。
作为一种可能实现的方式,所述第一主题矩阵包括作为类中心的M个主题向量,其中,M个类中心的主题向量是对所述第一主题矩阵聚类后得到的;所述距离确定单元,具体用于根据所述第一主题矩阵,确定所述待测试日志的第一主题向量;针对M个类中心中的任一类中心,确定所述第一主题向量与所述类中心的主题向量之间的第一主题距离;所述距离确定单元,具体用于根据所述第一词向量矩阵,确定所述待测试日志的第一词向量;针对M个类中心中的任一类中心,根据所述第一互斥矩阵,确定所述第一词向量与所述类中心的词向量之间的第一词距离;所述相似度确定单元,具体用于针对同一类中心,根据所述待测试日志与所述类中心的主题向量之间的第一主题距离、所述待测试日志与所述类中心的词向量之间的第一词距离,确定所述待测试日志与所述第一类参照集的类中心的互斥相似度。
基于该方案,通过将待测试日志与所述待测试日志所属同一类型的历史正常日志中的多个类中心日志进行互斥相似度的计算,且计算过程中既包括了两者之间的第一主题距离的确定,又包括了两者之间的第一词距离的确定,兼顾了对所述待测试日志与所述多个类中心日志的主题和词集这两方面的考虑,极大程度上保证了判断所述待测试日志正常性的准确性。
作为一种可能实现的方式,所述距离确定单元,具体用于确定所述第一词向量和所述类中心的词向量构建的词集二分图;所述词集二分图中包括节点和边,其中,所述第一词向量和所述类中心的词向量中的每个词对应一个节点;根据所述第一互斥矩阵,若所述第一词向量和所述类中心的词向量中的各词之间存在互斥关系,则在存在互斥关系的词之间建立一条边;若所述第一词向量和所述类中心的词向量中的各词包括同一词,则在同一词之间建立一条边;在所述词集二分图中确定包含所述第一词向量和所述类中心的词向量中各词的最小覆盖路径;根据所述最小覆盖路径,确定所述第一词向量和所述类中心的词向量中置零的词;根据置零处理后的所述第一词向量和所述类中心的词向量,确定所述第一词向量和所述类中心的词向量之间的第一词距离。
基于该方案,在构建所述第一词向量和所述类中心的词向量之间的词集二分图时,引入了一些词之间可能存在的互斥关系的因素,有助于提高对待测试日志的正常性的判断效果。
作为一种可能实现的方式,所述判断单元,具体用于确定所述待测试日志与所述第一类参照集的任一类中心的互斥相似度均不大于所述第一阈值时,确定所述待测试日志为异常日志。
基于该方案,鉴于类中心即是所述第一类参照集的代表日志,当待测试日志与所述第一类参照集所有类中心的互斥相似度均不大于第一阈值时,说明在所述第一类参照集中不能匹配出与待测试日志相似的日志,则可以将待测试日志视作异常日志。
作为一种可能实现的方式,所述判断单元,还用于若所述待测试日志与所述第一类参照集的第一类中心的互斥相似度大于所述第一阈值,则确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度;其中,特征向量是根据日志中的参数部分确定的;若特征相似度大于第二阈值,则确定所述待测试日志为正常日志。
基于该方案,鉴于类中心即是所述第一类参照集的代表日志,通过计算待测试日志与所述第一类参照集所有类中心的互斥相似度,若存在至少一个互斥相似度大于第一阈值,则进一步确定待测试日志的特征向量与互斥相似度大于第一阈值所对应的类中心的特征向量这两者间的特征相似度,若特征相似度大于第二阈值,则可以将待测试日志视作正常日志;也即不仅从互斥相似度的角度保证了待测试日志的正常性,还从特征相似度的角度保证了待测试日志的正常性。
作为一种可能实现的方式,所述判断单元,还用于若所述特征相似度不大于所述第二阈值,则确定与所述第一类中心的特征向量具有一度关系的特征向量;其中,所述具有一度关系的特征向量为与所述第一类中心的特征向量距离最近、且不属于所述第一类中心的特征向量所在类的特征向量;确定所述具有一度关系的特征向量和所述待测试日志的特征向量的特征相似度;若特征相似度大于所述第二阈值且所述具有一度关系的特征向量对应的历史正常日志属于所述第一类参照集,则确定所述待测试日志为正常日志。
基于该方案,考虑到仅仅从第一类参照集的类中心作为计算特征相似度的局限性,因而针对所述特征相似度不大于所述第二阈值的情形,进一步计算待测试日志的特征向量与所述第一类中心的特征向量具有一度关系的特征向量这两者间的特征相似度,若特征相似度大于第二阈值且所述具有一度关系的特征向量对应的历史正常日志属于所述第一类参照集,则可以将待测试日志视作正常日志。
作为一种可能实现的方式,所述N类参照集是根据历史正常日志中的host进行分类的;所述第一词向量矩阵和所述第一主题矩阵是根据所述第一类参照集中各历史正常日志中的子URL确定的;所述第一互斥矩阵是根据所述第一词向量矩阵中各词向量之间的互斥关系确定的。
作为一种可能实现的方式,所述判断单元,具体用于基于字符串的特征泛化,确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度。
基于该方案,在确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度的过程中,对待测试日志和所述第一类中心这两者的特征向量执行基于字符串的特征泛化操作,提供了一种可量化的、用于计算特征相似度的方法。
第三方面,本发明实施例提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如第一方面任一所述的方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如第一方面任一所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种日志分析方法;
图2为本发明实施例提供的一种文本AB与文本BC之间的词集二分图;
图3为本发明实施例提供的一种文本AB与文本BC之间的最小覆盖路径;
图4为本发明实施例提供的一种文本与特征向量的映射逻辑图;
图5为本发明实施例提供的一种日志分析装置。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种日志分析方法,该方法包括:
步骤101,确定待测试日志属于N类参照集中的第一类参照集;所述N类参照集是对历史正常日志进行划分得到的。
步骤102,根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离;所述第一主题矩阵是根据所述第一类参照集中的多个历史正常日志确定的。
步骤103,根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离;所述第一词向量矩阵和所述第一互斥矩阵均是根据所述第一类参照集中的多个历史正常日志确定的。
步骤104,根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度。
步骤105,在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志。
基于该方案,通过对历史正常日志进行划分,得到相应的N类参照集,则对于待测试日志,通过将其与N类参照集进行匹配,则可以快速定位出所述待测试日志所属的类型,由于同一类型的历史正常日志为全量历史正常日志的子集,则通过将所述待测试日志与所述待测试日志所属同一类型的历史正常日志进行比较,极大地缩减了确定所述待测试日志正常与否的时间;进一步地,在确定所述待测试日志与所述第一类参照集中相似度的过程中,通过将词集之间的互斥关系引入,对于确定所述待测试日志正常与否的问题,极大程度上提高了对其判断的准确性。
在上述步骤101中,确定待测试日志属于N类参照集中的第一类参照集;所述N类参照集是对历史正常日志进行划分得到的。
首先,以背景技术中的up1.com/api1/api2/api3/?p=123&p2=test&p3=3这条Web日志作为示例,其中,“up1.com”为日志的host,“api1/api2/api3/”为日志的子URL,“p”、“p2”和“p3”均为日志的参数字段,“123”为参数字段“p”对应的取值,“test”为参数字段“p2”对应的取值,“3”为参数字段“p3”对应的取值。设数据处理人员采集到最近一个月的日志,通过对全量日志中的异常日志的过滤,获取到最近一个月的历史正常日志;由于历史正常日志数量繁多,可以先依据预设的分类规则,将海量的历史正常日志进行分类,如可以依据日志的host对海量的历史正常日志进行归类,则可以将无规则的、海量的历史正常日志划分成多个日志子集,每个日志子集由同一类型的多条历史正常日志所构成。
举个例子,除前述的up1.com/api1/api2/api3/?p=123&p2=test&p3=3这条Web日志外,还存在up1.com/api2/api3/api4/?p0=1、up2.com/api1/api3/api4/?user=admin和up2.com/api2/api3/api4/?pwd=1111这3条Web日志,其中,这4条Web日志均为历史正常日志;则围绕“up1.com”这个host类型,up1.com/api1/api2/api3/?p=123&p2=test&p3=3这条Web日志与up1.com/api2/api3/api4/?p0=1这条Web日志可以视作同一类型的日志子集;围绕“up2.com”这个host类型,up2.com/api1/api3/api4/?user=admin这条Web日志和up2.com/api2/api3/api4/?pwd=1111这条Web日志可以视作同一类型的日志子集;也即,依据host类型,可以将上述4条Web日志划分成2个日志子集,这里的日志子集即为参照集,参照集的数量为2。
同理,假设数据处理人员采集到的最近一个月的历史正常日志为10000条,经过对这10000条日志的划分,得到100个日志子集;还可以进一步假设,每个日志子集中包含的历史正常日志均为100条;即,依据host类型,这10000条的历史正常日志被划分为100类参照集,比如可以制作成有关于参照集的分类表格。
对于一条新来日志,需要确定其为正常日志抑或为异常日志,则首先可以通过对这条新来日志的host进行提取,将所提取出的host与全量历史正常日志所形成的N类参照集的host进行匹配,则可确定这条新来日志所属的参照集;此处的新来日志即为待测试日志。
如待测试日志为up1.com/api1/api3/?q=4,且10000条的全量历史正常日志所形成的100类参照集中存在“up1.com”这一host类型的参照集,其中,“up1.com”这一host类型的参照集中包括了100条的历史正常日志;则根据待测试日志中的host(“up1.com”),即可确定出待测试日志up1.com/api1/api3/?q=4属于这10000条全量历史正常日志所形成的100类参照集中的“up1.com”这一host类型的参照集,并将包含了100条历史正常日志的“up1.com”这一host类型的参照集记为第一类参照集;后续则可以依据第一类参照集来对待测试日志的正常性作出判断。
在上述步骤102中,根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离;所述第一主题矩阵是根据所述第一类参照集中的多个历史正常日志确定的。
如前述的例子,对于待测试日志up1.com/api1/api3/?q=4,其属于“up1.com”这一参照集;其中,通过对包含了100条历史正常日志的“up1.com”这一参照集中的每一条历史正常日志做预处理操作,即将每一条历史正常日志进行分隔,如可以分隔成host、子URL、参数字段和参数字段对应的取值四部分;其中,host用于作为历史正常日志的分类标签,便于待测试日志根据能够根据自身的host与已知分类的参照集的host进行匹配、从而快速定位出待测试日主所属的第一类参照集;子URL用于构建词向量矩阵和主题矩阵;参数字段对应的取值可以作为日志的特征向量。
如对背景技术中的up1.com/api1/api2/api3/?p=123&p2=test&p3=3这条Web日志进行分隔,其子URL可以被分隔成api1、api2和api3这三个分词;同理,与为同一参照集的up1.com/api2/api3/api4/?p0=1,其子URL可以被分隔成api2、api3和api4这三个分词;对于同属为“up1.com”这一参照集中的每一条历史正常日志,皆可以参考对up1.com/api1/api2/api3/?p=123&p2=test&p3=3这条Web日志和up1.com/api1/api2/?p=123&p2=test&p3=3这条Web日志中的子URL的预处理操作,在此不赘述。
比如,通过对“up1.com”这一参照集中的每一条历史正常日志中的子URL的分隔,由此形成了关于该参照集的1000个分词;进一步地,可以得到关于“up1.com”这一参照集的词向量矩阵,记为矩阵A;其中,矩阵A的尺寸为100*1000,每一个词向量对应的值可以为每个分词的词频、也可以为每个分词的TF-IDF值(Term Frequency-Inverse DocumentFrequency,词频-逆文本频率),本发明不做限定。
可以理解的是,对于待测试日志的正常性的判断,可以依据待测试日志的分词,也可以依据待测试日志的主题。如对于“up1.com”这一参照集,在形成关于该参照集的1000个分词后,还可以形成关于该参照集的主题,如根据本领域技术人员的经验,可以形成关于“up1.com”这一参照集的30个主题;当然,主题的数目可以根据实际的需要进行设定,本发明不做限定。
针对“up1.com”这一参照集,设可以形成关于该参照集的30个主题;进一步地,可以得到关于该参照集的主题矩阵,记为矩阵B;其中,矩阵B的尺寸为100*30,每一个主题对应的值是基于分词之间的特定组成关系而形成的词频或者TF-IDF值。
根据“up1.com”这一参照集的矩阵B,则可以确定待测试日志up1.com/api1/api3/?q=4与“up1.com”这一参照集的主题距离,记为主题距离M;其中,矩阵B即为第一主题矩阵,主题距离M即为第一主题距离。
在上述步骤103中,根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离;所述第一词向量矩阵和所述第一互斥矩阵均是根据所述第一类参照集中的多个历史正常日志确定的。
针对“up1.com”这一参照集,设关于该参照集的1000个分词中的部分分词之间存在一定的互斥关系,则可以根据分词之间的互斥关系形成互斥矩阵,记为矩阵C;对于矩阵C,随着分词之间的互斥性增强,其值越大,范围设为(0,1),即当值取0时,表示两个分词之间不存在互斥关系,当值取1时,表示两个分词呈完全对立的关系;其中,矩阵C是稀疏矩阵,其尺寸为1000*1000。
根据“up1.com”这一参照集的矩阵A和矩阵C,则可以确定待测试日志up1.com/api1/api3/?q=4与“up1.com”这一参照集的词距离,记为词距离N;其中,矩阵A即为第一词向量矩阵,矩阵C即为第一互斥矩阵,词距离N即为第一词距离。
在上述步骤104中,根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度。
如前述待测试日志up1.com/api1/api3/?q=4对应于“up1.com”这一参照集的例子,根据主题距离M和词距离N,则可以确定待测试日志up1.com/api1/api3/?q=4与“up1.com”这一参照集的互斥相似度。
在上述步骤105中,在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志。
本领域的技术人员可以根据实际需要和工作经验,设置判定待测试日志是异常日志或疑似正常日志的一个界限值,比如可以将界限值设置为95%:当前述计算的互斥相似度不大于95%,则认为该条待测试日志为异常日志;当前述计算的互斥相似度大于95%,则初步地可以认为在子URL的层面,该条待测试日志为正常日志,至于最终判定该条待测试日志是否为正常日志,还需要综合其他层面的因素,比如参数部分。
作为一种可能实现的方法,所述第一主题矩阵包括作为类中心的M个主题向量,其中,M个类中心的主题向量是对所述第一主题矩阵聚类后得到的;根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离,包括:根据所述第一主题矩阵,确定所述待测试日志的第一主题向量;针对M个类中心中的任一类中心,确定所述第一主题向量与所述类中心的主题向量之间的第一主题距离;根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离,包括:根据所述第一词向量矩阵,确定所述待测试日志的第一词向量;针对M个类中心中的任一类中心,根据所述第一互斥矩阵,确定所述第一词向量与所述类中心的词向量之间的第一词距离;根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度,包括:针对同一类中心,根据所述待测试日志与所述类中心的主题向量之间的第一主题距离、所述待测试日志与所述类中心的词向量之间的第一词距离,确定所述待测试日志与所述第一类参照集的类中心的互斥相似度。
如前述待测试日志up1.com/api1/api3/?q=4对应于“up1.com”这一参照集的例子,形成了关于“up1.com”这一参照集的主题矩阵M(尺寸为100*30);进一步地,通过对主题矩阵M的聚类,设形成了关于主题矩阵M的5个主题向量,也即得到了5个类中心,每个类中心的尺寸为1*30。
根据矩阵B,则可以得到关于待测试日志up1.com/api1/api3/?q=4的主题向量,记为主题向量D;其中,主题向量D的尺寸为1*30。
针对“up1.com”这一参照集的5个类中心的每一个类中心,计算主题向量D与每一个类中心的主题向量之间的距离;其中,主题向量D即为第一主题向量,主题向量之间的距离即为第一主题距离,也即前述的主题距离M。
需要说明的是,对于主题向量之间的距离的计算,可以是计算两者之间的余弦距离,也可以是计算两者之间的欧式距离,还可以是以其他方式定义的距离,本发明对此不做限定。特此说明,本发明中选择使用计算余弦距离的方式,后续有关于距离的计算均指的是余弦距离。
根据矩阵A,则可以得到关于待测试日志up1.com/api1/api3/?q=4的词向量,记为词向量E;其中,词向量E的尺寸为1*1000。
针对“up1.com”这一参照集的5个类中心的每一个类中心,虽然每一个类中心是根据第一主题矩阵聚类得来的,事实上本领域的技术人员是可以在第一词向量矩阵中定位出这5个类中心,由此可以获取每一个类中心的词向量;根据矩阵C,计算词向量E与每一个类中心的词向量之间的距离;其中,词向量E即为第一词向量,词向量之间的距离即为第一词距离,也即前述的词距离N。
针对“up1.com”这一参照集的5个类中心的每一个类中心,通过计算待测试日志与该类中心的主题向量之间的距离、待测试日志与该类中心的词向量之间的距离,即可以确定待测试日志与该类中心的互斥相似度。具体来说,根据实际的需要,通过给主题距离M和词距离N分别赋予一定的权重,比如认为主题距离M和词距离N对于互斥相似度的计算具有同等重要的地位,则主题距离M和词距离N的权重值可以均为0.5;进一步地,通过计算两项距离分别乘以权重之后的加和结果,并将加和结果作为待测试日志和任一类中心的互斥相似度。
需要说明的是,上述确定互斥相似度的方式并不仅仅限于所述待测试日志与所述第一类参照集的类中心之间,还适用于待测试日志与所述第一类参照集中的任一非类中心之间。本发明实施例通过综合考虑实际计算过程的需要面临的巨大工作量,因而提出的一种优选的方案是计算所述待测试日志与所述第一类参照集的类中心的互斥相似度。
作为一种可能实现的方式,确定所述第一词向量与所述类中心的词向量之间的第一词距离,包括:确定所述第一词向量和所述类中心的词向量构建的词集二分图;所述词集二分图中包括节点和边,其中,所述第一词向量和所述类中心的词向量中的每个词对应一个节点;根据所述第一互斥矩阵,若所述第一词向量和所述类中心的词向量中的各词之间存在互斥关系,则在存在互斥关系的词之间建立一条边;若所述第一词向量和所述类中心的词向量中的各词包括同一词,则在同一词之间建立一条边;在所述词集二分图中确定包含所述第一词向量和所述类中心的词向量中各词的最小覆盖路径;根据所述最小覆盖路径,确定所述第一词向量和所述类中心的词向量中置零的词;根据置零处理后的所述第一词向量和所述类中心的词向量,确定所述第一词向量和所述类中心的词向量之间的第一词距离。
前述的待测试日志up1.com/api1/api3/?q=4对应于“up1.com”这一参照集的例子,鉴于其中用到的矩阵维度过于庞大,以至于后面的实施例不便于围绕其继续展开描述,因此本发明实施例的以下部分重新选取较为简单的例子进行直观性的说明。
设有4个文本,AB、AC、AD、BC,各自只有2个分词;在不考虑分词先后顺序的情况下,提取词向量的方法采用最基本的one-hot编码;因此AB、AC、AD、BC的表达式如下:
AB=(1 1 0 0)AC=(1 0 1 0)
AD=(1 0 0 1)BC=(0 1 1 0)
现假设A与B互斥,B与C互斥,则根据互斥关系可以得到第一互斥矩阵,表示如下:
设文本AB为待测试日志,设文本BC为第一参照集中的任一个类中心,当计算文本AB与文本BC之间的互斥距离,即是确定第一词向量和类中心的词向量之间的第一词距离;计算文本AB与文本BC之间的互斥距离的方法如下:
步骤1,确定文本AB与文本BC之间的词集二分图。如图2所示,为本发明实施例提供的一种文本AB与文本BC之间的词集二分图,其中,文本AB中的分词A和分词B分别对应虚线左侧的两个节点A和B,文本BC中的分词B和分词C分别对应虚线右侧的两个节点B和C;根据A与B互斥,B与C互斥,将虚线左侧的节点A与虚线右侧的节点B连线,形成边_AB,将虚线左侧的节点B和虚线右侧的节点C连线,形成边_BC;由于分词B为文本AB与文本BC这两者之间的同一词,即两者之间的交集,则将虚线左侧节点B和虚线右侧的节点B连线,形成边_BB。
步骤2,在已构建的词集二分图中确定包含文本AB和文本BC中各词的最小覆盖路径。如图3所示,为本发明实施例提供的一种文本AB与文本BC之间的最小覆盖路径,其中,最小覆盖路径包括边_AB和边_BC,边_AB和边_BC用较粗的线条进行表示;而不存在边_BB,边_BB用较细的线条进行表示。最小覆盖路径的确定方式为现有技术,本发明不展开描述。
步骤3,根据最小覆盖路径,确定文本AB和文本BC中需要将词分量置零的词。如本发明实施例中,由于最小覆盖路径中不存在边_BB的路径,因此文本AB和文本BC这两者间的交集词分量B不需要置零;若最小路径覆盖中存在边_BB的路径,那么对于任意两文本之间出现交集词分量为B的情形时,则此时需要将这两文本间的交集词分量B需要置零。
步骤4,根据置零处理后的文本AB和文本BC的词向量,确定文本AB和文本BC之间的互斥距离。由于本发明实施例中文本AB和文本BC这两者间的交集词分量B不需要做置零处理,则根据文本AB的词向量矩阵、第一互斥矩阵和文本BC的词向量矩阵,即可确定文本AB和文本BC之间的互斥距离,计算互斥距离的过程如下:
即文本AB和文本BC之间的互斥距离为2。
需要说明的是,上述确定第一词距离的方式并不仅仅限于所述待测试日志与所述第一类参照集的类中心之间,还适用于待测试日志与所述第一类参照集的任一非类中心之间。本发明实施例通过综合考虑实际计算过程的需要面临的巨大工作量,因而提出的一种优选的方案是计算所述待测试日志与所述第一类参照集的类中心的第一词距离。
作为一种可能实现的方法,在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志,包括:确定所述待测试日志与所述第一类参照集的任一类中心的互斥相似度均不大于所述第一阈值时,确定所述待测试日志为异常日志。
针对待测试日志up1.com/api1/api3/?q=4对应于“up1.com”这一参照集的例子,通过对up1.com”这一参照集的第一主题矩阵的聚类,确定出5个类中心;分别计算待测试日志与这5个类中心的互斥相似度;若所计算的5个互斥相似度均不大于第一阈值,比如前述的95%,则确定待测试日志为异常日志;若所计算的5个互斥相似度中存在至少一个互斥相似度大于95%,则所述待测试日志为疑似正常日志,还需做进一步判断。
作为一种可能实现的方法,若所述待测试日志与所述第一类参照集的第一类中心的互斥相似度大于所述第一阈值,则确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度;其中,特征向量是根据日志中的参数部分确定的;若特征相似度大于第二阈值,则确定所述待测试日志为正常日志。
通过对“up1.com”这一参照集中每一条历史正常日志中的参数字段的值,执行基于字符串的特征泛化,如采用一元组的个数统计的方式,可以获取“up1.com”这一参照集中每一条历史正常日志的特征向量;同理,也可以获取任一条待测试日志的特征向量。
设“up1.com”这一参照集中存在一条up1.com/api1/api2/api3/?p=123&p2=test&p3=3的历史正常日志,并且该条历史正常日志为5个类中心中的一个类中心,另外通过计算待测试日志up1.com/api1/api3/?q=4与该类中心的互斥相似度,发现该互斥相似度高于第一阈值(95%),则可以将该类中心作为第一类中心,并计算待测试日志与第一类中心这两者间的特征相似度;若特征相似度大于第二阈值,则确定所述待测试日志为正常日志。
如图4所示,为本发明实施例提供的一种文本与特征向量的映射逻辑图。参考图4,测试文本10具有一个特征向量,为特征向量10;测试文本10所属的第一参照集为类A;通过对类A中的全部训练文本的聚类,确定出类A中的训练文本1是其一个类中心,且在计算测试文本10与训练文本1之间的互斥相似度时,发现其互斥相似度高于95%,则可以认为测试文本10为一个疑似正常的文本,此时的训练文本1可以被视作第一类中心;根据图4可知,训练文本1具有两个特征向量,分别为特征向量1和特征向量2,那么接下来计算特征向量10与特征向量1这两者间的特征相似度,计算特征向量10与特征向量2这两者间的特征相似度;若存在至少一个特征相似度大于第二阈值,则确定测试文本10为正常文本。
作为一种可能实现的方法,若所述特征相似度不大于所述第二阈值,则确定与所述第一类中心的特征向量具有一度关系的特征向量;其中,所述具有一度关系的特征向量为与所述第一类中心的特征向量距离最近、且不属于所述第一类中心的特征向量所在类的特征向量;确定所述具有一度关系的特征向量和所述待测试日志的特征向量的特征相似度;若特征相似度大于所述第二阈值且所述具有一度关系的特征向量对应的历史正常日志属于所述第一类参照集,则确定所述待测试日志为正常日志。
若通过计算特征向量10与特征向量1这两者间的特征相似度,计算特征向量10与特征向量2这两者间的特征相似度,发现这两个特征相似度均不大于第二阈值,则进一步确定与训练文本1的特征向量具有一度关系的特征向量,通过计算训练文本1的特征向量1与非特征向量1所在类的其他特征向量之间的距离,同时通过计算训练文本1的特征向量2与非特征向量2所在类的其他特征向量之间的距离,从所计算出诸多距离值中选择距离最近(也即距离值最小)的一个特征向量,设为特征向量3。也即在图4中,与训练文本1的特征向量具有一度关系的特征向量为特征向量3。那么接下来继续计算特征向量10与特征向量3这两者间的特征相似度,通过计算发现其特征相似度大于第二阈值,则基于图4中的逻辑,根据特征向量3可以匹配出训练文本3和训练文本4;虽然训练文本4不属于类A,也即不属于测试文本10所属的文本类型,但训练文本3属于类A,从而确定测试文本10为正常文本,且与测试文本10最相似的文本为训练文本3;若把图4中的测试文本10和全部的训练文本理解成一条条日志,则可以确定测试文本10为一条正常日志,并且在第一参照集中定位出了与其不仅在子URL层面相似、且在参数层面也相似的历史正常日志,此时的训练文本3可以理解为这条与测试文本10高度匹配的历史正常日志。
作为一种可能实现的方法,所述N类参照集是根据历史正常日志中的host进行分类的;所述第一词向量矩阵和所述第一主题矩阵是根据所述第一类参照集中各历史正常日志中的子URL确定的;所述第一互斥矩阵是根据所述第一词向量矩阵中各词向量之间的互斥关系确定的。
根据全量历史正常日志的host的差异,可以划分出多种参照集,也即得到N类参照集;可选的,也可以根据全量历史正常日志的IP的差异、划分出多种参照集,同样可以得到N类参照集;当然也可以根据其他分类因素对全量历史正常日志划分不同种类的参照集,即分类方法可自定义,对此本发明不做限定;本发明实施例中采用对全量历史正常日志的host进行分类的方式得到N类参照集;通过将待测试日志的host与N类参照集的host比对后,确定出待测试日志所属的参照集为第一参照集,通过对第一参照集中的每一条的历史正常日志的子URL的分隔,可以得到关于第一参照集的全部分词,由此可以形成第一词向量矩阵,并基于第一词向量矩阵得到第一主题矩阵;由于第一参照集中的部分分词之间存在的互斥关系,可以得到第一互斥矩阵。
作为一种可能实现的方法,确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度,包括:基于字符串的特征泛化,确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度。
对于背景技术中所示例的up1.com/api1/api2/api3/?p=123&p2=test&p3=3这条Web日志,对其中的参数字段的取值执行基于字符串的特征泛化,如采用一元组的个数统计的方法,对于参数字段“p”的取值“123”来说,其数字个数为3;对于参数字段“p2”的取值“test”来说,其小写字母个数为4;对于参数字段“p3”的取值“3”来说,其数字个数为1;则基于这些参数字段的取值的特征泛化,则可以得到如下的表1:
表1
特征 | 小写 | 大写 | 汉字 | 数字 | 双引号 | 未知符 | 乱码 | 单引号 | … |
123 | 0 | 0 | 0 | 3 | 0 | 0 | 0 | 0 | … |
test | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | … |
3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | … |
同理,对于待测试日志up1.com/api1/api3/?q=4以及第一参照集中除去up1.com/api1/api2/api3/?p=123&p2=test&p3=3这条历史正常日志之外的任一条历史正常日志都可以得到如表1的特征泛化,其中,优选的方案是对第一参照集中的5个类中心做基于字符串的特征泛化;基于字符串的特征泛化,计算所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度。
基于同样的构思,本发明实施例提供一种日志分析的装置,如图5所示,该装置包括:
类别确定单元501,用于确定待测试日志属于N类参照集中的第一类参照集;所述N类参照集是对历史正常日志进行划分得到的;
距离确定单元502,用于根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离;所述第一主题矩阵是根据所述第一类参照集中的多个历史正常日志确定的;
所述距离确定单元502,还用于根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离;所述第一词向量矩阵和所述第一互斥矩阵均是根据所述第一类参照集中的多个历史正常日志确定的;
相似度确定单元503,用于根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度;
判断单元504,用于在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志。
进一步地,对于所述装置,所述第一主题矩阵包括作为类中心的M个主题向量,其中,M个类中心的主题向量是对所述第一主题矩阵聚类后得到的;所述距离确定单元502,具体用于根据所述第一主题矩阵,确定所述待测试日志的第一主题向量;针对M个类中心中的任一类中心,确定所述第一主题向量与所述类中心的主题向量之间的第一主题距离;所述距离确定单元502,具体用于根据所述第一词向量矩阵,确定所述待测试日志的第一词向量;针对M个类中心中的任一类中心,根据所述第一互斥矩阵,确定所述第一词向量与所述类中心的词向量之间的第一词距离;所述相似度确定单元503,具体用于针对同一类中心,根据所述待测试日志与所述类中心的主题向量之间的第一主题距离、所述待测试日志与所述类中心的词向量之间的第一词距离,确定所述待测试日志与所述第一类参照集的类中心的互斥相似度。
进一步地,对于所述装置,所述距离确定单元502,具体用于确定所述第一词向量和所述类中心的词向量构建的词集二分图;所述词集二分图中包括节点和边,其中,所述第一词向量和所述类中心的词向量中的每个词对应一个节点;根据所述第一互斥矩阵,若所述第一词向量和所述类中心的词向量中的各词之间存在互斥关系,则在存在互斥关系的词之间建立一条边;若所述第一词向量和所述类中心的词向量中的各词包括同一词,则在同一词之间建立一条边;在所述词集二分图中确定包含所述第一词向量和所述类中心的词向量中各词的最小覆盖路径;根据所述最小覆盖路径,确定所述第一词向量和所述类中心的词向量中置零的词;根据置零处理后的所述第一词向量和所述类中心的词向量,确定所述第一词向量和所述类中心的词向量之间的第一词距离。
进一步地,对于所述装置,所述判断单元504,具体用于确定所述待测试日志与所述第一类参照集的任一类中心的互斥相似度均不大于所述第一阈值时,确定所述待测试日志为异常日志。
进一步地,对于所述装置,所述判断单元504,还用于若所述待测试日志与所述第一类参照集的第一类中心的互斥相似度大于所述第一阈值,则确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度;其中,特征向量是根据日志中的参数部分确定的;若特征相似度大于第二阈值,则确定所述待测试日志为正常日志。
进一步地,对于所述装置,所述判断单元504,还用于若所述特征相似度不大于所述第二阈值,则确定与所述第一类中心的特征向量具有一度关系的特征向量;其中,所述具有一度关系的特征向量为与所述第一类中心的特征向量距离最近、且不属于所述第一类中心的特征向量所在类的特征向量;确定所述具有一度关系的特征向量和所述待测试日志的特征向量的特征相似度;若特征相似度大于所述第二阈值且所述具有一度关系的特征向量对应的历史正常日志属于所述第一类参照集,则确定所述待测试日志为正常日志。
进一步地,对于所述装置,所述N类参照集是根据历史正常日志中的host进行分类的;所述第一词向量矩阵和所述第一主题矩阵是根据所述第一类参照集中各历史正常日志中的子URL确定的;所述第一互斥矩阵是根据所述第一词向量矩阵中各词向量之间的互斥关系确定的。
进一步地,对于所述装置,所述判断单元504,具体用于基于字符串的特征泛化,确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度。
本发明实施例提供了一种计算设备,该计算设备具体可以为桌面计算机、便携式计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等。该计算设备可以包括中央处理器(Center Processing Unit,CPU)、存储器、输入/输出设备等,输入设备可以包括键盘、鼠标、触摸屏等,输出设备可以包括显示设备,如液晶显示器(Liquid Crystal Display,LCD)、阴极射线管(Cathode Ray Tube,CRT)等。
存储器,可以包括只读存储器(ROM)和随机存取存储器(RAM),并向处理器提供存储器中存储的程序指令和数据。在本发明实施例中,存储器可以用于执行日志分析方法的程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行日志分析方法。
本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行日志分析方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种日志分析方法,其特征在于,包括:
确定待测试日志属于N类参照集中的第一类参照集;所述N类参照集是对历史正常日志进行划分得到的;
根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离;所述第一主题矩阵是根据所述第一类参照集中的多个历史正常日志确定的;
根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离;所述第一词向量矩阵和所述第一互斥矩阵均是根据所述第一类参照集中的多个历史正常日志确定的;
根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度;
在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志。
2.如权利要求1所述的方法,其特征在于,
所述第一主题矩阵包括作为类中心的M个主题向量,其中,M个类中心的主题向量是对所述第一主题矩阵聚类后得到的;
根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离,包括:
根据所述第一主题矩阵,确定所述待测试日志的第一主题向量;
针对M个类中心中的任一类中心,确定所述第一主题向量与所述类中心的主题向量之间的第一主题距离;
根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离,包括:
根据所述第一词向量矩阵,确定所述待测试日志的第一词向量;
针对M个类中心中的任一类中心,根据所述第一互斥矩阵,确定所述第一词向量与所述类中心的词向量之间的第一词距离;
根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度,包括:
针对同一类中心,根据所述待测试日志与所述类中心的主题向量之间的第一主题距离、所述待测试日志与所述类中心的词向量之间的第一词距离,确定所述待测试日志与所述第一类参照集的类中心的互斥相似度。
3.如权利要求2所述的方法,其特征在于,
确定所述第一词向量与所述类中心的词向量之间的第一词距离,包括:
确定所述第一词向量和所述类中心的词向量构建的词集二分图;所述词集二分图中包括节点和边,其中,所述第一词向量和所述类中心的词向量中的每个词对应一个节点;根据所述第一互斥矩阵,若所述第一词向量和所述类中心的词向量中的各词之间存在互斥关系,则在存在互斥关系的词之间建立一条边;若所述第一词向量和所述类中心的词向量中的各词包括同一词,则在同一词之间建立一条边;
在所述词集二分图中确定包含所述第一词向量和所述类中心的词向量中各词的最小覆盖路径;
根据所述最小覆盖路径,确定所述第一词向量和所述类中心的词向量中置零的词;
根据置零处理后的所述第一词向量和所述类中心的词向量,确定所述第一词向量和所述类中心的词向量之间的第一词距离。
4.如权利要求2所述的方法,其特征在于,
在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志,包括:
确定所述待测试日志与所述第一类参照集的任一类中心的互斥相似度均不大于所述第一阈值时,确定所述待测试日志为异常日志。
5.如权利要求2至4任一项所述的方法,其特征在于,还包括:
若所述待测试日志与所述第一类参照集的第一类中心的互斥相似度大于所述第一阈值,则确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度;其中,特征向量是根据日志中的参数部分确定的;
若特征相似度大于第二阈值,则确定所述待测试日志为正常日志。
6.如权利要求5所述的方法,其特征在于,还包括:
若所述特征相似度不大于所述第二阈值,则确定与所述第一类中心的特征向量具有一度关系的特征向量;其中,所述具有一度关系的特征向量为与所述第一类中心的特征向量距离最近、且不属于所述第一类中心的特征向量所在类的特征向量;
确定所述具有一度关系的特征向量和所述待测试日志的特征向量的特征相似度;
若特征相似度大于所述第二阈值且所述具有一度关系的特征向量对应的历史正常日志属于所述第一类参照集,则确定所述待测试日志为正常日志。
7.如权利要求5所述的方法,其特征在于,包括:
所述N类参照集是根据历史正常日志中的host进行分类的;
所述第一词向量矩阵和所述第一主题矩阵是根据所述第一类参照集中各历史正常日志中的子URL确定的;
所述第一互斥矩阵是根据所述第一词向量矩阵中各词向量之间的互斥关系确定的。
8.如权利要求5所述的方法,其特征在于,确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度,包括:
基于字符串的特征泛化,确定所述第一类中心的特征向量和所述待测试日志的特征向量的特征相似度。
9.一种日志分析的装置,其特征在于,包括:
类别确定单元,用于确定待测试日志属于N类参照集中的第一类参照集;所述N类参照集是对历史正常日志进行划分得到的;
距离确定单元,用于根据所述第一类参照集的第一主题矩阵,确定所述待测试日志与所述第一类参照集的第一主题距离;所述第一主题矩阵是根据所述第一类参照集中的多个历史正常日志确定的;
所述距离确定单元,还用于根据所述第一类参照集的第一词向量矩阵和所述第一类参照集的第一互斥矩阵,确定所述待测试日志与所述第一类参照集的第一词距离;所述第一词向量矩阵和所述第一互斥矩阵均是根据所述第一类参照集中的多个历史正常日志确定的;
相似度确定单元,用于根据所述第一主题距离和所述第一词距离,确定所述待测试日志与所述第一类参照集的互斥相似度;
判断单元,用于在所述互斥相似度不大于第一阈值时,确定所述待测试日志为异常日志。
10.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010035917.0A CN111274125B (zh) | 2020-01-14 | 2020-01-14 | 一种日志分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010035917.0A CN111274125B (zh) | 2020-01-14 | 2020-01-14 | 一种日志分析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111274125A CN111274125A (zh) | 2020-06-12 |
CN111274125B true CN111274125B (zh) | 2023-04-18 |
Family
ID=71001844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010035917.0A Active CN111274125B (zh) | 2020-01-14 | 2020-01-14 | 一种日志分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111274125B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087448B (zh) * | 2020-09-08 | 2023-04-14 | 南方电网科学研究院有限责任公司 | 安全日志提取方法、装置和计算机设备 |
CN112445912B (zh) * | 2020-11-06 | 2022-06-07 | 苏州浪潮智能科技有限公司 | 一种故障日志分类方法、系统、设备以及介质 |
CN113392084A (zh) * | 2021-07-13 | 2021-09-14 | 华青融天(北京)软件股份有限公司 | 一种日志数据处理方法、装置、设备及介质 |
CN114707911B (zh) * | 2022-05-25 | 2023-05-12 | 深圳赛盒科技有限公司 | 一种结合云计算的跨境电商信息风险分析方法及服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183912A (zh) * | 2015-10-12 | 2015-12-23 | 北京百度网讯科技有限公司 | 异常日志确定方法和装置 |
CN107479994A (zh) * | 2016-06-07 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种基于分布式软件系统的日志文件处理方法、装置 |
CN110347547A (zh) * | 2019-05-27 | 2019-10-18 | 中国平安人寿保险股份有限公司 | 基于深度学习的日志异常检测方法、装置、终端及介质 |
CN110633371A (zh) * | 2019-09-23 | 2019-12-31 | 北京安信天行科技有限公司 | 一种日志分类方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8495429B2 (en) * | 2010-05-25 | 2013-07-23 | Microsoft Corporation | Log message anomaly detection |
US9678822B2 (en) * | 2015-01-02 | 2017-06-13 | Tata Consultancy Services Limited | Real-time categorization of log events |
-
2020
- 2020-01-14 CN CN202010035917.0A patent/CN111274125B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183912A (zh) * | 2015-10-12 | 2015-12-23 | 北京百度网讯科技有限公司 | 异常日志确定方法和装置 |
CN107479994A (zh) * | 2016-06-07 | 2017-12-15 | 阿里巴巴集团控股有限公司 | 一种基于分布式软件系统的日志文件处理方法、装置 |
CN110347547A (zh) * | 2019-05-27 | 2019-10-18 | 中国平安人寿保险股份有限公司 | 基于深度学习的日志异常检测方法、装置、终端及介质 |
CN110633371A (zh) * | 2019-09-23 | 2019-12-31 | 北京安信天行科技有限公司 | 一种日志分类方法及系统 |
Non-Patent Citations (1)
Title |
---|
张亮 等.基于日志数据分析算法的异常检测研究.微型电脑应用.2016,第32卷(第3期),第42-44页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111274125A (zh) | 2020-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111274125B (zh) | 一种日志分析方法及装置 | |
Choi et al. | Emerging topic detection in twitter stream based on high utility pattern mining | |
US11546433B2 (en) | Apparatus, method and article to facilitate automatic detection and removal of fraudulent user information in a network environment | |
Yaohui et al. | Adaptive density peak clustering based on K-nearest neighbors with aggregating strategy | |
US10423648B2 (en) | Method, system, and computer readable medium for interest tag recommendation | |
WO2019218514A1 (zh) | 网页目标信息的提取方法、装置及存储介质 | |
Pereira et al. | Using web information for author name disambiguation | |
CN101694668B (zh) | 网页结构相似性确定方法及装置 | |
US20130031061A1 (en) | Fraud analysis in a contact database | |
CN106599155A (zh) | 一种网页分类方法及系统 | |
CN106202518A (zh) | 基于chi和分类别关联规则算法的短文本分类方法 | |
US11017002B2 (en) | Description matching for application program interface mashup generation | |
CN109165529B (zh) | 一种暗链篡改检测方法、装置和计算机可读存储介质 | |
US10812500B2 (en) | Method of cyberthreat detection by learning first-order rules on large-scale social media | |
WO2017096777A1 (zh) | 文献归一方法、文献搜索方法及对应装置、设备和存储介质 | |
JP6987209B2 (ja) | ディープラーニングに基づく文書類似度測定モデルを利用した重複文書探知方法およびシステム | |
US11288266B2 (en) | Candidate projection enumeration based query response generation | |
CN108763961B (zh) | 一种基于大数据的隐私数据分级方法和装置 | |
CN111177719A (zh) | 地址类别判定方法、装置、计算机可读存储介质及设备 | |
Wu et al. | Bootstrap variability studies in ROC analysis on large datasets | |
CN106294689B (zh) | 一种基于文本类特征选择进行降维的方法和装置 | |
Azizov et al. | Frank at CheckThat!-2023: Detecting the Political Bias of News Articles and News Media. | |
CN109948040A (zh) | 对象信息的存储、推荐方法及系统、设备和存储介质 | |
Deitrick et al. | Enhancing sentiment analysis on twitter using community detection | |
Velloso et al. | Extracting records from the web using a signal processing approach |
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 |