张克柱
(宿州职业技术学院计算机系,安徽 宿州234000)
随着计算机互联网和信息化建设的高速发展,各高校都建立了自己的校园网,并对外开启了WEB服务、FTP服务、远程教学、资源下载等功能,对内开启了教务管理、人事管理、财务管理、学生管理等功能,实现数字化校园。每天网络用户访问量较大,网络安全存在极大隐患,加之网络攻击软件较多,操作系统存在安全漏洞,校园网络安全防护体系构建迫在眉睫。本文根据用户访问网络的相关日志,利用数据挖掘等相关技术,构建了基于数据挖掘技术的高校网络入侵检测系统,利用该系统可以高效地检测出可能出现的各种恶意网络攻击行为,并加以防范。
入侵检测系统[1],简称IDS,是指对用户网络行为、系统日志等信息进行检测与分析,对可能存在的非法入侵、异常行为等进行提前预警,并进行相应处理。入侵检测包括来自外网或内网的非授权用户行为,该系统将检测数据与原先设定好的安全策略进行比对,对违反策略的异常行为进行预警。
2.1.1 入侵检测的分类
(1)根据检测原理分类
异常检测:把检测到的网络行为与正常范围内的网络行为相比较,超出范围的,被认定为入侵,称之为异常检测。异常检测的优点是漏报率低,还能检测出很多未知的入侵行为,它的缺点是容易误报,而且误报率较高。
特征检测:把检测到的数据具有的特征与原先收集到的入侵行为特征库相比较,如果发现相匹配,则认定为入侵,并进行警告。特征检测的优点是误报率低,缺点是未发现过的入侵行为很难发现,漏报率高,特征库需要经常更新。
协议分析:根据网络协议的相关规定,确定是否存在网络攻击。
(2)根据检测的对象分类
应用软件入侵检测:对用户所访问的应用软件的日志等进行分析,判断用户是否为非法访问或存在某种攻击。
主机型入侵检测:是指通过主机的审计记录和系统日志,发现主机是否存在可疑事件,并给予及时响应。
网络型入侵检测:对网络上传输的数据进行侦听与分析,发现网络是否存在可疑数据。
分布式入侵检测:是主机入侵系统与网络入侵系统相结合的,每个网段采用的是分布式网络型检测方法,对各网段检测到的数据进行统一集中式的管理。
(3)根据体系结构分类
集中式:整个网络有一个中央入侵检测服务器,网络的每个主机都安装审计程序,中央入侵检测服务器对各主机审计程序发来的数据进行分析与处理,从而实现入侵检测功能。
等级式:将网络划分为多个不同等级的检测区域,采用树状结构管理,每一级管理本区域的数据检测,并将检测分析结果上传至上一级。
协作式:是集中式与等级式体系结构的结合体,检测效果较好,但实现起来较难。
2.1.2 当前入侵检测系统存在的问题
(1)不能很好地对网络上的数据包进行全面的检测
随着计算机网络的快速发展,网络速度越来越快,传统的数据包模式分析入侵检测技术已显得力不从心,因为数据包模式分析技术是对网络上接收到的所有数据包进行分析、匹配,判断其是否具有某种攻击特征,在比较的过程中需要消耗大量的系统资源和花费较多的时间,从而影响用户访问网络的速度。
(2)入侵检测系统特征库更新滞后
当前入侵检测系统很多都是采用传统的特征匹配技术,只能检测出特征库中已有的某种攻击,所以特征库更新显得很重要,只有特征库及时更新才能检测出最新的某种攻击,但目前还没有更好的方法及时更新特征库。
图1 基于数据挖掘的入侵检测系统模型
数据挖掘也称为知识发现,它是通过对数据库中大量杂乱无章的数据进行分析,挖掘出其中隐含着的某种有价值的信息,并为管理者提供决策支持。
针对传统入侵检测系统存在的问题,本文把数据挖掘技术融入到入侵检测系统中去,利用数据挖掘技术从历史审计数据里分别发现正常和异常数据行为所具有的特征,结合异常检测和特征检测技术,对已知入侵行为作出正确判断,并提高对未知入侵行为的检测能力,对DOS攻击等入侵行为有较好的检测效果[2]。
通过对入侵检测系统的分析,本文设计了基于数据挖掘的网络入侵检测系统模型,该系统由数据仓库、感应器、检测器、自适应模型生成器等组成,其优点是性能较高,扩展性较强,网络中多个入侵检测系统可以相互协同工作,如图1所示。
感应器:主要是指对网络中的原始数据进行捕捉,得出模型评估用的特征,并把格式化后的数据传输给检测器。
检测器:利用检测模型对感应器传送过来的数据进行检测,检测其是否存在攻击行为,并把结果传输至数据仓库。
数据仓库:它是整个模型的中心,主要用于存储数据和模型。
模型生成器:是指通过模型生成器,可以把检测出来的异常数据处理后,产生某种特殊的数据,再将此数据与数据仓库结合起来得出新的入侵攻击特征,并放入入侵特征库,便于下次遇到此类攻击能够及时检测出来。
报警器:当IDS检测出异常数据时,进行报警。
传统的IDS特征库建立时,所采用的技术相对单一。如果采用滥用入侵检测技术,则入侵系统特征库必须要及时更新;如果采用异常入侵检测技术,误报率又很高。为了提高检测效率,本文采用了关联规则、序列模式和过滤算法等技术,在利用关联规则发现入侵规则时,先过滤掉不符合约束条件的数据集,从而提高了基于数据挖掘的入侵行为检测的针对性和准确性[3]。
入侵检测系统中数据挖掘的基本步骤为:①将网络上检测到的原始数据转化成ASCII码表示的数据包信息。②再将此信息转换为包含服务类型、连接状态、持续时间等面向网络连接的记录放入数据仓库。③利用数据挖掘中的关联规则、序列模式挖掘等技术从网络连接记录数据中得出异常数据特征。④根据数据特征利用分类器得出入侵检测模型。如果此特征检测效果不明显,则利用数据挖掘技术重新计算,继续改进检测模型。如图2所示。
图2 入侵检测系统中的数据挖掘步骤
在基于数据挖掘的入侵检测系统中,主要是根据用户的需求,确定被挖掘的原始数据库,并设定一个最小阈值。为了提高数据挖掘的执行效率,准确找出入侵行为,在数据挖掘算法中还需加入异常数据约束条件。
假设原始数据库为D,加入异常数据约束条件A后生成的数据库为M,则可表示为:
if(t满足A) //t是D数据库中的项目
把t加入数据库M
endif
为测试该系统的入侵检测能力,在局域网中通过3台电脑做了实验,安装了WEB服务、E-mail服务、FTP服务的A机器作为被入侵的对象,安装基于数据挖掘的入侵检测系统的B机器作为入侵检测机器,C机器作为攻击机,其中,C机器在网上下载了很多攻击软件,利用攻击软件对A机器发动FTP、CGI等各种攻击,通过测试发现,安装了该入侵检测系统的对网络综合性能影响不大,但没有安装入侵检测系统的对网络综合性能随着网络攻击的时间增加,网络性能很差。
[1]吴庆涛,邵志清.入侵检测研究综述[J].计算机应用研究,2005,(12):3-6.
[2]徐兴元,傅和平,熊中朝.基于数据挖掘的入侵检测技术研究[J].微计算机信息,2007,(09):74-75.
[3]蔡勇,鄢志辉,周强.数据挖掘在网络入侵检测系统中的应用[J].重庆电子工程职业学院学报,2010,(03):164-166.