摘要
近年来,互联网的爆炸式发展,给人类社会、经济、文化等带来了无限的机遇,同时也给信息安伞带来严峻挑战。人们采用反病毒,防火墙和入侵检测等技术手段来保i|F|)。9络信息安全。随着嘲络安全技术的1i断发展,入侵检测技术已经成为网络安全体系结构中不可或缺的一部分。
Snort入侵检测系统作为一种著名的开源网络入侵检测系统,能够有效保护系统信息安全,在业界得到了广泛研究和使用。但随着网络带宽不断提高,以及网络攻击种类的急剧增加,致使Snort的检测任务越来越重,从而有可能漏掉一些造成严重后果的网络攻击行为。因此,如何提高Snort的性能己成为入侵检测领域研究的一个热点。 本文以Snort系统为研究对象,分析Snort系统的基本架构,并探讨了Snort系统的具体应用。论文工作主要包含以下三个方面:
1、在介绍入侵检测系统的基础上,对Snort系统结构、主要模块功能、上作流程和规则结构进行细致剖析。
2、通过对Snort的深入分析,提出了改进Snort的四种方法:第一、采用内存映射技术和NAPI技术来改进Snort的包捕获性能。第二、采用规则优化技术创建高效的规则集以提高规则匹配的速度。第三、利用高速缓存策略提高检测效率。第四、存预处理模块设定阈值忽略统计到的频繁连接的包。
3、分析Snort系统与防火墙技术配合使用的必要性,结合实际提出了一个Snort系统的典型应用方案。
关键词:入侵检测:检测性能:Snort应用 Abstract
Recent years,the internet has got explosive development,which brings the human society,economy,culture infinite opportunity,meanwhile,it also brings information security rigorous challenge.People adopt ani—virus,firewall,intrusion detection technology etc to assure the network security.With the development of network technology,the intrusion detection technology has become the necessary component of network security architecture.
Snort intrusion detection system,as a famous open source NIDS,could protect system information security effectively,which gets vast research and appl ication in industry.The Snort detect ion engine adopts the simple pattern matching strategy.Wi th the increase of net—band and rule—set,the detection load of Snort iS becoming heavier:therefore,it iS possible that Snort may neglect some severe attacks.So it is crucial to design high efficient pattern matching algorithm for intrusion detection system. The main works of this paper include the following three parts: 1、Based on introducing Intrusion Detection System,the paper get through a deep research on Network Intrusion Detection System named Snort.Through analyzing modules of the Snort’S architecture,working flow and rules,the paper points out the performance bottleneck of the
Snort
2、Based on which the paper gives out the methods to improve snort’S performance:First,the technology of the improved packet capture, whi ch can improve the performance of packet capture by using Memory
mapping,NAPI:Second,Third,the technology of optimization rules,which can improve the speed of matching rules by creating efficient rule
sets:Third,a dynamiC Cache strategy iS put forward,in which the recent frequentIy used rule node pointers ale stored in a Cache block:Fourth, Set threshold to i gnore the star i st i cal connect i on between the packet. 3、Unified actually proposed a Snort system model application plan
KeyWords:Intrusion detection:Detection Performace:Application of Snort 基于Snort的入侵检测系统的研究与应用 第一章绪论
1.1课题研究背景
中国互联蚓络信息中心(CNNIC)报告了截至2008年12月31日的我国互联网络情况:我国网民数量规模达到2.98亿人,我同国际m口带宽总量640286.67M。计算机网络飞速发展,已经渗入现代社会生活的方方而面。很多单位建立了自己的局域网,通过局域网实现资源共享和协同工作,从而提高工作效率。但人们在享受计算机网络带来的种种便利的同时,也不得不面对网络上存在。的严重的安全问题。2008年,公安部网络安全状况调查结果显示:被调查的12000余家企业有62.7%发生过网络信息安全事件。而发生安全事件的企业中,72%的企业感染了计算机病毒、蠕虫和木马程序,22%的企业受到垃圾电子邮件干扰和影响,50%的企业发生网络端口扫描、拒绝服务攻击和网页篡改等安全事件。 为对付“黑客”们层出不穷的攻击,人们采取各种各样的反攻击手段:外部防御、外部威慑、内部防御、内部威慑、入侵检测、诱骗技术、入侵对抗、陷阱或假目标等。所有这些反攻击手段可以分为两大类:被动型和主动型l。被动型反攻击手段的典型代表是防火墙。它们主要是基于各种形式的静态禁止策略。被动型反攻击手段对于改善网络安全有很实际的意义,而且也是对所有网络安全最基本的响应措施。但是被动型防御机制也有它自己的局限性。例如,防火墙虽然能够通过过滤和访问控制,制止多数对系统的非法访问,但却不能抵御某些入侵攻击,尤其是在防火墙系统存在配置上的错误、没有定义或没有明确定义系统安全策略时,都会危及整个系统的安全。另外,由于防火墙主要是在网络数据流的关键路径上,通过访问控制来实现系统内部与外部的隔离,而针对恶意的移动代码(病毒、木马、缓冲溢出等)攻击以及来自内部的攻击等,防火墙将无能为力。
主动型反攻击手段的典型代表就是本论文将要研究的入侵检测系统。它是一种能自动识别系统中异常操作和未授权访问、检测各种网络攻击的技术。入侵检测是最近发展起来的一种动态的监控、预防或抵御系统入侵行为的安全机制,主要通过监控网络、系统的状态、行为以及系统的使用情况,来检测系统用户的越权使用以及系统外部入侵者利用系统的安全缺陷对系统进行入侵的企图。和传统的预防性安全机制相比,入侵检测是一种事后处理方案,具有智能监控、第。章绪论实时探测、动态响应、易于配置等特点。入侵榆测技术的引入,使得网络、系统的安全性得到进。。步的提高(例如,可以检测出内部人员偶然或故意提高他们的用户权限的行为,避免系统内部人员对系统的越权使用)。入侵检测技术是网络安全体系中重要的组成部分,它的开发和应用可以增大网络与系统安全的保护力度。入侵监测技术作为一种主动的信息安伞保障措施,有效地弥补了传统安伞防护技术的缺陷。通过构建动态的安全循环,可以最大限度地提高系统的安全保障能力,减少安全威胁对系统造成的危害。目前,入侵检测已经成为网络安全工具的主要研究和开发方向。
1.2国内外发展现状
Snort是目前最著名、最活跃的开放源码网络入侵检测系统。Snoa定位于
轻量级的入侵检测系统,已经实现了网络探测器和许多第三方的管理及日志分析 -丁具,是月前世界上使用最广泛的开源入侵检测系统之一。Snon可以完成实时 流量分析和对记录网络IP数据包的能力,能够进行协议分析、内容查找/匹配, 能够检测到缓冲区溢出,端口扫描、CGI(comnlon gateway interface)攻击、SMB (server message block)探测、操作系统指纹探测企图等。Snort可以运行于
Linux/Unix系列,Windows等操作系统,具有良好的跨平台性,并提供丰富的报 警机制。Snort遵循GPL(general public license),所以任何企业、个人、组织都可 以免费使用它作为自己的网络入侵检测系统。Snon整体设计编码简洁明了,攻击 检测规则集已成一定规模,它的规则集已经被很多其他开放源码IDS项目所兼
容。历经数年的发展,Snort已经发展到了2.8.4版本。Snort基本架构在SnortI.6 版本时确立,2.0版本开始采用了新型的入侵检测引擎,功能更加完善和强大。 Snoa已经成为学习和研究入侵检测系统的经典实例。
目前,许多商业入侵检测系统都是在Snon入侵检测系统的基础上发展来的, 有些甚至是Snon的翻版。国内也开发了不少商用入侵检测系统,例如扁明星辰 公司的“天阗入侵检测系统”,中科网威的“天眼入侵检测系统”,绿盟科技的“冰 之眼”入侵检测系统,联想也开发了“联想网御入侵检测系统”。虽然日前市面 上的商用入侵检测系统种类繁多,但是分析其本质,这些入侵检测系统都借鉴了 Snort的设计思想。 2
基于Snon的入侵检测系统的研究与戍用 1.3本文的研究内容及章节安排 1.3.1本文的研究内容
Snort已经成为基于特征的网络入侵检测系统的典型代表,因此研究和分析 Snort系统对于提高。。般基于特征的入侵检测系统的性能有很大意义。本论文以 著名的开源入侵检测系统Snort为研究平台,开展如下三方面工作:
1、在介绍入侵检测系统的基础上,对Snort系统结构、主要模块功能、工 作流程和规则结构进行细致剖析。
2、通过对Snort的深入分析,提出了改进Snort的四种方法:第一、采用内
存映射技术和NAPI技术来改进Snort的包捕获性能。第二、采用规则优化技术创 建高效的规则集以提高规则匹配的速度。第三、利用高速缓存策略提高检测效率。 第四、在预处理模块设定阈值忽略统计到的频繁连接的包。 3、结合实际提出了一个Snort系统的典型应用方案。 1.3.2章节安排
本文共分为六个部分: 第‘‘章是绪论,阐述课题研究背景、本文的研究内容以及本文的内容安排。 第二章介绍了入侵检测系统的基本原理,对IDS进行了分类,对IDS的发展 趋势进行了展望。
第三章给出了基于Snort的入侵检测系统的分析,分析了Snort的特性,给 出了Snort的模块结构以及各个模块功能,并从规则解析和规则匹配对Snort的 入侵检测流程进行了解析。
第四章对Snort的性能瓶颈进行分析,从数据包捕获机制,规则优化和减少
检测流量等几方面着手,总结这几方面所采用的改进技术,并在最后给出了优化
Snort性能的综合检测模型。
第五章为Snort系统的应用实例,先分析了Snort作为入侵检测系统与防火 墙的配合问题,随后提出了一个典型应用方案。 第六章为结束语,阐述了下一步研究的方向。 第二章入侵检测系统慨述 第二章入侵检测系统概述
入侵检测系统已经发展成为安全网络体系中的一个关键性组件.本章主要 对入侵检测的定义、分类、模型进行简单介绍,并对入侵检测系统存在的’‘些问 题进行探讨。
2.1入侵检测系统I DS构成与工作流程
入侵检测系统【61是一种主动的安伞防护工具,它从计算机系统或网络环境中 采集数据,分析数据,发现可疑攻击行为或者异常事件,并采取一定的响应措施 拦截攻击行为,降低可能的损失。提供了对内部攻击、外部攻击和误操作的实时 防护,在计算机网络和系统受到危害之前进行报警、拦截和响应。它具有以下主 要作用:.
1、监视、分析用户及系统活动: 2、系统构造和弱点的审计;
3、识别已知进攻的活动模式,并产生告警; 4、异常行为的统计分析;
5、评估重要系统和数据文件的完整性;
6、操作系统的审计跟踪管理,并识别用户违反安全策略的行为。 2.1.1入侵检测系统的组成
DARPA(美国幽防部高级计划局)提出的CIDF(公共入侵检测框架)是一
个入侵检测系统的通用模型口3。该入侵检测系统由事件产生器、事件分析器、事 件数据库、响应单元和目录服务器组成。
l、事件产生器:负责收集原始数据,它对数据流、日志文件等进行追踪然 后将搜集到的原始数据转换成事件,并向系统的其他部分提供此事件。 2、事件分析器:对接受到的事件信息进行分析;以判断它们是否属于入侵 行为或-异常现象,然后将判断结果转换成报警信息。 3、事件数据库:负责存放中间数据和最终数据。
4、响应单元:根据事件分析器传来的报警信息做出反应。 4
基于Snon的入侵检测系统的研究与应用
5、目录服务器:负责控制各组件传递的数据并认证其他组件的使用,以防 止IDS本身受到攻击。
2.1.2入侵检测系统工作流程
通用的入侵检测的工作流程主要分为以下四步:
第一步:信息收集。信息收集的内容包括系统、网络、数据及用户活动的状 态和行为。这一步非常重要,凶为入侵检测很大程度上依赖于收集信息的可靠性 和正确性。
第二步:信息分析。是指对收集到的数据信息,进行处理分析。一般通过协 议规则分析、模式匹配、通缉分析和完整性分析几种手段来分析。
第三步:信息存储。当入侵检测系统捕获到有攻击发生时,为了便于系统管 理人员对攻击信息进行查看和对攻击行为进行分析,还需要将入侵检测系统收集
到的信息进行保存,这些数据通常存储到用广指定的同志文件或特定的数据库 巾。
第四步:攻击响应。对攻击信息进行了分析并确定攻击类型后,入侵检测系 统会根据用户的设置,对攻击行为进行相应的处理,如发出警报、给系统管理员 发邮件等方式提醒用户。或者利用自动装置直接进行处理,女Jl切断连接,过滤攻 击者的IP地址等,从而使系统能够较早的避开或阻断攻击。 2.2入侵检测系统的分类 2.2.1入侵检测系统分类
入侵检测系统的分类方法不是唯一的,有两种比较常用标准:按照信息源和
分析方法的标准来分类的旧1。入侵检测系统根据数据来源分为基于主机的入侵检 测系统(HIDS)和基于网络的入侵检测系统(NIDS)以及混合型入侵检测系统:根据 分析方法分为异常检测(AD)和误用检测(MD):根据响应方式分为被动响应系统和 主动响应系统。入侵检测系统的分类架构如图2—1所示: 第二章入侵检测系统概述 2.2.2基于主机的入侵检测 图2-1入侵检测系统分类
基于主机的入侵检测系统卜m1为早期的入侵检测系统结构,其检测的目标主 要是主机系统和系统本地用户。检测原理是根据主机的审计数据和系统日志发现 可疑事件。检测系统可以运行在被检测的主机或单独的主机}:。系统结构图如图 2-2:
图2—2基于主机的入侵检测系统
从技术发展的历程米看,入侵检测是在丰机审计的罐础上发展起米的,因而 早期的入侵检测系统都是基于主机的入侵检测系统。主机型入侵检测系统保护的 一般足所在的主机系统。 6 统 统 深 曛 烈 翮 溅 澍 瓢溯缆 检 检 斟捡系 侵 侵 侵经测 扒 入 川~埝 试