入侵检测课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机科学学院
入侵检测技术期末课程设计题目snort入侵检测系统
学号xxx
班级xxx
姓名xxx
指导教师xxx
成绩
完成时间2012 年 6 月
snort 入侵检测系统
一、课程设计目的
(1)通过实验深入理解入侵检测系统的原理和工作方式。
(2)熟悉入侵检测工具snort 在Windows 操作系统中的安装和配置方法
二、课程设计的原理
1 引言
snort 是一个免费的基于libpcap 的轻量级网络入侵检测系统。它能够跨系统平台操作,自带轻量级的入侵检测工具可以用于监视小型的TCP/IP 网络,在进行网络监视时snort 能够把网络数据和规则进行模式匹配,从而检测出可能的入侵企图,同时它也可以使用SPADE 插件,使用统计学方法对网络数据进行异常检测,这些强大的检测功能为网络管理员对于入侵行为做出适当的反击提供了足够的信息。
snort 使用一种易于扩展的模块化体系结构,开发人员可以加入自己编写的模块来扩展snort 的功能。这些模块包括:HTTP 解码插件、TCP 数据流重组插件、端口扫描检测插件、FLEXRESP 插件以及各种日志输入插件等。
同时snort 还是一个自由、简洁、快速、易于扩展的入侵检测系统,已经被移植到了各种UNIX 平台和Win98,Win2000上。它也是目前安全领域中,最活跃的开放源码工程之一。在 上几乎每天都提供了最新的规则库以供下载,由于snort 本身是自由的源码开放工程所以在使用snort 时除了必要的硬件外软件上基本上不需要有任何额外的开销。这相对于少则上千多则上万的商业入侵检测系统来说,无疑是最好的替代产品之一。
本文主要论述了snort 的背景知识以及它的基于规则的入侵检测机制,同时对于如何使用也作了概括说明。
2 入侵检测技术简介
入侵检测就是一个监视计算机系统或者网络上发生的事件,然后对其进行安全分析的过程。它可以用来发现外部攻击与合法用户滥用特权,根据用户的历史行为,基于用户的当前操作,完成对入侵的检测,记录入侵证据,为数据恢复和事故处理提供依据。入侵检测系统的原理如图A 所示: 入侵检测监测
作出响应攻击?
用户的历史操
作数据用户当前操
作的数据
否是
图A 入侵检测的原理图
大多数的入侵检测系统都可以被归入到基于主机、基于网络以及分布式三类。基于主机的入侵检测系统是一种早期的IDS 设计模型,它主要设计用来监视
单一的服务器,因为DNS、Email和web服务器是多数网络攻击的目标,这些攻击大约占据全部网络攻击事件的1/3以上,基于主机的入侵检测系统就是为了解决这些问题而设计的,它能够监视针对主机的活动(用户的命令、登录/退出过程,使用数据等等),它的特点就是针对性好而且,效果明显,误报率低。基于网络的入侵检测系统是后于基于主机入侵检测系统而出现的,它主要用于集中用于监控通过网络互连的多个服务器和客户机,能够监视网络数据发现入侵或者攻击的蛛丝马迹。分布式IDS通过分布于各个节点的传感器或者代理对整个网络和主机环境进行监视,中心监视平台收集来自各个节点的信息监视这个网络流动的数据和入侵企图。
在入侵检测系统中,系统将用户的当前操作所产生的数据同用户的历史操作数据根据一定的算法进行检测,从而判断用户的当前操作是否是入侵行为,然后系统根据检测结果采取相应的行动。入侵检测的过程是一个机器(检测工具)与人(黑客)对抗的决策分析过程,其技术基础是基于知识的智能推理,需要用到人工智能的相关技术。
各种入侵检测系统使用的检测方法可以分为两类:基于特征码的检测方法和异常检测。使用基于特征码检测方法的系统从网络获得数据,然后从中发现以知的攻击特征。例如:在某些URL中包含一些奇怪的Unicode编码字符就是针对IIS Unicode缺陷的攻击特征。此外各种模式匹配技术的应用,提高了这种检测方法的精确性。使用异常检测的系统能够把获得的数据与一个基准进行比较,检测这些数据是否异常。例如:如果一个雇员的工作时间是上9点到下午5点,但是在某个晚上他的计算机记录了他曾经在半夜登录了公司的邮件服务器,这就是一个异常事件,需要深入调查。现在,大量的统计学方法用于这个领域。
3Snort简介
snort是一个基于libpcap的轻量级网络入侵检测系统。根据,轻量级入侵检测系统是这样定义的:首先它能够方便地安装和配置在网络的任何一个节点上,而且不会对网络运行产生太大的影响,同时轻量级入侵检测系统还应该具有跨系统平台操作,最小的系统要求以及易于部署和配置等特征,并且管理员能够利用它在短时间内通过修改配置进行实时的安全响应。
Snort是一个典型的轻量级入侵检测系统,首先可以运行在多种操作系统平台,例如UNIX系列和Win9X,Win2000(需要libpcap for Win32的支持),与很多商业产品相比,它对操作系统的依赖性比较低。它的分发源码文件压缩包大约只有100KB,在一台一般性能的计算机上编译安装时大约只需几分钟的时间,另外配置激活也大约只需要十几分钟的时间,安装以后即便不对它进行维护也能长时间稳定运行。其次用户可以根据自己的需要及时在短时间内调整检测策略。就检测攻击的种类来说,据最新的规则包文件snortrules-stable.tar.gz(Sep 4 02:15:18 2002)snort共有33类,1867条检测规则,其中包括对缓冲区溢出,端口扫描和CGI攻击等等。
3.1Snort规则
Snort是基于规则的模式匹配的,这种体系结构非常灵活,用户可以到/dl/signatures/下载最新的规则,在上几乎每几天就会有新的规则被更新,同时用户也可以自己书写新的规则,Snort规则文件是一个ASCII文本文件,可以用常用的文本编辑器对其进行编辑。规则文件的内容由以下几部分组成:
变量定义:在这里定义的变量可以在创建Snort规则时使用。