论文部分内容阅读
网络安全问题日益突出,如何检测并阻止网络攻击成为一个重要课题。传统基于特征的检测方法难以检测新出现的攻击或现有攻击的变种。另外随着加密协议的广泛应用,传统方法也难以发现加密数据中存在的恶意特征。本课题研究针对网络攻击的异常检测方法,主要贡献和创新包括以下几个方面:
●提出了基于数据挖掘的异常检测模型和基于数据场的分类算法。网络中多个数据包之间往往存在某种联系,通过统计一段时间内数据包的特征,可以构造出特征向量,从而利用数据挖掘方法检测网络异常。本文提出利用聚类来发现网络流中稳定的模式,并根据异常检测的特点,使用数据场分类算法来区分易混淆的网络数据,最后采用分支限界树来提高系统检测速度。实验表明,这种方法的检测率要好于其它数据挖掘方法。
●建立了基于系统堆栈信息和Markov链的异常检测模型。提供服务是网络的核心功能,许多攻击都是针对网络服务程序,检测并阻止这些攻击对保护网络服务是十分必要的。系统调用是操作系统提供核心服务的接口,通过监视系统调用,就能在一定程度上检测出网络攻击。但是现有方法仅仅监视系统调用的名字,不能确定同一个系统调用在不同位置的调用状况。本文提出利用系统堆栈中的返回地址链来表示每一个系统调用发生时的位置,并构造了一个新的安全审计事件L-Call,然后建立了一个基于Markov链的异常检测模型。本文利用信息论对L-Call进行分析后可以得出下列结论:与系统调用相比,L-Call具有更小的条件熵和相对条件熵,因此建立的模型更准确。最后实际测试数据也表明基于L-Call建立的模型更加有效。
●构造了基于系统调用参数的异常检测模型。系统调用参数包含大量有用信息,可以有效地反映程序的执行。本文提出了学习系统调用参数特征的一元关系模型和二元关系模型。一元关系模型包含三个子模型,分别用于学习一个系统调用参数的不同特征;二元关系模型用来学习不同系统调用参数之间的相互联系。最后的试验结果表明了这种方法的有效性。
●分析了多阶段入侵关联和入侵情景再现。很多网络攻击往往不是在一个阶段完成,而是分散在多个阶段中,前一个阶段通常为后一个阶段做准备。本文提出利用因果关联来发现多阶段之间的联系,并构造完整的入侵情景过程,最后自动产生入侵情景图以可视化显示。
●初步实现了一个完整的系统调用分析原型系统SyscallAnalyzer,既能监视程序的控制流(即系统调用序列),又能监视程序的数据流(即系统调用参数)。当发生入侵时,能够提供详细的入侵信息,并根据这些信息构造入侵情景,从而有利于网络管理员学习到新的入侵策略,增强网络防范。