CN106446076B - 基于层次聚类的日志审计方法 - Google Patents

基于层次聚类的日志审计方法 Download PDF

Info

Publication number
CN106446076B
CN106446076B CN201610808905.0A CN201610808905A CN106446076B CN 106446076 B CN106446076 B CN 106446076B CN 201610808905 A CN201610808905 A CN 201610808905A CN 106446076 B CN106446076 B CN 106446076B
Authority
CN
China
Prior art keywords
log
vector
cluster
keyword
item
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
CN201610808905.0A
Other languages
English (en)
Other versions
CN106446076A (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 Tech University
Original Assignee
Nanjing Tech University
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 Tech University filed Critical Nanjing Tech University
Priority to CN201610808905.0A priority Critical patent/CN106446076B/zh
Publication of CN106446076A publication Critical patent/CN106446076A/zh
Application granted granted Critical
Publication of CN106446076B publication Critical patent/CN106446076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于层次聚类的日志审计方法。系统读入日志信息;根据所读入的日志信息,分析出其中关键字;根据所得的关键字将日志信息进行词向量转化;系统对所得的词向量进行聚类分析,并展示分析所得的小块异常信息。本发明避免了人工审计日志的繁重,并能够实现自动对异常日志信息的过滤,增强了用户体验效果。

Description

基于层次聚类的日志审计方法
技术领域
本发明涉及网络安全领域,具体地说是一种基于层次聚类的日志审计方法。
背景技术
随着信息化的发展,网络安全问题愈发凸显,日志作为一种的安全记录手段,仍然可以在在当下的安全需求中发挥重要的作用。但在海量日志信息的面前,传统的日志审计手段显得捉襟见肘,以入侵检测检测为例,根据Julisch的调查,早在网络还未膨胀的2000年,系统一般每分钟至少触发3个警报日志,现在日志早已属于大数据的范畴。海量的数据将给决策分析带来极大困难,而且手工分析不仅耗费精力而且容易出错。时下,运用数据挖掘中的聚类方法对网络数据进行挖掘已成为主流。
目前存在大量的聚类算法(Xuan Jifeng,Jiang He,Ren Zhiwei,etal.Automatic Bug Triage Using Semi-supervised Text Classification[C]//Proceedings of the 22nd International Conference onSoftware Engineering&Knowledge Engineering.Washington D.C.,USA:IEEE Press,2010:209-214.和Strate JD,Laplante P A.A Literature Review of Research in Software Defect Reporting[J].IEEE Transactions on Reliability,2013,62(2):444-454.),它们各有特点,在农学,医学,经济学等方面取得了巨大的成功,层次聚类(Murtagh F,ContrerasP.Algorithms for hierarchical clustering:an overview[J].WileyInterdisciplinary Reviews Data Mining&Knowledge Discovery,2012,2(1):86-97.)作为常见的聚类算法中的一种,已经成为构建分类方案的主导方法,它可分为凝聚层次聚类和分裂层次聚类。虽然已经有很多成熟的层次聚类算法,但将其运用到日志审计的算法少之又少,一方面因为聚类方法本身的存在局限性,基于划分聚类算法如k-means只能处理数值型数据,且抗干扰能力差;基于密度的聚类算法需要确定相应的阀值;基于网格的聚类算法难点在于选择合适的单元大小和数目,对每个单元中对象的信息进行汇总和量化尺度的确定;基于模型的聚类算法不适于聚类大型数据库的数据。另一方面由于日志内容的单一性,格式的多样性和应用的针对性,虽然有如Apriori(朱金清,王建新,陈志泊.基于APRIORI的层次化聚类算法及其在IDS日志分析中的应用[C]//第二十四届中国数据库学术会议论文集(研究报告篇).2007.)、项目树(王晓东,许占文.高效关联规则数据挖掘算法研究[J].沈阳工业大学学报,2004,24(4):329-333.)之类的关联算法算法来发掘日志中的关联规则,但仅仅挖掘日志间的关联性仍然无法对海量的日志进行过滤,找出异常部分,不足以充分展现海量日志中的信息。
传统日志审计要求必须是规范化的日志结构,无法处理非结构化的数据。普通聚类算法,只是简单日志分为几个类别,无法有效筛选极少的异常信息。
发明内容
为了解决已有日志审计方法无法有效审计海量的日志的问题,发现日志中的异常数据,本发明提出了一种基于层次聚类的日志审计方法。本方法特别适用于日志中存在大量普通信息和极少数异常信息的情况。
实现本发明目的的技术解决方案为:一种基于层次聚类的日志审计方法的工作方法,包括以下步骤:
步骤1:查找每条日志的关键字;
步骤2:根据关键字构造词袋,构造集合包含所有关键字;
步骤3:构造词向量空间,将每条日志用向量方法表示;
步骤4:采用最近邻链方法对日志进行聚类;
步骤5:去除元素最多的类。
本发明与现有技术相比,其显著优点为:能够展示分析所得的小块异常信息,避免了人工审计日志的繁重,并能够实现自动对异常日志信息的过滤,增强了用户体验效果。
说明书附图
图1是日志审计流程图。
图2是日志格式列举。
图3是聚类过程。
图4是本发明的算法与K-means算法对比。
具体实施方式
本发明旨在运用层次聚类的方法进行日志审计,为日志进行聚类,发掘出异常日志信息。
下面结合附图和实施例对本发明作进一步的说明:
日志审计流程如图1所示。
在已经获的原始日志文件的情况下,需要对日志进行预处理,本发明基于一种tf-idf权的方法来进行日志的预处理。以web日志为例,一条普通的web日志如图2所示。
不难发现该条日志为半结构化数据,其中存在分类类型、时间和字符串,对于时间和分类类型可以单独提取为特定的属性项.对于可变描述则需要用tf-idf权重选出每条日志的关键字。公式如下:
tf-idf(t,d,D)=tf(t,d)*idf(t,D) (3)
通过tf-idf权重处理后的日志,可以找出权重最大的n个作为关键字将它与已有确定属性相结合,其中D为一部分日志的可变项的分词结果集合,最终每条日志记录转化为一条具有相同K个属性数目的元组。
典型的聚类算法分为五步:
(1)模式表示(特征选择/提取)
(2)模式相似度定义和计算
(2)聚类或分组
(3)数据抽象(可选)
(4)输出评估(可选)
图3描述了通常上述步骤的前三项,并通过循环反馈机制来优化算法。通常聚类算法需要运行多次,来确保聚类结果的准确性。对于原始日志数据需要不断调整参数,以确保聚类结果的最优化。对于已分组的情况,本发明仍然可以对聚类所得的子集进行再次聚类。
对于一组数据,本发明需要测量每个元素之间的相似度,以此来来判断他们所属的类别。距离、相似度、相异度,他们在某种程度上表示的是同一种概念。
对于向量点i,j,k,它们之间任意一对向量间的距离满足对称性,即d(i,j)=d(j,i);正定性,d(i,j)>0;三角不等式,d(i,j)≤d(i,k)+d(k,j),若排除三角不等式,可以用相异度来替代。相似度定义如下:
s(i,j)=maxi,j{d(j,k)}-d(i,j)。
在向量空间中,通常用Minkowski距离来计算向量间的距离,定义如下:
Z+为正整数聚合
曼哈顿距离,欧式距离,切比雪夫距离为Minkowski距离的特殊情况,它们分别对应p=1,p=2,p→∞的情况。
对于相似度,本发明引入余弦似度的概念,它用两个向量点之间的夹角表示它们之间的相似度,它被广泛应用于文本检索,夹角越小说明该向量或文本间的相似度越小。余弦相似度定义如下:
通过预处理,获得每条日志的关键词合集。处理后的一条日志元组形式如下li=<si,1,si,2,…,si,m,ti,1,ti,2,…,ti,n>,其中si,j(i>0,j>0)为日志的确定中的属性,如id、time等,ti,j(i>0,j>0)为日志中的可变属性,如url。经过tf-idf权重运算所提取出的其中权重最大的n个关键词,关键词的数目n由用户来指定,理论上关键词的数目越多越好,理想情况可以将整条日志完全覆盖,但这样会造成数据维数迅速增长,根据实际情况需要,在关键词数目和覆盖率之间做出权衡。对于极端情况,若n=0,则表明该日志已经是结构化数据,只需进行一般的数据规范化,标准化处理。
接下来目标为计算日志间的相似度,对于已确定的属性,可以通过属性的规范化和标准化,将其转化为向量。对于id等用来标志唯一性的属性,本发明可以忽略。
对于任意两条日志元组li,lj,计算它们之间的相似度,分为两步,第一步为计算可以已确定属性间的相似度,第二步为计算可变属性间的相似度,第三步,合并确定属性的相似度和可变属性的相似度。对于任意两个可变属性。
Ti=<ti,1,ti,2,…,ti,n>和Tj=<tj,1,tj,2,…,tj,n>相似度计算过程如下:
(1)构造集合T=Ti∪Tj
(2)词向量Vi={tf(ti,j,Ti)|ti,j∈T,j=1,2,…,n}
(3)计算距离(相似度,相异度)
本发明聚类的目标为过滤掉大量的普通数据,获得异常数据,所以本发明构造一种最近邻链的层次聚类算法。
首先,将每个数据点都划分为一个簇,一条最近邻链由一个随机簇开始,遍历数据集,将它的最近的邻接簇加入最近邻链,在最近邻链中,当前簇是它前一个簇的最近邻,如此往复,最终将有一些簇对互为最近邻,这时便可以将它合并。
每当找到一条最近邻链时,本发明的算法便可以将它中的簇合并,这种过程是不可逆的。与一般的聚类方法一样,也就是在无需反转时,两个簇可被认为是属于同一簇。s的标准值(如:相异度)较高,q,r凝聚后合并为一簇后与s间的距离小于s到它们间距离之和,即这种情况下,无需反转。相反若则需要反转。回到最近邻接链上,如果需要反转,则必须把邻接链上最后两个簇合并为一簇,因为它们是除了整条最近邻链中距离最近的两个簇。
算法描述如下:
(1)初始化簇:将每个簇划分为一点
(2)构建栈S,初始为空,用于存放当前激活点
(3)当集合中多余指定数目则循环执行以下步骤:
(4)若S为空,随机选择一个激活点,加入S
(5)取S栈顶元素C。计算C与其它簇的距离,得到元素D为C的最近簇
(6)若D已经在S中,D必然是C在栈中的上一个元素,将CD出栈合并
(7)否则将D加入S
每次循环迭代,都要搜索一个簇的最近邻,操作为将一个簇加入栈中或同时从栈中取出两个簇进行合并,每个簇只会入栈两次,因为每当它再次出栈时,它就会失效或被合并。总共会有2n-2个簇入栈:n个原始簇,n-2个合并簇。因此算法执行2n-2次入栈操作,1次出栈操作,每次计算n-1个簇间距离来查找最近邻。计算簇间距离的总次数少于3n2,所以它的总的时间复杂度为O(n2)。该算法需要的一个集合来存放激活点和一个栈来存放激活点的子集,所以所需的空间复杂度是O(n)。
该算法的正确性证明,依赖于它的距离函数的一个属性——可约性开始,可规约性被用于最近邻对,而不是最近邻链。对于距离函数d,对于任意三个簇A,B,C,若d(A∪B,C)≥min(d(A,C),d(B,C)),则称d是可约的。若距离函数可约,若簇C或簇D其中一个是E的最近邻,合并簇C和簇D只会引起E的最近邻的改变。首先,很容易证明,对于算法中的栈,在任意时刻,都维护了一条从栈底元素开始的最近邻链。而在步骤,提到若D在栈中,则D必然是C的上一个元素,对于一条最近邻链:A→B→C→D,如果D的最近邻已经在最近邻链中,则D的最近邻一定是C而不是链中的其他元素。可以通过反证法来证明:对于D的最近邻E,如果E在最近邻链中且E不是C,则E和D之间存在最近邻链E→X→…→C→D→E;所以,由最近邻的定义,有d(D,E)<…<d(C,E)<d(E,X),即D和E的距离小于E和X之间的距离;但由于X是E的最近邻,则对于其他任意的类簇x,都有d(X,x)>d(X,E);这和d(D,E)<d(E,X)矛盾。所以,任意时刻对于最近邻链末端的元素C,如果C的最近邻D已经在当前的最近邻链中,则D一定是C的上一个元素。
其次证明最近邻算法和贪婪法层次聚类会产生一样的结果(尽管类簇合并的顺序不同)。可以证明,对于任意类簇C和D,如果C和D在最近邻链中算法中被合并,则C和D在贪婪发层次聚类中也会被合并:根据最近邻链表及可约性的的定义,在任意时刻,d(C,D)<d(C,X)or d(D,X),其中X是其它簇。所以,在贪婪法中,若去除簇C与其他簇进行合并,另一个被合并的簇必然是D,而非其他簇X;对D来说亦然。所以,尽管合并顺序不同,但最近邻链中算法保证了其产生的结果和贪婪法是相同的
通过该算法进行聚类的,结果会呈现几个大块和数个零碎的小块,通常意义下,大块的数据为需要过滤的普通日志,小块的数据是需要关注的异常数据。
将本算法与K-means的对比如图4所示,可以发现随着日志规模的增长,本发明所提出的算法能够将普通日志迅速聚为一类。从而过滤大量的普通日志。

Claims (1)

1.一种基于层次聚类的日志审计方法的工作方法,其特征在于包括以下步骤:
步骤1:查找每条日志的关键字;
步骤2:根据关键字构造词袋,构造集合包含所有关键字;
步骤3:构造词向量空间,将每条日志用向量方法表示;
针对半结构化的日志数据进行向量表示,半结构化日志存在固定属性项与可变描述项,日志向量的构造步骤如下:
(1)选取关键字;
(2)选取一定数量日志的可变描述项的集合V;
(3)采用tf-idf方法选取V的n个关键字的有序集合D,tf-idf为一种关键字选取方法;
(4)构造日志向量:
(5)选取一条日志的可变描述项,构建可变项的向量;
T=<t1,t2,…,tn>,对可变描述项进行分词,得到分词结果;
W=<w1,w2,…,wm>,建立若wi=Dj,则记tj为1,否则tj为0;
(6)提取当前日志的固定属性项<s1,s2,…,sm>,将其与可变项向量结合得到日志的向量表示如下:L=<s1,s2,…,sm,t1,t2,…,tn>;
步骤4:采用最近邻链方法对日志进行聚类;
(1)初始化簇:将每个簇划分为一点;
(2)构建栈S,初始为空,用于存放当前激活点;
(3)当集合中多余指定数目则循环执行以下步骤:
(4)若S为空,随机选择一个激活点,加入S;
(5)取S栈顶元素C;计算C与其它簇的距离,得到元素D为C的最近簇;
(6)若D已经在S中,D必然是C在栈中的上一个元素,将CD出栈合并;
否则将D加入S;
步骤5:去除元素最多的类。
CN201610808905.0A 2016-09-07 2016-09-07 基于层次聚类的日志审计方法 Active CN106446076B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610808905.0A CN106446076B (zh) 2016-09-07 2016-09-07 基于层次聚类的日志审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610808905.0A CN106446076B (zh) 2016-09-07 2016-09-07 基于层次聚类的日志审计方法

Publications (2)

Publication Number Publication Date
CN106446076A CN106446076A (zh) 2017-02-22
CN106446076B true CN106446076B (zh) 2019-10-18

Family

ID=58164372

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610808905.0A Active CN106446076B (zh) 2016-09-07 2016-09-07 基于层次聚类的日志审计方法

Country Status (1)

Country Link
CN (1) CN106446076B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107368516B (zh) * 2017-05-25 2022-08-09 全球能源互联网研究院 一种基于层次聚类的日志审计方法及装置
CN109670304B (zh) * 2017-10-13 2020-12-22 北京安天网络安全技术有限公司 恶意代码家族属性的识别方法、装置及电子设备
CN109905269B (zh) * 2018-01-17 2020-11-17 华为技术有限公司 确定网络故障的方法和装置
CN109726272A (zh) * 2018-12-20 2019-05-07 杭州数梦工场科技有限公司 审计规则推荐方法及装置
CN109981625B (zh) * 2019-03-18 2021-08-27 中国人民解放军陆军炮兵防空兵学院郑州校区 一种基于在线层次聚类的日志模板抽取方法
CN110262949A (zh) * 2019-04-29 2019-09-20 北京邮电大学 智能设备日志处理系统及方法
CN110532302B (zh) * 2019-08-30 2024-01-19 广西电网有限责任公司南宁供电局 审计方法、系统和可读存储介质
CN110806961A (zh) * 2019-11-05 2020-02-18 上海七牛信息技术有限公司 一种智能预警方法及系统、推荐系统
CN113518058B (zh) * 2020-04-09 2022-12-13 中国移动通信集团海南有限公司 异常登录行为检测方法、装置、存储介质和计算机设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095281B (zh) * 2014-05-13 2018-12-25 南京理工大学 一种基于日志挖掘的网站分类目录优化分析方法
CN105183912B (zh) * 2015-10-12 2019-03-01 北京百度网讯科技有限公司 异常日志确定方法和装置
CN105653427B (zh) * 2016-03-04 2019-02-22 上海交通大学 基于行为异常检测的日志监控方法

Also Published As

Publication number Publication date
CN106446076A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
CN106446076B (zh) 基于层次聚类的日志审计方法
Yadav et al. Algorithm and approaches to handle large Data-A Survey
Jin et al. Efficient decision tree construction on streaming data
Khalilian et al. Data stream clustering: Challenges and issues
Liu et al. Research on anti-money laundering based on core decision tree algorithm
Sun et al. Fast anomaly detection in multiple multi-dimensional data streams
CN107895008B (zh) 基于大数据平台的情报信息热点发现方法
CN107368516B (zh) 一种基于层次聚类的日志审计方法及装置
Zhang et al. TARDIS: Distributed indexing framework for big time series data
Hossain et al. Cyber attack detection model (CADM) based on machine learning approach
Neeb et al. Distributed k-nearest neighbors
Čech et al. Comparing MapReduce-based k-NN similarity joins on Hadoop for high-dimensional data
US20150066947A1 (en) Indexing apparatus and method for search of security monitoring data
Yu Entity resolution with recursive blocking
Lamirel et al. Unsupervised recall and precision measures: a step towards new efficient clustering quality indexes
Lamirel et al. Mining research topics evolving over time using a diachronic multi-source approach
Wang et al. Active community detection in massive graphs
Bo et al. The research of intrusion detection model based on clustering analysis
Guo et al. Outlier detection based on the data structure
Yan et al. Graph indexing
Costa et al. Effectively grouping trajectory streams
Dong et al. Compound record clustering algorithm for design pattern detection by decision tree learning
Yang et al. An automatic discovery framework of cross-source data inconsistency for web big data
Mishra et al. A Survey of approaches for mining large data sets
Wei et al. User Behavior Profile: A key to Database Anomaly Access Detection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Qianmu

Inventor after: Sun Kang

Inventor before: Sun Kang

Inventor before: Li Qianmu

GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20170222

Assignee: NANJING SINOVATIO TECHNOLOGY Co.,Ltd.

Assignor: NANJING University OF SCIENCE AND TECHNOLOGY

Contract record no.: X2022980008506

Denomination of invention: Log audit method based on hierarchical clustering

Granted publication date: 20191018

License type: Common License

Record date: 20220622