入侵检测技术_第1页
入侵检测技术_第2页
入侵检测技术_第3页
入侵检测技术_第4页
入侵检测技术_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

入侵检测技术入侵检测技术、实验目的通过实验深入理解入侵检测系统的原理和工作方式,熟悉入侵检测系统的配置和使用。实验具体要求如下:熟悉入侵检测系统的配置和使用。实验具体要求如下:1•理解入侵检测的作用和原理2•理解误用检测和异常检测的区别3•掌握Snort的安装、配置和使用等实用技术二、实验原理1、入侵检测概念及其功能II入侵检测是指对入侵行为的发现、报警和响应,它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。入侵检测系统

II(intrusiondetectionsystem,IDS)是完成入侵检测功能的软件和硬件的集合。入侵检测的功能主要体现在以下几个方面:.监视并分析用户和系统的活动。.核查系统配置和漏洞。.识别已知的攻击行为并报警.统计分析异常行为。.评估系统关键资源和数据文件的完整性。.操作系统的审计跟踪管理,并识别违反安全策略的用户行为。IIII略的用户行为。IIII2、入侵检测的分类根据IDS检测对象和工作方式的不同,可以将IDS分为基于网络的IDS(简称NIDS)和基于主机的IDS(简称HIDS)。NIDS和HIDS互为补充,两者的结合使用使得IDS有了更强的检测能力。1).基于主机的入侵检测系统。HIDS历史最久,最早用于审计用户的活动,比如用户登录、命令操作、应用程序使用资源情况等。HIDS主要使用主机的审计记录和日志文件作为输入,某些HIDS也会主动与主机系统进行交互以获得不存在于系统日志的信息。HIDS所收集的信息集中在系统调用和应用层审计上,试图从日志寻找滥用和入侵事件的线索。HIDS用于保护单台主机不受网络攻击行为的侵害,需要安装在保护的主机上。2).基于网络的入侵检测系统NIDS是在网络中的某一点被动地监听网络上传输的原始流量,并通过协议分析、特征、统计分析等分析手段发现当前发生的攻击行为。NIDS通过对流量分析提取牲模式,再与已知攻击牲相匹配或与正常网络行为原形相比较来识:检别攻击事暮。1)•入侵检测系统的特点:El入侵检测系统(IntrusionDetectionSystem)是对防火墙有益的补充,它对网络和主机行为进彳亍检测,提供对内部攻击、外部攻击和误操作的实时监控,增强了网络的安全性。El测生式测分El在安全防范方面,入侵检测系统可以实现事前警告、事中防护和事后取证。入侵检测系统能够在入侵攻击行为对网络系统造成危害前,及时检到入侵攻击的发生,并进行报警;入侵攻击发时,入侵检测系统可以通过与防火墙联动等方进行报警及动态防护;被入侵攻击后,入侵检系统可以提供详细的攻击信息日志,便于取证析。测生式测分ElEl相对于防火墙提供的静态防护而言,入侵检测

ElEl系统侧重于提供动态实时检测防护,因此防火墙和入侵检测系统的结合,能够给网络带来更全面的防护。El.入侵检测系统的实现原理:入侵检测系统的实现技术可以简单地分为两大类:基于特征的检测和基于异常的检测。进行数据首先网络网络基于特征的检测技术主要包括模式匹配和协议分析两种主要检测方法。模式匹配就是将已知入侵事件悼念到网络入侵和系统误用知识库中,对入侵检测系统悼念的信息和知识库中的规则比较,以发现入侵行为。协议分析技术则对包进行协议解析后进行分析。这种技术需要捕捉数据包,然后对数据包进行解析,包括协议分析和命令解析,即使在高负载的调整上,也能逐个分析所有的数据包。进行数据首先网络网络和所基于牲的检测技术只需收集相关的数据,维护的知识库规则比较就能进行判断,检测准确率和效率较高。但是,该技术需要不断进行知识库规则的升级以对付不断出现的新攻击手法,而且,它不能检测未知攻击手段。和所.入侵检测系统的部署原则:NIDS总的来说包括探测器和控制台两大部分。探测器是专用的硬件设备,负责网络数据流的捕获、分析检测和报警等功能。控制台是管理探测器的工具,它负责接收探测器的检测日志数据,并提供数据查询和报告生成等功能,一个控制台可以管理多个探测器。HIDS安装在被保护的机器上,在主机系统的审计日志或操作中查找信息源进行智能分析和判断,例如操作系统日志、系统进程、文件访问和注册表访问等信息。由于HIDS安装在需要保护的主机系统上,这将影响应用系统的运行效率。HIDS对主机系统固有的日志与监视能力有很高的依赖性,它一般针对其所在的系统进行检测。4/Snort简介及使用原理:III1).Snort是一款免费的NIDS,具有小巧灵便、易于配置、检测效率高等特性,常被称为轻量级的IDS。Snort具有实时数据流量分析和IP数据包日志分析能力,具有跨平台特征,能够进行协议分析和对内容的搜索或匹配。Snort能够检测不同的攻击行为,如缓冲区溢出、端口扫描和拒绝服务攻击等,并进行实时报警。IIISnort可以根据用户事先定义的一些规则分析网络数据流,并根据检测结果采取一定的行动。Snort有3种工作模式,即嗅探器、数据包记录器和NIDS。嗅探器模式仅从网络上读取数据包并作为连续不断的数据流显示在终端上;数据包记录器模式把数据包记录到硬盘上,以备分析之用;NIDS模式功能强大,可以通过配置实现。.Snort的结构由四大软件模块组成:数据包嗅探模块。负责监听网络数据包,对网络进行分析。预处理模块。该模块用相应的插件来检查原始数据包,从中发现原始数据的“行为”。检测模块。该模块是Snort的核心模块。当数据包从预处理器送过来后,检测引擎依据预先设置的规则检查数据包,一旦发现数据包中的内容和某条规则相匹配,就通知报警模块。报警/日志模块。经检测引擎检查后的Snort数据需要以某种方式输出。如果检测引擎中的某条规则被匹配,则会触发一条报警。.Snort规则。Snort的每条规则逻辑上都可以分成规则头部和规则选项。规则头部包括规则行为、协议、源或目的IP地址、子网掩码、源端口和目的端口;规则选项包含报警信息和异常包的信息(特征码),基于特征码决定是否采取规则规定的行动。对于每条规则来说,规则选项不是必需的,只是为了更加详细地定义应该收集或者报警的数据包。只有匹配所有选项的数据包,Snort都会执行其规则行为。如果许多选项组合在一起,它们之间是逻辑与的关系。三、实验步骤实验内容一:Windows平台下Snort的安装与配置由于需要对网络底层进行操作,安装Snort前需要预先安装WinpCap(WIN32平台上网络分析和捕获数据包的链接库)。1.下载Windows平台下的Snort安装程序,选择安装目录为c:\Snort。进行到选择日志文件存放方式时,为简单起见,选择不需要数据库支持或者Snort默认的MySQL和ODBC数据库支持的方式。(即选择"Idonotplantologtoadatabase,orIamplanningtologtooneofthedatabaseslistedabove.")2.单击开始”菜单,选择运行”命令,输入cmd并按Enter键,在命令行方式下输入如下命令c:\>cdc:\Snort'bin,然后输入c:\Snort\bin>snort-Wo如果Snort安装成功,系统彳将显示如下图所示信息。>cdbin4.4.为了进一步查看Snort的运行状况,可以人为制c:\SnortNhin>snoi"七—U——*>Snort1<**——o">™Uersian2.8 0.2-ODBC-MjfSQL-FlexRESP-WIN32<Build7S>ByMa±'tinftatscli&TheSnor-tTe&m:littp:〃www・snoi*t-<C>CQpiFi'isrht1950一2B07SourcefireInc•*etnL•UsinPCREuer-sion=?•42007—09—21Interface Device Desci'iptionLXDEuice\NFF_f9EEEfiFD0-5C80-4FAiC-A89D-D325D777FA?4>WHW\UiJapter> 总\Deuice\MPF_vB6ED75E4-F863-47C0-E416-F8C&903DA053><UMwaveUir\DeuiceAPF_<133B0940-BtCB-4Et2-B171-9E71C48144G7}<M3Tunnel>SDeuiceSNPF<150C&922-18CE-46fc&-8ECfl-Cfi0784570BEE>NTu—或 日广\DeviceSHPF_<CDF039fi?-3472-4E62-90JD-FBE23A06BBC1><RealtelcHI-EGigabitEtJiernetN1C>3.从返回的结果可知主机上有哪个物理网卡正在工作及该网卡的详细信息。其中第五个是具有物理地址的网卡。输入snort-v-i5命令启用Snort。其中,-v表示使用Verbose模式,把信息包打印在屏幕上;-i5表示监听第五个网卡。如下图所示:c:\SnortXbin>snoi*t~v-i4Runninginpacketdunpnode InitlalizlngOutputPlugins?llerifyinjfPi'epi'DcessoT'Conflgui\aAions!InitializingrN&twoirliInterfaceM>evice>WF_<150C&922-180E-4666-8ECA-CA0784570BEE7DecodingEthernetoninterface\I>evice\NPF_<150C6922-180E-4&&G-8ECfi-CA0784S70BEEJ=-InitializationConplete-=——ou严Uersion2.8.ft,2-ODBC-MySQL-FlcxRESP-WIN32(Build75>1*1*ByMai*tinRoesch&TheSnortlean:http://www.sno^^^^^^^^B<C>Copvt11V98-2o07Saui^cefireInc.,etal?UsingPCREuersion;7_^^^™^^^^^^200?-®9-21NotUsrinePCAPJFRAMESB8Z23-14:42:00.18477S1?60:65420->2:90&eUDPTTL:128TOS:0x0ID:1330IpLen:20DgmLen:92Lun:64造一些ICMP网络流量。在局域网段中的另一台主机上使用Ping指令,探测运行Snort的主机。5.回到运行Snort的主机,发现Snort已经记录了这次探测的数据包,Snort在屏幕上输出了局域网中另—台主机到本主机的ICMP数据包头。08/23-14:43:21.398437192.168,1.100->192,168.1.102ICMPTTL?12BTO£t0x9ID?133€[pLenDgmLvnll/pe:0Code:0ID:7t8Geq:2816ECHOREPLY0BZ23-14143:2Z.4223501?2.16S-1_1B2->19Z_1£8_1_1B3ICMPTTL:128TOS=0x3ID=6772lpLen=20QgnLen:&0IVpe:BCodezBID:7B8Seq:3072ECHO—+ + + + + -r—-r——=+=d|-=+=+=+=+s+0e八23八14-43:22.d3244a >160->192.1八8>1.:102ICMPTTL:128TOS:0x0ID:1337TpLen:20DgmLen:60Type:陌Code:0ID:7«8 Seq:3072ECHOREPLY06/23-14:43:24-6?50?SftRPuhc-hasU0tell08/23-14:43:24-675125ARPreply192.ltG.1.100is-at0:23:4E:EB:66:FB08X23-14=43:29.63361800:4081->219,133,60.237:8UPPTTL:12H:ID:1338IpLen:20L*6n«286.打开c:\Snort\etc\snort.conf(先用下载的snort.conf代替原来的snort.conf),设置Snort的内部和外部网络检测范围。将Snort.conf文件中的varHOME_NETany语句中的Any改为自己所在的子网地址,即将Snort监测的内部网络设置为本机所在的局域网。如本地IP为0Q则将Any改为/24将varHOME_NETany语句中的HOME_NET的值改为本地网络的标识,即/247.配置网段内提供网络服务的IP地址,只需要把默认的$HOME_NET改成对应主机地址即可:varDNS_SERVERS$HOME_NET;varSMTP_SERVERS$HOME_NET;varHTTPSERVERS$HOME_NET;SQL_SERVERS$HTTPSERVERS$HOME_NET;SQL_SERVERS$TELNETSERVERS$HOME_NET;HOMENET;varvarvar视某种类型的服务,可用#号将上述语句其注释掉。视某种类型的服务,可用#号将上述语句其注释掉。8.修改设置监测包含的规则。在配置文件末尾,定义了与规则相关的配置,$RULE_PATH/local.rules;$RULE_PATH/bad-traffic.rules;$RULE_PATH/exploit.rulesoinelude格式如下:includeinelude$RULE_PATH指明了规则文件存放的路径,可以在语句varRULE_PATH../rules中将变量RULE_PATH改为存放规则集的目录,如:c:\snorfrules。9.在Snort.conf文件中,修改配置文件Classification.conf和Reference.conf的路径:includec:\Snort\etc\classification.conf;includec:\Snort\etc\reference.config。其中Classification.conf文件保存的是和规则的警报级另ij相关的配置,Reference.conf文件保存了提供更多警报相关信息的链接。实验内容二:Windows平台下Snort的使用

1.Snort嗅探器模式。检测Snort安装是否成功时,用到的就是Snort嗅探器模式。输入命令如下:snort-v-i5使Snort只将IP和TCP/UDP/ICMP的包头信息输出到屏幕上。如果要看到应用层的数据,可以输入如下命令:snort-v-d-i5。如果需要输出更详细的信息,输入命令:snort-v-d-e-i5可以显示数据链路层的信息。2.数据包记录器模式。上面的命令只是在屏幕上输出,如果要记录在LOG文件上,需要预先建立一个Log目录。输入下面的命令启用数据包记录器模式:snort-dve-i5-lc:\Snort\log-h/24-Kascii。其中,-l选项指定了存放日志的文件夹;-h指定目标主机,这里检测对象是局域网段内的所有主机,如不指定-h,则默认检测本机;-K指定了记录的格式,默认是Tcpdump格式,此处使用ASCII码。3.网络IDS模式。Snort最重要的用途还是作为基于误用检测技术的NIDS为基于误用检测技术的NIDS。输入下面的命令启动IDS模式:snort-i5-dev-l./log-h/24-K-cascii-cc:\Snort/etc/snort.conf。相比数据包记录器模式中使□□用的命令,该命令只增加了一个选项-c,用于告诉Snort

使用Snort.conf中的规则集文件。Snort会对每个包和

规则集进行匹配,如符合规则就采取规则所指定的动作。□□4. 下面将通过对运行了Snort的目标主机进行有意攻击,来观察Snort检测入侵的能力。首先,向目标主机发送ICMP长数据包来观测Snort的反映,ICMP长数据包是有潜在危险的,一般会被视为入侵;然后,使用网络端口扫描工具Nmap对目标主机进行扫描,观察Snort的检测情况。具体操作步骤如下:在安装好Snort的目标主机命令行方式下,输入上面第3步的命令,使Snort工作在IDS模式。在局域网的另一台主机上向目标主机发送数据包,输入下面的命令:ping-145678在目标主机中打开Log文件夹,此时可以发现在Log的根目录下自动生成了一个名为Alert的文件。打开文件并观察其内容, Snort警报中记录了刚才发送的ICMP长数据包,每条记录包括警报的类型和数据包的包头。发送的ICMP长数据包之所以出现在警报中,是因为它的特征和Snort预先定义的规则相符。警报如下图所示alert.ids-记事卞攵件旧輛旧笹式章看(V)誓助(H)1[**][1!332:7]ICMPPINGWindows[**],C13Ssification:Kiscactivity][Priority:3]08/27-13:46:35.8T26220:13:20:4A:9D:DO・》0:23:4E:EC:66:F6type:0i8Cl0len:0xB298192.L6S.1.101->00ICMPTTL:S4TOSlOxOIDI12SIpLen:20DgnLen:45706Type;8CodeiOID;512Seq;2AECHO.Xref=>ht-tp://w7w・V7hiteh3ts・gmAnfo/IDS169];**][1;384;5]ICKPPING討] .Classification:Miscactivity][Priority:3]08/27-18:46:35.8726220:13:20:4A:9D:D0->0:23:4E:E0:66:F6t3T?e:0x800len:0x&298L101->192.168.L100IOIPTTL:64TOS:OxOID;128IpLen;20DgnLen;45706Type:8Cade:0ID:512Seq:256ECHO>]〔1:499:4]MPLargeICMPPacket[++]Classification:PotentiallyBadTraffic][Priority:2]08/27-18:46:35.8726220:13:20:4A:9D:D(l->0:23:4E:E0:66:F&type:0i800len:0x5298L101->00ICMPTTL:&4TOS:QxOID:128IpLen:20DgnLen:45706"ype:8Cade:0ID:512Seq:256ECHO'Xref=>http://twjw.<vhitehats.coni/infa/IDS246]'**][1:408:5]iaPEchoReply[**]Classification:Jfiscactivity]^Priority:3]08/27-18:46:35.8T54940:23:4E:E0:66:F6->0:13:20:4A:9D:D0type:OicEOOlen:0zB29E192.16S.1.100'>01ICMPTTL:128TOS:0x0ID:17641IpLen:20DgmLen:45706在Snort的安装目录下打开Rules文件夹,打开Icmp.rules文件,可以发现和该攻击对应的规则如下图所示:文件(D铝辑⑹梧式(6歸W)帮to(H)activity,sid:482;rev:5;)alerticmp$EKIERNAL_NETany->$HOHE_WETany(irsg:"ICHPPINGCyberKil2.2Wind。昨";itype1&content:j|AAAAAAAAAAAAAAAAAAAAAAUUAAAaAA|",depth:32;reference:arachnidsj154;classtype:rTiisc-act1vily;sid:483;rev:5;)alerticnpfEXTERNAL_NETany亠》$H0NE_NETanyJ"ICMPPIMGSnifferPro/NetXRaynutworkscan气itypc:S;content/'CintotworkaInc,deAth:32;classtype:mLsc-activity;sid:484,rev:4;)alerticirpanyany_〉anyany(msg/"ICJrtPDestinatigUnrEachatleConm-iniGationAdmiaisProhibitedA;iQQdc:lS;itype;3;clisstypeimiAG-rctivity;sid:485;rev:4;5alerticmpanyany亠》anyany(ioss:wICMFDestinationUnreachableCgmmujiicationwithDestinsti口门HostxsAdmiaistetiv'elyProhibitedA;lQQdc:iQitype;3;classtype:mi客c-rctivity;sid:48&;rev:4;5alerticiupanyany亠》anyany(msg:wICMPDestinationUnrea-chableCommimicationwithDestinationNetmrkisAdmiaistratizelyProhibitedA;icode:9;itype:3;classtype:misc-activity;sid:487;rev:4;)alerticmptEXTERNANETg->$ME_NETany(msg/lCMPdigitalislandbandwidthquery/T;cantent;/5mai1to13AIops®digisie*ccinT;der>lh;22: lalerticrnpany(msg/ICNPLarge!classtype:misc-acri沁ty:sid:1813:lalerticrnpany(msg/ICNPLarge!$EERNM—$EERNM—NIHI(4)ICMPPacketdsiz;e;>800;reference;araown:classtvi>e:badAunk口sid:499;rev:A;)(4)执行端口扫描的检测。把Snort.conf文件中相应端口配置部分的内容修改为:preprocessor容修改为:sfportscan:proto(all}\memcap{10000000}\sense_level{medium}\logfile{portscan}。其中,proto指定了需要检测的协议类型,包括TCP、UDP、ICMP和IP,all表示检测所有的协议;sense_level指定检测的灵敏度,灵敏度咼可以增□□加检测率,但有可能会同时增加误报率,Snort指定检测的灵敏度,灵敏度咼可以增□□加检测率,但有可能会同时增加误报率,Snort□□的默认选项是Low;logfile指定检测结果的输出文件名,该文件将创建在Log目录下。在局域网的另一台主机上运行Nmap,对目标主机进行SYN扫描,在命令行方式下输入如下命令:nmap-sS00如图所示,扫描探测到了两个开放端口139和455。在目标主机上查看记录端口扫描检测结果的文件Portscan。可以看出,Snort准确识别并分析记录了端口扫描攻击相关的信息, 如攻击者的IP地址,扫描的范围从21号端口到38037号端口,攻击者扫描到2个开放的端口:139和455。Portscan文件中记录的并不是单条的网络数据包记录,而是Snort的端口模块对数据包和其他特性综合分析的结果,如在单位时间内来自同一IP的警报信息或TCP数据包的统计特征等。□□打开Alarm文件。发现在Alarm文件里增□□加了与端口扫描相关的警告。Alarm文件中记录的是单个数据包和规则匹配的结果;在Rules文件夹中打开检测端口扫描的规则集,可以找到与端口扫描警报相对应的规则:alerttcp$EXTERNAL_NETany->$HOME_NETany(msg:"SCANXMAS”;flow:stateless;flags:SRAFPU,12;reference:arachnids,144;classtype:attempted-recon;sid:625;rev:7)实验内容三:编写Snort规则snort使用一种简单的,轻量级的规则描述语言,这种语言灵活而强大。在开发snort规则时要雇几个简单的原则:大多数snort规则都写在一个单行上,或都在多行之间的行尾用/分隔。snort被分成两个逻辑部分:规则头和规则项。规则头包含规则的动作、协议、源和目标IP地址与网络掩码,以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的部分。例如:alerttcpanyany->/24111(content:"|0001 86a5|";msg:"mountdaccess";)o第一个括号前的部分是规则头 (ruleheader),包含的括号内的部分是规则选项 (ruleoptions)o规则选项部分中冒号前的单词称为选项关键字(optionkeywords)o注意,不是所有规则都必须包含规则选项部分,选项部分只是为了使对要悼念或报警,或丢弃的包的定义更加严格。组成一个规则的所有元素对于指定的要采取的行动都必须是真的。当多个元素放在一起时,可以认为它们组成一个逻辑与语句。 同时,snort规则库文件中的不同规则可以认为组成一个大的逻辑或语句。编写一个规则,通过捕捉关键字Search记录打开Google网页的动作,并将符合规则的数据包输出到Alert文件中。在Snort的Rules文件夹下创建Myrule文件,在Myrule文件中输入如下内容:alerttcp$EXTERNAL_NETany->any80(content:"search";nocase;msg:"GoogleSearchQuery";)在Snort.conf文件中添加新建的规则文件。在Snort.conf的规则区域中(也可在文件末)添加下面的语句: include$RULE_PATH/myrule.rules⑶以IDS模式启动Snort,打开浏览器,输入至sgoogle页面。至Log文件夹下查看Alert文件,如下图所示,可以发现规则中的字符串已经被记录了下来,即Snort成功地检测到载入Google网页的动作,所定义的规则起到了预想的作用。Jakrtids记事工 LGJ12」诵彌(匂硯v01S5(V)ffiftKHt

.a〜[1?0:n]f7nogleSearchflupry[邸]iPriaTATy:0108/23-10:15:21050ni0:23:4E:EO:66tF6->0:B0aC;FA:38:DBtype:0x800lea;OxL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论