欢迎来到天天文库
浏览记录
ID:59211799
大小:23.00 KB
页数:5页
时间:2020-09-10
《基于隐马尔可夫模型的入侵检测方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于隐马尔可夫模型的入侵检测方法赵婧,魏彬,罗鹏 摘要:针对当前网络安全事件频发以及异常检测方法大多集中在对系统调用数据的建模研究上等问题,提出一种基于隐马尔可夫模型的入侵检测方法。该算法基于系统调用和函数返回地址链的联合信息来建立主机进程的隐马尔可夫模型。此外,针对常用训练方法存在的不足,设计了一种快速算法用以训练模型的各个参数。实验结果表明:基于系统调用和函数返回地址链的联合信息的引入能够有效区分进程的正常行为和异常行为,大幅度降低训练时间,取得了良好的运算效果。 关键词:入侵检测;隐马尔可夫模型;系统调用序列 入侵检测作为一种网络安全防卫技术,可以有
2、效地发现来自外部或内部的非法入侵,因此针对入侵检测算法的研究具有重要的理论和很强的实际应用价值。 基于动态调用序列对系统的入侵行为进行发掘是入侵检测领域主要的检测方法之一。自Forrest在1996年首次提出使用系统调用进行异常检测的思路和方法以来,有很多基于此的改进算法被提出。 文献提出一种基于频率特征向量的系统调用入侵检测方法,将正常系统调用序列抽取出的子序列的频率特征转换为频率特征向量。文献提出基于枚举序列、隐马尔科夫2种方法建立系统行为的层次化模型。然而,这类方法在误报率以及漏报率方面仍与实际需求有着一定的差距。 此外,由于隐马尔可夫模型(hidd
3、enmarkovmodel,HMM)是一种描述离散时间内观察数据非常强大的统计工具,因此在基于主机的入侵检测研究中,HMM方法是目前重要的研究方向之一。 美国新墨西哥大学的Warrender等首次于1999年在IEEESymposiumonSecurityandPrivacy会议上提出将HMM应用于基于系统调用的入侵检测中。2002年,Qiao等提出使用HMM对系统调用序列进行建模,利用TIDE方法划分状态序列的短序列,建立正常数据的状态短序列库来进行检测。2003年,Cho等提出用HMM对关键的系统调用序列进行建模。文献设计了一种双层HMM模型进行入侵检测,
4、而其中所用到的训练方法存在局部最优以及时间效率较低等问题限制了其在实际中的应用。文献依据在网络数据包中发现的频繁情节,设计了基于HMM的误用检测模型。文献设计了一种基于节点生长马氏距离K均值和HMM的网络入侵检测方法。近些年,针对此方面的研究热度依然不减。然而,从目前的研究情况看,虽然基于隐马尔可夫模型的入侵检测技术能取得较好的检测效果,但是也存在着如下几个问题: 1)基于HMM的入侵检测技术主要集中在对主机的命令序列或者系统调用序列进行建模,单一的数据源提供的信息较少,因此检测效果仍然不够理想。 2)在线学习问题,隐马尔可夫模型的建立需要消耗大量的时间和空
5、间对参数进行调整学习,这导致了HMM难以得到有效的利用。综上所述,为克服现有模型算法所存在的问题,提出一种新的基于系统调用和进程堆栈信息的HMM入侵检测方法,该方法的主要思想是将系统调用和函数返回地址信息作为检测数据源,并利用HMM来构建主机特权进程的正常行为模型。其次,针对经典模型训练法存在局部最优且算法的复杂度较高等问题,设计一个更为简单的训练算法来计算HMM的参数,进而提升算法效率。最后,设计了附加观察值和附加状态等参数,用以消除非完备的数据以及零概率对模型的影响。 1、隐马尔可夫模型 马尔可夫模型中的每个状态都与一个具体的观察事件相互对应,但实际问题
6、可能会比Markov链模型所描述的情况更复杂,人们所能观察到的事件一般情况下并不是与状态完全一致对应的,而是通过概率相联系,这样的模型称为HMM。 HMM是由马尔可夫过程扩充改变而形成的一种随机模型算法,它的基本理论是由数学家Baum在20世纪60年代后期建立起来的。该方法最早在20世纪70年代应用于语音处理领域,而在20世纪80年代逐渐广泛应用于文本处理等各个领域中。 20世纪90年代初以来,HMM及其各种推广形式开始被用于图像信号处理以及视频信号处理等领域。 HMM的状态不能够直接观察到,而是可以通过观测向量序列得到,每个观测向量都是由概率密度分布表现
7、为不同的状态,因此其是具有一定状态数的隐马尔科夫链和显示随机函数集。而其在应用过程中需要解决3个基本问题:对于给定的一个观察序列O={O1,O2,…,OT}和一个HMM参数λ=(π,A,B),有: 1)评估问题, 2)解码问题, 3)训练问题。 2、基于HMM入侵检测方法 2.1模型的参数定义 系统调用和函数返回地址反映了程序执行时系统内核层的服务行为。系统调用信息是进程对资源的请求,它从一定程度上反映了进程行为的变化过程。而层层嵌套的函数返回地址则反映了系统调用对内核资源请求的过程。把函数返回地址的序列称为函数调用链,它代表了一个系统调用产生时完整
8、的函数调用的路径。假设函
此文档下载收益归作者所有