基于模式匹配与机器学习的异常检测模型

2018-05-22 11:13冯国震
中国科技纵横 2018年7期
关键词:异常检测模式匹配机器学习

冯国震

摘 要:针对基于模式匹配的异常行为检测无法实现细粒度化检测和精确定位异常行为的问题,提出一种基于模式匹配与机器学习的异常检测模型。该模型通过模式匹配实现异常行为检测,同时利用机器学习算法实现越权检测,分别从“用户行为”和“功能点”两个维度检测,然后进行协作:两者相互验证,实现细粒度化检测以及精确定位异常行为,加深了模型的检测深度;两者相互补充,拓宽了模型的检测广度。实验结果表明,本文设计的检测模型实现了细粒度化异常检测,达到了提升异常检测能力的目的。

关键词:模式匹配;机器学习;异常检测;AC_BM算法;孤立点;蚁群聚类算法

中图分类号:TP181 文献标识码:A 文章编号:1671-2064(2018)07-0009-05

随着互联网的持续快速发展,网络深入到人们生活的各个领域中,扮演着越来越重要,且不可取代的角色,这为各种针对互联网的非法入侵提供了途径和动力,随之而来的网络犯罪愈演愈烈,面临的信息安全问题也日益严重。针对越来越严峻的安全形势,相应的安全防御技术被社会各界广泛关注,拥有空前的支持力度和发展空间。入侵检测技术自被提出开始就成为一个研究热门,迄今为止,入侵检测仍然被视为重要的安全防御机制,得到重点研究和运用。异常检测是入侵检测的一个研究方向,它将与正常行为不同的“非正常”行为都划归为入侵行为。基于模式匹配的入侵检测技术是利用模式匹配算法通过比对待测行为特征为与已知行为特征来实现入侵检测的,其不足之处在于依赖数据挖掘过程中挖掘出的已知行为特征,对未知的行为直接定性为入侵行为,无法进行更加细粒度地检测,实现精确定位入侵行为,达到精细化入侵检测。

针对基于模式匹配的入侵检测无法实现精细化入侵检测的问题,本文提出了一种以模式匹配与机器学习算法相结合的入侵检测模型。该模型在数据挖掘的基础上,对用户进行异常行为检测的同时,从另一维度以机器学习算法对该用户的行为进行越权检测,两种检测方法结合,相互验证检测结果,可以实现未知行为的细粒度化检测,精确定位异常行为;同时还能相互补充,加强检测广度,最终达到提高异常检测模型检测性能的目的。

1 相关研究

1.1 入侵检测技术与模式匹配

入侵检测的概念是在1950年由James Anderson[1]最早提出来的,它作为一种传统的安全防御技术被提出已经有数十年,有很成熟的理论体系和丰硕的相关科研成果。入侵检测能主动的检测攻击行为,防止攻击行为造成大面积的破坏。入侵行为可以分为内部合法用户的越权使用、滥用和外部人员侵入3种类型。与传统的安全防御机制相比,入侵检测是指用于检测任何危害或者试图危害信息系统保密性(Confidentiality)、完整性(Integrity)和可用性(Accountability)的行为的一种网络安全防御技术[1]。入侵检测可分为异常检测和误用检测两大类,其中异常检测是根据系统或用户的非正常行为和使用计算机资源的非正常情况来检测入侵行为。一个入侵检测系统(Intrusion Detection System,IDS)的基本组成结构如图1[2]所示。

模式匹配是一种基于攻击特征的入侵检测技术[3]。它是对入侵行为的特征进行匹配的过程,若待测行为的特征与入侵行为的特征模式匹配成功,则表示该待测行为是入侵行为。目前模式匹配技术已成为入侵检测技术中具有代表性的技术之一,得到了充分的研究和发展。

AC_BM算法[4-6]是典型的多模式匹配算法之一,是由AC算法[4-6]和BM算法[4-6]结合产生的匹配算法。该算法首先以多个模式的共同前缀作为根节点生成一棵模式树,然后将待检测模式与模式树的字符从模式树的根节点到叶子节点的方向逐个比较,待测模式能与模式树种的某个分支匹配,则表示匹配成功。该算法将BM算法的跳跃思想与AC算法速度上的优势相结合,相对其他模式匹配算法具有较高的效率和良好的性能。

1.2 基于蚁群聚类的孤立点检测算法

孤立点是指在数据集中与其他数据有不同性质的对象。在入侵检测中,孤立点因与其它数据类型不同,可能预示入侵行为。孤立点挖掘[6]是指探索和分析孤立点的数据挖掘过程。孤立点研究的意义主要在于:①它是数据分析结果的重要组成部分;②它一般是检测、记录错误,但可能代表某领域中有意义的知识;③孤立点的确认过程中通常会发现新知识。

本文在使用蚁群聚类算法[8]作为孤立点检测算法来实现横向越权检测。蚁群聚类算法的优点在于实现了自组织聚类,即不需要像K-means等算法那样预设聚类中心数目就能实现聚类[8]。

基于蚁群的聚类算法的主体思想是:首先把若干对象随机散布在n×m的网格平面区域内,其中m和n是区域的长和宽,要求每个网格内不能放置多个对象,m和n的大小可以随对象的数目而进行调整;然后把若干只蚂蚁随机散布在网格中,蚂蚁的数目小于对象数目;每只蚂蚁随机选择一个对象,在局部区域内,可以计算该对象与周围对象的局部群体相似度,进而得到一个概率,这个概率决定蚂蚁“拾起”、“移动”或者“放下”对象的动作。经过有限次“拾起”、“移动”或者“放下”迭代操作之后,网格区域内随机散布的对象就会因其相似度大而聚集以及因相似度小而分隔开来[8]。

2 检测模型构建

本文以某企业的DLP系统为研究对象进行数据挖掘和建模分析得到,内部系统用户都有固定的角色扮演,即为了实现某一业务功能,用户都有基本固定的行为模式,正常情况下不会去操作别人的业务,所以若发生此类情况便判定为异常行为。另外,本文研究的越权是指同级别用户之间的“横向越权”,因为不同级别之间的用户因为等级和权限不同,无法确切的界定开来。所以首先要依据已知的用户级别将用户划分开,然后对同等级的用户进行基于孤立点的横向越权检测。

本文所研究的系统是一个多层的复杂系统,每个模块子系统下又有若干小的功能模块,通过数据挖掘技术把系统中的核心功能模块挖掘出来。主要的识别特征是功能页面的URL地址,为便于后续研究称呼,本文将“功能页面”统一称为“功能点”。这些挖掘出的功能點将作为本文检测模型中用户的最小操作单元。通过挖掘得出系统核心模块,并进行人工标注后得到的系统架构如图2所示。

由用户对功能点的时序操作提取出的用户操作序列,并以序列挖掘算法挖掘出用户操作的频繁序列,再经过验证得到用户的正常行为序列,最终形成特征序列模式库,作为模式匹配的“匹配标准”。由此,本文的提出的基于模式匹配与机器学习的异常检测模型如图3所示:

由图3所示,本文检测模型可分为两个阶段,数据挖掘阶段挖掘系统功能点和用户行为序列,分别作为横向越权检测模型和异常行为检测模型的输入。异常检测阶段的两个子模型分别进行检测,然后相互验证并最终输出模型的检测结果。验证过程的主要思路是:模式匹配检测出异常行为通过用户ID与对应的越权检测结果进行验证,进一步细化检测。若检测出的异常行为有与之对应的越权行为,即可精确定位异常行为,比如指出某用户有异常行为,且其具体的异常操作是哪个功能点,越权发生在何处,最后将结果合并整理输出。这是两个子模型的相互验证过程,达到加深模型检测深度的目的。此外,输出无对应越权的异常行为和未检测出异常的越权行为,比如某些异常行为并未发生在本文设计的越权检测范围内,反之亦然。这些异常属于两个模型的相互补充,达到拓宽模型检测广度的目的。

2.1 基于模式匹配的异常行为检测模型

基于模式匹配的异常行为检测模型的检测流程为:首先将挖掘出的用户行为序列作为异常检测的特征模式,然后把提取的用户待测行为序列与已知特征模式进行模式匹配,若匹配成功,则待测行为是正常行为;若无法匹配,则将待测行为划分为异常行为。异常行为检测模型如下图4所示。

输入:待测行为序列,其输入格式与特征序列模式库中的序列一致,通过数据挖掘提取而来。

检测过程:首先利用特征模式库中的行为序列构建特征模式树,然后将特征模式树作为标准,利用AC_BM模式匹配算法将待测行为序列与特征模式树进行模式匹配。

输出结果:若待测序列与模式树匹配成功,表示该序列为正常行为;若匹配失败,则表明该待测行为是异常行为。

2.2 基于孤立点的横向越权检测模型

由于用户功能点是以URL作为标识,且URL地址是相关的,同一模块下的功能点URL地址的相似程度大于不同模块下功能点URL地址。因此可用Levenshtein距离[9-10]定量表示URL相似度。Levenshtein距离又称为编辑距离,编辑距离算法是指两个字符串之间,由一个字符串通过一些编辑操作可以变成另外一个字符串所需要的最少编辑操作次数[11]。编辑距离越大,说明两个字符串相似度越小。

横向越权检测原理如下:同一级别下,用户操作的功能点相关性大,通过聚类把完成同一个业务的关联功能模块聚成簇,即用户的所有正常操作都会汇聚成若干簇。如果出现离群的孤立点,即该点与用户操作的其他功能点均不属于同一系统模块,即可视为越权操作。

一般情况下,用户进行越权操作时,属于“偶然行为”,并不会有太多操作,孤立点检测即可实现检测越权;然而若是用户越权产生大量操作时,孤立点检测便无法检测出这种情况下的越权操作了。针对这种情况,本文设计了一个检测阈值F,经过聚类后,若待检测的“功能点簇”占所有功能点的比重小于该阈值,视为越权,发出告警;若比重大于该阈值,即划分为正常操作。基于此设计,不需要考虑人员业务变更带来的影响,检测过程不考虑历史数据,具有更好的实时特性。基于孤立点检测的横向越权检测流程如图5。

本文设计的横向越权检测模型是基于用户本身在该次检测的数据进行的自我检测。之所以不直接比较待测的用户功能与已有用户的功能而实现越权检测,是因为系统用户的功能结构可能会发生变化,例如某一用户接手其他用户的工作,这属于正常的变动,但是如果根据历史数据进行比较,会产生大量误报,人工核实工作量太大。这与本文设计初衷不符,更不符合实际需求。本文直接进行自我检测,不会过度依赖历史数据,减少业务上的变更对检测模型的影响。

3 实验结果及分析

3.1 数据准备及环境搭建

本文实验选用的数据为北京某科技公司的DLP系统的用户操作记录。本文从大量的操作记录中筛选出部分正常操作记录,并挑选构造部分针对性研究的异常数据。实验数据总共有2436720条记录,其中正常操作记录有2436006条,异常行为记录有714条,异常记录占总记录的0.03%。训练集与测试集的数据比例约为8:2,测试集中异常记录占比约为0.146%。实验数据具体描述如表1所示。

本文采用入侵检测系统常采用的衡量指标中的准确率、误报率、检测率作为评价标准,各个指标的计算公式如下式(4)、式(5)和式(6):

3.2 实验结果及分析

首先通过实验得到异常行为检测模型和越权检测模型分别对应的针对性的实验结果,即异常行为检测模型检测实验不考虑越权异常的情况,同理越权检测模型实验不考虑行为序列异常,这是为了验证两个子模型各自的检测能力。然后进行验证整合,考虑所有异常数据,进行整体模型检测实验,得到整体模型的实验结果如表2所示。

由表2可知,在本文实验条件下,异常检测模型的两个子模型以及整体模型在准确率、检测率和误报率方面都有较好的表现:在较低的误报率的情况下,准确率和检测率都达到了较高的水平。同时,整体检测模型在综合所有异常情况下,各项衡量指标达到较高水平的情况下,具有较高的精确定位异常行为能力。此外,为了直观显示异常检测模型的两个子模型的检测性能,给出子模型的ROC曲线如图6所示。

实验结果表明,本文实验条件下,异常行为检测模型与横向越权检测模型都有很好的检测效果。基于模式匹配和机器学习的异常检测系统充分发挥子模型各自的检测优势的同时,使子模型协同互补,实现了细粒度化的异常检测,从检测深度和广度上提高了异常检测模型检测能力,并达到精确定位异常行为的目的。

4 结语

基于模式匹配的入侵检测依靠数据挖掘能实现自动提取特征或规则,然而其不足在于依赖数据挖掘,无法实现细粒度化入侵检测和精确定位入侵行为。针对这个问题,本文首先基于企业内部系统业务逻辑的数据挖掘分析,提出了基于模式匹配与机器学习的异常检测模型,通过模式匹配和机器学习算法分别从用户“行为”和“功能点”两个维度进行检测,然后综合两个模型的结果进行互补验证,从深度和广度上提升了异常检测模型的检测能力。通过验证可知,本文提出的检测模型能充分发挥两个子模型各自的检测优势,达到很好的检测水平,然后通过子模型的协作实现精确定位入侵行为,实现细粒度化异常检测,符合入侵检测的研究发展趋势,对后续入侵检测的研究有一定的参考价值。

参考文献

[1]J. P. Anderson. Computer Security Threat Monitoring and Surveillance. Fort Washington,PA: James P.Andersonn Co.,1980:6-7.

[2]Kumar G, Kumar K,Sachdeva M.The use of artificial intelligence based techniqes for intrusion detection: a review. Artificial Intelligence Rwview,2010,34(4):369-387.

[3]Ayres J, Gehrke J, Yiu T, et al. Sequential pattern mining using a bitmap representation [C] . Proceedings of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. USA, New York: ACM, 2002:429 X35.

[4]李树政.基于Snort系统快速模式匹配算法的研究[D].吉林大学硕士毕业论文,2009.

[5]万国根,志光.改进的AC-BM字符串匹配算法[J].电子科技大学学报,2006,35(4):531-533.

[6]李志清.基于模式匹配和协议分析的入侵检测系统研究[D].广东工业大学硕士毕业论文,2007.

[7]陆声链,林士敏.基于距离的孤立点检测及其应用[J],计算机与数字工程,2004,32(5):94-97.

[8]姚兴仁,赵刚,吴维希.基于“智能信息中心”的蚁群文本聚类算法改进[J].信息安全研究,2017,3(2):160-165.

[9]解天书.基于编辑距离算法的中文模糊匹配技術在大数据量环境中的应用[D].湖北大学,2013.

[10]王威.融合检索技术的译文推荐系统的研究与实现[D].北京工业大学,2016.

猜你喜欢
异常检测模式匹配机器学习
基于模式匹配的计算机网络入侵防御系统
具有间隙约束的模式匹配的研究进展
OIP-IOS运作与定价模式匹配的因素、机理、机制问题
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究
基于散列函数的模式匹配算法