网络安全审计系统的出现及实现方法
来源:中国软件网 更新时间:2008-08-20

 1 传统安全审计系统的历史

  传统的安全审计系统早在70年代末、80年代初就已经出现在某些UNDO系统当中,其审计的重点也是本主机的用户行为和系统调用。在随后的20年间,其他的各个操作系统也有了自己的安全审计工具,如符合C2安全级别的Windows NT, Nnux的syslog机制以及SUN 13SM等。

  2 常用安全措施的不足和基于网络的安全审计系统的出现

  近几年来,随着开放系统Internet的飞速发展和电子商务的口益普及,网络安全和信息安全问题日益突出,各类黑客攻击事件更是层出不穷。而相应发展起来的安全防护措施也日益增多,特别是防火墙技术以及IDS(人侵检测技术)更是成为大家关注的焦点。但是这两者都有自己的局限性。

  2.1防火墙技术的不足

  防火墙技术是发展时间最长,也是当今防止网络人侵行为的最主要手段之一,主要有包过滤型防火墙和代理网关型防火墙两类。其主要思想是在内外部网络之间建立起一定的隔离,控制外部对受保护网络的访问,它通过控制穿越防火墙的数据流来屏蔽内部网络的敏感信息以及阻挡来自外部的威胁。虽然防火墙技术是当今公认发展最为成熟的一种技术,但是由于防火墙技术自身存在的一些缺陷,使其越来越难以完全满足当前网络安全防护的要求。

  包过滤型防火墙如只实现了粗粒度的访问控制,一般只是基于IP地址和服务端口,对网络数据包中其他内容的检查极少,再加上其规则的配置和管理极其复杂,要求管理员对网络安全攻击有较深人的了解,因此在黑客猖撅的开放Internet系统中显得越来越难以使用。

  而代理网关防火墙虽然可以将内部用户和外界隔离开来,从外部只能看到代理服务器而看不到内部任何资源,但它没有从根本上改变包过滤技术的缺陷,而且在对应用的支持和速度方面也不能令人满意

  2.2入侵检测技术的不足

  人侵检测技术是防火墙技术的合理补充,能够对各种黑客人侵行为进行识别,扩展了网络管理员的安全管理能力。一般来说,人侵检测系统(IDS)是防火墙之后的第二层网络安全防护机制。

  目前较为成熟的IDS系统可分为基十主机的IDS和基于网络的IDS两种。

  基于主机的IDS来源于系统的审计日志,它和传统基于主机的审计系统一样一 般只能检测发生在本主机上面的人侵行为。

  基于网络的IDS系统对网络中的数据包进行监测,对一些有人侵嫌疑的包作出报警。人侵检测的最大特色就是它的实时性‘准实时性),它能在出现攻击的时候发出警告,让管理人员在在第一时间了解到攻击行为的发生,并作出相应措施,以防止进一步的危害产生。实时性的要求使得人侵检测的速度性能至关重要,因此决定了其采用的数据分析算法不能过于复杂,也不可能采用长时间窗分析或把历史数据与实时数据结合起来进行分析,所以现在大多数人侵检测系统只是对单个数据包或者一小段时间内的数据包进行简单分析,从而作出判断,这样势必会产生较高的误报率和漏报率,一般只有20%攻击行为被IDS发现也就不足为奇了。虽然国内外普遍对人侵检测技术都有很高的评价,但是随着黑客技术的发展,一些人侵检测系统本身的缺陷也为人们所了解。一些黑客利用某些分布式技术,在同一时刻向某个人侵检测系统发送大量垃圾数据包,使得人侵检测系统来不及处理而过载,直到发生丢包现象。黑客在此时发动攻击,人侵相关的网络活动被淹没在大量的嘈声之中,使得人侵检测无法检测出包含人侵模式的网络信息,这样一来黑客就达到了逃避人侵检测的目的。

  2.3基于网络的安全审计系统

  在这种情况下,基于网络安全审计系统孕育而生。基于网络的安全审计系统在近几年刚刚起步,尚处在探索阶段,其审计重点也在网络的访问行为和网络中的各种数据。对此有比较深人研究的也只是少数几个高校或者科研机构,其中以Purdue大学的NASHIS系统较为著名。

  一般的基于网络的安全审计系统作为一个完整安全框架中的一个必要环节,一般处在人侵检测系统之后,作为对防火墙系统和人侵检测系统的一个补充,其功能:首先它能够检测出某些特殊的IDS无法检测的人侵行为(比如时间跨度很大的长期的攻击特征);其次它可以对人侵行为进行记录并可以在任何时间对其进行再现以达到取证的目的;最后它可以用来提取一些未知的或者未被发现的人侵行为模式等。

  

  图1安全审计在整个安全体系中的位置

  与传统的人侵检测系统相比,安全审计系统并没有实时性的要求,因此可以对海量的历史数据进行分析,并且采用的分析方法也可以更加复杂和精细。一般来说,网络安全审计系统能够发现的攻击种类大大高于人侵检测系统,而且误报率也没有人侵检测系统那样的高。

3 基于网络的安全审计系统的常用实现方法

  3.1基于规则库的方法

  基于规则库的安全审计方法就是将已知的攻击行为进行特征提取,把这些特征用脚本语言等方法进行描述后放人规则库中,当进行安全审计时,将收集到网络数据与这些规则进行某种比较和匹配操作(关键字、正则表达式、模糊近似度等),从而发现可能的网络攻击行为。

  这种方法和某些防火墙和防病毒软件的技术思路类似,检测的准确率都相当高,可以通过最简单的匹配方法过滤掉大量的网络数据信息,对于使用特定黑客工具进行的网络攻击特别有效。比如发现目的端口为139以及含有DOB标志的数据包,一般肯定是Winnuke攻击数据包。而且规则库可以从互连网上下载和升级(如。 . cert. org等站点都可以提供各种最新攻击数据库),使得系统的可扩充性非常好。

  但是其不足之处在于这些规则一般只针对已知攻击类型或者某类特定的攻击软件,当出现新的攻击软件或者攻击软件进行升级之后,就容易产生漏报。

  例如,著名的Back Orifice后门软件在90年代末非常流行,当时人们会发现攻击的端口是31337,因此31337这个古怪的端口便和 Back Orifice联系在了一起。但不久之后,聪明的Back Orifice作者把这个源端口换成了80这个常用的Web服务器端口,这样一来便逃过了很多安全系统的检查。

  此外,虽然对于大多数黑客来说,一般都只使用网络上别人写的攻击程序,但是越来越多的黑客已经开始学会分析和修改别人写的一些攻击程序,这样一来,对同一个攻击程序就会出现很多变种,其简单的通用特征就变得不十分明显,特别规则库的编写变得非常困难。

  综上所述,基于规则库的安全审计方法有其自身的局限性。对于某些特征十分明显的网络攻击数据包,该技术的效果非常之好;但是对于其他一些非常容易产生变种的网络攻击行为(如Backdoo:等),规则库就很难用完全满足要求了。

  3.2基于数理统计的方法

  数理统计方法就是首先给对象创建一个统计量的描述,比如一个网络流量的平均值、方差等等,统计出正常情况下这些特征量的数值,然后用来对实际网络数据包的情况进行比较,当发现实际值远离正常数值时,就可以认为是潜在的攻击发生。

  对于著名syn flooding攻击来说,攻击者的目的是不想完成正常的TCP 次握手所建立起来的连接,从而让等待建立这一特定服务的连接数量超过系统所限制的数量,这样就可以使被攻击系统无法建立关于该服务的新连接。很显然,要填满一个队列,一般要在一段时间内不停地发送SYN连接请求,根据各个系统的不同,一般在每分钟 10-20,或者更多。显然,在一分钟从同一个源地址发送来20个以上的SYN连接请求是非常不正常的,我们完全可以通过设置每分钟同一源地址的SYN连接数量这个统计量来判别攻击行为的发生。

  但是,数理统计的最大问题在于如何设定统计量的“阂值”,也就是正常数值和非正常数值的分界点,这往往取决于管理员的经验,不可避免地容易产生误报和漏报。

4 基于网络安全审计系统的新方法:有学习能力的数据挖掘

  上述的两种方法已经得到了广泛的应用,而且也获得了比较大的成功,但是它最大的缺陷在于已知的人侵模式必须被手工编码,它不能适用于任何未知的人侵模式。因此最近人们开始越来越关注带有学习能力的数据挖掘方法。

  4.1数据挖掘简介及其优点

  数据挖掘是一个比较完整地分析大量数据的过程,它一般包括数据准各、数据预处理、建立挖掘模型模型评估和解释等,它是一个迭代的过程,通过不断调整方法和参数以求得到较好的模型。

  数据挖掘这个课题现在有了许多成熟的算法,比如决策树、神经元网络、K个最近邻居(K一NN),聚类关联规则和序惯模型、时间序列分析器、粗糙集等。应用这些成熟的算法可以尽量减少手工和经验的成分而且通过学习可以检测出一些未被手工编码的特征因此十分适用于网络安全审计系统。

  4.2有学习能力的数据挖掘在基于网络的安全审计系统中的应用

  我们采用有学习能力的数据挖掘方法,实现了一般网络安全审计系统的框架原型。该系统的主要思想是从“正常”的网络通讯数据中发现“正常”的网络通讯模式。并和常规的一些攻击规则库进行关联分析,达到检测网络人侵行为的目的。在本系统之巾,主要采用了三种比较成熟的数据挖掘算法,这三个算法和我们的安全审计系统都有着十分密切的关系:

  分类算法 该算法主要将数据影射到事先定义的一个分类之中。这个算法的结果是产生一个以决策树或者规则形式存在“判别器”。理想安全审计系统一般先收集足够多的“正常”或者“非正常”的被市计数据,然后用一个算法去产生一个“判别器”来对将来的数据进行判别,决定哪些是正常行为而哪些是可疑或者人侵行为。而这个“判别器”就是我们系统中“分析引擎”的一个主要部分。

  相关性分析 主要用来决定数据库里的各个之间的相互关系。找出被审计数据间的相互关联将为决定整个安全审计系统的特征集提供很重要的依据。

  时间序列分析 该算法用来建立本系统的时间顺序标准模型。这个算法帮助我们理解审计事件的时间序列一般是如何产生的,这些所获得常用时间标准模型可以用来定义网络事件是否正常。

  首先,系统从数据的采集点介采集数据,将数据进行处理后放入被审计数据库,通过执行安全审计引擎读人规则库来发现人侵事件,将人侵时rbi记录到人侵时间数据库,而将正常网络数据的访问放人正常网络数据库,并通过数据挖掘来提取正常的访问模式。最后通过旧的规则库、人侵事件以及正常访间模式来获得最新的规则库。可以不停地重复上述过程,不断地进行自我学习的过程,同时不断更新规则库,直到规则库达到稳定。

  我们实现的原型系统的框图由图2所示。

  

  图2系统结构框图

  上面我们所见到的系统整体框架图中,在通过对正常网络通讯数据集的学习后,可以获得正常访问模式,这个过程就采用了数据挖掘技术,从海量的正常数据中半自动地提取正常访间模式,可以减少人为的知觉和经验的参与,减少了误报出现的可能性。此外,使用规则合并可以不断更新规则库,对新出现的攻击方式也可以在最快的时间内做出反应,这也是传统方法无法实现的。

  5 总 结

  本文首先简单介绍了两个常用安全策略:防火墙和人侵检测系统,并讨论了它们的不足,然后给出了一种比较新的安全策略:基于网络的安全审计系统,并讨论了它的两个常用传统实现方法:规则匹配策略和数理统计策略。在具体分析这两类方法的应用和不足的同时给出了一种新的实现方式:使用具有学习能力的数据挖掘方法。最后给出了使用这个技术来实现基于网络的安全审计系统的一个系统原型通过在某实际网络环境中的使用测试表明,本系统达到了预期的设计功能。