介绍
计算机安全已经成为一个越来越令人担忧的问题,每年美国公司的成本将近670亿美元(Evers,2008)。根据引用的调查,蠕虫、病毒和特洛伊木马的成本最高,其次是计算机盗窃、金融欺诈和网络入侵。由于不可能完全防止计算机攻击,入侵检测系统(IDS)在最大限度地减少不同计算机攻击造成的损害方面发挥着非常重要的作用。在不事先了解攻击方法的情况下检测入侵是最具挑战性的。异常入侵检测方法(Abadeh等人,2007年;Anderson等人,1994年;Anders等人,1995年;Bose等人,2007;Forrest等人,1996年;Gómez等人,2003年;Hautamaki等人,2004年;Hoang等人,2003a,Hoang et al.,2003b;Hong and Hu,2004年,Hwang等人,2007年间;Lee等人,1999年,Lee等,2000年;Patcha and Park,2007年)这里仅举几个例子,似乎很有希望,并吸引了相当多的关注。异常入侵检测的原理是首先建立被监测对象的正常轮廓,任何与该正常轮廓的显著偏差都被视为可能标记入侵的异常(Denning,1987)。异常入侵检测技术通常可分为三类:统计检测方法、基于数据挖掘的方法和基于机器学习的方法(Patcha和Park,2007)。统计异常检测方法建立了两个剖面:训练阶段的正常剖面和检测阶段的当前剖面。它们根据统计分布监视活动,如CPU使用率、TCP连接数。在操作过程中,对这两个剖面进行比较,如果它们之间存在显著差异,则会识别出异常。Smaha等人建议使用随机高斯分布对活动进行统计建模。该方法的增强版本由入侵检测专家系统(IDES)(Lunt等人,1992年)和下一代入侵检测专家体系(NIDES)(Anderson等人,1994年,Anderson等,1995年)实现。基于统计的异常检测方法的一个困难是确定什么是有意义的活动。
基于数据的方法可以自动查找有意义的活动和有趣的功能。它们包括基于分类的入侵检测、聚类和离群值检测以及关联规则发现(Anderson等人,1995;Hautamaki等人,2004;Hoang等人,2003b;Lee等人,1999;Lee等,2000;Patcha和Park,2007)。通常,它们是计算密集型的,并且产生非常高的虚警率。基于系统调用的序列分析是用于异常检测的广泛使用的机器学习技术之一。一项具有代表性的工作是正常序列数据库检测方案,其中使用滑动窗口划分序列,并根据观察到的序列与数据库中先前建立的序列的比较来检测入侵(Forrest等人,1996年;Warrender等人,1999年)。贝叶斯网络也被用于异常入侵检测。这种方法的优点是可以检测分布式攻击,其中每个单独的攻击会话都不足以产生警报。贝叶斯网络的一个主要缺点是,它们需要被监测对象的非常准确的行为模型,这是不现实的(Patcha和Park,2007)。隐马尔可夫模型(HMM)是一种非常强大的基于机器学习的异常入侵检测工具(Davis and Lovell,2002;Hoang et al.,2003a;Rabiner,1989)。结果表明,HMM模型在正常序列数据库方案、神经网络方案和数据挖掘方案中的检测率和虚警率方面表现最佳。然而,它的计算成本很高(Warrender等人,1999年)。
单个检测引擎的性能很少令人满意。在机器学习领域,人们认为多分类器的集成可以产生比单个分类器更好的结果。Webb等人(2005)表明,一组分类器的统一加权优于任何单个分类器;Oliver和Hand(1996)证明了决策树比任何单独的决策树都能更好地分类。最近,人们多次尝试使用多分类器执行异常入侵检测(Analoui等人,2007年;Bose等人,2007;Cho,2002;Giacinto和Roli,2002;Feng等人,2007,Hoang等人,2003年a;Tsang等人,2005;Vokorokos等人,2008;Ye和Xu,2000)。大部分工作要么基于在不同网络特征集(如数据包头集和TCP协议数据集)上运行的多个分类器的集成,要么基于签名的IDS和异常IDS的集成。Hoang等人(2003a)提出了一种多层方法,其中HMM模型和普通数据库引用同一组系统调用。我们相信,使用同一组系统调用的不同检测引擎可以揭示被监控程序的不同方面。这将提供对监控行为的更全面的了解,并随后有助于降低误报率。在本文选择的HMM模型方案和正态序列数据库方案的背景下,正态序列数据方案在基于频繁观测序列的决策中是非常可靠的,但在涉及不频繁观测的系统序列时是相当弱的。另一方面,由于HMM模型的生成特性,HMM模型在判断此类序列时表现良好。基于我们之前的工作(Hoang et al.,2003a),本文探索了将HMM模型和正常序列数据库方案集成用于基于程序的异常入侵检测的有效方法。我们的主要贡献是:(i)提出了一个模糊框架,将HMM异常入侵检测引擎和正常序列数据库异常入侵引擎集成在一起,用于基于程序的异常入侵检测。注:虽然基于模糊的算法传统上被用作检测引擎以降低误报率(Abadeh等人,2007;Dickerson等人,2001;Dong等人,2005;Florez等人,2002;Gómez和Dasgupta,2002;Luo等人,2001),但我们的工作是使用基于模糊的演算法来集成不同检测引擎的输出。(ii)为了解决HMM训练成本高的挑战性问题,建议使用HMM参数优化初始化的增量HMM训练。(iii)使用新墨西哥大学计算机免疫系统项目(大学,2005年)提供的公共入侵系统呼叫数据库,对拟议方案进行了实验验证。实验结果表明,与单一的常规数据库检测方案相比,所提出的基于模糊的检测方案将误报率降低了48%。我们的HMM增量训练和最佳初始化也在训练时间和存储方面产生了显著改进。HMM训练时间减少了四倍,记忆需求也显著降低。
本文的其余部分组织如下:第2节介绍了所提出的HMM增量训练方案,其中HMM参数的初始化是最优的。第3节描述了使用系统调用进行程序异常入侵检测的基于模糊的方案。第4节介绍了实验结果和讨论。我们的结论和未来的工作见第5节。