Windows环境下基于Snort的入侵检测系统应用Word格式.docx
- 文档编号:1394788
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:60
- 大小:287.73KB
Windows环境下基于Snort的入侵检测系统应用Word格式.docx
《Windows环境下基于Snort的入侵检测系统应用Word格式.docx》由会员分享,可在线阅读,更多相关《Windows环境下基于Snort的入侵检测系统应用Word格式.docx(60页珍藏版)》请在冰点文库上搜索。
3.5.5数据包解析模块的工作流程………………………29
3.6常规规则…………………………………………………………….29
3.6.1主要功能………………………………………………………29
3.6.2主要函数...............................................29
3.6.3检测引擎全流程……………………………………………………30
3.7输出模块…………………………………………………………………31
3.8.1输出模块………………………………………………………………31
3.8.2插件的使用………………………………………………………….31
3.9WinXP下实现基于Snort的入侵检测系统…………………………….32
4SNORT系统的应用实例…………………………………………………………35
4.1SNORT系统与防火墙技术的配合使用……………………………………35
4.1.1防火墙的局限性………………………………………………………35
4.1.2Snort检测器(探针)的部署……………………………………………35
4.2一个基于SNORT的网站入侵检测系统实现方案………………………36
4.2.1网站的物理结构………………………………………………………36
4.2.2入侵检测系统的组成…………………………………………………37
4.2.3入侵检测系统的物理布局…………………………………………….38
4.2.4编写与配置相应规则………………………………………………..38
5总结与展望…………………………………………………………….44
5.1总结………………………………………………………………44
5.2展望………………………………………………………………44
致谢……………………………………………………………………………44
参考文献…………………………………………………………………….44
第一章绪论
本章首先介绍了典型的网络入侵检测系统Snort的基本知识,阐述了Snort的发展现状及研究意义,最后介绍了本文的研究成果和章节安排。
1.1网络安全与入侵检测
在信息化社会中,计算机通信网络在政治、军事、金融、商业、交通、电文教等方面的作用日益增大。
社会对计算机网络的依赖也日益增强。
随着计算机技术、数字通信技术、网络技术的发展,世界己经进入了数字化、信息化的时代。
计算机网络己由单个的局域网发展到目前的跨区域的、国际性的计算机网络。
随着网络的开放性、共享性及互联性的扩大,特别是Internet的出现,网络的重
要性和对社会的影响也越来越大。
随着网络上各种新业务的兴起,比如电子商务、
电子现金、数字货币、网络银行等兴起,以及各种专用网的建设,使网络安全问
题显得越来越重要。
对于企业或者机关内部网来说,入侵的来源可能是多种多样的,比如说,它可能是企业或者机关内部心怀不满的员工、网络黑客,甚至是竞争对手。
攻击者
可能窃听网络上的信息,窃取用户的口令、数据库的信息,还可以篡改数据库的
内容,伪造用户身份,否认自己的签名。
更为严重的是攻击者可以删除数据库的
内容,摧毁网络的节点,释放计算机病毒,直到整个企业网络陷入瘫痪。
因此,
能否成功阻止网络黑客的入侵、保证计算机和网络系统的安全和正常运行便成为
网络管理员所面临的一个重要问题。
入侵检测技术是近20年来出现的一种主动保护自己免受黑客攻击的新型网
络安全技术。
什么是入侵检测呢?
简单地说,从系统运行过程中产生的或系统所
处理的各种数据中查找出威胁系统安全的因素,并对威胁做出相应的处理,就是
入侵检测。
相应的软件或硬件称为入侵检测系统。
入侵检测被认为是防火墙之后
的第二道安全闸门,它在不影响网络性能的情况下对网络进行监测,从而提供对
内部攻击、外部攻击和误操作的实时保护。
而本文所研究的Snort系统就是一个
典型的网络入侵检测系统。
1.2Snort系统
1.2.1Snort系统简介
Snort系统是一个以开放源代码的形式发行的网络入侵检测系统(NIDS),由
MartinRoesch编写,并由遍布世界各地的众多程序员共同维护和升级。
Snort
运行在LibpoaP库函数基础之上,系统代码遵循GNU/GPL协议。
Snort是一个轻
量级的网络入侵检测系统。
所谓的轻量级是指在检测时尽可能低地影响网络的正
常操作,一个优秀的轻量级的网络入侵检测系统应该具备跨系统平台操作,对系
统影响最小等特征并且管理员能够在短时间内通过修改配置进行实时的安全响
应,更为重要的是能够成为整体安全结构的重要成员。
Snort作为其典型范例,
首先可以运行在多种操作系统平台,例如UNIX系列和Windowsgx.(需要1ibpcap
Forwin32的支持),与很多商业产品相比,它对操作系统的依赖性比较低。
其
次用户可以根据自己的需要及时在短时间内调整检测策略。
就检测攻击的种类来
说,Snort检测规则包括对缓冲区溢出,端口扫描和CGI攻击等等。
另外Snort
还有回应入侵行为的辅助功能一发送RST和ICMPUNREACH数据包向攻击方可以
暂缓其对目标主机的攻击,对于Snort来说,实现该功能必然会降低检测的效率,
尤其是在网络流量特别大的时候。
另外,Snort还可以作为数据包嗅探器、数据
包记录器使用。
1.2.2Snort系统工作原理
Snort作为一个基于网络的入侵检测系统(NIDS),其工作原理为在基于共享网络上检测原始的网络传输数据,通过分析捕获的数据包,匹配入侵行为的特征或者从网络活动的角度检测异常行为,进而采取入侵的预警或记录。
从检测模式而言,Snort属于是误用检测(Misusedetection),即对已知攻击的特征模式进行匹配。
从本质上来说,Snort是基于规则检测的入侵检测工具,即针对每一种入侵行为,都提炼出它的特征值并按照规范写成检验规则,从而形成一个规则数据库。
其次将捕获得数据包按照规则库逐一匹配,若匹配成功,则认为该入侵行为成立。
1.2.3Snort系统的特点
1)Snort是一个轻量级的入侵检测系统Snort虽然功能强大,但是其代码
极为简洁、短小,其源代码压缩包不到2Ma
2)Snort的可移植性很好
Snort的跨平台性能极佳,目前已经支持Linux,Solaris,BSD,IRIX,
HP一UX,windows等系统。
采用插入式检测引擎,可以作为标准的网络入侵检测系统、主机入侵检测系统使用;
与Netfilter结合使用,可以作为网关IDS(GatewayIDS与nmap等系统指纹识别工具结合使用,可以作为基于目标的IDS(Target一basedIDS)。
3)Snort的功能非常强大
Snort具有实时流量分析和日志IP网络数据包的能力。
能够快速地检测网
络攻击,及时地发出报警。
Snort的报警机制很丰富,例如:
syslog、用户指定
的文件、一个UNIX套接字,还有使用SAMBA协议向Windows客户程序发出WinPopup消息。
利用XML插件,Snort可以使用SNML(简单网络标记语言,simplenetworkmark一uplanguage)把日志存放到一个文件或者适时报警。
Snort能够进行协议分析,内容的搜索/匹配。
现在Snort能够分析的协议有TCP,UDP,ICMP等。
将来,可能提供对ARP,ICRP,GRE,OSPF,RIP.IPX等协议的支持。
它能够检测多种方式的攻击和探测,例如:
缓冲区溢出、秘密端口扫描、CGI攻击、SMB探测、探测操作系统指纹特征的企图等等。
Snort的日志格式既可以是topdump式的二进制格式,也可以解码成ASCH字符形式,更加便于用户尤其是新手检查。
使用数据库输出插件,Snort可以把日志记入数据库,当前支持的数据库包括:
Postgresql,MySQL,oraCle、任何unix0DBC数据库等。
使用TCP流插件(tcpstream),Snort可以对TCP包进行重组。
Snort能够对IP包的内容进行匹配,但是对于TCP攻击,如果攻击者使用一个程序,每次发送只有一个字节的TCP包,完全可以避开Snort的模式匹配。
而被攻击的主机的TCP协议栈会重组这些数据,将其送给在目标端口上监听的进程,从而使攻击包逃过Snort的监视。
使用TCP流插件,可以对TCP包进行缓冲,然后进行匹配,使Snort具备了对付上面这种攻击的能力。
使用Spade(StatistiealPaeketAnomalyDeteetionEngine)插件,Snort能够报告非正常的可疑包,从而对端口扫描进行有效的检测。
Snort还有很强的系统防护能力。
使用FlexResp功能,Snort能够主动断开恶意连接。
4).扩展性能较好,对于新的攻击威胁反应迅速
作为一个轻量级的网络入侵检测系统,Snort有足够的扩展能力。
它使用一
种简单的规则描述语言。
最基本的规则只是包含四个域:
处理动作、协议、方向、注意的端口。
还有一些功能选项可以组合使用,实现更为复杂的功能。
Snort支持插件,可以使用具有特定功能的报告、检测子系统插件对其功能进行扩展。
Snort当前支持的插件包括:
数据库日志输出插件、碎数据包检测插件、端口扫描检测插件、HTTPURInormalization插件、XML插件等。
同时,它
支持多种格式的特征码规则输入方式,如数据库、XML等。
Snort的规则语言非常简单,能够对新的网络攻击做出很快的反应。
发现新
的攻击后,可以很快根据其特征码,写出检测规则。
因为其规则语言简单,所以
很容易上手,节省人员的培训费用。
5)多用途性
Snort系统不但可以作为入侵检测系统,还可以作为数据包嗅探器、数据包
记录器使用。
6)遵循公共通用许可证GPL
Snort遵循GPL,所以任何企业、个人、组织都可以免费使用它作为自己的
入侵检测系统。
但是,Snort系统也有很大的局限性,其系统结构决定了其检测规则只能使
用落后的简单模式匹配技术,适应目前不断出现的新的攻击方式的能力有限:
并
且它在网络数据流量很大的时候容易产生漏报和误报,这对于目前的宽带潮流是
一个很大的缺点。
1.2.4Snort系统的现状
1.发展现状
由于遍布世界各地的众多程序员共同维护和升级,目前Snort系统的更新是
很快的,目前版本2.0.5,其系统结构日趋合理,功能不断增强,检测规则也不
断增新和完善,但系统的基本架构没有变。
而且,自由软件开发人员陆续开发了
众多辅助性的软件。
这些软件包括图形化的管理系统、日志分析工具、检测插件、
图形化的规则编写软件,以及规则自动升级软件等。
对这些软件进行合理地选择、
集成,可以形成一套比较完善的网络入侵检测系统。
2.应用现状
Snort作为自由软件,二次开发费用低廉,预算比较紧张的企业,目前广泛
的应用Snort作为主要网络入侵检测系统。
而且Snort系统是非常典型的网络入
侵检测系统,它的体系结构是多数商用软件结构的基础,目前国内现有的大多数
网络入侵检测产品的设计模式都是以Snort系统的基本架构为基础的,其检测方
式也多与Snort系统类似。
3.研究意义及研究现状
1)学术上的意义
作为典型的网络入侵检测系统,其系统架构和检测方式是非常有代表性的.
对其源代码的彻底剖析和对其规则的分析是将来对通用入侵检测架构标准进一
步研究所必须要做的前期工作,对系统的详细分析也是将来对其功能进行升级革
新的前提。
同时,研究Snort系统对于改变国内目前入侵检测系统研发的落后局
面,也具有非常重要的意义。
2)商业应用上的意义
Snort系统是自由软件,相对于昂贵的商业入侵检测系统,应用Snort作为
入侵检测系统和对其进行专用性的二次开发的费用是非常低的。
同时,它的强大
功能和多功能性对企业也具有很大吸引力。
而且,国内目前多数的入侵检测系统
都是以Snort系统的基本原理和结构为基础的。
因此,对Snort系统的研究无疑
具有很大的商业意义。
3)对于保密工作的意义
如多数自由软件一样,Snort系统是否含有未知的可能导致泄密的隐藏代码
同样需要搞清楚,这对于Snort系统在机要、国防方面的应用是非常重要的。
彻
底的对整个Snort系统进行解析是最好的方法。
目前国内对Snort系统的研究取得了一定成果,而对Snort系统基本架构的研究尚处于起步阶段,对架构的研究仅限于系统的大体流程,对于各模块细节的研究远远不够,还没有出现以详细流程图的形式对Snort系统基本架构及的细致描述。
对于Snort规则的研究也不彻底,缺乏细致的剖析。
而本文以系统结构和规则为主要研究对象,对其进行详细的剖析。
1.3本文研究成果及章节安排
1.3.1本文主要研究成果
l)细致的剖析了Snort系统源代码,以系统流程图为主要形式描述了系统基
本架构和各模块工作流程。
目前尚未发现国内有类似的工作。
2)具体分析了Snort的一些典型规则,对其特点进行了总结。
3)结合实际提出了一个Snort系统的典型应用方案。
1.3.2章节安排
本文共分为六章,第一章为绪论,介绍了应用入侵检测技术的必要性,以及
Snort系统的基本知识,阐述了Snort系统的发展现状和研究意义,并列举了本
文的研究成果及内容安排。
第二章介绍了入侵检测系统的基本原理。
第三章为系
统结构分析,主要用流程图的形式细致的描述了整个Snort系统的基本架构和各
模块工作流程。
第四章为Snort规则的分析与编写,具体的分析了Snort系统一
些具有代表意义的规则实例,总结了Snort规则的特点,并提出了编写Snort规则所要注意的一些问题。
第五章为Snort系统的应用实例,先阐述了Snort作为入侵检测系统与防火墙的配合问题,随后提出了一个典型应用方案。
第六章为结束语,阐述了本文的贡献和下一步研究的方向。
第二章入侵检测系统
本章介绍了入侵检测系统的基本原理入侵检测是指通过从计算机网络或计
算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否
有违反安全策略的行为和遭到攻击的迹象,同时做出响应。
入侵检测系统(IDs:
I咖sionDetectinnsystem)是实现入侵检测功能的一系列的软件、硬件的组合。
作为一种安全管理工具,它从不同的系统资源收集信息,分析反映误用或异常行
为模式的信息,对检测的行为做出自动的反应,并报告检测过程的结果。
入侵检
测系统就其最基本的形式来讲,可以说是一个分类器,它是根据系统的安全策略
来对收集到的事件、状态信息进行分类处理,从而判断出入侵和非入侵行为。
2.1入侵检测系统的主要功能及构成
2.1.1入侵检测系统的主要功能
监督并分析用户和系统的活动
检查系统配置和漏洞
检查关键系统和数据文件的完整性
识别代表己知攻击的活动模式
对反常行为模式的统计分析
对操作系统的校验管理,判断是否有破坏安全的用户活动。
对一个成功的入侵检测系统来讲,它不但可使系统管理员时刻了解网络系统
〔包括程序、文件和硬件设备等)的任何变更,还能给网络安全策略的制订提供
指南。
更为重要的一点是,它应该管理、配置简单,从而使非专业人员非常容易
地获得网络安全。
而且,入侵检测的规模还应根据网络威胁、系统构造和安全需
求的改变而改变。
入侵检测系统在发现入侵后,会及时作出响应,包括切断网络
连接、记录事件和报警等。
2.1.2入侵检测系统的构成
入侵检测系统一般由信息收集模块、信息分析模块、用户接口组成。
1.信息收集
入侵检测的第一步是信息收集,内容包括系统、网络、数据及用户活动的状
态和行为。
而且,需要在计算机网络系统中的若干不同关键点(不同网段和不同
主机)收集信息,这除了尽可能扩大检测范围的因素外,还有一个重要的因素就
是从一个源来的信息有可能看不出疑点,但从几个源来的信息的不一致性却是可
疑行为或入侵的最好标识。
当然,入侵检测很大程度上依赖于收集信息的可靠性和正确性,因此,很有
必要只利用所知道的真正的和精确的软件来报告这些信息。
因为黑客经常替换软
件以搞混和移走这些信息,例如替换被程序调用的子程序、库和其它工具。
黑客
对系统的修改可能使系统功能失常并看起来跟正常的一样,而实际上不是。
例如,
UNIX系统的PS指令可以被替换为一个不显示侵入过程的指令,或者是编辑器被替换成一个读取不同于指定文件的文件(黑客隐藏了初试文件并用另一版本代
替)。
这需要保证用来检测网络系统的软件的完整性,特别是入侵检测系统软件
本身应具有相当强的坚固性,防止被篡改而收集到错误的信息。
入侵检测利用的
信息一般来自以下四个方面:
1)系统和网络日志文件
黑客经常在系统日志文件中留下他们的踪迹,因此,充分利用系统和网络日
志文件信息是检测入侵的必要条件。
日志中包含发生在系统和网络上的不寻常和
不期望活动的证据,这些证据可以指出有人正在入侵或己成功入侵了系统。
通过
查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应
程序。
日志文件中记录了各种行为类型,每种类型又包含不同的信息,例如记录“用户活动”类型的日志,就包含登录、用户ID改变、用户对文件的访问、授
权和认证信息等内容。
很显然地,对用户活动来讲,不正常的或不期望的行为就
是重复登录失败、登录到不期望的位置以及非授权的企图访问重要文件等等。
2)目录和文件中的不期望的改变
网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私
有数据文件经常是黑客修改或破坏的目标。
目录和文件中的不期望的改变(包括
修改、创建和删除),特别是那些正常情况下限制访问的,很可能就是一种入侵
产生的指示和信号。
黑客经常替换、修改和破坏他们获得访问权的系统上的文件,
同时为了隐藏系统中他们的表现及活动痕迹,都会尽力去替换系统程序或修改系
统日志文件。
3)程序执行中的不期望行为
网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和特
定目的的应用,例如数据库服务器。
每个在系统上执行的程序由一到多个进程来
实现。
每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系
统资源、程序和数据文件等。
一个进程的执行行为由它运行时执行的操作来表现,
操作执行的方式不同,它利用的系统资源也就不同。
操作包括计算、文件传输、
设备和其它进程,以及与网络间其它进程的通讯。
一个进程出现了不期望的行为
可能表明黑客正在入侵你的系统。
黑客可能会将程序或服务的运行分解,从而导
致它失败,或者是以非用户或管理员意图的方式操作。
4)物理形式的入侵信息
这包括两个方面的内容,一是未授权的对网络硬件连接;
二是对物理资源的
未授权访问。
黑客会想方设法去突破网络的周边防卫,如果他们能够在匆理上访
问内部网,就能安装他们自己的设备和软件。
依此,黑客就可以知道网上的由用
户加上去的不安全(未授权)设备,然后利用这些设备访问网络。
例如、用户在
家里可能安装Modem以访问远程办公室,与此同时黑客正在利用自动工具来识
别在公共电话线上的Medem,如果一拨号访问流量经过了这些自动工具,那么
这一拨号访问就成为了威胁网络安全的后门。
黑客就会利用这个后门来访问内部
网,从而越过了内部网络原有的防护措施,然后捕获网络流量,进而攻击其它系
统,并偷取敏感的私有信息等等。
2.信息分析
上述四类收集到的有关系统、网络、数据及用户活动的状态和行为等信息,
一般通过三种技术手段进行分析:
模式匹配,统计分析和完整性分析。
其中前两
种方法用于实时的入侵检测,而完整性分析则用于事后分析。
1)模式匹配
模式匹配就是将收集到的信息与己知的网络入侵和系统误用模式数据库进
行比较,从而发现违背安全策略的行为。
该过程可以很简单(如通过字符串匹配
以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表
示安全状态的变化)。
一般来讲,一种进攻模式可以用一个过程(如执行一条指
令)或一个输出(如获得权限)来表示。
该方法的一大优点是只需收集相关的数
据集合,显著减少系统负担,且技术己相当成熟。
它与病毒防火墙采用的方法一
样,检测准确率和效率都相当高。
但是,该方法存在的弱点是需要不断的升级以
对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。
2)统计分析
统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统
计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。
测量属性的平均值将被用来与网络、系统的行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Windows 环境 基于 Snort 入侵 检测 系统 应用