版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验五:入侵检测技术一、实验目的通过实验深入理解入侵检测系统的原理和工作方式,熟悉入侵检测系统的配置和使用。实验具体要求如下:1.理解入侵检测的作用和原理2.理解误用检测和异常检测的区别3.掌握Snort的安装、配置和使用等实用技术二、实验原理1、入侵检测概念及其功能入侵检测是指对入侵行为的发现、报警和响应,它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。 入侵检测系统(intrusion detection system,IDS)是完成入侵检测功能的软件和硬件的集合。入侵检测的功能主要体现在以下几个方面:1).
2、监视并分析用户和系统的活动。2). 核查系统配置和漏洞。3). 识别已知的攻击行为并报警。4). 统计分析异常行为。5). 评估系统关键资源和数据文件的完整性。6). 操作系统的审计跟踪管理,并识别违反安全策略的用户行为。2、入侵检测的分类根据IDS检测对象和工作方式的不同,可以将IDS分为基于网络的IDS(简称NIDS)和基于主机的IDS(简称HIDS)。NIDS和HIDS互为补充,两者的结合使用使得IDS有了更强的检测能力。1). 基于主机的入侵检测系统。HIDS历史最久,最早用于审计用户的活动,比如用户登录、命令操作、应用程序使用资源情况等。HIDS主要使用主机的审计记录和日志文件作为输
3、入,某些HIDS也会主动与主机系统进行交互以获得不存在于系统日志的信息。 HIDS所收集的信息集中在系统调用和应用层审计上,试图从日志寻找滥用和入侵事件的线索。HIDS用于保护单台主机不受网络攻击行为的侵害,需要安装在保护的主机上。2). 基于网络的入侵检测系统。NIDS是在网络中的某一点被动地监听网络上传输的原始流量,并通过协议分析、特征、统计分析等分析手段发现当前发生的攻击行为。NIDS通过对流量分析提取牲模式,再与已知攻击牲相匹配或与正常网络行为原形相比较来识别攻击事件。3、入侵检测系统1). 入侵检测系统的特点:入侵检测系统(Intrusion Detection System)是对防
4、火墙有益的补充,它对网络和主机行为进行检测,提供对内部攻击、外部攻击和误操作的实时监控,增强了网络的安全性。在安全防范方面,入侵检测系统可以实现事前警告、事中防护和事后取证。入侵检测系统能够在入侵攻击行为对网络系统造成危害前,及时检测到入侵攻击的发生,并进行报警;入侵攻击发生时,入侵检测系统可以通过与防火墙联动等方式进行报警及动态防护;被入侵攻击后,入侵检测系统可以提供详细的攻击信息日志,便于取证分析。相对于防火墙提供的静态防护而言,入侵检测系统侧重于提供动态实时检测防护,因此防火墙和入侵检测系统的结合,能够给网络带来更全面的防护。2). 入侵检测系统的实现原理:入侵检测系统的实现技术可以简单
5、地分为两大类:基于特征的检测和基于异常的检测。基于特征的检测技术主要包括模式匹配和协议分析两种主要检测方法。模式匹配就是将已知入侵事件悼念到网络入侵和系统误用知识库中,对入侵检测系统悼念的信息和知识库中的规则进行比较,以发现入侵行为。协议分析技术则对数据包进行协议解析后进行分析。这种技术需要首先捕捉数据包,然后对数据包进行解析,包括网络协议分析和命令解析,即使在高负载的调整网络上,也能逐个分析所有的数据包。基于牲的检测技术只需收集相关的数据,和所维护的知识库规则比较就能进行判断,检测准确率和效率较高。但是,该技术需要不断进行知识库规则的升级以对付不断出现的新攻击手法,而且,它不能检测未知攻击手
6、段。3). 入侵检测系统的部署原则:NIDS总的来说包括探测器和控制台两大部分。探测器是专用的硬件设备,负责网络数据流的捕获、分析检测和报警等功能。控制台是管理探测器的工具,它负责接收探测器的检测日志数据,并提供数据查询和报告生成等功能,一个控制台可以管理多个探测器。HIDS安装在被保护的机器上,在主机系统的审计日志或操作中查找信息源进行智能分析和判断,例如操作系统日志、系统进程、文件访问和注册表访问等信息。由于HIDS安装在需要保护的主机系统上,这将影响应用系统的运行效率。HIDS对主机系统固有的日志与监视能力有很高的依赖性,它一般针对其所在的系统进行检测。4/Snort简介及使用原理:1)
7、. Snort是一款免费的NIDS,具有小巧灵便、易于配置、检测效率高等特性,常被称为轻量级的IDS。Snort具有实时数据流量分析和IP数据包日志分析能力,具有跨平台特征,能够进行协议分析和对内容的搜索或匹配。Snort能够检测不同的攻击行为,如缓冲区溢出、端口扫描和拒绝服务攻击等,并进行实时报警。Snort可以根据用户事先定义的一些规则分析网络数据流,并根据检测结果采取一定的行动。Snort有3种工作模式,即嗅探器、数据包记录器和NIDS。嗅探器模式仅从网络上读取数据包并作为连续不断的数据流显示在终端上;数据包记录器模式把数据包记录到硬盘上,以备分析之用;NIDS模式功能强大,可以通过配置
8、实现。2). Snort的结构由四大软件模块组成:(1)数据包嗅探模块。负责监听网络数据包,对网络进行分析。(2)预处理模块。该模块用相应的插件来检查原始数据包,从中发现原始数据的"行为"。(3)检测模块。该模块是Snort的核心模块。当数据包从预处理器送过来后,检测引擎依据预先设置的规则检查数据包,一旦发现数据包中的内容和某条规则相匹配,就通知报警模块。(4)报警/日志模块。经检测引擎检查后的Snort数据需要以某种方式输出。如果检测引擎中的某条规则被匹配,则会触发一条报警。3). Snort规则。Snort的每条规则逻辑上都可以分成规则头部和规则选项。规则头部包括规则行
9、为、协议、源或目的IP地址、子网掩码、源端口和目的端口;规则选项包含报警信息和异常包的信息(特征码),基于特征码决定是否采取规则规定的行动。对于每条规则来说,规则选项不是必需的,只是为了更加详细地定义应该收集或者报警的数据包。 只有匹配所有选项的数据包,Snort都会执行其规则行为。如果许多选项组合在一起,它们之间是“逻辑与“的关系。三、实验步骤实验内容一:Windows平台下Snort的安装与配置由于需要对网络底层进行操作,安装Snort前需要预先安装WinpCap(WIN32平台上网络分析和捕获数据包的链接库)。1. 下载Windows平台下的Snort安装程序,选择安装目录为c:Snor
10、t。进行到选择日志文件存放方式时,为简单起见,选择不需要数据库支持或者Snort默认的MySQL和ODBC数据库支持的方式。 (即选择"I do not plan to log to a database,or I am planning to log to one of the databases listed above.")2. 单击“开始”菜单,选择“运行”命令,输入cmd并按Enter键,在命令行方式下输入如下命令c:>cd c:Snortbin,然后输入c:Snortbin>snort -W。如果Snort安装成功,系统将显示如下图所示信息。3. 从
11、返回的结果可知主机上有哪个物理网卡正在工作及该网卡的详细信息。其中第五个是具有物理地址的网卡。输入snort -v i3命令启用Snort。其中,-v表示使用Verbose模式,把信息包打印在屏幕上;-i3表示监听第五个网卡。如下图所示:4. 为了进一步查看Snort的运行状况,可以人为制造一些ICMP网络流量。在局域网段中的另一台主机上使用Ping指令,探测运行Snort的主机。5. 回到运行Snort的主机,发现Snort已经记录了这次探测的数据包,Snort在屏幕上输出了局域网中另一台主机到本主机的ICMP数据包头。6. 打开c:Snortetcsnort.conf(先用下载的snort
12、.conf代替原来的snort.conf),设置Snort的内部和外部网络检测范围。将Snort.conf文件中的var HOME_NET any语句中的Any改为自己所在的子网地址,即将Snort监测的内部网络设置为本机所在的局域网。 如本地IP为00,则将Any改为/24。将var HOME_NET any语句中的HOME_NET的值改为本地网络的标识,即/247. 配置网段内提供网络服务的IP地址,只需要把默认的$HOME_NET改成对应主机地址即可:var DNS_SERVERS $ HOME_NET; var SMTP
13、_SERVERS $ HOME_NET; var HTTP_SERVERS $ HOME_NET; var SQL_SERVERS $ HOME_NET; var TELNET_SERVERS $ HOME_NET; var SNMP_SERVERS $ HOME_NET 如果不需要监视某种类型的服务,可用#号将上述语句其注释掉。8. 修改设置监测包含的规则。在配置文件末尾,定义了与规则相关的配置,格式如下:include $RULE_PATH/local.rules; include $RULE_PATH/bad-traffic.rules; include $RULE_PATH/explo
14、it.rules。其中变量$RULE_PATH指明了规则文件存放的路径,可以在语句var RULE_PATH./rules中将变量RULE_PATH改为存放规则集的目录,如:c:snortrules。9. 在Snort.conf文件中,修改配置文件Classification.conf和Reference.conf的路径:include c:Snortetcclassification.conf; include c:Snortetcreference.config。其中,Classification.conf文件保存的是和规则的警报级别相关的配置,Reference.conf文件保存了提供更
15、多警报相关信息的链接。实验内容二:Windows平台下Snort的使用1. Snort嗅探器模式。检测Snort安装是否成功时,用到的就是Snort嗅探器模式。输入命令如下:snort -v i3使Snort只将IP和TCP/UDP/ICMP的包头信息输出到屏幕上。如果要看到应用层的数据,可以输入如下命令:snort -v -d i3。 如果需要输出更详细的信息,输入命令:snort -v -d -e i3可以显示数据链路层的信息。2. 数据包记录器模式。上面的命令只是在屏幕上输出,如果要记录在LOG文件上,需要预先建立一个Log目录。输入下面的命令启用数据包记录器模式:snort -dve
16、i3 -l c:Snortlog -h /24 -K ascii。 其中,-l选项指定了存放日志的文件夹;-h指定目标主机,这里检测对象是局域网段内的所有主机,如不指定-h,则默认检测本机;-K指定了记录的格式,默认是Tcpdump格式,此处使用ASCII码。3. 网络IDS模式。Snort最重要的用途还是作为基于误用检测技术的NIDS。输入下面的命令启动IDS模式:snort i3 -dev -l./log -h /24 -K ascii -c c:Snort/etc/snort.conf。相比数据包记录器模式中使用的命令,该命令只增加了一个选项-
17、c,用于告诉Snort使用Snort.conf中的规则集文件。 Snort会对每个包和规则集进行匹配,如符合规则就采取规则所指定的动作。4. 下面将通过对运行了Snort的目标主机进行有意攻击,来观察Snort检测入侵的能力。首先,向目标主机发送ICMP长数据包来观测Snort的反映,ICMP长数据包是有潜在危险的,一般会被视为入侵;然后,使用网络端口扫描工具Nmap对目标主机进行扫描,观察Snort的检测情况。具体操作步骤如下:(1)在安装好Snort的目标主机命令行方式下,输入上面第3步的命令,使Snort工作在IDS模式。在局域网的另一台主机上向目标主机发送数据包,输入下面的命令:pin
18、g -l 45678 (2)在目标主机中打开Log文件夹,此时可以发现在Log的根目录下自动生成了一个名为Alert的文件。打开文件并观察其内容,Snort警报中记录了刚才发送的ICMP长数据包,每条记录包括警报的类型和数据包的包头。发送的ICMP长数据包之所以出现在警报中,是因为它的特征和Snort预先定义的规则相符。警报如下图所示:(3)在Snort的安装目录下打开Rules文件夹,打开Icmp.rules文件,可以发现和该攻击对应的规则如下图所示:(4)执行端口扫描的检测。把Snort.conf文件中相应端口配置部分的内容修改为:preprocessor sfpor
19、tscan:protoall memcap10000000 sense_levelmedium logfileportscan。其中,proto指定了需要检测的协议类型,包括TCP、UDP、ICMP和IP,all表示检测所有的协议;sense_level指定检测的灵敏度,灵敏度高可以增加检测率, 但有可能会同时增加误报率,Snort的默认选项是Low;logfile指定检测结果的输出文件名,该文件将创建在Log目录下。(5)在局域网的另一台主机上运行Nmap,对目标主机进行SYN扫描,在命令行方式下输入如下命令:nmap -sS 00如图所示,扫描探测到了两个开放端口13
20、9和455。(6)在目标主机上查看记录端口扫描检测结果的文件Portscan。可以看出,Snort准确识别并分析记录了端口扫描攻击相关的信息,如攻击者的IP地址,扫描的范围从21号端口到38037号端口,攻击者扫描到2个开放的端口:139和455。 Portscan文件中记录的并不是单条的网络数据包记录,而是Snort的端口模块对数据包和其他特性综合分析的结果,如在单位时间内来自同一IP的警报信息或TCP数据包的统计特征等。(7)打开Alarm文件。发现在Alarm文件里增加了与端口扫描相关的警告。Alarm文件中记录的是单个数据包和规则匹配的结果;在Rules文件夹中打开检测端口扫描的规则集
21、,可以找到与端口扫描警报相对应的规则:alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN XMAS"flow:stateless; flags:SRAFPU,12;reference:arachnids,144;classtype:attempted-recon;sid:625;rev:7)实验内容三:编写Snort规则1. snort使用一种简单的,轻量级的规则描述语言,这种语言灵活而强大。在开发snort规则时要雇几个简单的原则:(1)大多数snort规则都写在一个单行上,或都在多行之间的行尾用/分隔。(
22、2)snort被分成两个逻辑部分:规则头和规则项。规则头包含规则的动作、协议、源和目标IP地址与网络掩码,以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的部分。(3)例如:alert tcp any any -> /24 111(content:"|00 01 86 a5|"msg:"mountd access")。第一个括号前的部分是规则头(rule header),包含的括号内的部分是规则选项(rule options)。规则选项部分中冒号前的单词称为选项关键字(option keywords)。 注意,不
23、是所有规则都必须包含规则选项部分,选项部分只是为了使对要悼念或报警,或丢弃的包的定义更加严格。组成一个规则的所有元素对于指定的要采取的行动都必须是真的。当多个元素放在一起时,可以认为它们组成一个逻辑与语句。同时,snort规则库文件中的不同规则可以认为组成一个大的逻辑或语句。2. 编写一个规则,通过捕捉关键字Search记录打开Google网页的动作,并将符合规则的数据包输出到Alert文件中。(1)在Snort的Rules文件夹下创建Myrule文件,在Myrule文件中输入如下内容:alert tcp $EXTERNAL_NET any -> any 80(content:"
24、;search"nocase;msg:"Google Search Query")1. 在Snort.conf文件中添加新建的规则文件。在Snort.conf的规则区域中(也可在文件末)添加下面的语句:include $RULE_PATH/myrule.rules(3)以IDS模式启动Snort,打开浏览器,输入到google页面。到Log文件夹下查看Alert文件,如下图所示,可以发现规则中的字符串已经被记录了下来,即Snort成功地检测到载入Google网页的动作,所定义的规则起到了预想的作用。3. 尝试定义几个更为实用的规则,并在使用中检验它们的效果。(1)
25、在Myrule中添加如下3条规则:alert icmp $EXTERNAL_NET any -> $HOME_NET any (dsize:0;itype:8;msg:"NMAP PING SCAN")alert tcp $EXTERNAL_NET any -> $HOME_NET any (flags:SF;msg:"NMAP SYN FIN SCAN")aler tcp $EXTERNAL_NET any -> $HOME_NET any (flags:A;ack:0;msg:"NMAP TCP PING")(2
26、)运行Snort,在局域网另一台主机上运行Nmap,对主机进行端口扫描。首先使用Nmap的-sP选项进行ping扫描,然后使用-sS选项的SYN扫描,最后使用-sA选项进行ACK扫描。(3)扫描完成后,回到主机查看Alert文件。四、思考题 入侵检测的作用是什么?入侵检测系统与防火墙有什么区别?试分析两者在防止端口扫描方法上的异同。1) 监视、分析用户及系统活动2) 对异常行为模式进行统计分析,发行入侵行为规律3) 检查系统配置的正确性和安全漏洞,并提示管理员修补漏洞4) 能够实时对检测到的入侵行为进行响应5) 评估系统关键资源和数据文件的完整性6) 操作系统的审计跟踪管理,并识别用
27、户违反安全策略的行为总结:防火墙只是防御为主,通过防火墙的数据便不再进行任何操作,IDS则进行实时的检测,发现入侵行为即可做出反应,是对防火墙弱点的修补;防火墙可以允许内部的一些主机被外部访问,IDS则没有这些功能,只是监视和分析用户和系统活动。1.IDS是继防火墙之后的又一道防线,防火墙是防御,IDS是主动检测,两者相结合有力的保证了内部系统的安全;2.IDS实时检测可以及时发现一些防火墙没有发现的入侵行为,发行入侵行为的规律,这样防火墙就可以将这些规律加入规则之中,提高防火墙的防护力度。思考题二: 入侵检测的原理是什么?常用的入侵检测技术有哪两种?使用不同检测方法的入侵检测系统主要会在哪个模块上有差别?根据入侵检测模型,入侵检测系统的原理可以分为以下两种: 1)异常检测原理 该原理根据系统或者用户的非正常行为和使用计算机资源的非正常情况来检测入侵行为。 异常检测原理根据假设攻击和正常的活动的很大的差异来识别攻击。首先收集一段正常操作的活动记录,然后建立代表用户、主机或网络连接的正常行为轮廓,再收集事件数据同时使用一些不同的方法来决定所检测到的事件活动是否正常。 2) 误用检测原理 误用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合同zao的法律认定
- 合同法第115条内容
- 统考版2025届高考历史一轮复习课后限时集训39新文化运动与马克思主义的传播含解析新人教版
- 2024年山东客运从业资格证应用能力考试
- 2024最高额质押反担保合同
- 2024购房合同能否更名以及如何更名
- 专题10.人物描写及其作用-2023年三升四语文暑期阅读专项提升(统编版)
- 四年级读书卡完整版
- 三年级语文上册第五单元测试卷-基础知识与综合能力篇 含答案 部编版
- 2024成品柴油买卖合同
- 河北省秦皇岛市各县区乡镇行政村村庄村名居民村民委员会明细
- 计算机科学与技术系课程设计评分表
- 武大版核心期刊RCCSE
- 中频炉事故应急预案
- 产品周转防护管理基础规范
- 《ERP沙盘模拟》实训教案
- 班组长竞选表
- 《鲧禹治水》-完整版PPT
- (完整版)新概念英语第2册课文word版
- 六年级上册英语教案 Module 9 Unit 2 I want to go to Shanghai. 外研版(三起)
- Q∕SY 05592-2019 油气管道管体修复技术规范
评论
0/150
提交评论