《四章入侵检测技术.ppt》由会员分享,可在线阅读,更多相关《四章入侵检测技术.ppt(52页珍藏版)》请在三一办公上搜索。
1、第四章 入侵检测技术,第四章 入侵检测技术,本章要点入侵检测的原理入侵检测涉及到的关键技术入侵检测软件的使用,第四章 入侵检测技术,4.1入侵检测系统概述,4.2入侵检测的监视技术,4.3入侵检测的分析技术,4.4IDS的体系结构,4.5使用Snort搭建NIDS,4.6IPS简介,本章内容,4.7IDS的发展趋势,4.8实验,4.1 入侵检测系统概述IDS的产生,被动安全防御技术的不足:防火墙:80%以上的攻击来源于组织内部;串联的工作方式使其无法进行复杂的检测 安全访问控制:黑客可以通过身份窃取、利用系统漏洞等手段绕开安全访问控制机制,入侵检测技术的产生:作为一种积极主动的安全防护技术,对
2、各种被动防护技术起到了极其有益的补充 它从计算机网络或计算机系统中的若干关键点处收集信息,并对其分析,从中发现网络或系统中是否有违反安全策略的行为或被攻击的迹象,事件产生器,事件分析器,响应单元,事件数据库,CIDF体系结构图,事件产生器:负责从入侵检测系统外的计算环境中获得事件。事件分析器:对事件进行分析,判断其是否属于攻击。响应单元:在发现攻击时作出响应,包括终止进程、重置连接、修改防火墙规则等。事件数据库:用于存放中间数据或最终数据。它既可以是数据库,也可以是简单的文本文件。,4.1 入侵检测系统概述IDS的系统结构,4.1 入侵检测系统概述IDS的分类,4.2 入侵检测的监控技术,信息
3、收集是入侵检测的第一步,而入侵检测监控技术解决了“从何处获取包含了攻击信息的数据”这一问题。三类监控技术:基于主机的监控 基于网络的监控 混合型监控,4.2.1 基于主机的监控(1),基于主机的入侵检测系统(host-based IDS,HIDS)用来保护单台主机,负责监视系统内发生的各种活动,并在可疑事件发生时给出警报或做出响应。HIDS可对系统中的多种对象进行监控,包括:系统日志网络连接文件系统 应根据主机的特点来选择最合适的产品。例如,对于一个Web服务器来说,更多的攻击可能来自于网络,故应在其上安装有网络监控功能的HIDS。,4.2.1 基于主机的监控(2),HIDS的优点对分析“可能
4、的攻击行为”非常有用 能够判断攻击是否成功 与NIDS相比,具有较低的误报率 HIDS的缺点需占用被监控系统的系统资源全面部署HIDS的代价较大无法检测来自网络的攻击,存在检测盲点,4.2.2 基于网络的监控(1),基于网络的入侵检测系统(Network-based IDS,NIDS)用来保护网络中的多台主机,它以网络中的数据包作为分析对象由于需处理大量数据,NIDS一般位于专用硬件平台上所在主机的网卡需设为混杂模式,4.2.2 基于网络的监控(2),部署NIDS时需考虑的问题 NIDS的部署位置?与网络本身的拓扑结构、管理员希望达到的监控目的有关。如何处理交换式网络?使用带调试端口的交换机;
5、使用Hub或Trap。,4.2.2 基于网络的监控(3),NIDS的优点能够检测来自网络的攻击采用旁路技术,不会成为系统中的瓶颈系统容易部署操作系统无关性 NIDS的缺点在交换式网络环境下需添加额外的硬件设施网络流量较大时处理能力有限 不适用于加密的网络环境 对入侵不能做出合理的反应,4.2.3 混合型监控,混合型IDS的基本特点结合了HIDS和NIDS的特点,既可以发现网络中的攻击行为,又可以从系统日志中发现异常情况一般采用分布监控、集中分析的体系结构,4.3 入侵检测的分析技术,在完成信息收集后,接下来要进行的工作就是对这些信息进行分析,看其中是否包含了可疑的攻击行为。入侵检测分析技术主要
6、分成两类:误用检测:收集已有的入侵技术并建立知识库,通过匹配查找来判断当前行为是否为入侵。异常检测:系统管理员首先为网络通信流量、分组典型大小等指标定义一个基线,或者说定义一个正常状态值。然后将待检测对象的状态与正常状态值进行比较,如果超出正常值,则认为出现了攻击事件。,4.3.1 误用检测(1),模式匹配检测原理:将数据包的内容与代表某种恶意事件或流量的特征串进行逐字节地比较 优点:分析速度快,误报率低 缺点:计算量大,尤其是模式库规模较大的情况下;只能检测给定类型的攻击,对稍微变形的攻击特征就束手无策,4.3.1 误用检测(2),专家系统检测原理:根据安全专家对可疑行为的分析经验来形成一套
7、推理规则,然后再在此基础之上构建相应的专家系统。安全专家的知识被表达成“if-then”格式。其中,每条规则的if部分代表某个入侵特征,then部分为系统的响应措施。当if条件满足时即判断为入侵行为,并做出响应。,4.3.1 误用检测(3),状态转移分析检测原理:将状态转换图应用于入侵行为的分析。分析时首先针对每一种入侵方法确定系统的初始状态和被入侵状态,以及导致状态转换的转换条件,即导致系统进入被入侵状态必须执行的操作。然后用状态转换图来表示每一个状态和特征事件。这样,一个入侵行为就被描绘成一系列导致目标系统从初始状态转换到被入侵状态的特征操作,及一系列系统状态转换过程。,4.3.2 异常检
8、测(1),统计方法检测原理:首先,检测器为系统对象创建一个统计描述,统计正常情况下的一些属性的值。当观察值在正常值范围之外时,则认为出现了攻击事件。细分为基于阀值和基于轮廓的检测技术 基于阀值:统计事件在一定时间内发生频率,当其发生频率超出正常值时,则认为出现了攻击事件。基于轮廓:对用户过去的行为特征进行刻画,然后检查当前活动与这些特征(若干参数)间的差异,该方法以分析审计日志为基础。,4.3.2 异常检测(2),人工免疫检测原理:模仿生物有机体的免疫系统工作机制,使得受保护的系统能够将非自体的非法行为和自体的合法行为区分开来。下表给出了生物系统和人工免疫系统中相关对象的对应关系:,4.4 I
9、DS的体系结构集中式体系结构(1),集中式入侵检测系统由一个中心站和若干监控代理组成。监控代理分布在各关键节点上,负责收集本地审计数据,并将其转换成与操作系统无关的格式,然后送往中心站统一进行分析。,4.4 IDS的体系结构集中式体系结构(2),优点:不会给被监控系统的性能带来影响更容易做出全局性的决策 由于中心站比被监视主机具有更高和更加严格的安全措施,从而保证入侵检测功能更加可靠地实现集中式的策略管理还可大大简化安全管理工作,提高安全对策应用的有效性和一致性,4.4 IDS的体系结构集中式体系结构(3),缺点:中心站与各主机监控代理之间的通信过于繁重存在单点失效。一旦中心站失败,则将导致检
10、测功能的丧失 单一的中心站难以适应所有被监视主机的各种不同需求,4.4 IDS的体系结构分布式体系结构,在分布式体系结构中,数据采集及数据分析都是分布完成的 细分为层次式和协同式两种层次式:树型的分层体系。叶结点负责信息收集,中间结点承上启下,根节点进行全局的关联分析及判断。协同式:没有中心节点,多个互相平等的检测节点在网络中分别进行数据收集及数据分析,并且协同处理大规模的入侵行为。,4.5 使用Snort搭建NIDSSnort简介(1),Snort简介开源软件,除了用作入侵检测系统,还可以用作嗅探器和包记录器。基于libpcap的轻量级网络入侵检测系统可支持多种操作系统平台:Windows、
11、Linux、Solaris、FreeBSD等,4.5 使用Snort搭建NIDSSnort简介(2),解码器:负责从网络接口上获取数据包。,检测引擎:该子系统是Snort工作在入侵检测模式下的核心部分,它使用基于规则匹配的方式来检测每个数据包。一旦发现数据包的特征符合某个规则定义,则触发相应的处理操作。,日志警报子系统:规则中定义了数据包的处理方式,包括alter(报警)、log(记录)和pass(忽略)等,但具体的alter和log操作则是由日志/警报子系统完成的。日志子系统将解码得到的信息以ASCII码的格式或以tcpdump的格式记录下来,报警子系统将报警信息发送到syslog、sock
12、et或数据库中。,预处理器:可选部件,用于提供除规则匹配外的检测机制。,输出插件:可选部件。用来格式化警报信息。使得管理员可以按照公司环境来配置容易理解、使用和查看的报警和日志方法。,解码器,预处理器,检测引擎,输出插件,日志/警报子系统,Snort的组成结构,4.5 使用Snort搭建NIDSSnort简介(3),Snort入侵检测流程Snort利用libpcap进行抓包;由解码器将捕获的数据包信息填入包结构体,并将其送到各式各样的预处理器中;对于那些用于检测入侵的预处理器来说,一旦发现入侵行为,将直接调用输出插件或者日志/警报子系统进行输出;对于那些用于包重组和协议解码的预处理器来说,它们
13、会将处理后的信息送往检测引擎;检测引擎对数据包的特征及内容进行检查,一旦检测到与已知规则匹配的数据包,或者利用输出插件进行输出,或者利用日志/警报子系统进行报警和记录。,4.5 Snort的使用,嗅探模式:#/usr/local/snort/bin/snort vde包记录模式:#./snort-dev-l/var/log/snort#./snort-dev-r/var/log/snort/snort.log.1168819360 icmp 入侵检测模式#./snort-dev-l/var/log/snort-c/path/to/snort.conf#./snort-d-h 192.168.0
14、.0/24-l/var/log/snort-c/path/to/snort.conf,4.5 使用Snort搭建NIDSSnort的安装与配置,仅安装Snort捕获到的入侵检测数据以文本或者二进制的形式保存在文件中,用户在审计阶段不得不面对大量的日志和警报信息与其它软件配合使用允许用户把捕获到的入侵检测数据保存到数据库中,以及使用工具软件来对入侵检测数据进行分析 可配合使用的软件包括:MySQL、Apache、PHP、ACID、GD函数库、PHPLOT和ADODB,4.5 使用Snort搭建NIDS编写自己的规则(1),Snort的规则在逻辑上可分为规则头和规则体规则头定义了基本的检测条件。其
15、检测对象包括数据包的协议类型、源/目的端口和源/目的IP,同时还定义了出现匹配情况时将要采取的动作。规则体作为一个可选部分,通常定义了额外的检测条件和警报信息。,alter tcp any any-192.168.1.0/24 22(msg:“ssh access”;),规则头,规则体,4.5 使用Snort搭建NIDS编写自己的规则(2),规则头的组成,规则示例alter tcp any any-192.168.1.0/24 111(content:”|00 01 86 a5|”;msg:”mounted access”;),4.5 使用Snort搭建NIDS编写自己的规则(3),规则头 规
16、则行为,五种预定义规则log 记录当前数据包的信息alter 产生一个警报,同时记录该数据包的信息pass 忽略当前数据包activate 产生一个警报,并启动相关的dynamic规则dynamic 这类规则在通常情况下保持空闲状态,直到相关的activate规则将它激活为止。激活之后,其工作方式与log相同自定义规则类型使用输出插件来输出检测结果:,4.5 使用Snort搭建NIDS编写自己的规则(4),规则头 协议,当前开源版的Snort支持4种协议TCP、UDP、ICMP、IP每条规则只能指定一种协议,4.5 使用Snort搭建NIDS编写自己的规则(5),规则头 IP地址,不支持域名解
17、析使用“普通IP地址”来表达某单一的地址。如:192.168.0.176使用“无类别域间路由地址”来表达某个范围内的IP地址。如:192.168.0.0/24代表192.168.0.0网段的所有IP地址使用“”来表达多个、不连续的IP地址。如192.168.0.1,192.168.0.2表示192.168.0.1和192.168.0.2两个IP地址使用“!”来表示除后述地址外的其它所有地址。如:!192.168.0.0/24表示除192.168.0.0/24外的所有IP 使用“any”通配符代表所有IP地址,4.5 使用Snort搭建NIDS编写自己的规则(6),规则头 端口,单个端口。如:8
18、0以冒号分隔的一个端口范围。三种格式:1:1024 1到1024之间的所有端口:6000 1到6000之间的端口 500:500到65535之间的端口“惊叹号”来表示除后述端口外的其它端口。如:!8080“any”通配符表示所有端口,4.5 使用Snort搭建NIDS编写自己的规则(7),规则头 方向操作符,规则中的方向操作符用来告诉Snort应如何理解规则 Snort支持两种方向操作符,“-”和“”“-”左边的源,右边是目的“”表示不需要区分哪边是源,哪边是目的,4.5 使用Snort搭建NIDS编写自己的规则(8),规则体什么是规则体用来检测复杂的攻击包含了一个或多个规则选项;多个规则选项
19、之间的关系为逻辑与,即只有在所有选项定义的条件都为真的条件下,才执行规则头中定义的行为规则体的语法 关键字:参数值例如:content:”|E8C0FFFFFF|/bin”其中,括号内的部分为可选的,即不是所有的选项都有对应的参数值。例如:nocase,4.5 使用Snort搭建NIDS编写自己的规则(9),规则示例:activate tcp!$LOCAL_NET any-$LOCAL_NET 143(flags:PA;content:“|E8C0FFFFFF|/bin”;activates:1;msg:“IMAP buffer overflow”;)dynamic tcp!$LOCAL_NE
20、T any-$LOCAL_NET 143(activated_by:1;count:50;),4.6 IPS系统(1),IPS的提出,将IDS与防火墙的功能集中在一起,形成一种新的产品:入侵防御系统(Intrusion Prevention System,IPS),有时又称入侵检测和防御系统(Intrusion Detection and Prevention,IDP),IDS在以下方面存在着不足:较高的误警率;系统的管理和维护比较难;当IDS遭受拒绝服务攻击时,它的失效开放机制使得黑客可以实施攻击而不被发现;无攻击防护。,4.6 IPS系统(2),IPS概述IPS提供了主动防护,它会预先对入
21、侵活动和攻击性网络流量进行拦截,避免其造成损失,而对于IDS来说,它是在恶意流量传送时或传送后才发出警报。它的部署情况如下图所示:,IPS采用串接的工作方式,通常部署在防火墙之后,对通过防火墙的数据包进行进一步检查过滤。,4.6 IPS系统(3),IPS的使用IPS作为一种新技术仍然存在着很多不足:它的串联工作方式会影响网络性能和可靠性。对于IPS采用失效开放还是失效关闭存在争议:如果IPS停止运转后线路仍畅通,则相当于没有任何防御效果。如果停止运转后网络断开,企业网络就与外部网路完全切断,相当于IPS自己产生了拒绝服务攻击。同IDS一样,IPS在检测效果、报警处理机制、特征库优化等方面还有待
22、提高。因此,在实际应用中,通常是将IPS、IDS和防火墙配合起来使用。,4.7 IDS的发展趋势(1),分布式入侵检测 传统的入侵检测局限于单一的主机或网络,对异构系统和大型网络显得力不从心。由于在异构和大型网络的情况下,系统的复杂度大大增加,模型建立十分困难,系统资源消耗大,因此可以用分布式系统来协同工作。通用入侵检测技术 传统的方法各有所长,但彼此不能协同工作,需要研究通用的入侵检测技术。应用层入侵检测 许多入侵活动的含义只有在应用层才能理解。但传统方法很少涉及到应用层,使得一些应用系统内的入侵活动难以检测,所以需要开发应用层的入侵检测技术。,4.7 IDS的发展趋势(2),智能入侵检测
23、入侵方法逐渐趋于综合化和多样化,传统方法对此效果甚微。需要研究智能化的入侵检测技术,使系统能够自动适应新的入侵活动,完善系统模型,提高检测的效率和准确性。入侵检测的评测方法 已有许多入侵检测系统在使用中,但究竟效果如何,还缺乏全面的评价方法。需要建立评价系统来对此进行评价,同时可以对进一步的开发工作提供方向。综合性检测系统 与其它的网络安全技术(包括硬件技术)相结合,形成综合的检测系统,解决传统方法检测对象单一、检测攻击形式简单等问题。,4.8实验:编写snort规则,实验目的,实验内容,实验步骤,实验过程演示,思考题,4.8.1实验目的,掌握Snort的安装和配置 掌握规则的编写方式掌握Sn
24、ort的使用方法,4.8.2实验内容,搭建Snort环境编写检查telnet登陆失败的规则 模拟telnet登陆失败,确认Snort是否检测到该操作,4.8.3实验步骤(0),实验环境说明本实验需用到两台主机:一台IP为192.168.0.179的Linux主机,其上安装了telent服务器;一台Windows XP主机,用作telnet客户端,其IP为192.168.0.176。,4.8.3实验步骤(1),在telnet服务器端安装并配置Snort明确自定义规则的存放位置 在snort.conf文件中定义以下变量 在local.rules文件中加入如下规则,alter tcp$TELNET_
25、SERVER 23-$TELNET_CLIENT any(msg:haha,I got a bad one;content:Login incorrect;nocase;flow:from_server,established;classtype:bad-unknown;sid:777;rev:1;),var TELNET_SERVER 192.168.0.179var TELNET_CLIENT!192.168.0.253,4.8.3实验步骤(2),启动Snort 模拟登陆失败场景,/usr/local/snort/bin/snort-c/usr/local/snort/etc/snort.
26、conf-l/var/log/snort,点击“开始”-“运行”,输入“telnet 192.168.0.179”连接telnet服务器;连接成功后,服务器会提示输入用户名和密码。此时,输入正确的用户名和错误的密码。之后,会看到屏幕上会“Login incorrect”的提示。,4.8.3实验步骤(2),转入日志文件目录/var/log/snort,检查报警文件和日志文件,确认Snort已检测到此操作。,图1:alter文件中的报警信息,图2:日志文件中的包信息,检测telnet登陆失败事件,telnet服务器IP:192.168.0.179,编写自定义的Snort规则,telnet客户端IP:192.168.0.176,4.8.4实验过程演示,查看日志文件,确认Snort已检测到该事件,4.8.5思考题,在规则很多的情况下,Snort会生成大量的日志信息和报警信息,思考一下如何有效地保存和查看这些信息。提示:通过使用mysql和ACID等工具,搭建一套完整的Snort,从而对Snort产生的各种信息进行有效地管理。,本章小结,入侵检测技术产生背景和工作方式入侵检测系统涉及到的三个关键技术监控技术分析技术系统的体系结构Snort的使用方式,