《网络的攻击与防范-理论与实践 第3篇 网络防御部分 第15章 入侵检测技术的原理与应用.ppt》由会员分享,可在线阅读,更多相关《网络的攻击与防范-理论与实践 第3篇 网络防御部分 第15章 入侵检测技术的原理与应用.ppt(82页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第三篇第三篇 网络防护篇网络防护篇o第11章 安全扫描技术的原理与应用o第12章 操作系统安全防范o第13章 密码及认证技术o第14章 防火墙的技术原理与应用o第15章 入侵检测技术的原理与应用o第16章 蜜罐与蜜网技术o第17章 数据备份与灾难恢复技术o第18章 网络安全综合防范平台第第15章章 入侵检测技术的原理与应用入侵检测技术的原理与应用 入侵检测系统(Intrusion Detection System,IDS)通过实时地收集和分析计算机网络或系统中的信息,来检查是否出现违反安全策略的行为和遭到袭击的迹象,进而达到防止攻击、预防攻击的目的。第第15章章 入侵检测技术的原理与应用入侵检
2、测技术的原理与应用o15.1入侵检测概述o15.2 IDS的基本原理o15.3 实验:入侵检测系统Snort 15.1入侵检测概述入侵检测概述 入侵检测,顾名思义,是指对入侵行为的发觉。它通过在计算机网络或计算机系统中的若干关键点收集信息并对收集到的信息进行分析,从而判断网络或系统中是否有违反安全策略的行为和被攻击的迹象。15.1入侵检测概述入侵检测概述o15.1.1 IDS的产生o15.1.2 IDS功能与模型 国际上在20世纪70年代就开始了对计算机和网络遭受攻击进行防范的研究,审计跟踪是当时的主要方法。1980年4月,James P.Anderson为美国空军做了一份题为Computer
3、 Security Threat Monitoring and Surveillance(计算机安全威胁监控与监视)的技术报告,这份报告被公认为是入侵检测的开山之作,报告里第一次详细阐述了入侵检测的概念。15.1.1 IDS的产生 1980年4月,James P.Anderson提出了一种对计算机系统风险和威胁的分类方法,并将威胁分为外部渗透、内部渗透和不法行为三种,还提出了利用审计跟踪数据,监视入侵活动的思想。15.1.1 IDS的产生 从1984年到1986年,Dorothy E.Denning和Peter Neumann研究并发展了一个实时入侵检测系统模型,命名为IDES(入侵检测专家系
4、统。该模型由六个部分组成:主体、对象、审计记录、轮廓特征、异常记录和活动规则。它独立于特定的系统平台、应用环境、系统弱点以及入侵类型,为构架入侵检测系统提供了一个通用的框架。15.1.1 IDS的产生 1987年,Denning提出了一个经典的异常检测抽象模型,首次将入侵检测作为一种计算机系统安全的防御措施提出。1988年Morris Internet 蠕虫事件导致了许多IDS系统的开发研制。在这一年,SRI International公司的Teresa Lunt等人开发出了一个IDES原型系统。15.1.1 IDS的产生 1988年为了帮助安全官员发现美国空军SBLC的内部人员的不正当使用,
5、Tracor Applied Sciences公司和Haystack合作开发了Haystack系统;同时,几乎出于相同的原因,美国国家计算机安全中心开发了MIDAS入侵检测和报警系统(Multics Intrusion Detection and Alerting System);Los Alamos美国国家实验室开发了网络审计执行官和入侵报告者(NADIR),它是20世纪80年代最成功和最持久的入侵检测系统之一。15.1.1 IDS的产生 1990年是入侵检测系统发展史上的一个分水岭。这一年,加州大学戴维斯分校的L.T.Heberlein等人开发出了NSM(Network Security
6、Monitor)。该系统第一次监视网络流量并直接将流量作为主要数据源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机。15.1.1 IDS的产生15.1.1 IDS的产生 到现在为止,NSM的总体结构仍然可以在很多商业入侵检测产品中见到。NSM是入侵检测研究史上一个非常重要的里程碑,从此之后,入侵检测系统发展史翻开了新的一页,两大阵营正式形成:基于网络的IDS和基于主机的IDS。简单来说,IDS包括3个部分:1.提供事件记录流的信息源,即对信息的收集和预处理;2.入侵分析引擎;3.基于分析引擎的结果产生反应的响应部件。15.1.2 IDS功能与模型 信息源是入侵检测的首要素,它可以看
7、作是一个事件产生器。事件来源于审计记录、网络数据包、应用程序数据或者防火墙、认证服务器等应用子系统。IDS可以有多种不同类型的引擎,用于判断信息源,检查数据有没有被攻击,有没有违反安全策略。当分析过程产生一个可反映的结果时,响应部件就做出反应,包括将分析结果记录到日志文件,对入侵者采取行动。15.1.2 IDS功能与模型 一般来说,IDS能够完成下列活动:o监控、分析用户和系统的活动;o发现入侵企图或异常现象;o审计系统的配置和弱点;o评估关键系统和数据文件的完整性;o对异常活动的统计分析;o识别攻击的活动模式;o实时报警和主动响应。15.1.2 IDS功能与模型 IDS在结构上可划分为数据收
8、集和数据分析两部分。早期入侵检测系统采用了单一的体系结构,在一台主机上收集数据和进行分析,或在邻近收集的节点上进行分析。最早的入侵检测模型由Dorothy E.Denning给出,是一个经典的检测模型,如下图所示,它采用了主机上的审计记录作为数据源,根据它们生成有关系统的若干轮廓,并监测系统轮廓的变化更新规则,通过规则匹配来发现系统的入侵。15.1.2 IDS功能与模型IDES入侵检测模型15.1.2 IDS功能与模型入侵检测系统构件 为了提高IDS产品、组件及与其它安全产品之间的互操作性,美国国防高级研究计划署(DARPA)和互联网工程任务组(IETF)的入侵检测工作组(IDWG)发起制定了
9、一系列建议草案,DARPA提出的建议是通用入侵检测框架(CIDF,Common Intrusion Detection Framework)。CIDF根据IDS系统的通用的需求以及现有的IDS系统的结构,将入侵检测系统分为四个基本组件:事件产生器(Event generators)、事件分析器(Event analyzers)、响应单元(Response units)和事件数据库(Event databases)。15.1.2 IDS功能与模型o(1)事件产生器o这是入侵检测系统中负责原始数据采集的部分,它对数据流、日志文件等进行追踪,然后将搜集到的原始数据转换为事件,并向系统的其他部分提供此
10、事件。o(2)事件分析器o事件分析器接收事件信息,然后对它们进行分析,判断是否是入侵行为或异常现象,最后将判断的结果转变为警告信息。15.1.2 IDS功能与模型o(3)事件数据库o事件数据库是存放各种中间和最终数据的地方。它从事件产生器或事件分析器接收数据,一般会将数据进行较长时间的保存。它可以是复杂的数据库,也可以是简单的文本文件。o(4)响应单元 响应单元根据警告信息作出反应,它可以做出切断连接、改变文件属性等强烈反应,也可以只是简单的报警,它是入侵检测系统中的主动武器。15.1.2 IDS功能与模型通用入侵检测模型15.1.2 IDS功能与模型15.2 IDS的基本原理的基本原理 ID
11、S是一个数据驱动的系统,输入数据来源于各种各样的信息源,包括主机的系统日志、应用程序日志和审计记录,网络的原始数据包。信息源可以分为应用、操作系统和网络服务三层,它们对应着不同的攻击。IDS收集到的数据是它进行检测和决策的基础,数据的准确性、可靠性以及实时性很重要。由于系统监控方法的不同,所关心的数据源也不同,基于主机的有操作系统审计踪迹,系统日志等,基于网络的主要就是网络数据包。1.基于主机的信息源 基于主机的信息源主要包括操作系统审计踪迹、系统日志文件和其他应用程序的日志文件。15.2.1 信息源信息源1)操作系统审计踪迹 第一个被认为具有安全意义的基于主机的信息源是操作系统审计踪迹。这些
12、审计踪迹是按时间顺序存放的系统活动信息的集合,描述了一个个可审计的系统事件,每个事件对应着一个审计记录,所有的审计记录又组成了一个或多个审计文件。15.2.1 信息源信息源 审计踪迹由一个特殊审计子系统产生,这个子系统是操作系统软件的一部分,在核心级和用户级记录事件。因此它详细地揭示了系统事件,包括主体、目标信息和用户ID等,这些信息允许IDS检测出细小的误用操作,但同时负面的影响也很大,审计数据的复杂性和数量等大大增加,会占用大量使用系统资源,使系统性能下降;同时对入侵者来说,巨大的审计数据也利用他们隐藏踪迹。15.2.1 信息源信息源BSM审计数据结构15.2.1 信息源信息源 Windo
13、ws的事件日志由一系列事件记录组成,一个事件记录分为三个部分:记录头、描述和可选的附近数据,如下图所示。15.2.1 信息源信息源Windows事件属性15.2.1 信息源信息源2)系统日志和应用日志 日志是消息的集合,包括操作系统产生的和应用程序的,存放在多个文件中,记录了系统进程或者用户执行过的操作。日志通常没有审计踪迹可靠,因为日志的内容多数是由应用程序决定的,而且日志保存在文本文件中,容易被更改和破坏。但是日志有很大的灵活性,根据应用的不同,记录差别很大,可以用到很多审计踪迹无法产生的地方,对IDS来说,也是一种重要的数据来源。15.2.1 信息源信息源 根据消息的重要性,每个日志记录
14、可以有不同的等级,下面列出了这些等级,重要性从上到下依次递减。n紧急情况,系统不可用(Emergency)n警报,必须立刻采取措施(Alert)n危急情况(Critical)n错误情况(Error)n警告(Warning)n注意(Notice)n信息(Information)n调试(Debug)Windows操作系统的日志包括应用程序日志、安全日志和系统日志,它们对检测入侵也有着重要的意义。15.2.1 信息源信息源 2.基于网络的信息源 当前的大部分商用IDS都用网络数据包作为信息源,主要因为这些原因:现有的攻击大多数是针对网络的攻击;网络数据很容易读取;网络上的监控器不影响网络上其他系统的
15、性能;对用户来说它是透明的,攻击者也不知道它的真实位置。15.2.1 信息源信息源 2.基于网络的信息源 互联网主要采用了TCP/IP协议,因此在网络层传输的大部分是IP包,通过将网络接口设置为混杂(Promiscuous)模式,就可以捕获共享网络上的所有数据包。对IDS来说,从链路层到应用层,所有的报文数据都可以层层解码获得,最后能还原最上层的会话数据。15.2.1 信息源信息源3.信息源的对比 基于主机的信息源和基于网络的信息源各有优劣,但是信息来源的可靠性很重要,对攻击者来说,它最终的攻击目标多数是一个目标点,服务器或者主机。针对网络本身的攻击大多是一些数据洪水,造成拒绝服务攻击,而掩盖
16、了真实的攻击意图。15.2.1 信息源信息源3.信息源的对比 从信息来源的可靠性来说,主机上的审计踪迹更可靠和有效,它记录了最终的入侵行径,特别是对于加密的数据,监控网络数据包是无能为力的。正如前面所述,针对网络的像TCP SYN洪流攻击主机上是无法检测到的。因此将两者结合起来,效果会更好。主机上收集的审计踪迹是直接的,监控网络数据包收集的数据是间接的,必须综合分析多个数据包来发现攻击特征。15.2.1 信息源信息源它们之间有下列区别:o基于主机收集到的数据能准确反映主机上发生的情况,从网络上收集到的数据包只能去分析推断发生了什么事情;o在高速的网络中,网络监视器会漏掉大量的流量,而且攻击者可
17、以采用很多IDS规避技术使IDS的分析无效,主机监视器却可以报告每台主机上发生的所有事件;15.2.1 信息源信息源o基于网络的数据收集机制对加密,插入攻击和“中间人”攻击很难进行分析,基于主机的数据收集能够处理主机收到的所有数据;o数据的产生和被检测直接有一个时间间隔,基于网络的数据收集可以更快的分析数据,实时性更好,主机上的数据收集为了降低对系统资源的占用,会采用事后分析的离线方式。15.2.1 信息源信息源 随着入侵检测技术的发展,到目前为止出现了很多入侵检测系统,不同的入侵检测系统具有不同的特征。根据不同的分类标准,入侵检测系统可分为不同的类别。按照信息源划分入侵检测系统是目前最通用的
18、划分方法。入侵检测系统主要分为两类,即基于网络的IDS和基于主机的IDS。15.2.2 IDS类型 1.基于网络的IDS 基于网络的入侵监测系统使用原始的网络数据包作为数据源,主要用于实时监控网络关键路径的信息,它侦听网络上的所有分组来采集数据,分析可疑现象。基于网络的入侵检测系统使用原始网络包作为数据源。15.2.2 IDS类型 基于网络的IDS实时监视并分析通过网络的所有通信业务。它的攻击识别模块通常使用四种常用技术来识别攻击标志:o模式、表达式或字节匹配o频率或穿越阀值o次要事件的相关性o统计学意义上的非常规现象检测 15.2.2 IDS类型 一旦检测到攻击行为,入侵检测系统的响应模块就
19、会对攻击采取相应的反应。基于网络的IDS有许多仅靠基于主机的入侵检测法无法提供的功能。实际上,许多客户在最初使用IDS时,都配置了基于网络的入侵检测。15.2.2 IDS类型基于网络的检测有以下优点:o实施成本低。o一个网段上只需要安装一个或几个基于网络的入侵检测系统,便可以监测整个网段的情况。且由于往往由单独的计算机做这种应用,不会给运行关键业务的主机带来负载上的增加。15.2.2 IDS类型基于网络的检测有以下优点:o隐蔽性好。o一个网络上的监测器不像一个主机那样显眼和易被存取,因而也不那么容易遭受攻击。基于网络的监视器不运行其他的应用程序,不提供网络服务,可以不响应其他计算机,因此可以做
20、得比较安全。由于使用一个监测器就可以保护一个共享的网段,所以你不需要很多的监测器。相反地,如果基于主机,则在每个主机上都需要一个代理,这样的话,花费昂贵,而且难于管理。但是,如果在一个交换环境下,就需要特殊的配置。15.2.2 IDS类型基于网络的检测有以下优点:o监测速度快。o基于网络的监测器通常能在微秒或秒级发现问题。而大多数基于主机的产品则要依靠对最近几分钟内审计记录的分析。可以配置在专门的机器上,不会占用被保护的设备上的任何资源。15.2.2 IDS类型基于网络的检测有以下优点:o视野更宽。o可以检测一些主机检测不到的攻击,如泪滴攻击(Teardrop),基于网络的SYN攻击等。还可以
21、检测不成功的攻击和恶意企图。15.2.2 IDS类型基于网络的检测有以下优点:o操作系统无关性。o基于网络的IDS作为安全监测资源,与主机的操作系统无关。与之相比,基于主机的系统必须在特定的、没有遭到破坏的操作系统中才能正常工作,生成有用的结果。15.2.2 IDS类型基于网络的检测有以下优点:o攻击者不易转移证据。o基于网络的IDS使用正在发生的网络通讯进行实时攻击的检测。所以攻击者无法转移证据。被捕获的数据不仅包括攻击的方法,而且还包括可识别黑客身份和对其进行起诉的信息。许多黑客都熟知审计记录,他们知道如何操纵这些文件掩盖他们的作案痕迹,如何阻止需要这些信息的基于主机的系统去检测入侵。15
22、.2.2 IDS类型 基于网络的入侵检测系统的主要缺点是:o只能监视本网段的活动,精确度不高;o在交换网络环境下无能为力;o对加密数据无能为力;o防入侵欺骗的能力也比较差;o难以定位入侵者。15.2.2 IDS类型2.基于主机的IDS 基于主机的入侵检测系统通过监视与分析主机的审计记录和 日志文件来检测入侵。日志中包含发生在系统上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或已成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。当然也可以通过其它手段从所在的主机收集信息进行分析。基于主机的入侵检测系统主要用于保护运行关键应用的服务器。15
23、.2.2 IDS类型 基于主机的IDS分析的信息来自于单个的计算机系统,这使得它能够相对可靠、精确地分析入侵活动,能精确地决定哪一个进程和用户参与了对操作系统的一次攻击。尽管基于主机的入侵检测系统不如基于网络的入侵检测系统快捷,但它确实具有基于网络的入侵检测系统无法比拟的优点。这些优点包括:15.2.2 IDS类型o能够检测到基于网络的系统检测不到的攻击。o基于主机的入侵检测系统可以监视关键的系统文件和执行文件的更改。它能够检测到那些欲重写关键系统文件,安装特洛伊木马,后门的尝试等,并将它们中断。而基于网络的入侵检测系统有时会检测不到这些行为。15.2.2 IDS类型o安装、配置灵活。o交换设
24、备可将大型网络分成许多小型网段加以管理。所以从覆盖足够大的网络范围的角度出发,很难确定设置基于网络的入侵检测系统的最佳位置,基于主机的入侵检测系统可安装在所需的重要主机上。每一个主机有其自己的基于主机的IDS,用户可根据自己的实际情况对其进行配置。15.2.2 IDS类型o监控粒度更细。o基于主机的IDS,监控的目标明确,可以检测到通常只有管理员才能实施的非正常行为。一旦发现有关用户的帐号信息发生了变化,基于主机的入侵检测系统能检测到这种不适当的更改。它可以很容易地监控系统的一些活动,如对敏感文件、目录、程序或端口的存取。15.2.2 IDS类型o监视特定的系统活动。o基于主机的入侵检测系统监
25、视用户和文件的访问活动,包括文件的访问、改变文件的权限、试图建立新的可执行文件、试图访问特许服务。例如基于主机的入侵检测系统可以监督所有用户的登录及退出登录情况,以及每位用户在连接到网络后的行为,而基于网络的入侵检测系统要做到这种程度是非常困难的。15.2.2 IDS类型o适用于交换及加密环境。o加密和交换设备加大了基于网络IDS收集信息的难度,但由于基于主机的IDS安装在要监控的主机上,因而不会受这些因素的影响。15.2.2 IDS类型o不要求额外的硬件。o基于主机的入侵检测系统存在于现有的网络结构中,包括文件服务器、Web服务器及其他共享资源。这些使得基于主机的入侵检测系统效率很高。因为它
26、们不需要在网络上另外安装登记、维护及管理额外的硬件设备。15.2.2 IDS类型 基于主机的入侵检测系统的主要缺点是:它会占用主机的资源,在服务器上产生额外的负载;缺乏平台支持,可移植性差,应用范围受到严重限制,例如,在网络环境中,某些活动对于单个主机来说可能构不成入侵,但是对于整个网络是入侵活动.例如“旋转门柄”攻击,入侵者企图登录到网络主机,他对每台主机只试用一次用户ID和口令,并不进行暴力口令猜测,如果不成功,便转向其它主机.对于这种攻击方式,各主机上的入侵检测系统显然无法检测到,这就需要建立面向网络的入侵检测系统。15.2.2 IDS类型 1.误用检测误用检测 误用检测最适用于已知使用
27、模式的可靠检测,这种方法的前提是入侵行为能按照某种方式进行特征编码。入侵特征描述了安全事件或其它误用事件的特征、条件、排列和关系。特征构造方式有多种,因此误用检测方法也多种多样,主要包括以下一些方法:15.2.3 IDS基本技术 1.误用检测误用检测 (1)专家系统 专家系统是指根据一套有专家事先定义的规则推理的系统。入侵行为用专家系统的一组规则描述,事件产生器采集到的可疑事件按一定的格式表示成专家系统的事实,推理机用这些规则和事实进行推理,以判断目标系统是否受到攻击或有受攻击的漏洞等。专家系统的建立依赖于知识库(规则)的完备性,规则的形式是IF-THEN 结构。IF部分为入侵特征,THEN部
28、分为规则触发时采取的动作。15.2.3 IDS基本技术 (2)状态转移分析 状态转移分析主要使用状态转移表来表示和检测入侵,不同状态刻画了系统某一时刻的特征。初始状态对应于入侵开始前的系统状态,危害状态对应于已成功入侵时刻的系统状态。初始状态与危害状态之间的迁移可能有一个或多个中间状态。每次转移都是由一个断言确定的状态经过某个事件触发转移到下一个状态,该方法类似于有限状态机。攻击者执行一系列操作,使系统的状态发生迁移,因此通过检查系统的状态就可以发现入侵行为。15.2.3 IDS基本技术 (3)基于条件概率的误用检测 基于条件概率的误用检测,系指将入侵方式对应一个事件序列,然后观测事件发生序列
29、,应用贝叶斯定理进行推理,推测入侵行为。15.2.3 IDS基本技术 (4)基于规则的误用检测 基于规则的误用检测方法,指将攻击行为或入侵模式表示成一种规则,只要匹配相应的规则就认定它是一种入侵行为,它和专家系统有些类似。开源软件Snort就采用了这种方法。15.2.3 IDS基本技术2.异常检测 异常检测的前提是异常行为包括入侵行为。最理想情况下,异常行为集合等同于入侵行为集合,但事实上,入侵行为集合不可能等同于异常行为集合,如下图所示,有4 种行为:(1)行为是入侵行为,但不表现异常;(2)行为是入侵行为,且表现异常;(3)行为不是入侵行为,却表现异常;(4)行为既不是入侵行为,也不表现异
30、常15.2.3 IDS基本技术入侵和异常的集合15.2.3 IDS基本技术 异常检测的基本思路是构造异常行为集合,将正常用户行为特征轮廓和实际用户行为进行比较,并标识出正常和非正常的偏离,从中发现入侵行为。轮廓定义一个度量集,度量用来衡量用户的特定行为。每一度量与一个阈值相联系。异常检测依赖于异常模型的建立,它假定用户表现为可预测的、一致的系统使用模式,同时随着事件的迁移适应用户行为方面的变化。不同模型构成不同的检测方法,如何获得这些入侵先验概率就成为异常检测方法是否成功的关键问题。15.2.3 IDS基本技术 下面介绍了不同的异常检测方法。(1)量化分析 量化分析是异常检测中最常用的方法,它
31、将检测规则和属性以数值形式表示,这些结果是误用检测和异常检测统计模型的基础。量化分析通常包括阈值检测、启发式阈值检测、基于目标的集成检查和数据精简。15.2.3 IDS基本技术 (2)统计度量 统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。早期系统的设计都是在集中式框架目标平台上进行监控跟踪的,这样就造成了
32、用户特征轮廓库的维护和更新滞后于审计记录的产生;同时统计分析抹煞了事件之间的顺序和内在联系,而很多异常检测都依赖于这样的事件顺序;如果使用量化方法的话,选择合适的阈值也是很困难的,因为不恰当的阈值会带来很高的误报率和漏报率。15.2.3 IDS基本技术 (3)非参数统计度量 早期的统计方法都使用参数方法描述用户和其他系统实体的行为模式,这些方法都假定了被分析数据的基本分布。如果一旦假定与实际偏差较大,那么无疑会导致很高的错误率。Lankewica和Mark Benard提出了一种克服这个问题的方法,就是使用非参数技术执行异常检测。这个方法只需要很少的已知使用模式,并允许分析器处理不容易由参数方
33、案确定的系统度量。非参数统计和统计度量相比,在速度和准确性上确实有很大提高,但是如果涉及超出资源使用的扩展特性将会降低分析的效率和准确性。15.2.3 IDS基本技术 (3)神经网络 神经网络使用自适应学习技术来描述异常行为,属于非参数分析技术。神经网络由许多称为单元的简单处理元素组成,这些单元通过使用加权的连接相互作用,它具有自适应、自组织、自学习的能力,可以处理一些环境信息复杂、背景知识不清楚的问题。将来自审计日志或正常的网络访问行为的信息,经过处理后产生输入向量,神经网络对输入向量进行处理,从中提取用户正常行为的模式特征,并以此创建用户的行为特征轮廓。这要求系统需要事先对大量实例进行训练
34、,具有每一个用户行为模式特征的知识,从而找出偏离这些轮廓的用户行为。在使用神经网络进行入侵检测时,主要不足是神经网络不能为它们提供任何信服的解释,这使它不能满足安全管理需要。15.2.3 IDS基本技术 3.混合型检测混合型检测 最近出现的一些入侵检测方法不是单纯的属于误用检测或异常检测的范围,它们可以应用于上述两类检测。主要包括下列方法:(1)基于代理检测 基于代理的入侵检测就是在一个主机上执行某种安全监控功能的软件实体。这些代理自动运行在主机上,并且可以和其他相似结构的代理进行交流和协作。一个代理可以是很简单的(例如,记录在一个特定时间间隔内特定命令触发的次数)也可以很复杂(在一定环境内捕
35、获并分析数据)。基于代理的检测方法是非常有力的,它允许基于代理的入侵检测系统提供异常检测和误用检测的混合能力。15.2.3 IDS基本技术 (2)数据挖掘 数据挖掘是数据库中的一项技术,它的作用就是从大型数据集中抽取知识。对于入侵检测系统来说,也需要从大量的数据中提取出入侵的特征。因此将数据挖掘技术引入到了入侵检测系统中,通过数据挖掘程序处理搜集到的审计数据,为各种入侵行为和正常操作建立精确的行为模式,这是一个自动的过程。对挖掘审计数据通常有3种方法,包括分类、连接和顺序分析。数据挖掘方法的关键点在于算法的选取和建立一个正确的体系结构。数据挖掘的优点在于处理大量数据的能力与进行数据关联分析的能
36、力。因此,基于数据挖掘的检测算法将会在入侵预警方面发挥优势。15.2.3 IDS基本技术(3)免疫系统方法 这个方法是由Forrest和Hofmeyr等人提出的,他们注意到了生理免疫系统和系统保护机制之间有着显著的相似性。通过模仿生物有机体的免疫系统工作机制,可以使受保护的系统能够将“非自我”(non-self)的攻击行为与“自我”(self)的合法行为区分开来。两者的关键是有决定执行“自我/非自我”的能力,即一个免疫系统能决定哪些东西是无害实体,哪些是有害因素。该方法综合了异常检测和误用检测两种方法。15.2.3 IDS基本技术(4)遗传算法 遗传算法是一类称为进化算法的一个实例。进化算法吸
37、收达尔文自然选择法则(适者生存)来优化问题解决。这些算法在多维优化问题处理方面的能力已经得到认可,并且遗传算法对异常检测的实验结果也是令人鼓舞的,在检测准确率和速度上有较大的优势,但主要的不足就是不能在审计跟踪中精确的定位攻击。15.2.3 IDS基本技术入侵检测系统检测器的部署o放在边界防火墙之内o放在边界防火墙之外o放在主要的网络中枢o放在一些安全级别需求高的子网检测器部署示意图Internet部署二部署三部署三部署四部署四部署一15.3 实验:入侵检测系统实验:入侵检测系统Snort 1.概述 Snort是一个免费,开放源代码的基于网络的入侵检测系统,它具有很好的配置性和可移植性。Sno
38、rt的网址是:http:/www.Snort.org/。在此网站可以下载最新的Snort入侵检测系统的源代码。Snort经常被称为轻量级的入侵检测系统。Snort被标以轻量级的称号是因为它首先是设计给小网络段使用的。基于规则的体系结构使Snort非常灵活,它的设计者将它设计的很容易插入和扩充新的规则,这样它就能够对付那些新出现的威胁。最初,Snort是为了Linux/UNIX操作系统而编写的,但最终它也应用到了Windows操作系统。现在已经有了图形用户界面的系统。Snort可以提供抓包、记录包和入侵检测三个功能。Snort功能十分强大,提供一个丰富的规则集,内置几千条规则,具有实时数据流量分
39、析和日志IP网络数据包的能力,能够进行协议分析,对内容进行搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时报警。Snort具有很好的扩展性和可移植性。15.3 实验:入侵检测系统实验:入侵检测系统Snort2.windows2000下的安装 Snort安装过程根据需求有很大的差异,如果是复杂的应用,需要安装APACHE、MYSQL、PHP、ACID等,如果只是简单的应用如抓包、记录包或做一个简单的入侵检测系统,则只需要安装Snort本身就可以了。15.3 实验:入侵检测系统实验:入侵检测系统Snort简单安装具体过程如下:o(1)从Snort网站(http:/www.snort.org
40、)上下载最新的源码包,目前最新的版本为2.2.0。o(2)用VC6.0编译,生成可执行文件snort.exe。o(3)上网下载WinPcap_3_0.exe文件(Windows系统下的抓包工具,Linux系统下自带抓包工具)并安装,然后在MSDOS下运行snort.exe,如果提示缺少库文件,上网搜索下载。3.运行Snort(1)以Sniffer抓包方式运行Snort Snort主要通过命令行参数来运行,以Sniffer方式运行可采用如下参数:15.3 实验:入侵检测系统实验:入侵检测系统Snorto1)snortv 抓取TCP/IP数据包,并把ip包头和tcp/udp/icmp包头显示在屏幕
41、上。o2)snortvd o显示包的头部和解码后的应用层数据o3)snortvdeo显示包的头部和解码后的应用层数据以及以太网帧的头部(2)以PACKET LOG 方式运行Snort 以PACKET LOG 方式运行Snort,可采用如下参数:o1)snortdev l./snortlog o在./snortlog目录下按IP地址分目录,以ASCII方式记录日志。15.3 实验:入侵检测系统实验:入侵检测系统Snorto2)snortl./snortlogb o在./snortlog目录下以二进制方式将所有日志写入一个文件o如果要指定本地网络,可用以下命令:osnort l./snortlog
42、 b h 202.112.103.0/24o记录日志后,如果要读取日志,可采用如下参数:osnortdv r 日志文件名 以TCPDUMP方式显示日志文件内容osnortev r 日志文件名 以普通日志形式显示日志文件内容15.3 实验:入侵检测系统实验:入侵检测系统Snort(3)以IDS 入侵检测方式运行Snorto以入侵检测方式运行snort,需要指定配置文件,运行参数如下:osnortd l./snortlogc 路径/snort.conf s D,其中-s 表示将日志记录到./snortlog,把ALERT 警告信息发送到syslog,采用这种方式,可以在/snortlog 中找到ALERT 信息。Snort支持三种信息输出方式,前面使用的是一种方式,缺省不加参数Snort会将日志写入./snortlog,再将ALERT 警告信息写到一个ALERT 文件,Snort还支持将ALERT 信息发送到远程WINDOWS 工作站,命令格式如下:osnortd l./snortlogc 路径/snort.conf M IP Do-D 参数表示以DAEMON 方式后台运行15.3 实验:入侵检测系统实验:入侵检测系统Snort