面向入侵检测的知识库系统研究

时间:2022-09-01 12:10:14

面向入侵检测的知识库系统研究

摘要:随着计算机互联网的迅速发展,网络的安全问题越来越受到人们的重视,传统的加密和防火墙技术已不能满足需求,入侵检测技术由此产生。虽然入侵检测系统(IDS)经过了20多年的发展,但仍然存在着许多问题需要解决。本文针对入侵检测系统的特点,提出了一个基于XML知识表示的知识库系统构架。本文采用XML来表示知识,重点阐述了如何将入侵检测系统中的规则和相关知识利用XML来描述。

关键词:入侵检测;知识库;XML;知识表示

中图分类号:TP393 文献标识码:A文章编号:1009-3044(2007)18-31595-04

System Research of Knowledge Base Based on Intrusion Detection

SHI Feng,PENG Hong

(South China University of Technology,Guangzhou 510635,China)

Abstract:With the rapid evolution of the Internet, the network security gets more and more attention.Traditional encryption techniques and firewall can not meet the requirement. The IDS (Intrusion Detection System) come into being. Although the IDS has been developed twenty years, but it still has a lot of problems to be resolved. This article, aim at the IDS’ characteristic, describe a Knowledge Base System based on XML data structure. This article explains how to use XML to describe the rules and related knowledge of IDS.

Key words:Intrusion Detection;Knowledge Base;XML;Knowledge Description

1 研究背景

随着Internet的应用范围日益广泛,对网络的各种攻击与日俱增,无论政府、商务,还是金融、媒体等的网络都在不同程度上受到入侵和破坏。近年来,网络安全事件呈爆炸性增长,安全问题日益突出。根据CERT/CC的统计[2],从2000年开始,安全事件急剧增加,而2003年这一数字就己经达到137529件,详细统计数据报表如图1所示。网络安全已经成为了人们一个无法回避的问题,提到网络安全,很多人首先想到的是防火墙,防火墙作为一种静态的访问控制类安全产品通常使用包过滤的技术来实现网络的隔离。适当配置的防火墙虽然可以将非预期的访问请求屏蔽在外,但不能检查出经过它的合法流量中是否包含着恶意的入侵代码。在这种需求背景下,入侵检测系统(IDS)应运而生。

图1 CERT/CC安全事件统计

入侵检测系统(IDS,Intrusion Detection System)作为对常规安全措施和安全产品的补充,已被越来越多的人所认识。自从James P. Anderson[1]于1980年提出入侵检测概念以来,经过二十多年的发展,入侵检测系统的研究已初具规模,并有众多的商业产品出现,但与其他的一些成熟的网络系统产品来说,入侵检测系统还存在着许多问题。目前,IDS处在高速发展的阶段,国内外已有大量的产品,但基本上不同的产品都采用不同的数据结构,而且各IDS系统之间也没有一个标准的信息表达和传输的标准,不同的产品之间无法交互信息,需要一个统一的标准。而使用XML来存储数据在目前来说,是非常便利而且很有发展潜力的,因而,利用XML来表示入侵检测的知识,不仅可以适应不同的系统平台,而且使得不同的IDS之间能进行信息交换,对IDS的发展有很大的帮助。

近年来对IDS的研究已成为当前计算机网络安全领域研究中的一个热点,各种新型技术和其他分支学科都被引入和借鉴到IDS的研究中来。这些技术有的尚处于理论研究阶段,有的已趋于完善,有的已得到广泛的应用。尽管IDS的研究已经取得了长足的发展,入侵检测系统还是存在着相当多的问题。并且很多问题是目前入侵检测系统结构很难以克服的,而且这些矛盾也可能越来越尖锐。针对目前IDS所提出的挑战的一些主要因素[3]有:攻击者不断增加的知识,日趋成熟多样自动化工具,以及越来越复杂细致的攻击手法;恶意信息采用加密的方法传输;必须协调、适应多样性的环境中的不同的安全策略;不断增大的网络流量;广泛接受的术语和概念框架的缺乏,IDS厂家基本处于各自为战的情况,标准的缺乏使得其间的互通几乎不可能;不断变化的入侵检测市场给购买、维护IDS造成困难;采用不恰当的自动反应所造成的风险;对IDS自身的攻击;大量的误报和漏报使得发现问题的真正所在非常困难等因素。

随着互联网的不断发展,计算机网络的应用越来越广泛也越来越重要,入侵和入侵检测的这一对互相对立的技术也在不断的发展和斗争之中。针对网络系统的攻击越来越普遍,攻击手法也日趋复杂。IDS也随着网络技术和相关学科的发展而日趋成熟,其未来发展的趋势主要表现在以下方面:宽带高速实时的检测技术;大规模分布式的检测技术;数据挖掘技术;更先进的检测算法;入侵响应技术等。入侵检测技术作为当前网络安全研究的热点,它的快速发展和极具潜力的应用前景还需要更多的研究人员参与。

入侵检测发展到现阶段,将人工智能及数据挖掘等技术应用于入侵检测系统中也是当前国内外都很活跃的一个研究方向,对提高IDS的性能有很大的帮助。而建立一个入侵检测系统的知识库系统对于这些研究来说都有很大的帮助作用。知识库系统是知识工程领域的基础,在它的基础上可以开发出各种类型的专家系统、决策支持系统、规划系统等知识处理系统。而知识工程作为人工智能研究中一个重要的领域,它涉及了计算机科学、人工智能、逻辑学、数学、认知科学、心理学等多门学科的内容,并在各个领域中都有广阔的应用前景。

本文主要研究利用XML技术针对入侵检测系统来建立知识库系统,考虑知识如何表示和存储,希望能给种类繁多的入侵检测系统提供一个统一的知识库系统,为将来的进一步研究工作提供良好的基础。

2 入侵检测系统

入侵检测系统(IDS)是将电子数据处理、安全审计、模式匹配及统计技术等有机地融合在一起,通过分析被检测系统的审计数据或直接从网络捕获数据,发现违背安全策略或危及系统安全的行为和活动。入侵检测技术是一种主动保护自己免受攻击的一种网络安全技术,作为防火墙的合理补充,入侵检测技术能够帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、攻击识别和响应),提高了信息安全基础结构的完整性。

入侵检测最早是由James P. Anderson于1980年4月在一份题为《Computer Security Threat Monitoring and Surveillance》(计算机安全威胁监控与监视)的技术报告中提出。到了1990年,加州大学戴维斯分校的L. T. Heberlein等人开发出了NSM(Network Security Monitor)[4]。该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机。从此之后,入侵检测系统发展史翻开了新的一页,两大阵营正式形成:基于网络的IDS和基于主机的IDS。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

从20世纪90年代到现在,入侵检测系统的研发呈现出百家争鸣的繁荣局面,并在智能化和分布式两个方向取得了长足的进展。目前,SRI/CSL、普渡大学、加州大学戴维斯分校、洛斯阿拉莫斯国家实验室、哥伦比亚大学、新墨西哥大学等机构在这些方面的研究代表了当前的最高水平。

3 XML

XML是eXtensible Markup Language的缩写,是一种扩展性标识语言。XML来源于SGML(Standard Generalized Markup Language -- 通用标识语言标准)。它是标志语言的标准,也就是说所有标志语言都是依照SGML制定的,也包括HTML。XML就是SGML的简化版,只不过省略了其中复杂和不常用的部分,和SGML一样,XML也可以应用在金融,科研等各个领域。

XML的语法规则既简单又严格,非常容易学习和使用,编写读取和操作XML的软件也是相对容易的事情。一个简单的XML文档例子:

4 Snort简介

Snort是一个功能强大的轻量级网络入侵检测系统(Network Intrusion Detection System,NIDS)[5]。snort是一个基于GPL的开源项目,可以很容易获得并免费使用,它具有实时数据流量分析和日志IP网络数据包的能力,能够进行协议分析,对内容进行搜索/匹配。它能够探测缓冲溢出、秘密端口扫描、CGI攻击、SMB探测、操作系统侵入尝试等各种不同的攻击方式,对攻击进行实时报警。此外,Snort也具有很好的扩展性和可移植性。

Snort系统使用的是特征检测,因而规则的描述及其重要。Snort使用的是一种简单的规则描述语言,一条Snort规则可以分为前后两个部分,规则头和后面的选项部分。最基本的规则只有规则头部分,包括处理动作、协议类型、方向、以及选择流量的四元组(源目的IP及源目的端口)。规则的选项部分是由一个或几个选项的符合,所有主要选项之间是与的关系。

Snort的规则语言语法非常简单,可以对新发现的攻击做出快速的反应,迅速开发新的Snort规则。编写新的规则,最重要的是知道新攻击的特征码。要得到一个新的攻击的特征码,一般的方法就是进行实际的测试。对一个测试网络进行攻击,使用Snort记录在攻击主机和测试网络之间的数据流。然后对记录的数据进行分析得到其唯一的特征码,最后把得到的特征码加入到规则中。

本文利用了Snort系统的规则库来进行知识库系统的初始化建设,将Snort系统的规则通过XML来进行表述,并存储在数据库中以供知识库系统的使用。

5 基于XML的入侵检测知识表示

XML文档清晰易读、易于创建,同时XML的标记和属性允许用户自行定义,并可以依照所定义的标记与属性的语法来开发应用程序。另外,还可以使用DOM很方便地解析XML文档。Snort规则文件使用的是一般的文本文件,虽然语法比较简单,但对于一般IDS用户来说,不直观,也不容易理解,而且与其他入侵检测系统之间的数据交换也比较困难。而采用XML来描述规则,就可以很好地利用其优点,使规则直观、易理解。另外,也可以实现不同入侵检测系统之间的互操作。使用XML来表示入侵检测系统中的知识,是非常合适的。

本系统的知识库包含三个部分:规则库、事实库、自定义

规则的XML表示:

由于本系统采用了专家系统工具,因而规则的描述也必须遵守专家系统的规范。一条规则由五个部分组成:规则的保留字,规则名称,规则的注释(可省略),规则的Lhs(条件部分),规则的Rhs(结论部分)。规则的Lhs与Rhs用=>分开。

本系统采用的规则来源于Snort系统的规则,一条Snort规则表现形式如下:

alert tcp $EXTERNAL_NET any -> $HOME_NET 135 (msg:" W32.Nachi.Worm Virus!";)

这条规则表示若发现由外部网络地址的任意端口到内部网络地址的135端口的TCP连接,就发出警告,并提示有病毒出现。图2描述了这条规则在专家系统中的表现形式:

图2 规则的描述

其中defrule为保留字,表示这是一条规则,这条规则名称为Rule_test,规则注释为“W32.Nachi.Worm Virus”(表示这是一个检测到Nachi蠕虫病毒的规则),规则的优先级为0。规则的条件部分(Lhs)为:数据包协议为tcp,源IP为外部地址,源端口为任意端口,目的IP为内部地址,目的端口为135;规则的结论部分(Rhs)为:发出警告,并输出有病毒提示-“W32.Nachi.省略的官方[6]规则文件-Sourcefire VRT Certified Rules。

规则文件采用了是2006年10月5日的released版本,共包含了49个.rules文件,每个rules文件描述了一类入侵检测的规则。

通过对之前Snort入侵规则的分析,我们可以将Snort现有的入侵规则进行改造,用XML加以处理,以满足本文所阐述的知识库系统中的规则库要求,将XML的规则文档存储在DB2 9数据库中相对应的表和列。通过对前面所获取的49个rules文件进行处理后并导入数据库中,我们就可以建立起一个拥有8184条规则知识的规则库,知识库系统已初显规模。

事实库知识的获取比较简单,我们主要通过一些网络数据包捕获程序(例如WinPcap、Libpcap等)将计算机网络上的数据包抓取下来,再通过网络数据包的分析工具(例如tcpdump、WinDump等)对抓获的数据包进行分析,针对自定义模版中的要求,我们可以从中获得所需要的数据包。然后再将数据包进行XML格式的转化,即可将数据包作为事实存放在事实库中。有了规则库和事实库中的相关知识后,我们就可以运行推理机来进行推理,知识库系统的基本功能就可以实现。

8 结束语

本文针对入侵检测系统中的知识库进行了研究,尤其针对利用XML对入侵检测知识库的知识表示和存储查询进行了详细分析和研究。重点描述了利用XML来进行知识的表示,以及对知识的管理、存储等功能的实现。用XML来表示知识,不仅可以在不同的计算机系统中运用理解本系统的知识,同时还可以在不同的入侵检测系统(IDS)中使用和交换相关的知识,最大限度的拓展知识的作用。针对XML文件的特点及数据库管理方面的特性,采用了IBM最新的DB2 9数据库管理系统来存储知识库,DB2 9是一个混合型的数据库管理系统,不仅具有原SQL关系型数据库的各项优点,同时又能够简单、高效的存储XML数据。

论文虽然已经初步建立起入侵检测系统知识库系统,但在知识库的利用上还比较欠缺,如何充分利用已建立的知识库,发挥更多的作用将是下一步工作的重点。

参考文献:

[1]Anderson。Computer security threat monitoring and surveillance[A].Technical Report,TR80904 [C],Washington:Anderson Co.1980

[2]CERT/CC。CERT/CC Statistics 1988-2006。

[3]Julia Allen,Alan Christie,William Fithen,John McHugh,Jed Pickel,Ed Stoner。State of the Practice of Intrusion Detection Technologies [A]。Tech. Rep., Carnegie Mellon University [C],2000。

[4]L. Todd Heberlein, Gihan V. Dias, Karl N. Levitt, Biswanath Mukherjee, Jeff Wood, David Wolber。A Network Security Monitor [A],p. 296, 1990 IEEE Symposium on Security and Privacy [C], 1990。

[5]李晓芳,姚远。入侵检测工具Snort的研究与使用[J]。计算机应用与软件 2006年 23卷 3期

[6]www.省略/vrt/.

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

上一篇:一种应用于分布式网络的新型私有多信道UWB MAC... 下一篇:网络攻击现象