论文部分内容阅读
异常检测由于能够检测到新的入侵,已经成为入侵检测研究中的热点。目前,绝大多数入侵行为都是通过攻击特权进程来破坏计算机系统的安全性。特权进程通常完成特定的、有限的行为,所以其行为在时间和空间上比其他用户程序更加稳定。因此通过监控特权进程可以很好地检测入侵。基于进程行为的异常检测有望成为异常检测实用化的突破口。但是,现有的异常检测系统效率不高,不能满足应用的需求。本文旨在建立一个基于进程行为的主机异常检测系统。该系统通过分析主机的进程行为检测是否有入侵发生,具有较好的检测效果,且能应用于在线检测。为了全面分析目前研究现状,明确本文研究的重点和努力的方向,首先从看待正常的角度以及建模方法两方面对基于进程行为的异常检测的研究进展进行总结,对主要方法的误差特性和检测复杂性进行分析。正确而完备的训练数据是建立准确的进程正常行为模型的前提条件,进而影响异常检测系统的检测精度,因此研究训练数据的收集方法。通过对现有各种收集方法的误差特性的分析,本文提出从实际环境收集进程行为数据,只有此时的进程行为才代表真正意义上的“正常行为”。为了使训练数据包含进程全部的正常行为,本文研究了数据收集的终止条件。同时,由于实际环境包含入侵的可能性,提出对训练数据中典型的异常行为即不合法行为进行剔除,具体方法是:通过静态分析的方法从程序代码中建立进程的合法行为模型Callgraph,然后利用收集到的原始训练数据驱动Callgraph,一旦某个序列不能被Callgraph接受,即被剔除。试验表明,用此方法可以剔除掉绝大多数的入侵序列。异常检测模型是整个异常检测系统的核心。为了提高检测精度,同时保持算法复杂度在可接受范围,在分析现有异常检测模型的基础上,本文提出了基于特征模式的马尔可夫链异常检测模型。具体的做法是:提取所有支持度大于阈值的系统调用短序列为特征模式,在此基础上建立改进的马尔可夫链模型CPMC。检测时,首先用程序轨迹匹配特征模式,然后计算其在CPMC模型下的概率,概率小而出现代表异常。实验表明,本文方法的检测精度高于目前常见的几种单一方法的精度,与DBCPIDS方法的精度近似相等但计算复杂度更低。最后,为了验证本文方法的可行性,实现了基于进程行为的主机异常检测系统。着重介绍了事件收集器和事件分析器两个模块的实现过程,并对此异常检测系统进行了测试。