Snort研究与应用.docx
《Snort研究与应用.docx》由会员分享,可在线阅读,更多相关《Snort研究与应用.docx(19页珍藏版)》请在冰豆网上搜索。
![Snort研究与应用.docx](https://file1.bdocx.com/fileroot1/2022-12/11/3f083eaf-7d7b-490c-960c-a43286efd7f5/3f083eaf-7d7b-490c-960c-a43286efd7f51.gif)
Snort研究与应用
2013年11月13日
摘要
计算机和网络技术的快速发展给人类生产和生活带来了革命性的变化,这也使得人类面临着网络安全这种新的威胁。
传统的加密和防火墙技术已经不能完全满足信息安全的需求,入侵检测技术作为一种必要的安全手段,在网络安全领域发挥着其独到的作用。
当前入侵监测系统主要分为两类:
基于主机的入侵监测系统和基于网络的入侵监测系统。
其中基于网络的入侵监测系统有明显的优势,它设置在一台主机上就可以监控保护整个网段,降低了成本,提高了效率。
本文研究的snort系统是基于网络的入侵监测系统的一种。
入侵监测系统主要有三种不同的检测方法:
完整性监测、异常检测、特征检测。
完整性监测是将系统的文件生成一个校验和,然后定期将文件进行校验,如果发生裂变话就发出警报。
异常敬爱南侧是监测一个行为与标准是否相同,如果不同就发出警报。
特征检测是对入侵行为的特点进行检测的一种方法,使检测一直攻击的最准确的方法,snort系统使用的是特征检测方法。
Snort系统与现存有一些规则集,当一个入侵于一个特征匹配的时候就会产生警报。
特征检测的核心技术是模式匹配算法的应用。
随着高速网络的迅猛发展,网络流量不断增大,入侵监测系统的实时性要求面临重大考验,高校的模式匹配算法的作用就显得尤为重要。
关键词:
snort,入侵检测,网络安全
目录
第一章绪论…………………………………………………………………………4
1.1网络安全现状……………………………………………………………………………4
1.2本文的研究目的及意义…………………………………………………………………4
第二章snort介绍……………………………………………………………………4
2.1snort的简介………………………………………………………………………………4
2.2snort的原理………………………………………………………………………………5
2.3snort的运行………………………………………………………………………………5
2.4snort的不足………………………………………………………………………………5
第三章snort入侵检测系统…………………………………………………………5
3.1snort入侵检测系统概述…………………………………………………………………5
3.2snort入侵检测系统IDS构成与工作流程………………………………………………6
3.2.1snort入侵检测系统的组成………………………………………………………6
3.2.2snort入侵检测系统的工作流程…………………………………………………6
3.3snort入侵检测系统分类…………………………………………………………………7
3.3.1入侵检测系统分类…………………………………………………………………7
3.3.2基于主机的入侵检测………………………………………………………………7
3.3.3基于网络的入侵检测………………………………………………………………9
3.3.4一种混合的方法……………………………………………………………………10
3.3.5误用入侵检测………………………………………………………………………10
3.4snort入侵检测面临的挑战和发展趋势………………………………………………11
3.4.1snort入侵检测面临的挑战………………………………………………………11
3.4.2snort入侵检测面临的发展趋势…………………………………………………11
3.5本章小结………………………………………………………………………………13
第四章Snort规则…………………………………………………………………13
4.1规则的结构……………………………………………………………………………13
4.2规则的选项……………………………………………………………………………17
4.3第一个不可用规则……………………………………………………………………18
第五章snort的应用………………………………………………………………19
第一章绪论
1.1网络安全现状
计算机和互联网技术正在飞速地发展,网络应用日益普及且更加复杂,网络安全问题也成为互联网和网络应用发展中面临的重要问题。
中国国家计算机网络应急技术处理协调中心(CNCERT/CC)公布的“2004年网络安全工作报告”显示,CNCERT/CC在2004年共收到报告的网络安全事件64000多件,同2003年相比,网络安全事件报告数量大大增加。
从调查报告公布的数据和状况可以看出,各种网络安全漏洞大量存在和不断地被发现,网络攻击行为日趋复杂,各种方法相互融合,网络安全问题变得错综复杂,使网络安全防御更加困难,然而出于现代计算机和网络自身设计的一些问题,当前还不具有一种能保证计算机和网络绝对安全的技术。
1.2本文的研究目的及意义
入侵,是指任何试图危及计算机资源的完整性、机密性或可用性的行为。
入侵检测就是通过从计算机网络或者系统中的关键点收集信息,并对这些信息进行分析进而发现网络或系统中时否有违反安全策略的行为和遭到攻击的迹象。
而进行入侵检测的软件和硬件合起来便构成了入侵检测系统。
入侵检测系统是网络纵深防御体系中的重要组成部分,被看作是防火墙之后的第二道防线,能够收集计算机系统进行监控,识别攻击并进行实时反映。
目前国内外的入侵检测系统都是商用软件,价格昂贵,使大多中小企业望而却步。
Snort是一款跨平台,开放源代码的免费软件,支持多种操作系统和硬件平台。
它不仅能够进行协议分析、内容检索、内容匹配,而且能够用于检测缓冲区溢出、隐蔽端口扫描、CGI攻击、OS指纹识别等大量攻击和探测。
Snort使用基于规则的匹配模式来检测这些攻击,并提供了模块化得检测引擎。
第二章Snort介绍
2.1snort的简介
在1998年,MartinRoesch先生用C语言开发了开放源代码(OpenSource)的入侵检测系统Snort.直至今天,Snort已发展成为一个多平台(Multi-Platform),实时(Real-Time)流量分析,网络IP数据包(Pocket)记录等特性的强大的网络入侵检测/防御系统(NetworkIntrusionDetection/PreventionSystem),即NIDS/NIPS.Snort符合通用公共许可(GPL——GUNGeneralPubicLicense),在网上可以通过免费下载获得Snort,并且只需要几分钟就可以安装并开始使用它。
snort基于libpcap。
2.2snort的原理
Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。
Snort通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。
Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。
例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成TIP碎片重组,http解码,telnet解码等功能,处理插件完成检查协议各字段,关闭连接,攻击响应等功能,输出插件将得理后的各种情况以日志或警告的方式输出。
2.3snort的运行
Snort的有三种模式的运行方式:
嗅探器模式,包记录器模式,和网络入侵检测系统模式。
嗅探器模式仅仅是从捕获网络数据包显示在终端上,包记录器模式则是把捕获的数据包存储到磁盘,入侵检测模式则是最复杂的能对数据包进行分析、按规则进行检测、做出响应。
2.4snort的不足
Snort入侵检测系统适应多种平台,源代码开放,使用免费,受众多用户喜爱,但也有不少缺点。
Snort之所以说他是轻量型就是说他的功能还不够完善,比如与其它产品产生联动等方面还有待改进;Snort由各功能插件协同工作,安装复杂,各软件插件有时会因版本等问题影响程序运行;Snort对所有流量的数据根据规则进行匹配,有时会产生很多合法程序的误报。
第三章Snort入侵检测系统
3.1snort入侵检测系统概述
入侵检测系统已经发展成为安全网络体系中的一个关键性组件。
本章主要对入侵检测的定义、分类、模型进行简单的介绍,并对入侵检测系统存在的一些问题进行探讨。
3.2snort入侵检测系统IDS构成与工作流程
入侵检测系统是一种主动的安全防护工具,它从计算机系统或网络环境中采集数据,分析数据,发现可疑攻击行为或者异常事件,并采取一定的响应措施拦截攻击行为,降低可能的损失。
提供了对内部攻击、外部攻击、和误操作的实时防护,在计算机网络和系统受到危害之前进行报警、拦截和响应。
它具有以下主要作用:
1、监视、分析用户及系统活动;
2、系统构造和弱点的审计;
3、识别已知进攻的活动模式,并产生告警;
4、异常行为的统计分析;
5、评估重要系统和数据文件的完整性;
6、操作系统的审计跟踪管理,并识别用户违反安全策略的行为。
3.2.1snort入侵检测系统的组成
DARPA(美国国防部高级计划局)提出的CIDF(公共入侵检测框架)是一个入侵检测系统的通用模型。
该入侵监测系统由实践产生器、时间分析器、事件数据库、响应单元和目录服务器组成。
(1)事件发生器:
负责收集原始数据,它对数据流、日志文件等进行追踪然后搜集到的原始数据转换成事件,并向系统的其它部分提供此事件。
(2)时间分析器:
对接受到的实时信息进行分析:
以判断它们是否属于入侵行为或异常现象,然后将判断结果转换成报警信息。
(3)事件数据库:
负责存放中间数据和最终数据。
(4)响应单元:
根据事件分析器传来的报警信息作出反应。
(5)目录服务器:
负责控制各组件传递的数据并认证其它组件的使用,以防止IDS本身受到攻击。
3.2.2snort入侵检测系统的工作流程
入侵检测的工作流程主要分为以下四步:
(1)信息收集。
信息收集的内容包括系统、网络、数据及用户活动的状态和行为。
(2)信息分析。
它是指对收集到的数据信息,进行处理分析。
一般通过协议规则分析、模式匹配、逻辑分析和完整性分析几种手段来分析。
(3)信息存储。
当入侵监测系统捕获到有攻击发生时,为了便于系统管理员对攻击信息进行查勘和对攻击行为进行分析,还需要将入侵监测系统收集到的信息进行保存,这些数据通常存储到用户指定的日志文件或特定的数据库中。
(4)攻击响应:
对攻击信息进行分析并确定攻击类型后,入侵检测系统会根据用户的设置,对攻击行为进行相应的处理,如发出警报、给系统管理员发邮件等方式提醒用户。
或者利用自动装置进行处理,如切断连接,过滤攻击者的IP地址等,从而使系统能够较早的避开或阻断攻击。
3.3snort入侵检测系统分类
3.3.1入侵检测系统分类
入侵检测系统的分类方法不是唯一的,有两个比较常用标准;按照信息源和分析方法的标准来分类。
入侵检测系统根据数据来源分为基于主机的入侵检测(HIDS)和基于网络的入侵检测系统(NIDS)以及混合型入侵检测系统;根据分析方法分为异常检测(AD)和误用检测(MD);根据响应方式分为被动响应系统和主动响应系统。
入侵监测系统的分析结构如下图
图2-1分析结构图
3.3.2基于主机的入侵检测
基于主机的入侵检测系统为早期的入侵检测系统结构,其检测的目标主要是主机系统和系统本地用户。
检测原理是根据主机的审计数据和系统日志发现可疑事件。
检测系统可以运行被检测的主机或单独的主机。
系统结构图如下图:
图2-2基于主机的入侵检测系统
从技术发展的历程米看,入侵检测是在丰机审计的基础上发展起米的,因而早期的入侵检测系统都是基于主机的入侵检测系统。
主机型入侵检测系统保护的一般足所在的主机系统。
通常,基于主机的IDS是以监测系统、事件齐fiWindowNT下的安全记录以及UNIX环境下的系统记录,从而发现可疑行为。
当有文件发生变化时,IDS将新的记录条目与攻击.标记相比较,看它们是否匹配。
如果匹配,系统就会向管理员报警并向别的目标报告,以采取措施。
对关键系统文件和可执行文件的入侵检测的一个常用方法,是通过定期检查校验和来进行的,以便发现意外变化。
反应的快慢与轮询间隔的频率有直接的关系。
此外,许多IDS还监听端口的活动,并在特定端口被访问时向管理员报警。
尽管基于主机的入侵检测系统不如基于网络的入侵检测系统快捷,但它却具有基于网络的入侵检测系统无法比拟的优点。
这些优点包括:
1、能够确定攻击是否成功。
主机是攻击的最终目标所在,所以基于主机的IDS使用含有已发生的事件信息,可以比基于网络的IDS更加准确地判断攻击是否成功。
2、监控力度更细。
基于主机的IDS监控目标明确、视野集中,可以检测一些基于网络的IDS不能检测的攻击。
它可以很容易地检测一些活动,包括对敏感文件、目录、程序或端口的存取。
例如,基于主机的IDS是以监督所有用户登录及退出登录的情况,以及每位用户在联接到网络以后的行为。
它还可以监视通常只有管理员才能实施的非正常行为。
针对系统的一些活动,有时并不通过网络传输数据,有时虽然通过网络传输数据,但所传输的数据并不能提供足够多的信息,从而使基于网络的IDS检测不到这些行为,或者很难检测到这个程度。
3、配置灵活。
每一台主机都有其自身基于主机的IDS,用户可根据自己的实际情况对其进行配置。
4、对网络流量不敏感。
基于主机的IDS一般不会因为网络流量的增加而放弃对网络行为的监视。
5、适用于加密的以及交换的环境。
加密和交换设备加大了基于网络的IDS收集信息的难度,但由于基于主机的IDS安装存放在监控的主机上,根本不会受这些因素的影响。
6、一般由软件实现,不需要额外的硬件。
基于主机的IDS存在的主要问题:
一是占用主机资源,在服务器上产生额外的负载:
二是缺乏平台支持,可移植性差,使用范围受限。
3.3.3基于网络的入侵检测
基于网络的入侵检测系统是,通过在共享网段上对通信数据的监听、采集,分析可疑现象。
其数据源是网络上的数据包,监听本例段内的数据包并进行判断,分辨出攻击者。
当前的大部分入侵检测系统产品是基于网络的入侵检测系统。
它们应用模式匹配技术,将采集到的网络数据包同规则库中的规则进行模式匹配,根据分析结果采取相应的行动。
系统结构图如下:
图2-3基于网络的入侵检测系统
基于网络的IDS具有许多基于主机无法提供的功能。
基于网络的IDS有以下优点:
1、检测速度快。
基于网络的传感器通常能在微秒或秒发现问题。
而人多数基于主机的产品则耍依靠对最近几分钟内审计记录的分析。
2、隐蔽性好。
一个网络的传感器不像一个主机那样显眼和易被存取,因而也不那么容易遭受攻击。
基于网络的传感器不运行其他的应用程序,不提供网络服务,可以不响应其他计算机。
因此可以做得比较安全。
3、视野更宽。
基于网络的IDS可以检测一些主机检测不到的攻击,如基于网络的SYN攻击、泪滴攻击等,还可以检测不成功的攻击和恶意企图。
4、较少的传感器。
难于使用一个传感器就可以保护一个共享的网段,所以不需要很多的传感器。
相反,如果基于主机,则要在每台主机上配置一个代理,这样的话,不但花费昂贵,而且难于管理。
5、攻击者不易转移证据。
基于网络的IDS使用正在发生的网络通信进行实时攻击的检测。
所以攻击者无法转移证据。
被捕获的数据不仪包括攻击的方法向且还包括可以识别黑客身份和对其进行起诉的信息。
许多黑客都熟知审记记录,他们知道如何操纵这些文件掩盖他们的作案痕迹,如何阻止需要这些信息的基于主机的系统去检测入侵。
6、操作系统无关性。
基丁网络的IDS作为安全监测资源,与主机的操作系统无关。
与之相比,基于主机的系统必须在特定的、没有遭到破坏的操作系统中才能正常工作,生成有用的结果。
7、占资源少。
在被保护的设备上不用占用任何资源。
基于网络的IDS存在的问题:
一是只能进行本网段的活动,精确度不高;二是在交换环境下难以配置;三是防入侵欺骗能力较差:
四是难以定位入侵者。
3.3.4一种混合的方法
混合入侵检测是将基于网络的入侵检测系统和基于主机的入侵检测系统结合在一起的入侵检测系统。
由于基于网络的入侵检测系统和基于主机的入侵检测系统各有利弊,将二者的技术结合在一起,将会优势互补,极大地提高系统防范入侵和防范误用的能力。
这也是入侵检测系统发展的方向之一。
3.3.5误用入侵检测
误用检测被人们又称为基于特征的检测,其基本思想是:
根据已经发现的入侵行为,定义相应的入侵模式,然后在实际的审计数据中检测是否出现这些入侵模式来完成检测功能。
误用检测的原理如图:
图2-4误用检测原理
3.4snort入侵检测面临的挑战和发展趋势
3.4.1snort入侵检测面临的挑战
(1)、误报、漏报率较高
当前的入侵监测系统通常采用冷模式匹配、统计分析和协议分析等检测技术,而这些检测技术都存在各种各样的缺陷。
例如,模式匹配的可扩展性和适应性较差,且不能检测未知攻击;统计分析方法中的阐值很难准确设定,太小会产生大量的虚警,而太大则产生大量的漏报,并且入侵者还可以通过逐步“训练”,使入侵事件符合正常操作的统计规律,从而透过入侵检测系统;协议分析检测方法中,一般的入侵检测系统只简单地处理了常用的协议,如HTTP、FTP、SMTP等,而其余大量的协议报文中存在的异常行为有可能被漏报,如果分析所有支持的协议类型,则计算成本将无法承受,这就需要探索新的入侵检测技术解决计算其成本问题。
(2)缺乏有效的协同
现有的入侵检测系统大多只针对特定网断、特定主机的数据进行分析,还不能将来自不同源的信息进行协同分析,影响对某些攻击的检测。
另外,对于以下方面的协同,现有的入侵检测系统还没有完全做到。
例如:
同一系统中不同入侵监测部件之间的协作,特别是基于主机的IDS和基于网络的IDS之间的协作,以及异构平台部件之间的协作;不同安全工具之间的协作,如IDS和防火墙、IPS的协作;不同厂家的安全产品之间的协作,等等。
(3)有限的响应能力
传统的入侵检测系统将注意力集中在被攻击的检测上,虽然检测出了网络入侵,但由于被动的IDS本身并不试图降低所造成的破坏,也不主动地对攻击者采取反击行动,而管理员常常无法立即分析入侵检测系统的报告,并采取相同的行动,这就是攻击者在系统管理员采取行动前有机可乘。
因此,传统的被动的响应方式,已不能适应入侵检测系统发展的需要。
(4)性能有待提高
目前的入侵检测系统已不能适应交换技术和高速网络的发展,在大流量情况下会造成入侵检测系统的丢包甚至瘫痪,因此需要探索新的入侵检测方法、技术和模型。
3.4.2snort入侵检测面临的发展趋势
在入侵检测技术发展的同时,入侵技术也在更新,一些黑客组织已经将如何绕过ID或攻击IDS系统作为研究重点。
高速网络,尤其是交换技术的发展以及通过加密新到的数据通信,使得通过共享网断侦听的网络数据采集方法显得不足,而大量的通信量对数据分析也提出了新的要求。
随着信息系统对一个国家的社会生产与国民经济的影响越来越重要,信息战已逐步被各个国家重视,信息战中的主要攻击“武器”之一就是网络的入侵技术,信息战的防御主要包括“保护”、“检测”与“响应”,入侵检测则是其“检测”与“响应”环节不可缺少的部分。
今年对入侵检测技术有几个主要发展方向:
(1)应用层入侵检测:
许多入侵的语义只有在应用层才能理解,而目前的IDS仅能检测如WEB之类的通用协议,而不能处理如LotusNotes、数据库系统等其他的应用系统。
许多基于客户、服务器结构与中间技术及对象技术的大型应用,需要应用层的入侵检测保护。
(2)只能的入侵检测:
入侵方法越来越多样化与综合化,随着机器学习技术研究领域的发展,很多新的方法也被应用到入侵检测领域中,包括关联规则、神经网络、决策树、遗传算法、贝叶斯网络等,但是这只是一些常识的研究工作,需要对智能化的IDS加以进一步的研究以解决其自学习与自适应能力。
(3)入侵检测的评测方法:
用户需对众多的IDS系统进行评价,评价指标包括IDS检测范围、系统资源占用、IDS系统自身的可靠性。
从而设计通用的入侵检测测试与评估方法与平台,实现对多种IDS系统的检测已成为当前IDS的重要研究与发展领域。
(4)体系结构由集中式向分布式发展:
分布式入侵检测具有使用分布式的方法来监测分布式的攻击的能力,其中的关键技术为检测信息的协同处理与入侵攻击的全局信息的提取。
分布式的体系结构具有可扩充性、搞适应性和康攻击性等优点,成为当前入侵检测系统发展的方向。
(5)响应方式由被动式向主动式发展:
入侵检测响应分为主动响应和被动响应。
多数IDS目前只能做到被动报警。
当检测出网络攻击后,IDS只会发出告警,将发生的不争产情况报告给管理者本身并不试图降低所造成的破坏,更不会主动地对攻击者采取反击行动。
只有被动报警的IDS,需要专人对其进行维护、管理和事件分析,这是目前IDS不能被广泛使用及其功用被怀疑的主要原因。
为了得到进一步发展,实现IDS主动响应是当务之急。
主动响应,就是要在集相关信息的基础上,通过调整被攻击系统的状态,阻止或减轻攻击影响,如断开网络连接、增加安全同志、杀死可疑进程等。
总之,入侵检测作为+一种积极主动的安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。
3.5本章小结
本章主要介绍了入侵检测系统的组成和工作流程,并分析了入侵检测系统的分类以及各类型的特点,最后对入侵检测技术而临的挑战和发展趋势做了分析与概括。
第四章Snort规则
如同病毒,大多数入侵行为都具有某种特征,Snort的规则就是用这些特征的有关信息构建的。
你可以用蜜罐来取得入侵者所用的工具和技术的信息,以及他们都做了什么。
此外,还有入侵者会利用的已知的系统弱点数据库,如果入侵者试图利用这些弱点来实施攻击,也可以作为一些特征。
这些特征可能出现在包的头部,也可能在数据载荷中。
Snort的检测系统是基于规则的,而规则是基于入侵特征的。
Snort规则可以用来检测数据包的不同部分。
Snort1.x可以分析第3层和第4层的信息,但是不能分析应用层协议。
Snort2.x增加了对应用层头部分析的支持。
所有的数据包根据类型的不同按顺序与规则比对。
规则可以用来产生告警信息、记录日志,或使包通过(pass):
对Snort来说,也就是悄悄丢弃(drop),通过在这里的意义与防火墙或路由器上的意义是不同的,在防火墙和路由器中,通过和丢弃是两个相反的概念。
Snort规则用简明易懂的语法书写,大多数规则写在一个单行中。
当然你也可以行末用反斜线将一条规则划分为多个行。
规则文件通常放在配置文件snort.conf文件中,你也可以用其他规则文件,然后用主配置文件引用它们。
4.1规则的结构
所有的Snort规则都可以分为两个逻辑组成部分:
规则头部和规则选项。
参见图3-1
规则头部
规则选项
图3-1Snort规则的基本结构。
规则的头部包含规则所做的动作的信息,也包含与包所比对的一些条件。
选项部分通常包含一个告警消息以及包的那个部分被用来产生这个消息。
一条规则可以用来探测一个或多个类型的入侵活动,一个好的规则可以来探测多种入侵特征。
Snort规则头部的主要结构如图3-2所示:
动作
协议
地址
端口
方向
地址