版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章入侵检测系统基础知识
2.1入侵检测系统的基本组成2.2入侵检测系统的分类2.3基于主机的入侵检测系统2.4基于网络的入侵检测系统2.5分布式入侵检测系统2.1入侵检测系统的基本组成
1.信息收集
信息收集包括收集系统、网络、数据及用户活动的状态和行为,而且需要在计算机网络系统中的若干不同关键点(如不同网段和不同主机)收集信息。这除了尽可能扩大检测范围以外,还要对来自不同源的信息进行特征分析,比较之后得出问题的所在。入侵检测在很大程度上依赖于收集信息的可靠性和正确性。入侵检测利用的信息一般来自系统和网络日志文件、非正常的目录和文件改变、非正常的程序执行等方面(这里不包括物理形式的入侵信息)。图2.1入侵检测过程
1)系统和网络日志文件
日志文件中记录了各种行为类型,每种类型又包含不同的信息,例如记录“用户活动”类型的日志,包含登录、用户ID改变、用户对文件的访问、授权和认证信息等内容。日志中包含发生在系统和网络上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或已成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权企图访问重要文件等。黑客经常在系统日志文件中留下他们的踪迹,因此,可以充分利用系统和网络日志文件信息。
2)非正常的目录和文件改变
网络环境中的文件系统包含很多软件和数据文件,它们经常是黑客修改或破坏的目标。目录和文件中的非正常改变(包括修改、创建和删除),特别是访问那些正常情况下限制访问的文件,很可能就是一种入侵产生的指示和信号。黑客经常替换、修改和破坏他们获得访问权的系统上的文件,同时为了隐藏系统中他们的表现及活动痕迹,都会尽力去替换系统程序或修改系统日志文件。
3)非正常的程序执行
网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和特定目的的应用,如WEB服务器。每个在系统上执行的程序由一到多个进程来实现。一个进程的执行行为由它运行时执行的操作来表现,操作执行的方式不同,它利用的系统资源也就不同。操作包括计算、文件传输、设备和其它进程,以及与网络其它进程的通信。一个进程出现了不期望的行为可能表明黑客正在入侵系统,黑客可能会将程序或服务的运行分解,从而导致失败,或者是以非用户管理员意图的方式操作。
2.信息分析
对收集到的有关系统、网络、数据及用户活动的状态和行为等信息,一般通过一定的技术手段进行分析,如常用的模式匹配、统计分析和完整性分析等。其中,前两种方法用于实时的入侵检测,而完整性分析用于事后分析。入侵检测是一个典型的数据处理过程。它通过对大量的系统审计数据进行分析,来判断被监控的系统是否受到入侵攻击。系统的检测机制,其实就是一个系统主体行为(或事件)的分类系统,它需要把对系统具有恶意的行为从大量的系统行为中区分出来,而解决问题的关键就是如何从已知数据中获得系统的正常行为知识和有关入侵行为的知识(如何定义、描述系统的行为)。在入侵检测系统的研究领域中,相关的知识获取技术,如数据挖掘、知识表述及获取、特征选择以及机器学习等技术以及各种分类算法的研究具有重要的地位,不同的检测技术将在第3章讨论。
3.结果处理
结果处理指控制台根据报警产生预先定义的响应,采取相应措施,可以是重新配置路由器或防火墙、终止进程、切断连接、改变文件属性,也可以只是简单的报警。
结果处理可以分为两步处理,第一步是信息保存,目的是便于系统管理员或其它人员对系统日志或网络中的传输信息进行查看和分析,需要将获得的信息和分析的结果信息进行保存,信息保存同时也可以为用户对发现的攻击提供数字证据;第二步是攻击响应,对发出的攻击进行相应的处理,如发出报警、给系统管理员或相关的责任人发邮件等利用人为干预的形式解除攻击,或是直接利用相应的硬件设施进行处理,如利用防火墙来切断连接、过滤攻击者的IP地址等方式迅速做出反应。2.1.2入侵检测系统模型及组件
1.入侵检测系统的模型
1)入侵检测系统的一般模型
在入侵检测系统的发展历程中,大致经历了集中式、层次式和集成式三个阶段,代表这三个阶段的入侵检测系统的基本模型分别是通用入侵检测模型(Denning模型)、层次化入侵检测模型(IDM)和管理式入侵检测模型(SNMP-IDSM)。(1)通用入侵检测模型。
1987年,Denning提出了一个抽象的通用入侵检测模型。该模型主要由六个部分构成:主体、对象、审计记录、活动简档、异常记录、活动规则,模型如图2.2所示。图2.2通用入侵检测模型
IDES与它的后继NIDS都完全基于Denning模型,然而并不是所有的IDS都能完全符合该模型。与其它安全产品不同的是,入侵检测系统需要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一个合格的入侵检测系统能大大地简化管理员的工作,保证网络安全运行。这几年,随着网络规模的不断扩大,应用的网络安全产品也越来越多,入侵检测系统的市场发展很快,但是由于缺乏相应的通用标准,各种入侵检测系统各自为阵,系统之间的互操作性和互用性很差,这大大阻碍了入侵检测系统的发展。互联网工程任务组(IETF)的入侵检测工作组(IDWG)和通用入侵检测架构(CIDF)组织都试图对入侵检测系统进行标准化,并已提出了相关的草案。(2)IDM模型。
层次化入侵检测模型将入侵检测分为六个层次,分别是:数据、事件、主体、上下文、威胁、安全状态。IDM模型给出了在推断网络中的计算机受攻击时数据的抽象过程。也就是说,它给出了将分散的原始数据转换为高层次有关入侵和被检测环境的全部安全假设过程。通过把收集到的分散数据进行加工抽象和数据关联操作,IDM构造了一台虚拟的机器环境,这台机器由所有相连的主机和网络组成。将分布式系统看做一台虚拟计算机的观点简化了跨越单机入侵行为的识别。IDM应用于只有单台计算机的小型网络。(3)SNMP-IDSM模型。IDS系统之间的消息交换和协同检测是以SNMP协议规定的报文格式和交互命令为基础的。
SNMP是广泛采用的一种网络管理协议,定义了管理者与代理之间通信的流程、交互的数据格式,发布的管理命令及响应等。其中,代理代表管理者根据管理者发布过来的请求对被管理对象执行管理操作。SNMP-IDSM定义了IDS-MIB,IDS管理信息库使得原始事件和抽象事件之间关系明确,并且易于扩展。SNMP-IDSM的工作原理如图2.3所示。图2.3
IDSA与IDSB消息交换示意图
SNMPGet:SNMP协议规定的提取被管理对象某些参数的命令。
SNMPSet:SNMP协议规定的对被管理对象进行参数设置或初始化等命令。
TRAP:陷阱通知,在有异常情况的时候,代理主动向管理者发送消息。
SNMP通告:管理者与管理者之间互相发送管理消息或异常的陷阱消息。
IDSB负责监视主机B和请求最新的IDS事件,主机A的IDSA观察到一个来自主机B的攻击企图,然后IDSA与IDSB联系,IDSB响应IDSA的请求,IDSB发现有人曾经扫描主机B,某个用户的异常活动事件被IDSB发布。IDSA怀疑主机B受到了攻击,为了验证和寻找攻击者的来源,IDSA使用MIB脚本发送一些代码给IDSB。这些代码的功能能够搜集主机B的网络活动和用户活动的信息。最后,这些代码的执行结果表明用户X在某个时候攻击主机A,而且,IDSA进一步得知用户X来自主机C。这样,IDSA和IDSC联系,要求主机C向IDSA报告入侵事件。
2)基于系统行为分类的检测模型
基于系统行为的入侵检测的主要问题是,在给定的系统环境中,如何对系统的行为模式进行定义、识别和分类。其中,分类就是采用一些分类算法,把一个数据项归于预先定义的类别中的某一类。以系统行为模式的分类为例,由于系统的行为可以通过执行系统软件及相应的服务程序来体现,显然可以通过判断系统中每个系统关键程序的执行状况来检测整个系统的行为是否正常。通过收集足够多关于某个系统关键程序的“正常”或“异常”活动的审计数据,然后指定“正常”与“异常”两个类别,用分类算法进行学习,构造一个二分类的分类器(通常的分类器多基于统计概率、决策树、规则或神经网络)对系统进程的审计迹数据进行分类、分析,来判断被监控进程的行为是否正常。由于程序执行不仅有一定的顺序,而且其功能也各不相同,对于不同的程序执行迹,系统调用序列集合之间必然存在不同的系统调用子序列。由此可以达到区分不同程序的目的。为此,可以利用系统关键程序执行迹中长度为k的系统调用序列集来构造该程序的正常执行的特征轮廓,且把系统中被监控的所有关键程序的正常执行特征轮廓(同一长度的系统调用子序列集)的并集(记为S)作为系统的正常执行特征轮廓。定义:设A为被监控系统的系统调用集合。系统行为模式空间U定义为某一固定长度k的系统调用序列的全集U={p=s1s2…sk|si∈A,i=1,2,…,k},式中p被称为长度为k的系统行为模式。
确定系统调用序列的长度k时必须注意:如果k比较小,那么系统正常执行特征轮廓的集合S就有可能满足S=U,这时U中的系统调用序列都是程序正常执行迹的某个子序列,因而无法判定程序的执行是否正常。因为程序是完成一定功能的,所以当k大于某一长度时,U中就会出现不在S中出现的系统调用子序列。记N=U-S,集合N表示在系统程序中不会出现的系统调用子序列。下面给出定义在系统行为模式空间U上的入侵检测分类模型(见图2.4):D=(f,M)。在图2.4中,M为系统正常行为模式(注意:M是通过对训练数据集-系统程序执行迹集合的分析得到的,而S为理论上精确的系统正常模式集合)。线条所涵盖的区域为S集合,实线所围区域为M集合,f是一个二分类函数。给定一个行为模式,可判断它是否是系统的正常行为,定义如下:图2.4定义在系统行为模式集合上的入侵检测系统模型对于一个检测模型,其正确检测率越高越好。但由于训练数据的不完全,可能有些程序的正常执行模式不包含在检测系统D=(f,M)的模式集合M中,这样在检测时就可能出现把系统的正常行为误判为入侵行为的错误,这类错误被称为虚警。图中,虚警所指为越过M界的线条,检测系统在检测过程中出现虚警的概率称为系统的虚警率。
检测分类器的建立可采用多种机器学习的方法来实现,典型的方法有:决策树、规则提取、神经网络以及贝叶斯学习方法等。使用分类模型构建异常检测器的一个关键条件是:必须有“充足”的、能够覆盖尽可能多系统正常行为的训练数据,只有这样才能够使检测器保持一个较低的虚警率。可以先通过有限的训练数据获得基本分类器,然后使用在线学习算法不断地更新分类器。由于不能保证训练数据没有受到污染、损坏等原因,检测系统D=(f,M)提取的系统行为模式集合M中,也可能会存在一些异常模式。这样检测系统在检测时就可能把某些入侵行为误判为正常行为,这种错误现象称为漏警。图中,漏警为M界内非线条区域。漏警现象在基于知识的入侵检测系统中比较普遍,因为基于知识的入侵检测系统是根据已知入侵行为的模式来检测针对系统的入侵的。显然,这类入侵检测系统对于未知的入侵行为肯定会出现漏警。检测系统在检测过程中出现漏警的概率称为系统的漏警率。与虚警现象相比,漏警的危害显然更大。
3)面向数据处理的检测模型
从以数据为中心的观点来看,所有软件(应用)系统定义、开发的最终目的都是为了解决数据处理问题,也就是如何将一种形式的数据转换成另一种形式的数据。其数据转换过程必然经历数据的输入、加工和输出结果数据等步骤。同理,入侵检测系统检测入侵行为的过程也是一个典型的数据分析过程,异常检测就是从审计数据中发现系统的不正常使用模式的过程,基于知识的入侵检测则是对已知的入侵模式进行编码并使用审计数据对其进行匹配的过程。因此,在分析、设计入侵检测系统时可以从数据处理的角度来考虑。图2.5给出了一个面向数据处理的入侵检测系统模型,它的主要功能模块包括:审计、数据预处理、规则(特征轮廓、入侵签名等)提取、检测以及响应(事后处理、攻击源的追踪等)。图2.5面向数据处理的入侵检测系统模型审计功能模块用来收集系统用户、关键系统程序以及应用程序活动的审计日志数据。数据预处理功能模块则是把系统审计日志中的数据转换成检测模块(检测器)能够识别的数据格式,并提供初步的分析功能(在网络环境下,异构的被监控系统将提供不同形式的审计数据,数据预处理功能模块的重要性就更加明显了)。规则提取模块只在入侵检测系统的学习阶段起作用,用于从训练数据中提取描述系统正常特征轮廓或入侵签名的判断规则。检测器则根据已知的检测知识,分析数据预处理模块给出的系统信息数据,对系统的行为进行评判,得出结论。入侵检测系统的控制器则根据检测的结果给出报警和事件响应、处理的策略,控制入侵检测系统的响应机制对入侵做出相应的反应,比如入侵签名及系统规则库更新,对入侵的追踪、诱骗以及利用其它工具对系统进行漏洞扫描分析,重新配置系统,堵塞系统安全漏洞等。
2.入侵检测系统的组件
入侵检测系统至少应该包括三个功能模块:提供事件记录流的信息源、发现入侵迹象的分析引擎和基于分析引擎的响应部件。
美国国防部高级计划局提出的公共入侵检测框架的一个入侵检测系统的通用模型将入侵检测系统分为四个组件:事件产生器、事件分析器、响应单元和事件数据库。在这个模型中,前三者以程序的形式出现,而最后一个则往往是文件或数据流。它们在入侵检测系统中的位置和相互关系如图2.6所示。图2.6入侵检测系统通用模型公共入侵检测框架将需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统日志等其它途径得到的信息。
1)事件产生器
入侵检测的第一步就是信息收集。收集的内容包括整个计算机网络中的系统、网络、数据及用户活动的状态和行为,这是由事件产生器完成的。入侵检测在很大程度上依赖于信息收集的可靠性、正确性和完备性。因此要确保采集、报告这些信息的软件工具的可靠性,这些软件本身应具有相当强的坚固性,能够防止被篡改而收集到错误信息。事件产生器的作用是从整个计算环境中获得事件,并向系统的其它部分提供此事件。
2)事件分析器
事件分析器是入侵检测系统的核心,它的效率高低直接决定了整个入侵检测系统的性能。其作用是分析得到的数据,并产生分析结果。根据事件分析的不同方式可将入侵检测系统分为异常入侵检测、误用入侵检测和完整性分析三类。
3)响应单元
当事件分析器发现入侵迹象后,入侵检测系统的下一步工作就是响应。而响应的对象并不局限于可疑的攻击者。响应单元的作用是对分析结果做出反应,它可以做出切断连接、改变文件属性等强烈反应,也可以只是简单报警。
目前,较完善的入侵检测系统具有的响应功能包括:
(1)根据攻击类型自动终止攻击;
(2)终止可疑用户的连接甚至所有用户的连接,切断攻击者的网络连接,减少损失;
(3)如果可疑用户获得账号,则将其禁止,重新配置防火墙,更改其过滤规则,以防止此类攻击重现;(4)向管理控制台发出警告指出事件的发生;
(5)将事件的原始数据和分析结果记录到日志中,并产生相应的报告,包括时间、源地址、目的地址和类型描述等重要信息;
(6)必要时实时跟踪事件,向安全管理人员发出提示性警报,可以通过鸣铃或发E-mail等;
(7)可以执行一个用户自定义程序或脚本,方便用户操作,同时也提供了系统扩展的手段。
4)事件数据库
事件数据库是存放各种中间和最终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件。考虑到数据的庞大性和复杂性,一般都采用成熟的数据库产品来支持。事件数据库的作用是充分发挥数据库的长处,方便其它系统模块对数据的添加、删除、访问、排序和分类等操作。
在一般的入侵检测系统中,事件产生器和事件分析器是比较重要的两个组件,在设计时采用的策略不同,其功能和影响也会有很大的差别,而响应单元和事件数据库相对来说则比较固定。 2.2入侵检测系统的分类
根据不同的分类标准,IDS可分为不同的类别。要考虑的因素(分类依据)主要有:数据源、入侵事件生成、事件处理、检测方法等,可以用图2.7来具体表示。图2.7入侵检测系统的分类2.2.1按IDS数据源的分类方式
按照数据源的不同,可以将入侵检测系统分为三类:基于主机、基于网络和混合型。
1.基于主机的入侵检测系统(HIDS)
基于主机的(Host-Based)入侵检测系统分析的数据是计算机操作系统的事件日志、应用程序的事件日志、系统调用、端口调用和安全审计记录。它是通过比较这些审计记录文件的记录与攻击签名(AttackSignature,用一种特定的方式来表示已知的攻击模式),以发现它们是否匹配。如果匹配,则检测系统向系统管理员发出入侵报警并采取相应的行动。基于主机的入侵检测系统结构示意图如图2.8所示。图2.8基于主机的系统结构示意图由于审计数据是收集系统用户行为信息的主要方法,因而必须保证系统的审计数据不被修改。这就要求基于主机的入侵检测系统必须满足一个重要的实时性条件:检测系统必须在攻击者完全控制系统并更改审计数据之前完成对审计数据的分析、产生报警并采取相应的措施。
主机入侵检测系统保护的一般是所在的主机系统,基于主机的入侵检测系统需要定义哪些是不合法的活动,然后把这种安全策略转换成入侵检测规则。
2.基于网络的入侵检测系统(NIDS)
基于网络的(NetworkBased)入侵检测系统分析的数据是网络上的数据包。它以原始的网络数据包作为数据源,利用网络适配器来实时地监视并分析通过网络进行传输的所有通信业务。其模型如图2.9所示。图2.9基于网络的入侵检测系统模型
3.混合型入侵检测模型(分布式的入侵检测模型)
基于网络和基于主机的入侵检测系统都有不足之处,会造成防御系统的不全面。混合型入侵检测模型综合了基于网络和基于主机入侵检测系统的优点,既可以发现网络中的攻击信息,也可以从系统日志中发现异常情况。系统通常由数据采集模块、通信传输模块、入侵检测分析模块、响应处理模块、管理中心模块及安全知识库组成,这些模块可以根据不同的情况进行组合。混合型的入侵检测系统对大型网络的安全很有必要,它能够将基于主机和基于网络的入侵检测系统结合起来,检测到的数据较丰富,可以克服单一结构的不足。但混合型的入侵检测系统增加了网络管理的难度和开销。图2.10为分布式入侵检测系统设计框图实例,由图可以看出,该系统的主要功能部件有网络引擎、主机代理、分析系统、管理控制系统、存储系统、响应系统等。图2.11是一个典型的分布式入侵检测系统部署图。图2.10分布式入侵检测系统设计框图实例图2.11典型的分布式入侵检测系统部署图网络引擎主要是从网络流量中获取原始数据包,并对其进行预处理,将预处理后的数据发送给分析系统;主机代理则是从受保护的主机系统获取审计数据,并对其进行预处理,将处理后的数据送往分析系统;分析系统对预处理后的数据进行分析,根据不同的数据特点建立相应的检测模型,即采用不同的检测算法对数据进行分析处理,并将分析结果送到管理控制系统;管理控制系统是整个系统同用户交互的窗口,它提供各种管理控制信息,并协调其它部件的工作;存储系统是用来对各种结果进行存储的地方,并提供灵活的数据维护、处理和查询服务,同时也是一个安全的日志系统;响应系统则是对确认的入侵行为采取相应措施的子系统。
从所采用的技术角度来看,分布式入侵检测系统的检测机制是误用检测和异常检测(见本章后面部分)并举的方案。2.2.2按IDS所采用的分析技术分类
从技术上划分,一般认为入侵检测有两种模型:异常入侵检测(AnomalyDetection)模型和误用入侵检测(MisuseDetection)模型。
1.异常检测模型
异常检测(AnomalyDetection)首先总结正常操作应该具有的特征(用户轮廓),当用户活动与正常行为有重大偏离时即被认为是入侵,也称基于行为的(BehaviorBased)检测。入侵活动并不总是与异常活动相符合,这种活动存在四种可能性:图2.12异常检测系统模型(1)入侵性而非异常;
(2)非入侵性且异常;
(3)非入侵性且非异常;
(4)入侵且异常。
异常入侵要解决的问题就是构造异常活动集并从中发现入侵性活动子集。异常入侵检测方法依赖于异常模型的建立,不同模型构成不同的检测方法。其检测模型如图2.12所示。异常检测所面临的关键问题有:
(1)特征量的选择。
异常检测首先是要建立系统或用户的“正常”行为特征轮廓,这就要求在建立正常模型时,选取的特征量既要能准确地体现系统或用户的行为特征,又能使模型最优化,即以最少的特征量涵盖系统或用户的行为特征。作为异常检测的最关键的第一步,它将直接影响检测性能的优劣。(2)阈值的选定。
由于异常检测是先建立正常的特征轮廓并以此作为比较的基准,这个基准,即阈值的选定是非常关键的,是直接衡量这一检测方法准确率高低的至关重要的因素。阈值选得过大,那漏警(FalseNegatives)率就会很高;阈值选得过小,则虚警(FalsePositives)率就会提高。(3)比较频率的选取。
比较频率,即经过多长时间比较当前的行为和已建立的正常行为特征轮廓来判断入侵的发生与否也是一个重要因素。经过的时间过长,检测结果的漏警率会很高;经过的时间过短,就存在虚警率提高的问题。另外,正常的行为特征轮廓存在更新的问题,这也是在选取比较的频率时必须考虑的因素。
异常检测法的优点是:对于未知的入侵行为的检测非常有效;检测冒充合法用户的入侵行为的有效方法但异常检测的漏报率低,误报率高;由于需要实时地建立和更新系统或用户的特征轮廓,因而所需的计算量很大,对系统的处理性能要求也很高,但是不需要对每种入侵行为进行定义。
2.误用检测模型
误用检测(MisuseDetection):收集非正常操作的行为特征,建立相关的特征库,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵。误用检测也被称为基于知识的(KnowledgeBased)检测。误用检测的基本前提是,假定所有可能的入侵行为都能被识别和表示。
误用检测的原理是:首先对已知的攻击方法进行攻击签名表示,攻击签名是指用一种特定的方式来表示已知的攻击模式;然后根据已经定义好的攻击签名,通过判断这些攻击签名是否出现来判断入侵行为的发生与否。这种方法是通过直接判断攻击签名的出现与否来判断入侵行为的,从这一点来看,它是一种直接的方法。误用检测模型如图2.13所示。图2.13误用检测系统模型误用检测的优点:
(1)误用检测只需收集相关的数据,这样系统的负担就明显减少了。误用检测是通过匹配模式库来完成检测过程的,所以在计算处理上对系统的要求不是很高。该方法类似于病毒检测系统,其检测的准确率和效率都比较高,误报率低;
(2)技术比较成熟,国际上一些顶尖的入侵检测系统都采用该方法,如Cisco的NetRanger、IIS的RealSecure以及Axent公司的IntruderAlert等。误用检测的主要局限性表现在:
(1)不能检测未知的入侵行为,漏警率会比较高;
(2)与系统的相关性很强,对于不同的操作系统,由于其实现机制不同,对其攻击的方法也不尽相同,因而很难定义出统一的模式库;
(3)对于系统内部攻击者的越权行为,由于它们没有利用系统的缺陷,因而很难检测出来;
(4)特征库必须不断更新。3.误用和异常检测混合的入侵检测
图2.14分布式入侵检测系统的检测机制示意图2.2.3其它分类方式
1.按工作方式分类
按照入侵检测的工作方式,可以分为实时入侵检测和事后入侵检测。
1)实时(在线式)入侵检测
实时入侵检测是指对网络数据包或主机的审计数据等进行实时分析,可以快速反应,保护系统的安全。但在系统规模较大时,难以保证实时性。
2)事后(离线式)入侵检测
事后入侵检测是指通过事后分析审计事件和文件等,从中检测入侵事件。这可以分析大量事件,调查长期的情况,有利于其它方法建立模型。但由于是在事后进行,不能对系统提供及时的保护,而且很多入侵在完成后都将审计事件去掉,无法进行分析。
2.按体系结构分类
按入侵检测的体系结构,可以分为集中式、等级式和协作式三种。
1)集中式入侵检测
这种结构的IDS可能有多个分布于不同主机上的审计程序,但只有一个中央入侵检测服务器。审计程序把当地收集到的数据踪迹发送给中央服务器进行分析处理。这种结构的IDS在可伸缩性、可配置性方面存在致命缺陷:第一,随着网络规模的增加,主机审计程序和服务器之间传送的数据量就会骤增,导致网络性能大大降低;第二,系统安全性脆弱,一旦中央服务器出现故障,整个系统就会陷入瘫痪;第三,根据各个主机不同需求配置服务器也非常复杂。
2)等级式入侵检测
等级式入侵检测用来监控大型网络,定义了若干个分等级的监控区,每个IDS负责一个区,每一级IDS只负责所监控区的分析,然后将当地的分析结果传送给上一级IDS。这种结构仍存两个问题:首先,当网络拓扑结构改变时,区域分析结果的汇总机制也需要做相应的调整;第二,这种结构的IDS最后还是要把各地收集到的结果传送到最高级的检测服务器进行全局分析,所以系统的安全性没有实质性的改进。
3)协作式入侵检测
协作式入侵检测是将中央检测服务器的任务分配给多个基于主机的IDS,这些IDS不分等级,各司其职,负责监控当地主机的某些活动。所以,其可伸缩性、安全性都得到了显著的提高,但维护成本却高了很多,并且增加了所监控主机的工作负荷,如通信机制、审计开销、踪迹分析等。
3.根据入侵检测的响应方式分类
根据入侵检测的响应方式,可分为被动响应和主动响应。
1)被动响应型系统
被动响应型系统只会发出告警通知,将发生的不正常情况报告给管理员,本身并不试图降低所造成的破坏,更不会主动地对攻击者采取反击行动。
2)主动响应型系统
主动响应系统可以分为两类:
(1)对被攻击系统实施控制的系统,它通过调整被攻击系统的状态,阻止或减轻攻击影响,例如断开网络连接、增加安全日志、杀死可疑进程等;
(2)对攻击系统实施控制的系统,这种系统多被军方所重视和采用。
4.根据入侵检测的实效性角度分类
1)脱机分析
脱机分析就是在行为发生后,对产生的数据进行分析,而不是在行为发生的同时进行分析,如对日志的审核、对系统文件的完整性检查等都属于脱机分析。一般而言,脱机分析不会间隔很长时间,所谓的脱机只是与联机相对而言。
2)联机分析
联机分析是在数据产生或者发生改变的同时对其进行检查,以发现攻击行为。这种方式一般用于网络的实时分析,对系统资源的要求比较高。
当然,根据检测方法还可以将入侵检测系统分为基于知识的检测和基于行为的检测;根据对入侵行为的响应可以把入侵检测系统分为主动IDS和被动IDS(发现入侵行为后,只发出报警);还根据IDS对入侵检测的时间可分为实时入侵检测IDS及定期入侵检测IDS等。 2.3基于主机的入侵检测系统
按IDS数据源的分类方式可将入侵检测系统分为基于主机的入侵检测系统和基于网络的入侵检测系统。主机型入侵检测系统是将检测系统安装在被重点检测的主机之上,主要是对该主机的网络实时连接以及系统审计日志、应用程序日志等作为数据源而进行智能分析和判断,当然也可以通过其它手段(如监督系统调用)从所在的主机收集信息进行分析。如果其中主体活动十分可疑(特征或行为违反统计规律),入侵检测系统就会采取相关措施。主机型入侵检测系统保护的一般是所在的系统,而网络型入侵检测系统的数据源则是网络上的数据包,往往将一台机子的网卡设于混杂模式,监听所有本网段内的数据包并进行判断。一般网络型入侵检测系统担负着保护整个网段的任务。2.3.1基于主机的入侵检测系统的工作原理
基于主机的入侵检测系统(HIDS)的结构图如图2.8所示。基本思想是将入侵检测模块安装于网络中的主动节点上,这些主动节点可以是需要重点保护的主机,也可以是关键路由节点。安装于主机上的入侵检测模块主要通过对主机的审计日志进行分析来发现针对主机的可疑行为,而运行于路由节点上的入侵检测模块通过对经过该节点转发的数据包文进行特征分析,通过模式识别来发现其中的入侵行为。为了防止误报和漏报,这些运行于不同节点上的入侵检测系统需要协同工作来完成入侵攻击的全局信息提取。首先,入侵检测模块分布于网络的不同位置,同时收集并分析相同或不同类型的原始数据,当某个可疑事件发生后有选择地通知管理节点,而管理节点负责接收、关联及处理多个检测节点的不同类型的可疑事件,综合分析后找出入侵行为并进行报警或完成相应的控制工作;其次,当某个节点发现可疑行为后,可要求其它相关节点安装运行特定的程序来启动对特定信息的收集工作,并将收集到的信息返回该节点,通过综合各节点送来的信息判断是否为入侵行为。基于主机的入侵检测系统主要用于保护运用关键应用的服务器。其优点是对分析“可能的攻击行为”非常有用,不仅能够指出入侵者试图执行哪种“危险的命令”,还能分辨出入侵者运行了什么命令,进行了什么操作、执行了哪些系统调用等。主机入侵检测系统与网络入侵检测系统相比,能够提供更为详尽的用户操作调用信息,且配置灵活。因此,基于主机的入侵检测系统能确定攻击是否成功,可用于加密的以及交换的环境,对网络流量也不敏感并且不需要额外的硬件。2.3.2基于主机的IDS的优缺点
1.基于主机的IDS的优点
基于主机的IDS使用包含有确实已经发生的事件信息的日志文件作为数据源,其优点如下:
(1)能够确定攻击是否成功。
由于基于主机的IDS使用包含有确实已经发生的事件信息的日志文件作为数据源,因而比基于网络的IDS更能准确地判断出攻击是否成功。(2)非常适合于加密和交换环境。基于主机的入侵检测系统的环境如图2.15所示。由于基于主机的IDS系统安装在企业的各种主机和服务器上,其检测工作是基于应用层及其以上层次的,更加适于交换和加密的环境。因为交换设备可将大型网络分成许多小型网络部件加以管理,所以从覆盖足够大的网络范围的角度出发,很难确定配置基于网络的IDS的最佳位置,而基于主机的入侵检测系统可安装在所需的重要主机上,在交换的环境中具有更高的能见度。由于加密方式位于协议堆栈内,基于网络的IDS是以网络数据包作为数据源的,因此基于网络的IDS可能对某些攻击没有反应,而基于主机的IDS没有这方面的限制,因为所有的加密数据在到达主机之前必须被解密,这样才能被操作系统所解析。图2.15
HIDS在服务器上运行环境示意图(3)接近实时的检测和响应。基于主机的IDS不能提供真正的实时响应,但是由于现有的基于主机的IDS大多采取的是在日志文件形成的同时获取审计数据信息,因而就为近实时的检测和响应提供了可能。
(4)不需要额外的硬件。基于主机的IDS是驻留在现有的网络基础设施之上的,包括文件服务器、Web服务器和其它的共享资源等,这样就减少了基于主机的IDS的实施成本。(5)可监视特定的系统行为。基于主机的IDS可以监视用户和文件的访问活动,而基于网络的IDS就很难做到这一点。基于主机的IDS还可以监视通常只有管理员才能实施的行为,一旦发生了更改,基于主机的IDS就能检测到不适当的更改。基于主机的IDS还可以跟踪影响系统日志记录的策略的变化,因此可以监视对用户和文件的访问活动、管理员的行为、关键系统文件和可执行文件的更改等行为。(6)基于主机的IDS可以监视关键系统文件和可执行文件的更改。试图对关键的系统文件进行覆盖或试图安装特洛伊木马或后门程序的操作都可被检测出并被终止,而基于网络的IDS有时就做不到这一点。
(7)可针对不同操作系统的特点判断出应用层的入侵事件。
因此,基于主机的入侵检测系统具有检测效率高、分析代价小、分析速度快的特点,能够迅速并准确地定位入侵者,并可以结合操作系统和应用程序的行为特征对入侵进行进一步分析。
2.基于主机的IDS存在的问题
基于主机的IDS主要存在以下问题:
(1)在一定程度上依赖于系统的可靠性,要求系统本身应具备基本的安全功能并具有合理的设置,然后才能提取入侵信息。
(2)即使进行了正确的设置,对操作系统熟悉的攻击者仍然有可能在入侵行为完成后及时地将系统日志抹去,从而不被发觉。(3)主机的日志能够提供的信息有限,有的入侵手段和途径不会在日志中有所反映,日志系统对有的入侵行为不能做出正确的响应,如利用网络协议栈的漏洞进行的攻击,通过Ping命令发送大数据包,造成系统协议栈溢出而死机,或是利用ARP欺骗来伪装成其它主机进行通信,这些手段都不会被高层的日志记录下来。
(4)在数据提取的实时性、充分性、可靠性方面基于主机日志的入侵检测系统不如基于网络的入侵检测系统。(5)基于主机的入侵检测系统与操作系统和应用层入侵事件结合过于紧密,通用性较差,分析过程也会占用主机的资源,对基于网络的攻击不敏感,如假冒IP的入侵等。
(6)所需配置的IDS数量众多。2.3.3基于主机的入侵检测系统的分类
按照检测对象的不同,基于主机的入侵检测系统可以分为两类:网络连接检测和主机文件检测。
1.网络连接检测
网络连接检测是对试图进入该主机的数据流进行检测,分析确定是否有入侵行为,避免或减少这些数据流进入主机系统后造成的损害。网络连接检测可以有效地检测出是否存在攻击探测行为。攻击探测几乎是所有攻击行为的前奏。系统管理员可以设置好访问控制表,其中包括容易受到攻击探测的网络服务,并且为它们设置好访问权限。如果入侵检测系统发现有对未开放的服务端口进行的网络连接,说明有人在寻找系统漏洞,这些探测行为就会被入侵检测系统记录下来,同时这种未经授权的连接也会被拒绝。
2.主机文件检测
通常入侵行为会在主机的各种相关文件中留下痕迹,主机文件检测能够帮助系统管理员发现入侵行为或入侵企图,及时采取补救措施。
主机文件检测的检测对象主要包括以下几种:系统日志、基于应用的日志信息、基于目标的对象信息、文件系统、进程记录等。
1)系统日志
系统日志记录了各种类型的信息,包括各用户的行为记录。如果日志文件中存在着异常的记录,就可以认为正在或已经发生网络入侵行为。这些异常包括不正常的反复登录失效记录、未授权用户越权访问重要文件、非正常登录行为等。
2)基于应用的日志信息
目前的应用系统越来越趋向于面向对象和分布式结构,要想在单一的操作系统层次上获得整个系统的完整信息已经不太可能,而应用日志通常代表了系统活动的用户级抽象信息,相对于系统级的安全数据来说,除去了大量的冗余信息,更易于管理员浏览和理解。例如,数据库管理系统是典型的需要引入审计机制和入侵检测的应用环境;www服务器的日志信息也是最为常见的应用级数据源,主流的www服务器都提供访问日志机制。
3)基于目标的对象信息
在某些受保护的系统中,进行完全的内核级安全审计将消耗大量的系统资源。在这种
情况下,产生了面向目标进行安全监视的想法。在确定审计目标之前,首先需要评估出系统中关键的或是有特殊价值的对象,针对每一个对象制定信息收集和监视机制。受监视目标的每一次状态的转变都将与系统的安全策略进行比较,出现的任何差异都作为日志记录下来。
作为常见的基于目标的监视技术就是完整性校验,它可以监视系统对象(如关键文件)的状态变化。与动态的审计机制和系统日志不同,这种方法提供的是静态的安全检查。
4)文件系统
恶意的网络攻击者会修改网络主机上包含重要信息的各种数据文件,他们可能会删除或者替换某些文件,或者尽量修改各种日志记录以销毁他们的攻击行为可能留下的痕迹。如果入侵检测系统发现文件系统发生了异常的改变,例如一些受限访问的目录或文件被非正常创建、修改或删除,就可以怀疑发生了网络入侵行为。
5)进程记录
主机系统中运行着各种不同的应用程序,包括各种服务程序。每个执行中的程序都包含了一个或多个进程,每个进程都存在于特定的系统环境中,能够访问有限的系统资源、数据文件等,或者与特定的进程进行通信。入侵者可能将程序的进程分解,使程序中止,或者令程序执行违背系统用户意图的操作。如果入侵检测系统发现某个进程存在异常行为,就可以怀疑有网络入侵。2.3.4基于主机的入侵检测系统的体系结构
在基于主机的入侵检测系统中,通过分析某个主机的行为特征,来检测系统是否遭到入侵。因此,必须收集所检测的主机信息。也有一些基于主机的入侵检测系统,为了简化对一组主机的管理,常常将管理功能和攻击报告集中到一个单一的控制台上。基于主机的入侵检测系统体系结构如图2.8所示,分集中式和分布式两种。
1.集中式系统
集中式系统结构的特点是代理负责收集来自不同目标主机的日志,将日志进行预处理并转化为标准格式,由命令控制台对这些日志集中处理。
该系统有如下优点:
(1)能够将来自不同目标主机的审计信息进行集中处理,这种方式对目标机的性能影响很小或没有影响,这可以允许进行更复杂的检测;
(2)可以创建日志,作为原始数据的数据档案,这些数据可用于起诉中;(3)可用于多主机标志检测;
(4)可将存储在数据库中的告警信息和原始数据结合起来分析,这能帮助许多入侵检测,还可以进行数据辨析以查看长期趋势。
集中式系统也存在有以下的缺点:
(1)除非目标机的数量较少或者检测引擎很快,否则会对实时检测或实时响应带来影响;
(2)将大量原始数据集中起来会影响网络通信量。
2.分布式系统
分布式系统结构的特点是将不同的代理安装在不同的目标机上,实时地分析数据,但记录本身在被目标机上的检测引擎分析提出了有用信息之后就被丢弃了。该结构的优点是实时告警、实时响应;缺点是降低了目标机的性能,没有原始数据档案,降低了数据辨析能力。2.3.5基于主机的入侵检测系统的模型分析
基于主机的入侵检测系统主要是对本机网络连接及日志文件的检测。这里分析一种叫做HostDefense的入侵检测系统。HostDefense用于布置在需要保护的主机上,它通过实时获取各服务器日志,识别攻击模式,并可根据用户自定义的安全策略对日志进行检测,捕获违规活动。系统能自动响应安全事件,提供控制台实时报警、记录安全事件的详细信息、自动生成安全审计报告。
目标系统HostDefense主要是针对通过端口80入侵WEB服务器,因为网络80端口总要打开,具有很大的威胁性,因此系统重点是检测威胁性大的攻击。HostDefense系统的模块化设计图如图2.16所示。图2.16基于主机的入侵检测系统模块化设计图
1.数据采集模块
数据采集模块实现三个功能:数据采集、数据转换和数据管理器模块的通信。数据采集模块是数据采集模块和被检测的数据源的接口,它采用多种方式(包括API接口函数、本地数据的直接采集、在本管理设备上安装采集程序)和数据源进行交互。数据转换模块负责把采集的数据过滤并转化为数据管理模块定义的标准数据格式,为进一步的数据整理分析作准备。通信模块负责把数据采集模块处理后的数据传送到数据管理模块,同时也把中心控制台发布的命令传送到数据采集模块。
2.数据库管理模块
(1)采集数据管理。数据管理器模块负责采集到的数据的存储和实时数据的管理,并把实时数据(端口分析结果)提供给监控平台模块。目前,数据管理器模块采用SqlServer作为后台数据库,进行信息的存储和调用。对Eventlog、Winsock2组件收集的数据进行统一的存储和查询。对于用户的自定义和智能内置的报警进行数据筛选和查询。
(2)安全信息库管理。安全信息库管理为用户提供漏洞信息、黑客攻击特征库、事故处理方式经验知识库、事故处理方法,使用户在最短的时间内发现问题,解决问题。
(3)安全信息库的建立。安全信息库建立的核心是找到入侵行为特征码,以及相应的行为变种,入库以便建立规则库。
3.安全分析模块
安全分析模块主要是把采集到的数据源与安全信息库中的特征进行比较分析,并把结果提供给监控平台模块。数据分析器相当于IDS的大脑,它必须具备高度的“智慧”和“判断能力”。所以,在设计此模块之前,需要对各种网络协议、系统漏洞、攻击手法、可能行为等有一个很清晰、深入的研究,然后制定相应的安全规则和安全策略,再分别建立滥用检测模型和异常检测模型,让机器模拟自己的分析过程,识别已知特征的攻击和异常行为,最后将分析结果形成报警消息,发送给控制管理中心。数据分析模块的设计需要不断地更新、升级、完善,需要特别注意三个问题:
(1)优化检测模型和算法的设计,可确保系统的执行效率;
(2)规则的制定要充分考虑包容性和可扩展性,以提高系统的伸缩性;
(3)信息要遵循特定的标准格式,增强其共享与互操作能力,切忌随意制定消息格式的不规范做法。
4.监控平台模块
监控平台模块负责向网络管理员汇报各种网络违规行为,并由管理员对一些恶意行为采取行动(如阻断、跟踪等),它为用户提供管理平台,用户可以通过多种方式进行访问,包括基于WEB的访问方式,它还可向用户提供集中监控和管理的界面和日常阈值设置、功能设置、系统设置和报告模块配置等操作界面。监控平台的主要任务有两个:
(1)管理数据采集分析中心,以友好、便于查询的方式显示数据采集分析中心发送过来的警报消息;
(2)根据安全策略进行一系列的响应动作,以阻止非法行为,确保网络的安全。监控平台的设计重点是:警报信息查询、采集器管理、规则管理(配置管理)及用户管理。
(1)警报信息查询:网络管理员可以使用单一条件或复合条件进行查询,当警报信息数量庞大、来源广泛的时候,系统需要对警报信息按照危险等级进行分类,从而突出显示网络管理员需要的最重要信息。
(2)数据采集管理:控制台可以一次管理多个采集器(包括启动、停止、配置、察看运行状态等),针对不同情况制定相应的安全规则。
(3)规则库管理功能:为用户提供一个根据具体情况灵活配置安全策略的工具。
(4)用户管理:对用户权限进行严格的定义,提供口令修改、添加用户、删除用户、用户权限配置等功能,有效保护系统使用的安全性。
5.报表生成模块
报表生成模块为用户提供智能的定义报告和用户自定义的生成报告,为用户提供完备的日报、周报、月报和年报。
用SqlServer数据库存储警报信息和其它数据。该模块的数据来源有两个:安全分析模块发来的报警信息及其它重要信息;管理员经过条件查询后对查询结果处理所得的数据,如生成的本地文件、格式报表等。
6.HostDefense系统的运行
(1)HostDefense系统首先要调试数据采集模块、安全分析模块与监控平台模块之间的通信,三者之间是双向的通信。监控平台模块显示、整理数据采集模块和安全分析模块发送过来的分析结果及其它信息,并接收监控平台模块发来的配置、管理等命令。注意:确保这三者之间通信的安全性,最好对通信数据流进行加密操作,以防止窃听或篡改。同时,监控平台模块的控制台子模块和数据库子模块之间也有大量的交互操作,如警报信息查询、网络事件重建等,如图2.17所示。图2.17采集、分析、报警三者通信图
(2)在每台需要保护的主机(如www服务器)上都安装IDS的主机监控系统,IDS可以实时监控各种对主机的访问请求,并及时将信息反馈给IDS服务器,这样全网络任何一台主机受到攻击时,系统都可以及时发现,并可将反馈信息及时传送给监控平台进行处理,并能自动对入侵事件做出反应。(3)安装在服务器上的HostDefense有一个完整的黑客攻击信息库,其中存放着各种黑客攻击行为的特征数据。每当用户对安装了HostDefense主机监控系统的服务器,如OA服务器、MIS服务器进行操作时,主机监控系统的数据采集模块会实时采集数据,并迅速传递到HostDefense服务器上,此时,安全分析模块采集来的数据与信息库中的数据进行匹配,一旦发现吻合,就认为此操作是黑客攻击行为。由于信息库的内容会不断升级,因此可以保证新的黑客攻击方法也能被及时发现。(4)对于安全和故障事件的报警,HostDefense系统会在本地发出实时报警监测警报,同时会把严重的报警实时汇报到管理中心,在管理中心层能够对各个机房的报警进行实时的集中,并对各个分布点的数据进行汇总分析,能够按要求对相关数据进行总体的关联分析等。
报警方式:一旦系统出现异常,预警可以通过声音、手机短信息、影像等各种多媒体方式及时通知相关人员或自动进行故障处理,从而最大限度地减少系统出现故障的可能,降低由此可能带来的损失。(5)生成报表。HostDefense系统的报表生成是非常灵活和自由的,能够根据用户不同的要求生成不同的报表。如流量报表、服务器健康报表、某台服务器的安全情况报表、所有机房发生攻击事件的频率报表、利用次数最多的攻击方式报表。可以根据用户需要生成各种组合式报表,所有的报表都可以跨设备、跨机房进行统一的管理。而且报表的生成方式也多样化,有柱线图、饼图、曲线图等,格式有HTML、Excel。 2.4基于网络的入侵检测系统
2.4.1基于网络的入侵检测系统的工作原理
网络入侵检测系统担负着保护整个网段的任务。由遍及网络的传感器(Sensor)组成,传感器是一台将以太网卡置于混杂模式的设备,用于嗅探网络上的数据包。网络嗅探器(Sniffer)是攻击者常用的收集信息的工具,但也是检测系统收集网络事件信息的有效方式。
为了能够对整个网段进行侦听,系统会将本身的网卡设置为杂收模式(混杂模式)以接收网段内的所有数据包。通常,系统会使用位于网络层和传输层的网络侦听底层实现对网络的侦听,它们的主要任务是获得经过的所有包并传给上一层。
图2.18网卡接收数据的几种模式在正常模式下,网卡接收到一个数据包就会检查该数据包的目的地址,如果是本机地址或广播地址,则将数据包放入接收缓冲区;若是其它目的地址的数据包则直接丢弃。因此,在正常模式下,主机仅处理以本机为目标的数据包。在杂收模式下,网卡可以接收在本网段内传输的所有数据包,无论这些数据包的目的地址是否为本机。目前,绝大部分网卡都提供这种设置,因此,在需要的时候,对网卡进行合理的设置就能获得经过本网段的所有通信信息,从而实现网络监视的功能。基于网络的入侵检测系统必须利用网卡的混杂模式,以获得经过本网段的所有数据信息,从而实现获得网络数据的功能。另外,因为不同操作系统的数据链路访问不一样,所以应根据不同的操作系统提供不同的数据链路访问接口,以获得网络数据包。2.4.2基于网络的IDS的优缺点
1.基于网络的IDS的优点
(1)攻击者转移证据更困难。
由于基于网络的IDS使用正在发生的网络通信进行实时攻击的检测,因此攻击者无法转移证据,被检测系统捕获到的数据不仅包括攻击方法,而且包括对识别和指控入侵者十分有用的信息。由于很多黑客对审计日志很了解,因而他们知道怎样更改这些文件以藏匿他们的入侵踪迹,而基于主机的IDS往往需要这些原始的未被修改的信息来进行检测,在这一点上,基于网络的IDS有着明显的优势。(2)实时检测和应答。
一旦发生恶意的访问或攻击,基于网络的IDS可以随时发现它们,以便能够更快地作出反应。这种实时性使得系统可以根据预先的设置迅速采取相应的行动,从而将入侵行为对系统的破坏减到最低,而基于主机的IDS只有在可疑的日志文件产生后才能判断攻击行为,这时往往对系统的破坏已经产生。(3)能够检测到未成功的攻击企图。
有些攻击行为是旨在针对防火墙后面的资源的攻击(防火墙本身可能会拒绝这些攻击企图),利用放置在防火墙外的基于网络的IDS就可以检测到这种企图,而基于主机的IDS并不能发现未能到达受防火墙保护的主机的攻击企图。通常,这些信息对于评估和改进系统的安全策略是十分重要的。(4)操作系统无关性。
基于网络的IDS并不依赖主机的操作系统作为检测资源,这样就与主机的操作系统无关,而基于主机的系统需要依赖特定的操作系统才能发挥作用。
(5)较低的成本。
基于网络的IDS允许部署在一个或多个关键访问点来检查所有经过的网络通信,可以同时保护多台主机或关键设备,因此,基于网络的IDS系统并不需要在各种各样的主机上进行安装,大大减少了安全和管理的复杂性,不影响被保护主机的性能,这样所需的成本费用也就相对较低。
2.基于网络的IDS的缺点
(1)只能监视通过本网段的活动,并且精确度较差。因为这种方式是布署在本网段的,所以只能对本网段事件进行监视。(2)容易受到拒绝服务攻击。
NIDS要检测所捕获的网络通信数据并维持许多网络事件的状态信息,很容易受到拒绝服务攻击。例如,入侵者可以发送许多到不同结点的数据包分段,使NIDS忙于组装数据包而耗尽其资源或降低其处理速度。平均情况下一个帧的大小约有180字节,在100Mb/s的以太网上,能以50000个数据包/秒的速率传输。大多数的IDS系统能在每数据包1500字节的情况下处理100Mb/s的流量,却很少有能在每数据包60字节的情况下处理100Mb/s的流量。这就意味着如果它们不能跟上高速的网络流量,就必须开始丢弃数据包,甚至完全瘫痪。因此NIDS本身要精简高效,除了在编程时加强对代码的分析与测试工作,确保在内存及其它资源的使用方面没有潜在的问题外,在处理所捕获的网络原始数据时必须具有细致的完整性检查和周全的出错处理机制,保证不会在处理一些恶意的及非正常信息包时发生意外的错误。(3)在交换网络环境中难于配置。
交换网络环境主要工作在数据链路层及物理层,对于这种要想通过NIDS配置比较难。交换式网络对NIDS将会造成问题,连到交换式网络上的NIDS只能看到发送给自己的数据包,因而无法检测网络入侵行为。目前,NIDS常采用交换机上的端口镜像(SpanPort)或分接器(Tap)将NIDS接在所要检测的网络上。
(4)防欺骗的能力比较差。对封装在应用层的入侵事件不能发现。(5)不适于加密环境。对于加密环境无能为力,加密主要发生在高层,为了进行安全通信需要在高层如OSI的表示层对数据进行加密,因此非通信主体双方的NIDS对所捕获的网络数据无法解密,也就失去了入侵检测的功能。
由于基于网络的入侵检测方式具有较强的数据提取能力,因此目前很多入侵检测系统倾向于采用基于网络的检测手段来实现。基于网络的入侵检测系统模型如图2.10所示。2.4.3基于网络的入侵检测系统的体系结构
在基于网络的入侵检测系统中,通过网卡捕获本网段的数据包,应用相应的协议分析网络数据,检测网络是否遭受入侵。通过侦听网络,基于网络的入侵检测系统可以监控大量信息,基于网络的入侵检测系统通常由一组单一的主机组成,它们在网络中的不同部分“窃听”或捕获网络流量,同时向一个管理控制台报告攻击行为。基于网络的入侵检测系统体系结构如图2.19所示。图2.19基于网络的入侵检测体系结构2.4.4基于网络的入侵检测系统的模型分析
1.基于CIDF的网络入侵检测系统模型
图2.20给出了基于CIDF的网络入侵检测系统结构模型。此模型是在通用入侵检测框架(CIDF)的基础上建立起来的,在结构和功能上都包含了CIDF中定义的主要模块。图2.20基于CIDF的网络入侵检测模型图系统的数据源是网络上的原始数据包或tcpdump文件中记录的原始网络数据包。网络抓包引擎从数据源获取数据,交给已经注册的数据预处理部件处理,其作用相当于事件产生器。数据预处理模块从原始数据包中提取关于网络连接的特征模式,然后对其进行同构处理和归一化处理等。入侵检测引擎为误用与异常检测方法相结合的检测分析器,对于误用检测,一般采用Snort规则匹配方法,因为Snort规则分析引擎是目前应用比较多而且代码完全公开的误用检测方法;对于异常检测,重点有基于神经网络和基于数据挖掘的检测方法。入侵响应模块对数据分析器发现的入侵行为做出及时响应,向控制台产生告警信息,同时记录信息到文件或数据库(File/DB),以备取证。用户主要通过用户界面与控制台交互信息,控制台的作用主要是对各个模块进行配置,同时接收响应模块发送的告警信息。
2.基于数据包的网络入侵检测系统模型
根据网络数据包,利用协议分析和模式匹配来检测入侵,其流程考虑到CIDF模型,被设计成如图2.21所示。图2.21基于数据包的网络入侵检测模型图
(1)网络数据引擎模块。
网络数据引擎模块可以捕获监听网络中的原始数据包,NIDS利用LIBPCAP的库函数进行数据采集,这些库函数可以为应用程序提供直接从数据链路层捕获数据包的接口函数。网络数据的解析机制是整个系统实现的基础,其中最关键的是要保证转包的高效率和很低的丢包率,这不仅仅取决于软件的效率还同硬件的处理能力相关。(2)预处理模块。
预处理模块包括BPF和协议解码,BPF过滤在后边还会有详细的介绍,协议解码则是对数据包的一个标准化过程,包括了IP碎片重组、TCP流重组与HTTP(超文本传输协议)、Unicode、RPC、Telet解码等功能。这个过程生成事件数据包,交给下层分析模块分析处理。(3)规则匹配处理模块。
规则匹配模块对协议解码模块提交的数据,运用匹配算法和规则库中的规则进行比较分析,从而判断是否有入侵行为。
(4)入侵响应模块。
响应模块包括对确定的入侵行为采取相应的响应。响应包括消极的措施,如记录攻击数据、存取捕获数据,也可以采取保护措施,如切断入侵者的TCP连接。(5)控制中心。
控制中心是整个入侵检测系统和用户交互的界面,用户可通过控制中心配置系统中的规则库,以检测新的入侵方法,也可以通过控制中心对入侵与日志数据库的数据进行分析,更合理地配置整个系统。
(6)入侵与日志数据库。
入侵与日志数据库的作用是用来存储网络数据引擎模块捕获的原始数据、分析模块产生的分析结果和入侵响应模块日志等的。入侵与日志数据库也是不同部件之间数据处理的共享数据库,为系统不同部件提供各自感兴趣的数据。因此,入侵与日志数据库应该提供灵活的数据维护、处理和查询服务。 2.5分布式入侵检测系统
入侵检测系统减轻了网络安全管理人员的压力,通过集中的、标准化的信息搜集和过滤,实时或定期地生成网络和系统遭受攻击的报告,使管理员可以从手工分析海量系统日志中解脱出来。同时,攻击检测提供了自动检测和响应机制,使安全管理人员摆脱了手工分析和反应的不利局面。另外,IDS有效地弥补了防火墙的缺陷,发现并阻断一些已经进入防火墙的攻击行为,同时还可以有效地发现或制止源自网络内部的攻击行为。虽然IDS的功能日益增强,但它还不是解决网络安全问题的“一揽子”方案。目前,IDS普遍存在一些有待克服的问题:(1)系统的弱点或漏洞分散在网络中各个主机上,这些弱点有可能被入侵者一起用来攻击网络,而仅依靠HIDS或NIDS不能发现更多的入侵行为。
(2)现在的入侵行为表现出相互协作入侵的特点,如分布式拒绝服务攻击(DDOS)。
(3)入侵检测所需要的数据来源分散化,收集原始的检测数据变得困难,如交换型网络使得监听网络数据包受到限制。
(4)由于网络传输速度加快,网络流量不断增大,因此集中处理原始数据的方式往往造成检测的实时性和有效性大打折扣。为了解决传统的IDS存在的问题,产生了分布式入侵检测系统(DistributedIntrusionDetectionSystem,DIDS)。DIDS的任务是用来监视整个网络环境中的安全状态,包括网络设施本身和其中包含的主机系统。
DIDS由主机代理、局域网代理和控制器三大部分组成。主机代理负责监测某台主机的安全,依据搜集到这台主机活动的信息产生主机安全事件,并将这些安全事件传送到控制器。同样,局域网代理监测局域网的安全,依据搜集到的网络数据包信息产生局域网安全事件,也把这些局域网安全事件传给控制器。控制器根据安全专家的知识、主机安全事件和网络安全事件进行入侵检测推理分析,最后得出整个网络的安全状态结论。主机代理并不是安装在局域网中所有的主机上,而是按照特定的安全需求设置的。控制器还提供了DIDS与安全管理人员的用户接口。2.5.1分布式入侵检测系统的设计思想
入侵检测分析过程的分布实现如图2.22所示。在分布式结构中,n个检测器分布在网络环境中,直接接收Sensor(网络传感器)的数据,有效地利用各个主机的资源,消除了集中式检测的运算瓶颈和安全隐患,同时由于大量的数据不必在网络中传输,大大降低了网络带宽的占用,提高了系统的运行效率。在安全上,由于各个检测器分布、独立进行探测,任何一个主机遭到攻击都不影响其它部分的正常工作,从而增加了系统的稳定性。分布式检测系统在充分利用系统资源的同时,还可以实现对分布式攻击等复杂网络行为的检测。图2.22分布式入侵检测系统分布式入侵检测系统的几个部件(主机代理、局域网代理和控制器)往往位于不同的主机上。系统中的部件是具有特定功能的独立的应用程序、小型的系统或者仅仅是一个非独立的应用程序的功能模块。在部署时,这些部件可能在同一台计算机上,也可以各自分布在一个大型网络的不同地点。总之,部件能够完成某一特定的功能,并且是分布式入侵检测系统的一部分。部件之间通过统一的网络接口进行信息交换,这样既简化了部件之间的数据交换的复杂性,使得部件非常容易地分布在不同主机上,又给系统提供了一个扩展的接口。
在当前的网络部署方案中,许多是安装了两套系统:IDS和防火墙。防火墙置于内、外部网之间,IDS置于局域网内,当IDS检测到入侵攻击时,会给防火墙反馈信息,并在防火墙增加一条防止再次攻击的规则,从而巩固网络的安全,如图2.23所示。图2.23入侵检测系统与防火墙的结合2.5.2分布式入侵检测系统的体系结构
分布型是最广泛应用的体系结构,从功能上可以分为两个部分:主机代理和服务端。主机代理主要分布于各网络主机上,用于数据采集,然后上传给服务器。服务器端将主机代理采集上传的数据作为数据源进行入侵检测,然后形成报告,并提供给用户一个可查询界面。基于分布式的入侵检测系统体系结构如图2.24所示。图2.24基于分布式的入侵检测系统体系结构在具体的分布式结构中,主机代理的功能有比较大的差别。一种情况是主机代理只负责数据采集,多个主机代理把数据传给服务器,服务器负责具体的数据处理功能。在这样的系统中,服务器的处理能力往往成为系统结构的瓶颈,而且大量数据采集也会严重占用网络带宽,降低网络的正常传输能力。另一种情况是主机代理具有分析处理数据的能力,主机代理把分析过的数据传给服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报参考:教育公平与合作学习研究
- 二零二五年度铁路旅客运输合同修订版2篇
- 2025版图书电子文档txt下载代理授权合同3篇
- 二零二五年高校创新创业基地入驻服务合同3篇
- 2025年度个人小产权房屋买卖合同范本与税务筹划要点4篇
- 二零二五年度4S店汽车销售区域代理合同范本3篇
- 二零二五版智慧交通管理系统建设与运营协议3篇
- 二零二五年度马铃薯深加工废弃物资源化利用合同4篇
- 二零二五年度创新型企业房屋租赁合同书
- 2025年度平房出租与城市可持续发展合作协议4篇
- 第1课 隋朝统一与灭亡 课件(26张)2024-2025学年部编版七年级历史下册
- 2025-2030年中国糖醇市场运行状况及投资前景趋势分析报告
- 冬日暖阳健康守护
- 水处理药剂采购项目技术方案(技术方案)
- 2024级高一上期期中测试数学试题含答案
- 盾构标准化施工手册
- 山东省2024-2025学年高三上学期新高考联合质量测评10月联考英语试题
- 不间断电源UPS知识培训
- 三年级除法竖式300道题及答案
- 人教版八级物理下册知识点结
- 2024年江苏省徐州市中考一模数学试题(含答案)
评论
0/150
提交评论