一种网络安全日志模板抽取方法及装置的制造方法_2

文档序号:9330373阅读:来源:国知局
sampling吉布斯采样算法提取出日志中描述格式的模板词,仅保留原始日志 中的模板词,得到日志格式。
[0054] 该方法中提到的模板提取,输入是信息聚类得到的一个包含相似格式的聚类。利 用LDA Gibbs sampling算法提取出一类日志中的模板单词(主题),得到的模板单词用来 描述日志的格式。优选地,采用LDA算法得到每个主题中分布最大的单词作为模板单词。得 到模板单词后,将原始日志中不属于模板单词的词用**代替,即可得到表示原始日志格式 的正则表达式。
[0055] 下面提供一个具体应用实例。该实例以Linux系统中的SSH进程日志为例,抽取 SSH进程产生的不同格式的网络日志模板。图2是该实例的方法流程图。图3是SSH进程 日志信息示意图,图4是进行数据清洗后的日志信息示意图,图5是聚类结果示意图,图6 是模板抽取后得到的描述日志格式的正则表达式示意图。下面具体说明各个步骤。
[0056] 1)首先对输入的包含多种格式的日志进行数据清洗,利用正则表达式,匹 配正则表达式:a (? :(((Jan(uary) ? |Ma(r(ch) ? |y)|jul(y) ? |Aug(ust) ? Oct(ober) ? Dec (ember) ? )\31) | ((Jan (uary) ? Ma(r (ch) ? y) |Apr (il) ? I Ju ((ly ? ) I (ne ? )) I Aug (ust) ? Oct (ober) ? | (Sept | Nov | Dec) (ember) ? )\(0?
[1-9] I ([12]\d) I 30)) I (Fe b(ruary) ? \ (0 ? [ 1-9] |I\d|2 [0-8] | (29 ( ? =,\((1[6-9]I[2-9]\d) (0[48]I [2468] [048]I[13579][26])I ((16 I [2468] [048]I [3579] [26])00)))))))\(([0-l] ? [0-9])|([2][0-3])):([0-5] ? [0-9])(:([0-5] ?
[0-9])) ?表示日期,例如:Mar 1209:08:31,和\(1+\.\(1+\.\(1+\.\(1+表示1?地址,如: 192. 168. 120. 11,
[0057] 对于匹配成功的字段进行过滤,剩下部分输出到步骤2)。
[0058] 2)假设输入的数据为M条日志记录,包含W个不同的单词,定义每个单词表示日志 格式的一个特征,把输入的数据转换为M个W维的向量,表示空间的M个点;
[0059] 利用DBSCAN算法对M个点进行信息聚类,设定DBSCAN算法中的参数半径E = 2. 5,minPts = 10,得到10个聚类,20个噪音数据,10个聚类输出到步骤4),噪音数据去掉; DBSCAN算法的伪代码如下:
[0060]
[0061]
[0062] 3)对输入的每一个聚类中的日志,进行LDA模板词提取,本方法采用LDA模型的 Gibbs Sampling算法,算法公式为:
[0063]
[0064] 其中,21表示要提取的模板词,w为日志中的单词,W为单词的个数,K为模板词的 个数,α、β为LDA算法中需要设定的两个参数,k为模板词Z 1对应的主题,m为每一条日 志数据,为主题k对应的单词数量,》)为一条日志数据中包含的主题个数。
[0065] 设定LDA算法中的参数α =〇· 1,β =〇· 01,使得算法的perplexity值(复杂 度)最小,迭代次数为1500,使得算法达到收敛;
[0066] 复杂度越小,算法越收敛,计算复杂度perplexity的公式:
[0067]
[0068] 其中,Dtest为测试的日志数据集,M为日志数据的条数,m为每一条日志数据,p为 该单词在所有主题分布值和该单词所在文本的主题分布的乘积,I为一个单词,N ni为一条 日志数据中包含的单词数量。
[0069] 对于LDA算法得到的每一个主题中,选取分布最大的词作为模板词,用来描述日 志的格式;将原始日志中不属于模板词的单词替换为**,得到描述日志格式的正则表达 式。
[0070] 本发明的作用在于不依赖于任何先验知识,自动抽取出描述未知网络安全日志格 式的模板。为了验证本发明的技术效果,利用已知格式模板的SSH进程日志作为实验数据, 验证该方法的有效性。
[0071] 在真实运行使用的网络环境中采集SSH进程日志1746条,经过人工分析,其中 包含了 13种格式,20个模板词。采用本发明中的方法和装置对日志进行模板提取,利用 DBSCAN算法对1746条日志进行信息聚类,设定DBSCAN算法中的参数半径E = 2. 5,minPts =10,得到10个聚类,20个噪音数据。对每一个聚类中的日志,进行LDA模板词提取,设定 不同的主题数量,计算召回率recall =1/队,其中I表示实验中得到的模板词个数,N彦 示实际的模板词个数,即20。召回率如图7所示,可以看到当取到合适的主题个数时,召回 率可以达到1,即可以得到日志中所有的模板词。
[0072] 以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术 人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本 发明的保护范围应以权利要求书所述为准。
【主权项】
1. 一种网络安全日志模板抽取方法,其特征在于,包括如下步骤: 1) 对原始的网络安全日志进行数据清洗,得到过滤掉时间和IP地址的日志信息; 2) 对不包含时间和IP地址的日志信息进行聚类,把具有相似格式的日志划分到同一 类中; 3) 对于每一类中的日志,提取出日志中描述格式的模板词,得到日志格式的模板。2. 如权利要求1所述的方法,其特征在于:步骤1)在数据清洗时,根据时间和IP地址 具有的特定的格式,采用正则表达式匹配去掉对应的字段。3. 如权利要求1所述的方法,其特征在于:步骤2)采用DBSCAN算法或者OPTICS算法 对相似格式的日志进行聚类。4. 如权利要求3所述的方法,其特征在于:步骤2)在聚类时,选取日志中的单词组 成作为日志特征向量,把每一条日志转化为多维空间里的一个点,进行聚类;或者利用 N-Gram模型,把日志划分为由多个长度为N的字段组成的序列,选取长度为N的字段组成日 志特征向量,把每一条日志转化为多维空间里的一个点,进行聚类。5. 如权利要求1至4中任一项所述的方法,其特征在于:步骤3)利用LDA Gibbs sampling算法提取出日志中描述格式的模板词,仅保留原始日志中的模板词,得到日志格 式。6. 如权利要求5所述的方法,其特征在于:步骤3)将每个主题中分布最大的单词作为 模板词,用来描述日志的格式;在得到模板词后,把原始日志中不属于模板词的单词用** 代替,得到描述日志格式的正则表达式。7. -种网络安全日志模板抽取装置,其特征在于,包括:数据清洗单元,用于对原始的 网络安全日志进行数据清洗,过滤其中的时间和IP地址;信息聚类单元,用于对不包含时 间和IP地址的日志信息进行聚类,把具有相似格式的日志划分到同一类中;模板提取单 元,用于提取每一类的日志中描述格式的模板词,得到日志格式的模板。8. 如权利要求7所述的装置,其特征在于:所述信息聚类单元采用DBSCAN算法或者 OPTICS算法对相似格式的日志进行聚类。9. 如权利要求7或8所述的装置,其特征在于:所述模板提取单元利用LDA Gibbs sampl ing算法提取出日志中描述格式的模板词,仅保留原始日志中的模板词,得到日志格 式。10. 如权利要求9所述的装置,其特征在于:所述模板提取单元将每个主题中分布最大 的单词作为模板词,用来描述日志的格式;在得到模板词后,把原始日志中不属于模板词的 单词用**代替,得到描述日志格式的正则表达式。
【专利摘要】本发明涉及一种网络安全日志模板抽取方法及装置。该方法的步骤包括:1)对原始的网络安全日志进行数据清洗,得到过滤掉时间和IP地址的日志信息;2)对不包含时间和IP地址的日志信息进行聚类,把具有相似格式的日志划分到同一类中;3)对于每一类中的日志,提取出日志中描述格式的模板词,得到日志格式的模板。具体地,采用DBSCAN算法或者OPTICS算法对相似格式的日志进行聚类,利用LDA?Gibbs?sampling算法提取出日志中描述格式的模板词。该装置包括数据清洗单元、信息聚类单元、模板提取单元。本发明不需要任何先验知识,可以自动获取网络安全日志格式的模板,能够减小系统负载,提高运算效率和准确性。
【IPC分类】H04L29/06, H04L12/24
【公开号】CN105049247
【申请号】CN201510391607
【发明人】亚静, 柳厅文, 张浩亮, 时金桥
【申请人】中国科学院信息工程研究所
【公开日】2015年11月11日
【申请日】2015年7月6日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1