CN107368516A - 一种基于层次聚类的日志审计方法及装置 - Google Patents
一种基于层次聚类的日志审计方法及装置 Download PDFInfo
- Publication number
- CN107368516A CN107368516A CN201710376507.0A CN201710376507A CN107368516A CN 107368516 A CN107368516 A CN 107368516A CN 201710376507 A CN201710376507 A CN 201710376507A CN 107368516 A CN107368516 A CN 107368516A
- Authority
- CN
- China
- Prior art keywords
- daily record
- msub
- mrow
- vector
- attribute
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling 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个警报日志,现在日志早已属于大数据的范畴。海量的数据将给决策分析带来极大困难,而且手工分析不仅耗费精力而且容易出错。时下,运用数据挖掘中的聚类方法对网络数据进行挖掘已成为主流。
目前存在大量的聚类算法,它们各有特点,在农学,医学,经济学等方面取得了巨大的成功,层次聚类作为常见的聚类算法中的一种,已经成为构建分类方案的主导方法,它可分为凝聚层次聚类和***层次聚类。虽然已经有很多成熟的层次聚类算法,但将其运用到日志审计的算法少之又少,一方面因为聚类方法本身的存在局限性,基于划分聚类算法如k-means只能处理数值型数据,且抗干扰能力差;基于密度的聚类算法需要确定相应的阈值;基于网格的聚类算法难点在于选择合适的单元大小和数目,对每个单元中对象的信息进行汇总和量化尺度的确定;基于模型的聚类算法不适于聚类大型数据库的数据。另一方面由于日志内容的单一性,格式的多样性和应用的针对性,虽然有如关联规则算法之类的关联算法来发掘日志中的关联规则,但仅仅挖掘日志间的关联性仍然无法对海量的日志进行过滤,找出异常日志信息,不足以充分展现海量日志中的信息。
发明内容
本发明提供一种基于层次聚类的日志审计方法及装置,其目的是运用层次聚类的方法进行日志审计,为日志进行聚类,发掘出人们日志中的异常日志信息。
本发明的目的是采用下述技术方案实现的:
一种基于层次聚类的日志审计方法,其改进之处在于,包括:
将日志分为第一部分和第二部分;
分别确定第一部分和第二部分的向量;
采用层次聚类算法,利用日志的第一部分和第二部分的向量对日志进行聚类,获取日志的聚类结果;
其中,所述第一部分包括日志中统一结构表示的属性,所述第二部分包括日志中非统一结构表示的属性。
优选的,所述分别确定第一部分和第二部分的向量,包括:
采用归一化和标准化方式确定第一部分的向量;
利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量。
进一步的,所述采用归一化和标准化方式确定第一部分的向量,包括:
按下式确定归一化输出值:
上式中,xi,j为第i条日志第一部分中的属性j的归一化输出值,x* i,j为第i条日志第一部分中的属性j的属性值,minj为样本日志的第一部分中的属性j的最小属性值,maxj为样本日志的第一部分中的属性j的最大属性值;
按下式确定第一部分的向量:
上式中,si,j为采用标准化方式下的第i条日志第一部分中的属性j的向量,μj为日志第一部分中的属性j的均值,σj为日志第一部分中的属性j的标准差。
进一步的,所述利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量,包括:
采用tf-idf算法获取日志样本数据中日志的关键词权重,保留所述日志中关键词权重前n大的关键词作为该日志对应的关键字,并将样本日志中全部日志对应的关键词合并整理为k类,获取第二部分的向量化模型C=<t1,1,t1,2,···,t1,n,...,tk,1,tk,2,···,tk,n>,其中,tk,n为日志样本数据中第k类日志的第n个关键词;
初始化第i条日志的第二部分的向量Vi=<0,..,0>,其中,|Vi|=k*n,遍历第i条日志的第二部分中的词语t,若t∈C,则在Vi中的index(C,t)位置上加1,直至遍历完第i条日志的第二部分中的全部词语,并输出Vi。
优选的,所述采用层次聚类算法,利用日志的第一部分和第二部分的向量对日志进行聚类,获取日志的聚类结果,包括:
a.令第i条日志元组数据为li,其中,li=<Si,Vi>,Si为第i条日志的第一部分的向量,Vi为第i条日志的第二部分的向量;
b.将每条日志元组数据划分为集合并构建初始为空的栈S,其中,每个集合中只有1条日志元组数据;
c.当所述集合的数目大于指定值时,则循环执行步骤d至步骤e,直至所述集合的数目小于指定值并输出集合;
d.若栈S为空,随机选择一个集合作为激活簇,加入S;
e.取栈S栈顶集合C,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D已经在栈S中,则将集合C与D出栈合并,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D未在栈S中,则将集合D加入栈S。
优选的,所述第一部分包括日志中统一结构表示的属性,所述第二部分包括日志中非统一结构表示的属性。
一种基于层次聚类的日志审计装置,其改进之处在于,所述装置包括:
分类模块,用于将日志分为第一部分和第二部分;
确定模块,用于分别确定第一部分和第二部分的向量;
聚类模块,用于采用层次聚类算法,利用日志的第一部分和第二部分的向量对日志进行聚类,获取日志的聚类结果;
其中,所述第一部分包括日志中统一结构表示的属性,所述第二部分包括日志中非统一结构表示的属性。
优选的,所述确定模块,包括:
第一确定单元,用于采用归一化和标准化方式确定第一部分的向量;
第二确定单元,用于利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量。
进一步的,所述第一确定单元,包括:
按下式确定归一化输出值:
上式中,xi,j为第i条日志第一部分中的属性j的归一化输出值,x* i,j为第i条日志第一部分中的属性j的属性值,minj为样本日志的第一部分中的属性j的最小属性值,maxj为样本日志的第一部分中的属性j的最大属性值;
按下式确定第一部分的向量:
上式中,si,j为采用标准化方式下的第i条日志第一部分中的属性j的向量,μj为日志第一部分中的属性j的均值,σj为日志第一部分中的属性j的标准差。
进一步的,所述第二确定单元,包括:
采用tf-idf算法获取日志样本数据中日志的关键词权重,按权重值从大到小排序,保留所述日志中关键词权重前n个关键词作为该日志对应的关键字,并将样本日志中全部日志对应的关键词合并整理为k类,获取第二部分的向量化模型C=<t1,1,t1,2,···,t1,n,...,tk,1,tk,2,···,tk,n>,其中,tk,n为日志样本数据中第k类日志的第n个关键词;
初始化第i条日志的第二部分的向量Vi=<0,..,0>,其中,|Vi|=k*n,遍历第i条日志的第二部分中的词语t,若t∈C,则在Vi中的index(C,t)位置上加1,直至遍历完第i条日志的第二部分中的全部词语,并输出Vi。
优选的,所述聚类模块,包括:
a.令第i条日志元组数据为li,其中,li=<Si,Vi>,Si为第i条日志的第一部分的向量,Vi为第i条日志的第二部分的向量;
b.将每条日志元组数据划分为集合并构建初始为空的栈S,其中,每个集合中只有1条日志元组数据;
c.当所述集合的数目大于指定值时,则循环执行步骤d至步骤e,直至所述集合的数目小于指定值并输出集合;
d.若栈S为空,随机选择一个集合作为激活簇,加入S;
e.取栈S栈顶集合C,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D已经在栈S中,则将集合C与D出栈合并,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D未在栈S中,则将集合D加入栈S。
本发明的有益效果:
本发明提供的技术方案,将日志分为第一部分和第二部分,并利用归一化和标准化方法确定第一部分向量,利用词频—反转文件频率权的方法确定第二部分向量,对日志进行初始化,有效的将日志信息转化为结构化信息,同时,运用层次聚类的方法对日志进行聚类,克服了聚类方法运用于日志审计的局限性,且抗干扰能力强,能够有效的将各种日志进行归类,从而发掘出日志中的异常日志信息。
附图说明
图1是本发明一种基于层次聚类的日志审计方法的流程图;
图2是本发明实施例中web日志结构示意图;
图3是本发明一种基于层次聚类的日志审计装置结构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作详细说明。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
传统日志审计要求必须是结构化的日志,无法处理非结构化的数据。普通聚类算法,只是简单日志分为几个类别,无法有效筛选极少的异常信息。为了解决已有日志审计方法无法有效审计海量的日志的问题,发现日志中的异常数据,本发明提供的一种基于层次聚类的日志审计方法,如图1所示,包括:
101.将日志分为第一部分和第二部分;
102.分别确定第一部分和第二部分的向量;
103.采用层次聚类算法,利用日志的第一部分和第二部分的向量对日志进行聚类,获取日志的聚类结果。
其中,所述第一部分包括日志中统一结构表示的属性,所述第二部分包括日志中非统一结构表示的属性。
例如,一条普通的web日志如图2所示,不难发现日志分为两部分,第一部分与第二部分。第一部分能够用数字或统一的结构加以表示,如:时间,ip地址,第二部分无法用数字或统一的结构表示,如告警信息、url等文本信息。
进一步的,所述步骤102,包括:
采用归一化和标准化方式确定第一部分的向量;
利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量。
对于第一部分,采用归一化和标准化方法转化为向量,将有量纲的表达式,经过变换,化为无量纲的表达式,成为标量,因此,所述采用归一化和标准化方式确定第一部分的向量,包括:
按下式确定归一化输出值:
上式中,xi,j为第i条日志第一部分中的属性j的归一化输出值,x* i,j为第i条日志第一部分中的属性j的属性值,minj为样本日志的第一部分中的属性j的最小属性值,maxj为样本日志的第一部分中的属性j的最大属性值;
按下式确定第一部分的向量:
上式中,si,j为采用标准化方式下的第i条日志第一部分中的属性j的向量,μj为日志第一部分中的属性j的均值,σj为日志第一部分中的属性j的标准差。
对于大量的第二部分则需要用tf-idf权重先对部分日志的第二部分选出关键字,然后对新日志进行词频向量转化,因此,所述利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量,包括:
采用tf-idf算法获取日志样本数据中日志的关键词权重,保留所述日志中关键词权重前n大的关键词作为该日志对应的关键字,并将样本日志中全部日志对应的关键词合并整理为k类,获取第二部分的向量化模型C=<t1,1,t1,2,···,t1,n,...,tk,1,tk,2,···,tk,n>,其中,tk,n为日志样本数据中第k类日志的第n个关键词;
初始化第i条日志的第二部分的向量Vi=<0,..,0>,其中,|Vi|=k*n,遍历第i条日志的第二部分中的词语t,若t∈C,则在Vi中的index(C,t)位置上加1,直至遍历完第i条日志的第二部分中的全部词语,并Vi。
其中,tf-idf转换公式如下:
其中,D表示总文档集合,d表示总文档集合D中的某篇文档,t表示某一文档中的特定词语,N表示文档集合D中文件的总数,f(t,d)表示在文章d中特定词语t出现的次数,|{d∈D:t∈d}|表示特定词语t在文档D出现的次数,max{f(ω,d):ω∈d}表示文档d中的最大词语数;
关键词的数目n由用户来指定,理论上关键词的数目越多越好,理想情况可以将整条日志完全覆盖,但这样会造成数据维数迅速增长,根据实际情况需要,在关键词数目和覆盖率之间做出权衡。对于极端情况,若n=0,则表明该日志已经是结构化数据,只需进行一般的数据规范化、标准化处理。
获取日志的第一部分和第二部分的向量之后,所述步骤103,包括:
a.令第i条日志元组数据为li,其中,li=<Si,Vi>,Si为第i条日志的第一部分的向量,Vi为第i条日志的第二部分的向量;
b.将每条日志元组数据划分为集合并构建初始为空的栈S,其中,每个集合中只有1条日志元组数据;
c.当所述集合的数目大于指定值时,则循环执行步骤d至步骤e,直至所述集合的数目小于指定值并输出集合;
d.若栈S为空,随机选择一个集合作为激活簇,加入S;
e.取栈S栈顶集合C,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D已经在栈S中,则将集合C与D出栈合并,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D未在栈S中,则将集合D加入栈S。
对于一组日志,本发明需要测量日志元组之间的距离或相似度,以此来来判断他们所属的类别。距离和相似度在某种程度上表示的是同一种概念。对于任意两条日志元组li,lj,计算它们之间的标准值,分为三步,第一步为计算第二部分向量间Si,Sj的标准值st<Si,Sj>,第二步为计算第二部分向量Vi,Vj间的标准值st<Vi,Vj>,第三步,合并第一部分的标准值和第二部分的标准值:st<li,lj>=st<Si,Sj>+st<Vi,Vj>;
其中,在向量空间中,通常用闵式距离来计算向量间的距离,定义如下:
上式中,Z+为正整数集合,n为向量的长度,具体应用时将xi代换为Si或Vi。p=1时,表示曼哈顿距离,p=2时,表示欧几里得距离,p→∞时,表示切比雪夫距离;
对于相似度,本发明引入余弦相似度的概念,它用两个向量点之间的夹角表示它们之间的相似度,它被广泛应用于文本检索,夹角越小说明该向量或文本间的相似度越小。余弦相似度定义如下:
上式中,具体应用时将xi代换为Si或Vi;
聚类的目标为过滤掉大量的普通日志,获得异常,上述过程中,每次循环迭代,都要搜索一个集合的最近邻,操作为将一个集合加入栈中或同时从栈中取出两个集合进行合并,每个集合只会入栈两次,因为每当它再次出栈时,它就会失效或被合并。对于n个原始集合,总共会有集合2n-2个集合入栈,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)或d(D,X),其中X是其它集合。所以,在贪婪法中,若去除集合C与其他集合进行合并,另一个被合并的集合必然是D,而非其他集合X;对D来说亦然。所以,尽管合并顺序不同,但最近邻链中算法保证了其产生的结果和贪婪法是相同的。
通过该算法进行聚类的,结果会呈现几个大块集合和数个零碎的小块集合,通常意义下,大块的数据为本发明需要过滤的普通日志,小块的数据是本发明需要关注的异常日志。
本发明还提供一种基于层次聚类的日志审计装置,如图3所示,所述装置包括:
分类模块,用于将日志分为第一部分和第二部分;
确定模块,用于分别确定第一部分和第二部分的向量;
聚类模块,用于采用层次聚类算法,利用日志的第一部分和第二部分的向量对日志进行聚类,获取日志的聚类结果。
其中,所述分类模块中,所述第一部分包括日志中统一结构表示的属性,所述第二部分包括日志中非统一结构表示的属性。
所述确定模块,包括:
第一确定单元,用于采用归一化和标准化方式确定第一部分的向量;
第二确定单元,用于利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量。
其中,所述第一确定单元,包括:
按下式确定归一化输出值:
上式中,xi,j为第i条日志第一部分中的属性j的归一化输出值,x* i,j为第i条日志第一部分中的属性j的属性值,minj为样本日志的第一部分中的属性j的最小属性值,maxj为样本日志的第一部分中的属性j的最大属性值;
采用标准化方式按下式确定第i条日志第一部分中的属性j的向量si,j:
上式中,si,j为采用标准化方式下的第i条日志第一部分中的属性j的向量,μj为日志第一部分中的属性j的均值,σj为日志第一部分中的属性j的标准差。
所述第二确定单元,包括:
采用tf-idf算法获取日志样本数据中日志的关键词权重,保留所述日志中关键词权重前n大的关键词作为该日志对应的关键字,并将样本日志中全部日志对应的关键词合并整理为k类,获取第二部分的向量化模型C=<t1,1,t1,2,···,t1,n,...,tk,1,tk,2,···,tk,n>,其中,tk,n为日志样本数据中第k类日志的第n个关键词;
初始化第i条日志的第二部分的向量Vi=<0,..,0>,其中,|Vi|=k*n,遍历第i条日志的第二部分中的词语t,若t∈C,则在Vi中的index(C,t)位置上加1,直至遍历完第i条日志的第二部分中的全部词语,并Vi。
所述聚类模块,包括:
a.令第i条日志元组数据为li,其中,li=<Si,Vi>,Si为第i条日志的第一部分的向量,Vi为第i条日志的第二部分的向量;
b.将每条日志元组数据划分为集合并构建初始为空的栈S,其中,每个集合中只有1条日志元组数据;
c.当所述集合的数目大于指定值时,则循环执行步骤d至步骤e,直至所述集合的数目小于指定值并输出集合;
d.若栈S为空,随机选择一个集合作为激活簇,加入S;
e.取栈S栈顶集合C,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D已经在栈S中,则将集合C与D出栈合并,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D未在栈S中,则将集合D加入栈S。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
Claims (10)
1.一种基于层次聚类的日志审计方法,其特征在于,所述方法包括:
将日志分为第一部分和第二部分;
分别确定第一部分和第二部分的向量;
采用层次聚类算法,利用日志的第一部分和第二部分的向量对日志进行聚类,获取日志的聚类结果;
其中,所述第一部分包括日志中统一结构表示的属性,所述第二部分包括日志中非统一结构表示的属性。
2.如权利要求1所述的方法,其特征在于,所述分别确定第一部分和第二部分的向量,包括:
采用归一化和标准化方式确定第一部分的向量;
利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量。
3.如权利要求2所述的方法,其特征在于,所述采用归一化和标准化方式确定第一部分的向量,包括:
按下式确定归一化输出值:
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<msup>
<mi>x</mi>
<mo>*</mo>
</msup>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>min</mi>
<mi>j</mi>
</msub>
</mrow>
<mrow>
<msub>
<mi>max</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<mi>min</mi>
<mi>j</mi>
</msub>
</mrow>
</mfrac>
</mrow>
上式中,xi,j为第i条日志第一部分中的属性j的归一化输出值,x* i,j为第i条日志第一部分中的属性j的属性值,minj为样本日志的第一部分中的属性j的最小属性值,maxj为样本日志的第一部分中的属性j的最大属性值;
按下式确定第一部分的向量:
<mrow>
<msub>
<mi>s</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>&mu;</mi>
<mi>j</mi>
</msub>
</mrow>
<msub>
<mi>&sigma;</mi>
<mi>j</mi>
</msub>
</mfrac>
</mrow>
上式中,si,j为采用标准化方式下的第i条日志第一部分中的属性j的向量,μj为日志第一部分中的属性j的均值,σj为日志第一部分中的属性j的标准差。
4.如权利要求2所述的方法,其特征在于,所述利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量,包括:
采用tf-idf算法获取日志样本数据中日志的关键词权重,按权重值从大到小排序,保留所述日志中关键词权重前n个关键词作为该日志对应的关键字,并将样本日志中全部日志对应的关键词合并整理为k类,获取第二部分的向量化模型C=<t1,1,t1,2,···,t1,n,...,tk,1,tk,2,···,tk,n>,其中,tk,n为日志样本数据中第k类日志的第n个关键词;
初始化第i条日志的第二部分的向量Vi=<0,..,0>,其中,|Vi|=k*n,遍历第i条日志的第二部分中的词语t,若t∈C,则在Vi中的index(C,t)位置上加1,直至遍历完第i条日志的第二部分中的全部词语,并输出Vi。
5.如权利要求1所述的方法,其特征在于,所述采用层次聚类算法,利用日志的第一部分和第二部分的向量对日志进行聚类,获取日志的聚类结果,包括:
a.令第i条日志元组数据为li,其中,li=<Si,Vi>,Si为第i条日志的第一部分的向量,Vi为第i条日志的第二部分的向量;
b.将每条日志元组数据划分为集合并构建初始为空的栈S,其中,每个集合中只有1条日志元组数据;
c.当所述集合的数目大于指定值时,则循环执行步骤d至步骤e,直至所述集合的数目小于指定值并输出集合;
d.若栈S为空,随机选择一个集合作为激活簇,加入S;
e.取栈S栈顶集合C,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D已经在栈S中,则将集合C与D出栈合并,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D未在栈S中,则将集合D加入栈S。
6.一种基于层次聚类的日志审计装置,其特征在于,所述装置包括:
分类模块,用于将日志分为第一部分和第二部分;
确定模块,用于分别确定第一部分和第二部分的向量;
聚类模块,用于采用层次聚类算法,利用日志的第一部分和第二部分的向量对日志进行聚类,获取日志的聚类结果;
其中,所述第一部分包括日志中统一结构表示的属性,所述第二部分包括日志中非统一结构表示的属性。
7.如权利要求6所述的装置,其特征在于,所述确定模块,包括:
第一确定单元,用于采用归一化和标准化方式确定第一部分的向量;
第二确定单元,用于利用日志样本数据确定第二部分的向量化模型,并利用向量化模型确定第二部分的向量。
8.如权利要求7所述的装置,其特征在于,所述第一确定单元,包括:
按下式确定归一化输出值:
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<msup>
<mi>x</mi>
<mo>*</mo>
</msup>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>min</mi>
<mi>j</mi>
</msub>
</mrow>
<mrow>
<msub>
<mi>max</mi>
<mi>j</mi>
</msub>
<mo>-</mo>
<msub>
<mi>min</mi>
<mi>j</mi>
</msub>
</mrow>
</mfrac>
</mrow>
上式中,xi,j为第i条日志第一部分中的属性j的归一化输出值,x* i,j为第i条日志第一部分中的属性j的属性值,minj为样本日志的第一部分中的属性j的最小属性值,maxj为样本日志的第一部分中的属性j的最大属性值;
按下式确定第一部分的向量:
<mrow>
<msub>
<mi>s</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>x</mi>
<mrow>
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>-</mo>
<msub>
<mi>&mu;</mi>
<mi>j</mi>
</msub>
</mrow>
<msub>
<mi>&sigma;</mi>
<mi>j</mi>
</msub>
</mfrac>
</mrow>
上式中,si,j为采用标准化方式下的第i条日志第一部分中的属性j的向量,μj为日志第一部分中的属性j的均值,σj为日志第一部分中的属性j的标准差。
9.如权利要求7所述的装置,其特征在于,所述第二确定单元,包括:
采用tf-idf算法获取日志样本数据中日志的关键词权重,按权重值从大到小排序,保留所述日志中关键词权重前n个关键词作为该日志对应的关键字,并将样本日志中全部日志对应的关键词合并整理为k类,获取第二部分的向量化模型C=<t1,1,t1,2,···,t1,n,...,tk,1,tk,2,···,tk,n>,其中,tk,n为日志样本数据中第k类日志的第n个关键词;
初始化第i条日志的第二部分的向量Vi=<0,..,0>,其中,|Vi|=k*n,遍历第i条日志的第二部分中的词语t,若t∈C,则在Vi中的index(C,t)位置上加1,直至遍历完第i条日志的第二部分中的全部词语,并输出Vi。
10.如权利要求6所述的装置,其特征在于,所述聚类模块,包括:
a.令第i条日志元组数据为li,其中,li=<Si,Vi>,Si为第i条日志的第一部分的向量,Vi为第i条日志的第二部分的向量;
b.将每条日志元组数据划分为集合并构建初始为空的栈S,其中,每个集合中只有1条日志元组数据;
c.当所述集合的数目大于指定值时,则循环执行步骤d至步骤e,直至所述集合的数目小于指定值并输出集合;
d.若栈S为空,随机选择一个集合作为激活簇,加入S;
e.取栈S栈顶集合C,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D已经在栈S中,则将集合C与D出栈合并,若集合C中日志元组数据与集合D中日志元组数据的距离最小或相似度最大,且集合D未在栈S中,则将集合D加入栈S。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710376507.0A CN107368516B (zh) | 2017-05-25 | 2017-05-25 | 一种基于层次聚类的日志审计方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710376507.0A CN107368516B (zh) | 2017-05-25 | 2017-05-25 | 一种基于层次聚类的日志审计方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107368516A true CN107368516A (zh) | 2017-11-21 |
CN107368516B CN107368516B (zh) | 2022-08-09 |
Family
ID=60306205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710376507.0A Active CN107368516B (zh) | 2017-05-25 | 2017-05-25 | 一种基于层次聚类的日志审计方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107368516B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262949A (zh) * | 2019-04-29 | 2019-09-20 | 北京邮电大学 | 智能设备日志处理***及方法 |
CN111177360A (zh) * | 2019-12-16 | 2020-05-19 | 中国电子科技网络信息安全有限公司 | 一种基于云上用户日志的自适应过滤方法及装置 |
CN112766826A (zh) * | 2021-03-11 | 2021-05-07 | 佛山市硅集财务软件有限公司 | 研发费用风险导向审计方法、装置、电子设备及存储介质 |
CN113449098A (zh) * | 2020-03-25 | 2021-09-28 | 中移(上海)信息通信科技有限公司 | 日志的聚类方法、装置、设备及存储介质 |
CN113518058A (zh) * | 2020-04-09 | 2021-10-19 | ***通信集团海南有限公司 | 异常登录行为检测方法、装置、存储介质和计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399658A (zh) * | 2007-09-24 | 2009-04-01 | 北京启明星辰信息技术有限公司 | 一种安全日志分析方法及*** |
CN101888309A (zh) * | 2010-06-30 | 2010-11-17 | 中国科学院计算技术研究所 | 在线日志分析方法 |
US20110131453A1 (en) * | 2009-12-02 | 2011-06-02 | International Business Machines Corporation | Automatic analysis of log entries through use of clustering |
US20160292592A1 (en) * | 2015-04-03 | 2016-10-06 | Oracle International Corporation | Method and system for implementing machine learning classifications |
CN106446076A (zh) * | 2016-09-07 | 2017-02-22 | 南京理工大学 | 基于层次聚类的日志审计方法 |
-
2017
- 2017-05-25 CN CN201710376507.0A patent/CN107368516B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101399658A (zh) * | 2007-09-24 | 2009-04-01 | 北京启明星辰信息技术有限公司 | 一种安全日志分析方法及*** |
US20110131453A1 (en) * | 2009-12-02 | 2011-06-02 | International Business Machines Corporation | Automatic analysis of log entries through use of clustering |
CN101888309A (zh) * | 2010-06-30 | 2010-11-17 | 中国科学院计算技术研究所 | 在线日志分析方法 |
US20160292592A1 (en) * | 2015-04-03 | 2016-10-06 | Oracle International Corporation | Method and system for implementing machine learning classifications |
CN106446076A (zh) * | 2016-09-07 | 2017-02-22 | 南京理工大学 | 基于层次聚类的日志审计方法 |
Non-Patent Citations (1)
Title |
---|
梁晓雪等: "基于聚类的日志分析技术综述与展望", 《云南大学学报(自然科学版)》, vol. 31, no. 1, 30 June 2009 (2009-06-30), pages 52 - 55 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110262949A (zh) * | 2019-04-29 | 2019-09-20 | 北京邮电大学 | 智能设备日志处理***及方法 |
CN111177360A (zh) * | 2019-12-16 | 2020-05-19 | 中国电子科技网络信息安全有限公司 | 一种基于云上用户日志的自适应过滤方法及装置 |
CN111177360B (zh) * | 2019-12-16 | 2022-04-22 | 中国电子科技网络信息安全有限公司 | 一种基于云上用户日志的自适应过滤方法及装置 |
CN113449098A (zh) * | 2020-03-25 | 2021-09-28 | 中移(上海)信息通信科技有限公司 | 日志的聚类方法、装置、设备及存储介质 |
CN113518058A (zh) * | 2020-04-09 | 2021-10-19 | ***通信集团海南有限公司 | 异常登录行为检测方法、装置、存储介质和计算机设备 |
CN113518058B (zh) * | 2020-04-09 | 2022-12-13 | ***通信集团海南有限公司 | 异常登录行为检测方法、装置、存储介质和计算机设备 |
CN112766826A (zh) * | 2021-03-11 | 2021-05-07 | 佛山市硅集财务软件有限公司 | 研发费用风险导向审计方法、装置、电子设备及存储介质 |
CN112766826B (zh) * | 2021-03-11 | 2024-02-27 | 汤达键 | 研发费用风险导向审计方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107368516B (zh) | 2022-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107835087B (zh) | 一种基于频繁模式挖掘的安全设备告警规则自动提取方法 | |
CN107368516A (zh) | 一种基于层次聚类的日志审计方法及装置 | |
CN106202561B (zh) | 基于文本大数据的数字化应急管理案例库构建方法及装置 | |
CN105335496B (zh) | 基于余弦相似度文本挖掘算法的客服重复来电处理方法 | |
CN103279478B (zh) | 一种基于分布式互信息文档特征提取方法 | |
CN106339942A (zh) | 一种金融信息处理方法和*** | |
Li et al. | A supervised clustering and classification algorithm for mining data with mixed variables | |
CN106446076B (zh) | 基于层次聚类的日志审计方法 | |
CN106503086A (zh) | 分布式局部离群点的检测方法 | |
Azeez et al. | Hybrid approach to crime prediction using deep learning | |
CN106845265A (zh) | 一种文档密级自动识别方法 | |
KR102105319B1 (ko) | Esg 기반의 기업 평가 수행 장치 및 이의 작동 방법 | |
CN107291895B (zh) | 一种快速的层次化文档查询方法 | |
CN109670306A (zh) | 基于人工智能的电力恶意代码检测方法、服务器及*** | |
CN111143838A (zh) | 数据库用户异常行为检测方法 | |
CN111538741A (zh) | 一种面向警情大数据的深度学习分析方法及*** | |
Chen et al. | Tensor decomposition for multilayer networks clustering | |
CN115048464A (zh) | 用户操作行为数据的检测方法、装置及电子设备 | |
CN103995828B (zh) | 一种云存储日志数据分析方法 | |
CN104536830A (zh) | 一种基于MapReduce的KNN文本分类方法 | |
CN106599072A (zh) | 一种文本聚类方法及装置 | |
Jin et al. | Crime-GAN: A context-based sequence generative network for crime forecasting with adversarial loss | |
CN107330557A (zh) | 一种基于社区划分和熵的舆情热点跟踪及预测方法与装置 | |
CN109033351A (zh) | 案情数据的归并方法及装置 | |
Suman et al. | Building an effective intrusion detection system using unsupervised feature selection in multi-objective optimization framework |
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 |