84入侵检测系统Snort.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
84入侵检测系统Snort.doc

8.4 入侵检测系统Snort 8.4.1 Snort概述 Snort是一个功能强大、跨平台、轻量级的网络入侵检测系统,从入侵检测分类上来看,Snort应该是个基于网络和误用的入侵检测软件。它可以运行在Linux、OpenBSD、FreeBSD、Solaris、以及其它Unix 系统、Windows等操作系统之上。Snort是一个用C语言编写的开放源代码软件,符合GPL(GNU通用公共许可证 GNU General Public License)的要求,由于其是开源且免费的,许多研究和使用入侵检测系统都是从Snort开始,因而Snort在入侵检测系统方面占有重要地位。Snort的网站是。用户可以登陆网站得到源代码,在Linux和Windows环境下的安装可执行文件,并可以下载描述入侵特征的规则文件。 Snort对系统的影响小,管理员可以很轻易地将Snort安装到系统中去,并且能够在很短的时间内完成配置,方便地集成到网络安全的整体方案中,使其成为网络安全体系的有机组成部分。虽然Snort是一个轻量级的入侵检测系统,但是它的功能却非常强大,其特点如下: 1、跨平台性 可以支持Linux、Solaris、UNIX、Windows系列等平台,而大多数商用入侵检测软件只能支持一、两种操作系统,甚至需要特定的操作系统。 2、功能完备 具有实时流量分析的能力,能够快速地监测网络攻击,并能及时地发出警报。使用协议分析和内容匹配的方式,提供了对TCP、UDP、ICMP等协议的支持,对缓冲区溢出、隐蔽端口扫描、CGI扫描、SMB探测、操作系统指纹特征扫描等攻击都可以检测。 3、使用插件的形式 方便管理员根据需要调用各种插件模块。包括输入插件和输出插件,输入插件主要负责对各种数据包的处理,具备传输层连接恢复、应用层数据提取、基于统计的数据包异常检测的功能,从而拥有很强的系统防护功能,如使用TCP流插件,可以对TCP包进行重组:输出插件则主要用来将检测到的报警以多种方式输出,通过输出插件可以输出Mysql、SQL等数据库中,还可以以XML格式输出,也可以把网络数据保存到TCPDump格式的文件中;按照其输出插件规范,用户甚至可以自己编写插件,自己来处理报警的方式并进而作出响应,从而使Snort具有非常好的可扩展性和灵活性。 4、Snort规则描述简单 Snort基于规则的检测机制十分简单和灵活,使得可以迅速对新的入侵行为做出反应,发现网络中潜在的安全漏洞。同时该网站提供几乎与(应急响应中心,负责全球的网络安全事件以及漏洞的发布)同步的规则库更新,因此甚至许多商业的入侵检测软件直接就使用Snort的规则库。 8.4.2 系统组成和处理流程 图8-3显示了Snort的主要系统组成和基本的数据处理流程。 图 8-3 Snort程序流程图 1、数据包捕获库 基于网络的入侵检测系统需要捕获并分析所有传输到监控网卡的网络数据,这就需要包捕获技术,Snort通过两种机制来实现,其一是将网卡设置为混杂模式,另一方式则是利用Libpcap/Winpcap函数库从网卡捕获网络数据包。 数据包捕获函数库是一个独立的软件工具,能直接从网卡获取数据包。该函数库是由 Berkeley大学Lawrence Berkeley National Laboratory研究院开发,Libpcap支持所有基于可移植操作系统接口(Portable Operating System Interface of Unix,POSIX)的操作系统,如Linux、Unix等,后来为支持跨平台特性,又开发了Windows版本(http:// www.winpca ),Windows下和Linux的函数调用几乎完全相同,Snort就是通过调用该库函数从网络设备上捕获数据包。 2、数据包解码器 数据包解码器主要是对各种协议栈上的数据包进行解析、预处理,以便提交给检测引擎进行规则匹配。解码器运行在各种协议栈之上,从数据链路层到传输层,最后到应用层,因为当前网络中的数据流速度很快,如何保障较高的速度是解码器子系统中的一个重点。目前,Snort解码器所支持的协议包括Ethernet、SLIP和PPP等。 3、预处理器 预处理模块的作用是对当前截获的数据包进行预先处理,以便后续处理模块对数据包的处理操作。由于最大数据传输单元(MTU)限制及网络延迟等问题,路由器会对数据包进行分片处理。但是恶意攻击者也会故意发送经过软件加工过的数据包,以便把一个带有攻击性数据包分散到各个小的数据包中,并有可能打乱数据包传输次序,分多次传输到目标主机。因此,对异常数据包的处理也是入侵检测系统的重要内容。 预处理器主要包括以下功能:1)模拟TCP/IP堆栈功能的插件,如IP碎片重组、TCP流重组插件;2)各种解码插件:HTTP

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档