CN109981625B - 一种基于在线层次聚类的日志模板抽取方法 - Google Patents

一种基于在线层次聚类的日志模板抽取方法 Download PDF

Info

Publication number
CN109981625B
CN109981625B CN201910201303.2A CN201910201303A CN109981625B CN 109981625 B CN109981625 B CN 109981625B CN 201910201303 A CN201910201303 A CN 201910201303A CN 109981625 B CN109981625 B CN 109981625B
Authority
CN
China
Prior art keywords
log
node
tree
online
cluster
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
CN201910201303.2A
Other languages
English (en)
Other versions
CN109981625A (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.)
People's Liberation Army Army Artillery Air Defense Academy Zhengzhou Campus
Original Assignee
People's Liberation Army Army Artillery Air Defense Academy Zhengzhou Campus
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 People's Liberation Army Army Artillery Air Defense Academy Zhengzhou Campus filed Critical People's Liberation Army Army Artillery Air Defense Academy Zhengzhou Campus
Priority to CN201910201303.2A priority Critical patent/CN109981625B/zh
Publication of CN109981625A publication Critical patent/CN109981625A/zh
Application granted granted Critical
Publication of CN109981625B publication Critical patent/CN109981625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Signal Processing (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于在线层次聚类的日志模板抽取方法,其中,包括:进行日志预处理;对预处理后的日志进行日志在线向量化,利用分布式的词向量表示方法对日志进行在线向量化,在线层次聚类算法对原始日志聚类,生成日志模板;日志在线层次聚类包括:在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点,根节点聚类覆盖了全部的所有数据点,每个叶子节点即对应一条日志向量,任意一个内部节点对应一个类簇,类簇中的元素是以内部节点为祖先节点的所有叶子节点。本发明基于在线层次聚类的日志模板抽取方法不仅适合多源异构日志模板抽取,而且准确度更高,且单步执行时间完全能够满足在线日志分析的需要。

Description

一种基于在线层次聚类的日志模板抽取方法
技术领域
本发明涉及网络安全技术领域,特别涉及一种基于在线层次聚类的日志模板抽取方法。
背景技术
网络环境日益复杂,针对网络应用和系统的攻击不断涌现,且往往是多种攻击手段的组合运用。一旦攻击得手或者网络应用自身出现异常,将给应用的所有者及用户带来不可估量的损失。攻击和错误发现得越早,造成的损失就会越少。因此网络异常检测受到了学术界的广泛重视。
网络、系统和应用程序在运行过程中都会产生各类日志,用于记录网络、系统和应用的状态以及重要事件,因此日志包含极为丰富的网络运行动态信息,可以用于异常检测。由于基于日志的异常检测方法具有攻击问题分析准确、攻击链可重构性等特点,因此日益成为检测网络或系统异常行为的主流方法。但另一方面,日志具有的大数据量、异构性等特点,给分析造成很大的挑战。
日志模板抽取是基于日志的异常检测的重要前提,因此受到学术界的高度重视。AMakanju等人提出的IPLoM日志模板抽取方法是基于日志格式信息对原始日志进行三步分层划分,然后对每个划分提取模板,该方法较之前研究大大提高了日志模板提取的准确率,然而该方法依赖日志格式,并且是离线的,不能满足对日志分析实时性的要求。针对这一问题,最近Du M等人和He P等人分别提出了两种不同的模板在线提取方法。其中,Du M等人提出的Spell方法是基于最长公共子序列匹配的思想在线提取日志模板,解决了日志模板的在线提取问题;He P等人提出的Drain方法是把日志转化为按一定规则构建的固定长度的分析树,进而得到日志模板,进一步提高了在线日志模板提取的准确率和运行时间。然而现有的在线日志模板提取方法并没有分析其对多源日志的适用性,而这一需求在实际应用中是经常存在的。
发明内容
本发明的目的在于提供一种基于在线层次聚类的日志模板抽取方法,用于解决上述现有技术的问题。
本发明一种基于在线层次聚类的日志模板抽取方法,其中,包括:进行日志预处理;对预处理后的日志进行日志在线向量化,利用分布式的词向量表示方法对日志进行在线向量化,在线层次聚类算法对原始日志聚类,生成日志模板;日志在线层次聚类包括:在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点,根节点聚类覆盖了全部的所有数据点,每个叶子节点即对应一条日志向量,任意一个内部节点对应一个类簇,类簇中的元素是以内部节点为祖先节点的所有叶子节点;日志在线层次聚类算法包括:第1步:插入新日志向量,遍历当前聚类树,比较新插入日志向量节点l’与所有已插入的所有日志向量的叶子节点的距离,找到距离最近的日志向量l;有节点被遮蔽后对树的调整,直接插入日志向量节点l’,使得日志向量节点l和日志向量节点l’有共同的父节点;对于直接插入节点对树的调整,调整树的结构,使得日志向量节点l和日志向量节点l’有共同的父节点;第2步:判断是否有节点被遮蔽,判断依据为公式(5):
Figure GDA0003064135120000021
其中,v′为v的兄弟节点,lvs(v′)表示内部节点v′包含的所有日志向量的集合,a为v父节点的兄弟节点,x∈lvs(v);第3步:对聚类树中不平衡的树进行基于平衡二叉树的旋转;进行日志在线模板抽取。
本发明通过对原始日志预处理后进行在线向量化,然后提出一种基于在线层次聚类的日志模板抽取(Online Hierarchical Clustering for Log Templates Extraction,LogOHC)方法,该方法不仅适合多源异构日志模板抽取,而且准确度更高,且单步执行时间完全能够满足在线日志分析的需要。
附图说明
图1所示为LogOHC方法的流程图;
图2所示为CBOW+负采样的训练和优化过程示意图;
图3所示为插入新节点步骤示意图;
图4所示为优化后的插入新节点方法流程图;
图5所示为节点被遮蔽的处理方法的过程示意图。
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
图1所示为LogOHC方法的流程图,如图1所示,原始日志结构中包含日志模板和参数值两部分,日志模板的提取过程是对原始日志进行不断规约的过程。本发明基于在线层次聚类的日志模板抽取方法主要包括日志预处理、日志在线向量化、日志在线层次聚类以及日志在线模板提取。
如图1所示,所述日志预处理包括:对原始日志数据集进行数据清洗,用正则表达式匹配去掉时间、IP地址等参数值。然后对日志进行分词和去停用词。
如图1所示,对预处理后的日志进行日志在线向量化,包括:利用分布式的词向量表示(word2vec)方法对日志进行在线向量化,在线层次聚类算法对原始日志聚类,最后生成日志模板。对预处理后的日志采用word2vec分布式词向量表示。其基本思想是通过训练将每个词映射成K维实数向量,例如V(lj)={a1,a2,…aK},通过词之间的距离来判断它们之间的相似度。可以采用CBOW+负采样(negative sampling)的训练模型和优化方法。
图2所示为CBOW+负采样的训练和优化过程示意图,如图2所示,把日志数据集中一段文本w-c,…w-2,w-1,w,w1,w2,…wc记为样本(context(w),w)。CBOW采用一个三层的神经网络:输入层、投影层和输出层,利用词的上下文信息预测当前词。输入层为w的2c个上下文词向量V(context(w)i),投影层Xw是该2c个上下文词向量的累加,输出层采用负采样优化算法,求出使得g(w)最大的词向量。认在确定关于context(w)的一个非空的负样本集合NEG(w)后,给相应日志词汇表中的词确定正样本标签为1,负样本标签为0。在输出层的目标函数中,
Figure GDA0003064135120000041
而word2vec训练得到的是词的向量表示,不能直接得到整条日志的向量表示,本文将日志中词的词向量相加求均值作为整条日志的向量表示V(lj)。
Figure GDA0003064135120000042
其中V(wi)表示模型训练出的每个词的词向量,lj表示第j条日志,|lj|表示第j条日志的长度(词的个数)。
word2vec模型可以方便地从新增日志中学习到新增词的向量表达。具体做法为:判断新增日志中的词是否都在日志词汇表中,若不在,增加新词到日志词汇表,并加载训练好的模型,增量地训练新词。即我们可以加载日志中的新词到现有的模型中,在线得到新词的词向量,而不用全部重新学习。
图3所示为插入新节点步骤示意图,如图3所示,图3中的①表示二叉树中是l无兄弟节点;图3中的②表示二叉树中的l已经有兄弟节点,日志在线层次聚类包括:
层次聚类(Hierarchical Clustering)是通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点,根节点聚类覆盖了全部的所有数据点。LogOHC应用在线层次聚类算法,对具有相似结构的日志进行聚合分组。每个叶子节点即对应一条日志向量,任意一个内部节点对应一个类簇,类簇中的元素是以该内部节点为祖先节点的所有叶子节点。日志在线层次聚类算法包括以下3个基本步骤:
第1步:插入新日志向量,如图3所示,遍历当前聚类树,比较新插入日志向量节点l′与所有叶子节点(已插入的所有日志向量)的距离,找到距离最近的日志向量l。分两种情况:针对图3中的第1种情形,直接插入l′,使得l和l′有共同的父节点;针对图3中的第2种情形,调整树的结构,使得l和l′有共同的父节点。具体做法是:断开l和其父节点的连接,并插入新的内部节点p作为l和l′的父节点。但这样做的缺点是,算法复杂度太高,每插入一个新节点都要遍历一遍整个聚类树。所以引入包围盒的思想,每个包围盒包含一个以某个内部节点为祖先节点的所有叶子节点(日志向量)。插入新日志向量节点l′时,不必比较与每个已插入的所有日志向量的距离,只需比较与内部节点的边界距离即可,这样把算法复杂度成对数倍降低。分别用dmin(l′,v)2和dmax(l′,v)2表示新插入日志向量l′和内部节点v的最小、最大距离的平方,公式(3)、(4)中j表示第j维,vj-、vj+表示内部节点v在第j维度上坐标的最小值和最大值,l′j表示新插入日志向量l′在第j维上坐标的值。以2维为例,图4所示为优化后的插入新节点方法流程图,如图4所示,因dmax(l′,l)<dmin(l′,v),所以l和l′属于同一类簇。
Figure GDA0003064135120000061
Figure GDA0003064135120000062
第2步:判断是否有节点被遮蔽。判断依据为公式(5):
Figure GDA0003064135120000063
其中,v′为v的兄弟节点,lvs(v′)表示内部节点v′包含的所有日志向量的集合,a为v父节点的兄弟节点,x∈lvs(v)。
图5所示为节点被遮蔽的处理方法的过程示意图,如图5所示,如在图3的第一种情形中,若||l′-l||>||a-l||,则节点l被遮蔽。按照插入新日志向量的步骤调整树结构,如图5带虚线部分图所示。
第3步:对聚类树进行基于树平衡的旋转,不管是有节点被遮蔽后对树的调整(图5),还是直接插入节点(图3中的情形②)对树的调整,都使得树的结构发生了变化,调整后树的深度太深,且左子树和右子树的深度差超过1,导致了树不平衡。需进一步对不平衡的树进行基于平衡二叉树的旋转。
日志在线模板抽取包括:对新加入类簇中的日志执行以下操作:
步骤1,判断新加入当前类簇的日志和当前类簇中的已有模板的长度是否相同。若相同,转入步骤2,若不同,转入步骤3;
步骤2,对新加入类簇的日志,和当前类簇中长度相同的模板逐词比较,判断是否为同一词。若相同,模板中的该位置保留该词;若不同,模板中该位置用*代替,转入步骤1;
步骤3,以新加入日志作为当前类簇中的一个新的模板。转入步骤1。
本发明基于在线层次聚类的日志模板抽取方法具有如下优点:
(1)在数据预处理的基础上采用均值word2vec算法对原始日志进行在线向量化,为在线层次聚类提供高质量的数据源;
(2)提出一种基于在线层次聚类的日志模板抽取方法;
(3)对该方法的准确度进行评价,定量分析方法的单步执行时间,证实其有效性,并对参数进行敏感性分析。
本发明通过对原始日志预处理后进行在线向量化,然后提出一种基于在线层次聚类的日志模板抽取(Online Hierarchical Clustering for Log Templates Extraction,LogOHC)方法,该方法不仅适合多源异构日志模板抽取,而且准确度更高,且单步执行时间完全能够满足在线日志分析的需要。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (5)

1.一种基于在线层次聚类的日志模板抽取方法,其特征在于,包括:
进行日志预处理;
对预处理后的日志进行日志在线向量化,利用分布式的词向量表示方法对日志进行在线向量化,在线层次聚类算法对原始日志聚类,生成日志模板;
日志在线层次聚类包括:
在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点,根节点聚类覆盖了全部的所有数据点,每个叶子节点即对应一条日志向量,任意一个内部节点对应一个类簇,类簇中的元素是以内部节点为祖先节点的所有叶子节点;日志在线层次聚类算法包括:
第1步:插入新日志向量,遍历当前聚类树,比较新插入日志向量节点l’与所有已插入的所有日志向量的叶子节点的距离,找到距离最近的日志向量l;有节点被遮蔽后对树的调整,直接插入日志向量节点l’,使得日志向量节点l和日志向量节点l’有共同的父节点;对于直接插入节点对树的调整,调整树的结构,使得日志向量节点l和日志向量节点l’有共同的父节点;
第2步:判断是否有节点被遮蔽,判断依据为公式(5):
Figure FDA0003064135110000011
其中,v′为v的兄弟节点,lvs(v′)表示内部节点v′包含的所有日志向量的集合,a为v父节点的兄弟节点,x∈lvs(v),v为内部节点;
第3步:对聚类树中不平衡的树进行基于平衡二叉树的旋转;
进行日志在线模板抽取。
2.如权利要求1所述的基于在线层次聚类的日志模板抽取方法,其特征在于,所述日志预处理包括:对原始日志数据集进行数据清洗,用正则表达式匹配去掉时间以及IP地址,对日志进行分词和去停用词。
3.如权利要求1所述的基于在线层次聚类的日志模板抽取方法,其特征在于,日志在线模板抽取包括:
步骤a,判断新加入当前类簇的日志和当前类簇中的已有模板的长度是否相同,若相同,转入步骤b,若不同,转入步骤c;
步骤b,对新加入类簇的日志,和当前类簇中长度相同的模板逐词比较,判断是否为同一词,若相同,模板中的该位置保留该词;若不同,模板中该位置用*代替,转入步骤a;
步骤c,以新加入日志作为当前类簇中的一个新的模板,转入步骤a。
4.如权利要求1所述的基于在线层次聚类的日志模板抽取方法,其特征在于,调整树的结构,使得日志向量节点l和日志向量节点l’有共同的父节点包括:通过包围盒的方法,每个包围盒包含一个以某个内部节点为祖先节点的所有叶子节点;插入新日志向量节点l’时,比较与内部节点的边界距离,用dmin(l′,v)2表示新插入日志向量l’与内部节点v最小距离的平方,用于dmax(l′,v)2表示新插入日志向量l’与内部节点v的最大距离的平方,公式(3)、(4)中j表示第j维,vj-、vj+表示内部节点v在第j维度上坐标的最小值和最大值,lj′表示新插入日志向量l′在第j维上坐标的值;
Figure FDA0003064135110000031
Figure FDA0003064135110000032
5.如权利要求1所述的基于在线层次聚类的日志模板抽取方法,其特征在于,对于二叉树中节点l无兄弟节点,直接插入l’,使得l和l’有共同的父节点;对于二叉树中的节点l已经有兄弟节点,调整树的结构,使得l和l’有共同的父节点。
CN201910201303.2A 2019-03-18 2019-03-18 一种基于在线层次聚类的日志模板抽取方法 Active CN109981625B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910201303.2A CN109981625B (zh) 2019-03-18 2019-03-18 一种基于在线层次聚类的日志模板抽取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910201303.2A CN109981625B (zh) 2019-03-18 2019-03-18 一种基于在线层次聚类的日志模板抽取方法

Publications (2)

Publication Number Publication Date
CN109981625A CN109981625A (zh) 2019-07-05
CN109981625B true CN109981625B (zh) 2021-08-27

Family

ID=67079177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910201303.2A Active CN109981625B (zh) 2019-03-18 2019-03-18 一种基于在线层次聚类的日志模板抽取方法

Country Status (1)

Country Link
CN (1) CN109981625B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306787B (zh) * 2019-07-24 2022-08-09 阿里巴巴集团控股有限公司 报错日志处理方法、装置、电子设备和智能音箱
CN111160021A (zh) * 2019-10-12 2020-05-15 华为技术有限公司 日志模板提取方法及装置
CN110879802A (zh) * 2019-10-28 2020-03-13 同济大学 一种日志模式提取及匹配方法
CN110888849B (zh) * 2019-11-06 2022-07-22 国网上海市电力公司 一种在线日志解析方法、系统及其电子终端设备
CN113839852B (zh) * 2020-06-23 2023-03-24 中国科学院计算机网络信息中心 邮件账号异常检测方法、装置及存储介质
CN113590421B (zh) * 2021-07-27 2024-04-26 招商银行股份有限公司 日志模板提取方法、程序产品及存储介质
CN114816909B (zh) * 2022-04-13 2024-03-26 北京计算机技术及应用研究所 一种基于机器学习的实时日志检测预警方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049247A (zh) * 2015-07-06 2015-11-11 中国科学院信息工程研究所 一种网络安全日志模板抽取方法及装置
CN108268449A (zh) * 2018-02-10 2018-07-10 北京工业大学 一种基于词项聚类的文本语义标签抽取方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130183736A1 (en) * 2012-01-18 2013-07-18 C2 Biotechnologies, Llc Process for Designing, Constructing, and Characterizing Fusion Enzymes for Operation in an Industrial Process
CN106446076B (zh) * 2016-09-07 2019-10-18 南京理工大学 基于层次聚类的日志审计方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105049247A (zh) * 2015-07-06 2015-11-11 中国科学院信息工程研究所 一种网络安全日志模板抽取方法及装置
CN108268449A (zh) * 2018-02-10 2018-07-10 北京工业大学 一种基于词项聚类的文本语义标签抽取方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Drain: An Online Log Parsing Approach with Fixed";Pinjia He 等;《2017 IEEE 24th International Conference on Web Services》;20170911;第33-40页 *
"层次聚类算法的原理及实现Hierarchical";蓝鲸 5 Comments;《http://bluewhale.cc/2016-04-19/hierarchical-clustering.html》;20160419;第1-5页 *

Also Published As

Publication number Publication date
CN109981625A (zh) 2019-07-05

Similar Documents

Publication Publication Date Title
CN109981625B (zh) 一种基于在线层次聚类的日志模板抽取方法
WO2016165538A1 (zh) 一种地址数据的管理方法和装置
CN109218223B (zh) 一种基于主动学习的鲁棒性网络流量分类方法及系统
CN110225055B (zh) 一种基于knn半监督学习模型的网络流量异常检测方法与系统
Hariharakrishnan et al. Survey of pre-processing techniques for mining big data
TWI673617B (zh) 使用者背景資訊的收集方法及裝置
CN104239553A (zh) 一种基于Map-Reduce框架的实体识别方法
CN110599200B (zh) Ota酒店的虚假地址的检测方法、系统、介质及设备
CN108304377A (zh) 一种长尾词的提取方法及相关装置
CN115268719B (zh) 一种定位界面上目标元素的方法、介质及电子设备
CN111078979A (zh) 一种基于ocr和文本处理技术识别网贷网站的方法及系统
CN104038792A (zh) 用于iptv监管的视频内容分析方法及设备
CN113609261A (zh) 基于网络信息安全的知识图谱的漏洞信息挖掘方法和装置
CN115270954A (zh) 基于异常节点识别的无监督的apt攻击检测方法和系统
CN112445775B (zh) 一种光刻机的故障分析方法、装置、设备和存储介质
CN109286622B (zh) 一种基于学习规则集的网络入侵检测方法
CN113590421A (zh) 日志模板提取方法、程序产品及存储介质
CN112445976A (zh) 一种基于拥堵指数图谱的城市地址定位方法
CN112286799A (zh) 结合句嵌入和粒子群优化算法的软件缺陷定位方法
CN108197295B (zh) 基于多粒度属性树的属性约简在文本分类中的应用方法
CN111314109A (zh) 一种基于弱密钥的大规模物联网设备固件识别方法
WO2024000822A1 (zh) 文本分类标注样本的异常检测方法、装置、设备及介质
CN110502669A (zh) 基于n边dfs子图的轻量级无监督图表示学习方法及装置
CN114969761A (zh) 一种基于lda主题特征的日志异常检测方法
Sharma et al. Analysis of clustering algorithms in biological networks

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