论文部分内容阅读
入侵检测是一种用于检测计算机网络系统中入侵行为的网络信息安全技术。本文针对入侵检测技术的发展趋势和应用需求,研究了两类基于主机的入侵检测方法,分别是以shell命令为审计数据的用户行为异常检测方法和以系统调用为审计数据的程序行为异常检测方法。文中的研究工作和创新点主要包括: (1) 研究了入侵检测系统的标准体系结构与功能、审计数据及其产生机制、数据分析与响应机制,对现有的一些入侵检测方法进行了分析和对比。 (2) 提出一种基于机器学习的用户行为异常检测方法,并在该方法的基础上设计实现了一个用户行为异常检测系统。同Lane T等人提出的检测方法相比,该方法改进了对用户行为模式和行为轮廓的表示方式,采用了新的相似度计算(赋值)方法,在对相似度流进行加窗滤噪的过程中引入了“可变窗长度”的概念,并可以联合采用多个判决门限对被监测用户的行为进行判决,从而提高了用户行为轮廓表示中的准确性和灵活性,增强了检测性能的稳定性和检测的实时性。 (3) 研究了隐马尔可夫模型(HMM)在用户行为异常检测中的应用,提出一种新的基于HMM的检测方法。该方法利用特殊的HMM描述合法用户的行为轮廓,将HMM的状态与用户行为模式的种类联系在一起,并引入一个附加状态;HMM的训练中采用了运算量较小的序列匹配方法,与传统的Baum-Welch算法相比,大大缩短了训练时间;检测时,采用了基于状态序列出现概率的判决准则。实验表明,该方法具有很高的检测准确度。 (4) 针对现有检测方法在序列存储方面的不足,研究了一种基于马尔可夫链模型的用户行为异常检测方法。该方法考虑了shell命令序列的频率分布和序列之间的相关性,其主要优点是需要存储的shell命令序列较少,训练的复杂度比较低。该方法的缺点是容错能力和泛化能力相对较弱,它主要适用于训练数据较为充分的检测环境。 (5) 提出两种基于数据挖掘的程序行为异常检测方法,并以这两种方法为基础设计了一个程序行为异常检测系统。这两种方法均利用数据挖掘技术中的序列模式描述一个程序的正常行为,根据序列的支持度(support)或可信度(confidence)在训练数据中提取正常序列,检测中通过序列比较对攻击行为进行识别。实验表明,同目前被广泛关注的典型检测方法(Forrest等人提出的检测方法)相比,这两种检测方法分别在数据存储和检测准确度方面具有优势。 (6) 研究了马尔可夫过程在程序行为异常检测中的应用,提出两种新的检测方法。这两种方法分别用一阶和多阶马尔可夫过程对程序的正常行为进行建模,将程序运行时所产生的系统调用视为马尔可夫过程的状态,并通过状态转移概率描述系统调用之间的时序相关性。这两种方法均有较高的检测准确度,其中基于一阶马尔可夫过程模型的检测方法对主机资源(包括存储、计算资源)的占用较少,已被应用于实际系统。