作者:雷成健 孟嗣仪 温晓军
论文关键词:安全审计 日志 数据挖掘
论文摘要:提出了无线网关安全审计系统的系统模型,介绍了该系统的设计思想,从数据的控制、数据的采集、日志的归类、日志的审计与报警4个方面描述了设计流程.在系统中通过改进syslog机制,引入有学习能力的数据挖掘技术,实现对无线网关的安全审计.
0 引言
无线网关是无线网络与布线网络之间的桥梁,所有的通信都必须经过无线网关的审计与控制.在无线网络中,无线网关放置在无线网络的边缘,相当于无线网络的大门,当无线网关遭到攻击和入侵时,灾难会殃及整个无线网络,使无线网络不能工作或异常工作,由此可见,对无线网关进行安全审计是十分有意义的.
本文中研究的安全审计系统是北京市重点实验室科、研项目“智能化无线安全网关”的一部分.智能化无线安全网关在无线网关上集成具有ids和防火墙功能的模块,以及控制和阻断模块,这些功能模块在统一操作系统的基础上,既各司其职,又密切合作,共同完成防范、预警、响应和自学习的功能,构成一个有机的安全体系.
无线网关的安全审计系统,其主要功能就是在事后通过审计分析无线安全网关的日志信息,识别系统中的异常活动,特别是那些被其它安全防范措施所遗漏的非法操作或入侵活动,并采取相应的报告,以有利于网络管理员及时有效地对入侵活动进行防范,确保网络的安全[1].
1 系统功能概述
无线网关安全审计系统是针对无线网络的安全运作而提出的,主要包括数据控制、数据采集、日志归类、日志的审计与报警等几大基本功能.首先,审计系统的数据控制模块对进出的数据信息进行严格的控制,根据预定义的规则进行必要的限制,适当地降低风险.其次,安全审计系统的数据采集模块收集无线安全网关的网络日志、系统日志及用户和应用日志.随后,采集部件收集到的日志记录被送到日志归类模块,根据日志记录行为的不同层次来进行分类.最后,使用审计与报警模块对日志记录进行审计分析.这时可以根据预先定义好的安全策略对海量的日志数据进行对比分析,以检测出无线网关中是否存在入侵行为、异常行为或非法操作.管理员可以初始化或变更系统的配置和运行参数,使得安全审计系统具有良好的适应性和可操作性.
2 系统设计
2.1 系统结构组成(见图1)
2.2 设计思想
系统从数据采集点采集数据,将数据进行处理后放入审计数据库,采用有学习能力的数据挖掘方法,从“正常”的日志数据中发掘“正常”的网络通信模式,并和常规的一些攻击规则库进行关联分析,达到检测网络入侵行为和非法操作的目的.
2.3 系统的详细设计
系统的处理流程如图2所示:
2.3.1 数据的控制.数据控制模块使用基于netfilter架构的防火墙软件iptables对进出的数据信息进行严格的控制,适当地降低风险.
2.3.2 数据的采集.数据采集模块,即日志的采集部件.为了实现日志记录的多层次化,需要记录网络、系统、应用和用户等各种行为来全面反映黑客的攻击行为,所以在无线安全网关中设置了多个数据捕获点,其中主要有系统审计日志、安全网关日志、防火墙日志和入侵检测日志4种.2.3.3 日志的归类.日志归类模块主要是为了简化审计时的工作量而设计的,它的主要功能是根据日志记录行为的不同层次来进行分类,将其归为网络行为、系统行为、应用行为、用户行为中的一种,同时进行时间归一化.进行日志分类目的是对海量信息进行区分,以提高日志审计时的分析效率.
2.3.4 日志审计与报警.日志审计与报警模块侧重对日志信息的事后分析.该模块的主要功能是对网关日志信息进行审计分析,即将收到的日志信息通过特定的策略进行对比,以检测出不合规则的异常事件.随着审计过程的进行,若该异常事件的可疑度不断增加以致超过某一阈值时,系统产生报警信息.该模块包括日志信息的接收、规则库的生成、日志数据的预处理、日志审计等几个功能.
3 系统的实现
3.1 系统的开发环境
智能无线安全网关安全审计系统是基于linux操作系统开发的b/s模式的日志审计系统.开发工具为:前台:windows xp professional+html+php,后台:linux+apache+mysql + c++.
3.2 日志归类模块的实现[2-3]
无线网关的日志采用linux的syslog机制进行记录,sys-log记录的日志中日期只包含月和日,没有年份.在该模块中,对日志记录的syslog机制进行一些改进,克服其在日志中不能记录年的问题.
下面以无线网关的日志为例,说明其实现过程.网关日志的保存文件为gw.log,用一个shell脚本,在每月的第一天零点,停止syslogd进程,在原来的文件名后面加上上一个月的年和月,如gw.log200603,再新建一个gw.log用于记录当月的日志,再重启syslogd记录日志.这样就把每月的日志存放在有标志年月的文件中,再利用c++处理一下,在记录中加入文件名中的年份.
3.3 日志审计与报警模块的实现
3.3.1 日志审计模块的处理流程(见图3).
3.3.2 规则库生成的实现.安全审计系统所采用的审计方法主要是基于对日志信息的异常检测,即通过对当前日志描述的用户行为是否与已建立的正常行为轮廓相背离来鉴别是否有非法入侵或者越权操作的存在.该方法的优点是无需了解系统的缺陷,有较强的适应性.这里所说的规则库就是指存储在检测异常数据时所要用到的正常的网络通信及操作规则的数据库.规则库的建立主要是对正常的日志信息通过数据挖掘的相关算法进行挖掘来完成.
首先系统从数据采集点采集数据,将数据进行处理后放入审计数据库,通过执行安全审计读入规则库来发现入侵事件,将入侵时间记录到入侵时间数据库,而将正常日志数据的访问放入安全的历史日志库,并通过数据挖掘来提取正常的访问模式.最后通过旧的规则库、入侵事件以及正常访问模式来获得最新的规则库.可以不停地重复上述过程,不断地进行自我学习的过程,同时不断更新规则库,直到规则库达到稳定.
3.3.3 日志信息审计的实现.日志审计主要包括日志信息的预处理和日志信息的异常检测两个部分.在对日志进行审计之前,首先要对其进行处理,按不同的类别分别接收到日志信息数据库的不同数据表中.此外,由于所捕获的日志信息非常庞大,系统中几乎所有的分析功能都必须建立在对这些数据记录进行处理的基础上,而这些记录中存在的大量冗余信息,在对它们进行的操作处理时必将造成巨大的资源浪费,降低了审计的效率,因此有必要在进行审计分析之前尽可能减少这些冗余信息.所以,在异常检测之前首先要剔除海量日志中对审计意义不大及相似度很大的冗余记录,从而大大减少日志记录的数目,同时大大提高日志信息的含金量,以提高系统的效率.采用的方式就是将收集到的日志分为不同类别的事件,各个事件以不同的标识符区分,在存放日志的数据库中将事件标识设为主键,如有同一事件到来则计数加一,这样就可以大大降低日志信息的冗余度.
在日志信息经过预处理之后,就可以对日志信息进行审计.审计的方法主要是将日志信息与规则库中的规则进行对比,如图3所示.对于检测出的不合规则的记录,即违反规则的小概率事件,记录下其有效信息,如源、目的地址等作为一个标识,并对其设置一怀疑度.随着日志审计的进行,如果属于该标识的异常记录数目不断增加而达到一定程度,即怀疑度超过一定阈值,则对其产生报警信息.
4 数据挖掘相关技术
数据挖掘是一个比较完整地分析大量数据的过程,一般包括数据准备、数据预处理、建立数据挖掘模型、模型评估和解释等,是一个迭代的过程,通过不断调整方法和参数以求得到较好的模型[4].
本系统中的有学习能力的数据挖掘方法主要采用了3种算法:
1)分类算法.该算法主要将数据影射到事先定义的一个分类之中.这个算法的结果是产生一个以决策树或者规则形式存在的“判别器”.本系统中先收集足够多的正常审计数据,产生一个“判别器”来对将来的数据进行判别,决定哪些是正常行为,哪些是入侵或非法操作.
2)相关性分析.主要用来决定数据库里的各个域之间的相互关系.找出被审计数据间的相互关联,为决定安全审计系统的特征集提供很重要的依据.
3)时间序列分析.该算法用来建立本系统的时间顺序模型.这个算法有利于理解审计事件的时间序列一般是如何产生的,这些所获取的常用时间标准模型可以用来定义网络事件是否正常.
5 结束语
该系统通过改进syslog机制,使无线网关的日志记录更加完善.采用有学习能力的数据挖掘技术对无线网关正常日志数据进行学习,获得正常访问模式的规则库,检测网络入侵行为和非法操作,减少人为的知觉和经验的参与,减少了误报出现的可能性.该系统结构灵活,易于扩展,具有一定的先进性和创新性,此外,使用规则合并可以不断更新规则库,对新出现的攻击方式也可以在最快的时间内做出反应.下一步的工作是进一步完善规则库的生成以及审计的算法,增强系统对攻击的自适应性,提高系统的执行效率.
参考文献:
[1] branch j w, petroni n l, doorn van l, et al.autonomic802.11 wireless lan security auditing[j]. ieee security&privacy, 2004(5/6):56-65.
[2] 李承,王伟钊,程立.基于防火墙日志的网络安全审计系统研究与实现[j].计算机工程,2002,28(6):17-19.
[3] 刘.无线网络安全防护[m].北京:机械工业出版社,2003.
[4] 毛国君.数据挖掘原理与算法[m].北京:清华大学出版社,2005.