网络安全第8章网络入侵检测IDS_第1页
网络安全第8章网络入侵检测IDS_第2页
网络安全第8章网络入侵检测IDS_第3页
网络安全第8章网络入侵检测IDS_第4页
网络安全第8章网络入侵检测IDS_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

第8章网络入侵检测IDS1IDS概述1.1IDS概念1.2IDS功能1.3IDS特点1.4IDS基本结构1.1IDS概念一种主动保护自己的网络和系统免遭非法攻击的网络安全技术。它从计算机系统或者网络中收集、分析信息,检测任何企图破坏计算机资源的完整性、机密性和可用性的行为,即查看是否有违反安全策略的行为和遭到攻击的迹象,并做出相应的反应。加载入侵检测技术的系统我们称之为入侵检测系统(IDS,IntrusionDetectionSystem),一般情况下,我们并不严格的去区分入侵检测和入侵检测系统两个概念,而都称为IDS或入侵检测技术。监控室=控制中心后门保安=防火墙摄像机=探测引擎CardKey形象地说,它就是网络摄象机,能够捕获并记录网络上的所有数据,同时它也是智能摄象机,能够分析网络数据并提炼出可疑的、异常的网络数据,它还是X光摄象机,能够穿透一些巧妙的伪装,抓住实际的内容。它还不仅仅只是摄象机,还包括保安员的摄象机,能够对入侵行为自动地进行反击:阻断连接、关闭道路(与防火墙联动)。IDS意义源于信息审计,优于信息审计,信息安全审计的核心技术主动防御的需要,防火墙、VPN通过“阻断”的机制被动式防御,不能抵制复杂和内部的攻击作为与防火墙配合的防护手段(如下图)1.2IDS功能监控、分析用户和系统活动实现入侵检测任务的前提条件发现入侵企图或异常现象入侵检测系统的核心功能这主要包括两个方面,一是入侵检测系统对进出网络或主机的数据流进行监控,看是否存在对系统的入侵行为,另一个是评估系统关键资源和数据文件的完整性,看系统是否已经遭受了入侵。记录、报警和响应入侵检测系统在检测到攻击后,应该采取相应的措施来阻止攻击或响应攻击。入侵检测系统作为一种主动防御策略,必然应该具备此功能。审计系统的配置和弱点、评估关键系统和数据文件的完整性等IDS的两个指标漏报率指攻击事件没有被IDS检测到误报率(falsealarmrate)把正常事件识别为攻击并报警误报率与检出率成正比例关系0检出率(detectionrate)100%100%误报率1.3IDS特点不足不能弥补差的认证机制需要过多的人为干预不知道安全策略的内容不能弥补网络协议上的弱点不能分析一个堵塞的网络不能分析加密的数据优点:提高信息安全构造的其他部分的完整性提高系统的监控能力从入口点到出口点跟踪用户的活动识别和汇报数据文件的变化侦测系统配置错误并纠正识别特殊攻击类型,并向管理人员发出警报1.4IDS模型入侵检测模型有多种,其中最有影响的是如下2种:(1)CIDF模型事件分析器事件分析器分析得到的数据,并产生分析结果。分析是核心:效率高低直接决定整个IDS性能响应单元告警和事件报告终止进程,强制用户退出切断网络连接,修改防火墙设置

灾难评估,自动恢复

查找定位攻击者事件数据库事件数据库是存放各种中间和最终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件管理器常规的管理功能:定位、控制ConsoleGUI命令行、客户程序、Web方式Database日志、规则库、行为模式库(2)Denning模型该模型由以下6个主要部分构成:(1)主体(Subjects):在目标系统上活动的实体,如用户;(2)对象(Objets):系统资源,如文件、设备、命令等;(3)审计记录(Auditrecords):由如下的一个六元组构成<Subject,Action,Object,Exception-Condition,Resource-Usage,Time-Stamp>。活动(Action)是主体对目标的操作,对操作系统而言,这些操作包括读、写、登录、退出等;异常条件(Exception-Condition)是指系统对主体的该活动的异常报告,如违反系统读写权限;资源使用状况(Resource-Usage)是系统的资源消耗情况,如CPU、内存使用率等;时间戳(Time-Stamp)是活动发生时间;(4)活动简档(ActivityProfile):用以保存主体正常活动的有关信息,具体实现依赖于检测方法,在统计方法中从事件数量、频度、资源消耗等方面度量,可以使用方差、马尔可夫模型等方法实现;(5)异常记录(AnomalyRecord):由<Event,Time-stamp,Profile>组成。用以表示异常事件的发生情况;(6)活动规则:规则集是检查入侵是否发生的处理引擎,结合活动简档用专家系统或统计方法等分析接收到的审计记录,调整内部规则或统计信息,在判断有入侵发生时采取相应的措施。2IDS技术2.1IDS检测技术2.2主机和网络2.3协议分析2.4其他高级IDS技术2.5IDS部署2.1IDS检测技术IDS检测技术异常检测模型(AnomalyDetection):首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵

误用检测模型(MisuseDetection):收集非正常操作的行为特征,建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵

异常检测(AnomalyDetection)思想:任何正常人的行为有一定的规律需要考虑的问题:(1)选择哪些数据来表现用户的行为(2)通过以上数据如何有效地表示用户的行为,主要在于学习和检测方法的不同(3)考虑学习过程的时间长短、用户行为的时效性等问题BelowThresholdlevelsExceedThresholdLevelsSystemAuditMetricsProfilerIntrusionNormalActivity异常检测模型异常检测过程:前提:入侵是异常活动的子集用户轮廓(Profile):通常定义为各种行为参数及其阀值的集合,用于描述正常行为范围过程监控

量化比较判定 修正指标:漏报(falsepositive),错报(falsenegative)优点可以检测到未知的入侵

可以检测冒用他人帐号的行为

具有自适应,自学习功能

不需要系统先验知识缺点漏报、误报率高入侵者可以逐渐改变自己的行为模式来逃避检测合法用户正常行为的突然改变也会造成误警统计算法的计算量庞大,效率很低

统计点的选取和参考库的建立比较困难activitymeasuresprobableintrusionRelativelyhighfalsepositiverate- anomaliescanjustbenewnormalactivities.误用检测(MisuseDetection)思想:主要是通过某种方式预先定义入侵行为,然后监视系统,从中找出符合预先定义规则的入侵行为误用信号需要对入侵的特征、环境、次序以及完成入侵的事件相互间的关系进行描述重要问题(1)如何全面的描述攻击的特征(2)如何排除干扰,减小误报(3)解决问题的方式SystemAuditMetricsPatternMatcherIntrusionNormalActivityNoSignatureMatchSignatureMatch误用检测模型误用检测过程前提:所有的入侵行为都有可被检测到的特征攻击特征库:当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵过程监控

特征提取匹配判定指标错报低

漏报高

优点:算法简单、系统开销小、准确率高、效率高缺点:被动:只能检测出已知攻击、新类型的攻击会对系统造成很大的威胁

模式库的建立和维护难:模式库要不断更新知识依赖于:硬件平台、操作系统、系统中运行的应用程序IntrusionPatternsactivitiespatternmatchingintrusionCan’tdetectnewattacksExample:if(src_ip==dst_ip)then“landattack”2.2主机和网络按照数据来源:基于主机:IDS用以分析的数据源于主机系统,包括主机网络连接、主机审计数据、主机应用日志等。主机IDS保护的目标是系统运行所在的主机基于网络:IDS用以分析的数据源于网络数据包。网络IDS保护的是目标网络混合型:集成两者主机IDS示意图关键问题:监视与分析主机的审计记录可以不运行在监控主机上能否及时采集到审计记录?如何保护作为攻击目标主机审计子系统?主机IDS特点:能够监测的网络和主机活动更加细腻视野集中,比如:一旦入侵者得到了一个主机的用户名和口令,基于主机的代理是最有可能区分正常的活动和非法的活动的易于用户剪裁对网络流量不敏感:数据来源不完全源于网络适用于被加密的以及切换的环境网络IDS示意图关键问题在共享网段上对通信数据进行侦听采集数据主机资源消耗少提供对网络通用的保护如何适应高速网络环境?非共享网络上如何采集数据?网络IDS优点侦测速度快隐蔽性好视野更宽较少的监测器攻击者不易转移证据操作系统无关性占资源少网络IDS不足只检查它直接连接网段的通信,不能检测在不同网段的网络包在使用交换以太网的环境中就会出现监测范围的局限而安装多台网络入侵检测系统的传感器会使部署整个系统的成本大大增加。通常采用特征检测的方法,它可以检测出普通的一些攻击,而很难实现一些复杂的需要大量计算与分析时间的攻击检测。可能会将大量的数据传回分析系统中,在一些系统中监听特定的数据包会产生大量的分析数据流量处理加密的会话过程比较困难,目前通过加密通道的攻击尚不多,但随着IPV6的普及,这个问题会越来越突出。网络节点入侵检测(NNIDS)NNIDS概况也称为Stack-BasedIDS安装在网络节点的主机中结合了NIDS和HIDS的技术适合于高速交换环境和加密数据2.3协议分析概念举例一般流程协议分析优势概念协议分析(ProtocolAnalysis,PA)利用协议的高度规则性,对协议进行分析,寻找违反协议定义的数据包。检测思想协议定义是规范的(通用协议、专用协议)协议头的长度是固定的,数据量很小。协议举例(HTTP)协议举例(HTTP)帧的前14个字节为MAC头,第13、14两个字节用于标明第三层采用什么协议,如为“0800”(即0x0800),则表明是IP协议,如为“0806”(即0x0806),表明是ARP协议,如为“8035”(即0x8035),则表明是RARP协议,如为“8138”(即0x8138),则为NOVELL协议。IP协议头的长度为20个字节,其中第10个字节(即该帧第24个字节)为第四层协议标识,如为“06”,则为TCP,如为“11”则为UDP,如为“01”则为ICMP。TCP协议头的长度为20字节,其中第3、4两个字节(即该帧第35、36两字节)为应用层协议使用的端口号,应用层协议一般使用专用的端口,如HTTP使用80端口,FTP使用21端口,TELNET使用23端口等。包头共使用了54Bytes,从第55个字节开始,就是HTTP数据了。协议分析一般流程协议分析的优势优点减少误报率提高分析速度可以解决一些具体问题模糊路径问题、十六进制编码问题、双十六进制编码问题等依据RFC,执行协议异常分析例如:检测0-day漏洞脚本大量的90字符可能是ShellCode中的NOP操作2.4其他高级IDS技术专家系统:将有关入侵的知识转化为if-then结构的规则,即将构成入侵所要求的条件转化为if部分,将发现入侵后采取的相应措施转化成then部分。其中的if-then结构构成了描述具体攻击的规则库,状态行为及其语义环境可根据审计事件得到,推理机根据规则和行为完成判断工作。在具体实现中,专家系统主要面临:1)全面性问题,即难以科学地从各种入侵手段中抽象出全面地规则化知识;2)效率问题,即所需处理的数据量过大,而且在大型系统上,如何获得实时连续的审计数据也是个问题。神经网络基本思想是用一系列信息单元(命令)训练神经元,这样在给定一组输入后,就可能预测出输出。与统计理论相比,神经网络更好地表达了变量间的非线性关系,并且能自动学习和更新。实验表明UNIX系统管理员的行为几乎全是可以预测的,对于一般用户,不可预测的行为也只占了很少的一部分。用于检测的神经网络模块结构大致是这样的:当前命令和刚过去的w个命令组成了神经网络的输入,其中w是神经网络预测下一个命令时所包含的过去命令集的大小。根据用户的代表性命令序列训练网络后,该网络就形成了相应用户的特征表,于是网络对下一事件的预测错误率在一定程度上反映了用户行为的异常程度。基于神经网络的检测思想如下图7-3所示:神经网络方法特点:图中输入层的w个箭头代表了用户最近的w个命令,输出层预测用户将要发生的下一个动作。神经网络方法的优点在于能更好地处理原始数据的随机特征,即不需要对这些数据作任何统计假设,并且有较好的抗干扰能力。缺点在于网络拓扑结构以及各元素的权重很难确定,命令窗口w的大小也难以选取。窗口太小,则网络输出不好,窗口太大,则网络会因为大量无关数据而降低效率。“零拷贝”技术“零拷贝”技术是指网卡驱动程序共享一段内存区域,当网卡抓到数据包以后直接写到共享内存,这样的一个处理过程减少了至少一次复制。同时减少了一次网卡驱动程序向用户空间复制网络数据包的系统调用。一次系统调用的开销其实是相当大的,对于入侵检测系统来说由于要频繁地跟内核空间的网卡驱动程序打交道,因此按传统方法会造成大量的系统调用,从而导致系统的性能下降。但是采用了“零拷贝”技术后有效的避免了这一点。2.5IDS部署IDS体系结构集中式:多个分布于不同主机上的审计程序,但只有一个中央入侵检测服务器。等级式:定义了若干个分等级的监控区域,每个IDS负责一个区域,每一级IDS只负责所监控区的分析,然后将当地的分析结果传送给上一级IDS。协作式:将中央检测服务器的任务分配给多个基于主机的IDS,这些IDS不分等级,各司其职,负责监控当地主机的某些活动。共享局域网HUBIDSSensorMonitoredServersConsole简单交换网SwitchIDSSensorMonitoredServersConsole通过端口镜像实现(SPAN/PortMonitor)SwitchIDSSensorMonitoredServersConsole不设IP隐蔽模式下检测器的部署复杂交换网没有专门监听端口的网络:将用于检测的端口映射为交换机的出口划分为多个Vlan的网络:将用于检测的端口同时映射为多个Vlan的端口多个交换机串联的网络:使用多个探测器广域网情况Internet监控中心(辅)IDSAgentIDSAgentIDSAgentIDSAgentIDSAgentIDSAgent监控中心(主)入侵检测系统与防火墙的比较3Snort3.1基本情况3.2Snort规则3.3Snort配置3.4Snort检测3.1基本情况概述轻量级入侵检测系统:可配置性可移植性(结构性好,公开源代码)可扩充性(基于规则,支持插件)网络入侵检测系统数据包捕获(libpcap等)数据包分析误用入侵检测系统特征模式进行匹配工作模式嗅探器数据包记录器网络入侵检测系统核心组成:数据保捕获规则解析规则维护3.2Snort规则规则描述语言规则是特征模式匹配的依据,描述语言易于扩展,功能也比较强大

每条规则必须在一行中,其规则解释器无法对跨行的规则进行解析逻辑上由规则头和规则选项组成。规则头包括:规则行为、协议、源/目的IP地址、子网掩码、方向以及源/目的端口。规则选项包含报警信息和异常包的信息(特征码),使用这些特征码来决定是否采取规则规定的行动。规则描述语言举例alerttcpanyany->/24111(content:"|000186a5|";msg:"mountdaccess";)从开头到最左边的括号属于规则头部分,括号内的部分属于规则选项。规则选项中冒号前面的词叫做选项关键词。对于每条规则来说规则选项不是必需的,它们是为了更加详细地定义应该收集或者报警的数据包。只有匹配所有选项的数据包,Snort才会执行其规则行为。如果许多选项组合在一起,它们之间是逻辑与的关系。规则行为(ruleaction):Alert:使用选定的报警方法产生报警信息,并且记录数据包;Log:记录数据包;Pass:忽略数据包;Activate:报警,接着打开其它的dynamic规则;Dynamic:保持空闲状态,直到被activate规则激活,作为一条log规则

协议(protocol):每条规则的第二项就是协议项。当前,snort能够分析的协议是:TCP、UDP和ICMP。将来,可能提供对ARP、ICRP、GRE、OSPF、RIP、IPX等协议的支持。

IP地址:规则头下面的部分就是IP地址和端口信息。关键词any可以用来定义任意的IP地址。snort不支持对主机名的解析,所以地址只能使用数字/CIDR的形式,CIDR(无级别域内路由)指明应用于IP地址的掩码。/24表示一个C类网络;/16表示一个B类网络;而/32表示一台特定的主机地址。在规则中,可以使用否定操作符(negationoperator)对IP地址进行操作。它告诉snort除了列出的IP地址外,匹配所有的IP地址。否定操作符使用!表示。例如,使用否定操作符可以很轻松地对上面的规则进行改写,使其对从外部网络向内的数据报警。

端口号:有几种方式来指定端口号,包括:any、静态端口号(staticport)定义、端口范围以及使用非操作定义。any表示任意合法的端口号。静态端口号表示单个的端口号,例如:111(portmapper)、23(telnet)、80(http)等。使用范围操作符:可以指定端口号范围。有几种方式来使用范围操作符:达到不同的目的,例如:logudpanyany->/241:1024记录来自任何端口,其目的端口号在1到1024之间的UDP数据包

方向操作符(directionoperator):方向操作符->表示数据包的流向。它左边是数据包的源地址和源端口,右边是目的地址和端口。此外,还有一个双向操作符<>,它使snort对这条规则中,两个IP地址/端口之间双向的数据传输进行记录/分析,例如telnet或者POP3对话。下面的规则表示对一个telnet对话的双向数据传输进行记录:log!/24any<>/2423

规则选项:规则选项构成了snort入侵检测引擎的核心,它们非常容易使用,同时又很强大和容易扩展。在每条snort规则中,选项之间使用分号进行分割。规则选项关键词和其参数之间使用冒号分割。下面是一些常用的规则选项关键词,其中对部分重要关键词进行详细解释:

msg:在报警和日志中打印的消息; logto:把日志记录到一个用户指定的文件,而不是输出到标准的输出文件; ttl:测试IP包头的TTL域的值;

tos:测试IP包头的TOS域的值; id:测试IP分组标志符(fragmentID)域是否是一个特定的值

ipoption/fragbits/dsize/flags/seq/……3.3Snort配置Snort本身的一些配置,例如变量、预处理插件、输出插件、规则集文件等,也是通过解析规则进行的。在snort2.0版本中,有一个总体规则文件snort.conf,大部分配置规则都在此文件中。Include

申明包含文件varriables

在snort规则文件中可以定义变量。格式为:var<name><value>,例如:varMY_NET

/24,/24]<alerttcpanyany->$MY_NETany(flags:S;msg:“SYNMETApacket”;)。最重要的默认变量是HOME_NET、EXTERNAL_NET、HTTP_PORTS、RULE_PATH等,分别表示本地网络的IP地址范围、外部网络的IP地址范围、web服务的端口、规则集文件的路径。

预处理器:从snort-1.5开始加入了对预处理器(也叫预处理插件)的支持。有了这种支持,用户和程序员能够比较容易地编写模块化的插件,扩展snort的功能。预处理器在调用检测引擎之前,在数据包被解码之后运行。通过这种机制,snort可以以一种outofband的方式对数据包进行修改或者分析。预处理器可以使用preprocessor关键词来加载和配置,格式如下:preprocessor<name>:<options>。例如:preprocessorminfrag:128。以下是一些预处理器的说明:

HTTPdecode预处理插件:HTTP解码预处理模块用来处理HTTPURI字符串,把它们转换为清晰的ASCII字符串。这样就可以对抗evasicewebURL扫描程序和能够避开字符串内容分析的恶意攻击者。这个预处理模块使用WEB端口号作为其参数,每个端口号使用空格分开。格式:http_decode:<端口号列表>,例如:preprocessorhttp_decode:808080Minfrag:这个预处理器测试分片包的大小是否低于一个特定的值。格式:minfrag:<大小阀值)端口扫描检测模块portscan:把由单个源IP地址发起的端口扫描从开始到结束的全过程记录到标准日志设备;如果指定了一个日志文件,就把被扫描的IP地址和端口号和扫描类型都记录到这个日志文件。格式:portscan:<要监视的网络><端口数><检测周期><日志目录/文件>,例如:preprocessorportscan:/2457/var/log/portscan.logdefrag模块:defrag插件是由DragosRulu开发的,它能够重组IP碎片包,可以防止使用IP碎片包绕过系统的检测。这个模块非常容易配置,不需要参数,直接放在preprocessor关键词之后即可。它的功能超过了minfrag模块的功能,所以你如果使用defrag,就不用在用minfrag模块了。格式:defrag,例如:preprocessordefrag……输出插件:snort输出模块是从1.6版加入的新特征,使snort的输出更为灵活。snort调用其报警或者日志子系统时,就会调用指定的输出模块。设置输出模块的规则和设置预处理模块的非常相似。在snort配置文件中可以指定多个输出插件。如果对同一种类型(报警、日志)指定了几个输出插件,那么当事件发生时,snort就会顺序调用这些插件。使用标准日志和报警系统,默认情况下,输出模块就会将数据发送到/var/log/snort目录,或者用户使用-l命令行开关指定的目录。在规则文件中,输出模块使用output关键词指定:格式:outputname:<选项>,例如:outputalert_syslog:LOG_AUTHLOG_ALERT3.4Snort检测协议匹配。通过协议分析模块,将数据包按照协议分析的结果对协议相应的部分进行检测。比如对TCP包的标志位的匹配。

alerttcp$EXTERNAL_NETany->$HOME_NETany(msg:"SCANNULL";flags:0;seq:0;ack:0;reference:arachnids,4;classtype:attempted-recon;sid:623;rev:1;)其中就对TCP的flags、seq、ack进行了协议位置的匹配。协议匹配需要对特定协议进行分析,Snort对IP/TCP/UDP/ICMP进行了分析,但是没有对应用协议分析。其它一些商用的IDS进行了高层的应用协议分析,可以显著地提高匹配的效率。字符串匹配。目前这是大多数IDS最主要的匹配方式,事件定义者根据某个攻击的数据包或者攻击的原因,提取其中的数据包字符串特征。通常IDS经过协议分析后,进行字符串的匹配。

比如:Snort中的一条事件定义,alerttcp$EXTERNAL_NETany->$HTTP_SERVERS$HTTP_PORTS(msg:"WEB-ATTACKSpscommandattempt";flow:to_server,established;uricontent:"/bin/ps";nocase;sid:1328;classtype:web-application-attack;rev:4;)该事件中要进行匹配的字符串就是"/bin/ps

温馨提示

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

评论

0/150

提交评论