《入侵检测》PPT课件.ppt
1,第五章 入侵检测系统,李 剑 北京邮电大学信息安全中心 01086212346,2,目 录,一.入侵检测概述二.入侵检测技术三.IDS的标准化四.入侵检测的发展,3,入侵检测,入侵监测系统处于防火墙之后对网络活动进行实时检测。许多情况下,由于可以记录和禁止网络活动,所以入侵监测系统是防火墙的延续。它们可以和防火墙和路由器配合工作。入侵监测系统(IDS,Intrusion Detection System)与系统扫描器(System Scanner)不同。系统扫描器是根据攻击特征数据库来扫描系统漏洞的,它更关注配置上的漏洞而不是当前进出主机的流量。在遭受攻击的主机上,即使正在运行着扫描程序,也无法识别这种攻击。IDS扫描当前网络的活动,监视和记录网络的流量,根据定义好的规则来过滤从主机网卡到网线上的流量,提供实时报警。网络扫描器检测主机上先前设置的漏洞,而IDS监视和记录网络流量。如果在同一台主机上运行IDS和扫描器,配置合理的IDS会发出许多报警。,4,5.1 入侵检测概述,入侵检测技术是一种主动保护自己免受攻击的一种网络安全技术。作为防火墙的合理补充,入侵检测技术能够帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、攻击识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测。它可以防止或减轻上述的网络威胁。,5,5.1.1 为什么需要入侵检测系统,政府、银行、大企业等机构都有自己的内网资源。企业经常在防火墙系统上投入大量的资金,在因特网入口处部署防火墙系统来保证安全,依赖防火墙建立网络的组织往往是“外紧内松”,无法阻止内部人员所做的攻击,对信息流的控制缺乏灵活性,从外面看似非常安全,但内部缺乏必要的安全措施。据统计,全球80%以上的入侵来自于内部。由于性能的限制,防火墙通常不能提供实时的入侵检测能力,对于企业内部人员所做的攻击,防火墙形同虚设。入侵检测是对防火墙及其有益的补充,入侵检测系统能使在入侵攻击对系统发生危害前检测到入侵攻击,并利用报警与防护系统驱逐入侵攻击。,6,5.1.1 为什么需要入侵检测系统,对防火墙和入侵检测系统的联系有一个经典的比喻:防火墙相当于一个把门的门卫,对于所有进出大门的人员进行审核,只有符合安全要求的人,就是那些有入门许可证的人才可以进、出大门;门卫可以防止小偷进入大楼,但不能保证小偷100%地被拒之门外,而且对于那些本身就在大门内部的,以及那些具备入门证的、以合法身份进入了大门的人,是否做好事也无法监控,这时候就需要依靠入侵检测系统来进行审计和控制,及时发现异常情况并发出警告。,7,5.1.2 入侵检测的概念,本文中的“入侵”是个广义的概念,不仅包括被发起攻击的人(如恶意的黑客)取得超出合法范围的系统控制权,也包括收集漏洞信息,造成拒绝访问(Denial of Service)等对计算机系统造成危害的行为。入侵检测,顾名思义,便是对入侵行为的发觉。它通过对计算机网络或计算机系统中得若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统。与其他安全产品不同的是,入侵检测系统需要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一个合格的入侵检测系统能简化管理员的工作,保证网络安全的运行。,8,5.1.2 入侵检测的概念,由于入侵检测系统的市场在近几年中飞速发展,许多公司投入到这一领域上来。除了国外的ISS、axent、NFR、思科(Cisco)等公司外,国内也有数家公司(如启明星辰、中联绿盟、中科网威等)推出了自己相应的产品。但就目前而言,入侵检测系统还缺乏相应的标准。目前,试图对IDS进行标准化的工作有两个组织:IETF的IDWF(Intrusion Detection Working Group)和CIDF(Common Intrusion Detection Framework),但进展非常缓慢,尚没有被广泛接收的标准出台。,9,5.1.3 入侵检测的历史,从实验室原型研究到推出商业化产品、走向市场并获得广泛认同,入侵检测系统已经走过了二十多年的风雨坎坷路。1.概念的诞生1980年4月,James P.Anderson为美国空军做了一份题为计算机安全威胁监控与监视(Computer Security Threat Monitoring and Surveillance)的技术报告,第一次详细阐述了入侵检测的概念。他提出了一种对计算机系统风险和威胁的分类方法,并将威胁分为外部渗透、内部渗透和不法行为3种,还提出了利用审计跟踪数据监视入侵活动的思想。这份报告被公认为是入侵检测的开山之作。,10,5.1.3 入侵检测的历史,2.模型的发展19841986年,乔治敦大学的Dorothy Denning和SRI/CSL(SRI公司计算机科学实验室)的Peter Neumann研究出了一个实时入侵检测系统模型,取名为入侵检测专家系统(IDES)。该模型由6个部分组成:主体、对象、审计记录、轮廓特征、异常记录、活动规则。它独立于特定的系统平台、应用环境、系统弱点以及入侵类型,为构建入侵检测系统提供了一个通用的框架。,11,5.1.3 入侵检测的历史,1988年,SRI/CSL的Teresa Lunt等人改进了Denning的入侵检测模型,并开发出了一个IDES。该系统包括一个异常检测器和一个专家系统,分别用于统计异常模型的建立和基于规则的特征分析检测,如图5.1所示。,12,5.1.3 入侵检测的历史,3.百花齐放的春天1990年是入侵检测系统发展史上的一个分水岭。这一年,加州大学戴维斯分校的L.T.Heberlein等人开发出了NSM(Network Security Monitor)。该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异种主机。从此之后,入侵检测系统发展史翻开了新的一页,基于网络的IDS和基于主机的IDS两大阵营正式形成。,13,5.1.3 入侵检测的历史,1988年的莫里斯蠕虫事件发生之后,网络安全才真正引起了军方、学术界和企业的高度重视。美国空军、国家安全局和能源部共同资助空军密码支持中心、劳伦斯利弗摩尔国家实验室、加州大学戴维斯分校、Haystack实验室,开展对分布式入侵检测系统(DIDS)的研究,将基于主机和基于网络的检测方法集成到一起,其总体结构如图5.2所示。,14,5.1.3 入侵检测的历史,DIDS是分布式入侵检测系统历史上的一个里程碑式的产品,它的检测模型采用了分层结构,包括数据、事件、主体、上下文、威胁、安全状态等6层。从20世纪90年代到现在,入侵检测系统的研发呈现出百家争鸣的繁荣局面,并在智能化和分布式两个方向取得了长足的进展。目前,SRI/CSL、普渡大学、加州大学戴维斯分校、洛斯阿拉莫斯国家实验室、哥伦比亚大学、新墨西哥大学等机构在这些方面的研究代表了当前的最高水平。,15,5.1.4 入侵检测的结构,IDS在结构上可划分为数据收集和数据分析两部分。1、数据收集机制数据收集机制在IDS中占据着举足轻重的位置。如果收集的数据时延较大,检测就会失去作用;如果数据不完整,系统的检测能力就会下降;如果由于错误或入侵者的行为致使收集的数据不正确,IDS就会无法检测某些入侵,给用户以安全的假象。,16,5.1.4 入侵检测的结构,IDS在结构上可划分为数据收集和数据分析两部分。1、数据收集机制数据收集机制在IDS中占据着举足轻重的位置。如果收集的数据时延较大,检测就会失去作用;如果数据不完整,系统的检测能力就会下降;如果由于错误或入侵者的行为致使收集的数据不正确,IDS就会无法检测某些入侵,给用户以安全的假象。,17,5.1.4 入侵检测的结构,(1)分布式与集中式数据收集机制 分布式数据收集:检测系统收集的数据来自一些固定位置而且与受监视的网元数量无关。集中式数据收集:检测系统收集的数据来自一些与受监视的网元数量有一定比例关系的位置。,18,5.1.4 入侵检测的结构,(2)直接监控和间接监控 如果IDS从它所监控的对象处直接获得数据,称为直接监控;反之,如果IDS依赖一个单独的进程或工具获得数据,则称为间接监控。就检测入侵行为而言,直接监控要优于间接监控,由于直接监控操作的复杂性,目前的IDS产品中只有不足20%使用了直接监控机制。,19,5.1.4 入侵检测的结构,(3)基于主机的数据收集和基于网络的数据收集 基于主机的数据收集是从所监控的主机上获取的数据;基于网络的数据收集是通过被监视网络中的数据流获得数据。总体而言,基于主机的数据收集要优于基于网络的数据收集。,20,5.1.4 入侵检测的结构,(4)外部探测器和内部探测器 外部探测器是负责监测主机中某个组件(硬件或软件)的软件。它将向IDS提供所需的数据,这些操作是通过独立于系统的其他代码来实施的。内部探测器是负责监测主机中某个组件(硬件或软件)的软件。它将向IDS提供所需的数据,这些操作是通过该组件的代码来实施的。外部探测器和内部探测器在用于数据收集时各有利弊,可以综合使用。由于内部探测器实现起来的难度较大,所以在现有的IDS产品中,只有很少的一部分采用它。,21,5.1.4 入侵检测的结构,2、数据分析机制 根据IDS如何处理数据,可以将IDS分为分布式IDS和集中式IDS。分布式IDS:在一些与受监视组件相应的位置对数据进行分析的IDS。集中式IDS:在一些固定且不受监视组件数量限制的位置对数据进行分析的IDS。请注意,这些定义是基于受监视组件的数量而不是主机的数量,所以如果在系统中的不同组件中进行数据分析,除了安装集中式IDS外,有可能在一个主机中安装分布式数据分析的IDS。分布式和集中式IDS都可以使用基于主机、基于网络或两者兼备的数据收集方式。,22,5.1.5 入侵检测系统的作用,入侵检测系统具有以下部分或全部功能:监督并分析用户和系统的活动;检查系统配置和漏洞;检查关键系统和数据文件的完整性;识别代表已知攻击的活动模式;对反常行为模式的统计分析;对操作系统的校验管理,判断是否有破坏安全的用户活动。,23,5.1.5 入侵检测系统的作用,入侵检测系统和漏洞评估工具可以联合起来,其的优点在于:提高了信息安全体系其他部分的完整性;提高了系统的监察能力;跟踪用户从进入到退出的所有活动或影响;识别并报告数据文件的改动;发现系统配置的错误,必要时予以更正;识别特定类型的攻击,并向相应人员报警,以作出防御反应;可使系统管理人员最新的版本升级添加到程序中;允许非专家人员从事系统安全工作;为信息安全策略的创建提供指导。,24,5.1.5 入侵检测系统的作用,必须修正对入侵检测系统和漏洞评估工具不切实际的期望:这些产品并不是无所不能的,它们无法弥补力量薄弱的识别和确认机制。在无人干预的情况下,无法执行对攻击的检查;无法感知公司安全策略的内容;不能弥补网络协议的漏洞;不能弥补由于系统提供信息的质量或完整性的问题;不能分析网络繁忙时所有事务;不能总是对数据包级的攻击进行处理;不能应付现代网络的硬件及特性。,25,5.1.6 入侵检测的分类,1.根据其采用的技术分。(1)异常检测异常检测的假设是入侵者活动异常于正常主体的活动,建立正常活动的“活动简档”,当前主体的活动违反其统计规律时,认为可能是“入侵”行为。通过检测系统的行为或使用情况的变化来完成。(2)误用检测误用检测也叫特征检测,它假设入侵者活动可以用一种模式来表示,然后将观察对象与之比较,判别是否符合这些模式。,26,5.1.6 入侵检测的分类,2.根据IDS所检测对象的区别可分为基于主机的入侵检测系统和基于网络的入侵检测系统。(1)基于主机的IDS基于主机的IDS通过监视与分析主机的审计记录检测入侵。能否及时采集到审计是这些系统的弱点之一,入侵者会将主机审计子系统作为攻击目标以避开IDS。如图5.3所示为基于主机的IDS。,27,5.1.6 入侵检测的分类,(2)基于网络的IDS:基于网络的IDS通过在共享网段上对通信数据的侦听采集数据,分析可疑现象。这类系统不需要主机提供严格的审计,对主机资源消耗少,并可以提供对网络通用的保护而无需顾及异构主机的不同架构。图5.4所示为基于网络的IDS。,28,5.1.6 入侵检测的分类,(3)分布式入侵检测系统 目前这种技术在ISS的RealSecure等产品中已经有了应用。它检测的数据也是来源于网络中的数据包,不同的是,它采用分布式检测、集中管理的方法。即在每个网段安装一个黑匣子,该黑匣子相当于基于网络的IDS,只是没有用户操作界面。黑匣子用来监测其所在网段上的数据流,它根据集中安全管理中心制定的安全策略、响应规则等来分析检测网络数据,同时向集中安全管理中心发回安全事件信息。集中安全管理中心是整个分布式入侵检测系统面向用户的界面。它的特点是对数据保护的范围比较大,但对网络流量有一定的影响。,29,5.1.6 入侵检测的分类,3.根据工作方式分(1)离线检测系统离线检测系统是非实时工作的系统,它在事后分析审计事件,从中检查入侵活动。事后入侵检测由网络管理人员进行,具有网络安全的专业知识,根据计算机系统对用户操作所做的历史审计记录判断是否存在入侵行为,如果有就断开连接,并记录入侵证据和进行数据恢复。事后入侵检测是管理员定期或不定期进行的,不具有实时性。,30,5.1.6 入侵检测的分类,(2)在线检测系统在线检测系统是实时联机的检测系统,它包含对实时网络数据包分析,实时主机审计分析。其工作过程是实时入侵检测在网络连接过程中进行,系统根据用户的历史行为模型、存储在计算机中的专家知识以及神经网络模型对用户当前的操作进行判断,一旦发现入侵迹象立即断开入侵者与主机的连接,并收集证据和实施数据恢复。这个检测过程是不断循环进行的。,31,5.1.6 入侵检测的分类,4.按照体系结构分(1)集中式这种结构的IDS可能有多个分布于不同主机上的审计程序,但只有一个中央入侵检测服务器。审计程序把当地收集到的数据踪迹发送给中央服务器进行分析处理。但这种结构的IDS在可伸缩性、可配置性方面存在致命缺陷:第一,随着网络规模的增加,主机审计程序和服务器之间传送的数据量就会骤增,导致网络性能大大降低;第二,系统安全性脆弱,一旦中央服务器出现故障,整个系统就会陷入瘫痪;第三,根据各个主机不同需求,配置服务器非常复杂。,32,5.1.6 入侵检测的分类,(2)等级式这种结构的IDS用来监控大型网络,定义了若干个分等级的监控区,每个IDS负责一个区,每一级IDS只负责所监控区的分析,然后将当地的分析结果传送给上一级IDS。这种结构仍存两个问题:首先,当网络拓扑结构改变时,区域分析结果的汇总机制也需要做相应的调整;第二,这种结构的IDS最后还是要把各地收集到的结果传送到最高级的检测服务器进行全局分析,所以系统的安全性并没有实质性的改进。,33,5.1.6 入侵检测的分类,(3)协作式这种结构的IDS将中央检测服务器的任务分配给多个基于主机的IDS,这些IDS不分等级,各司其职,负责监控当地主机的某些活动。所以,其可伸缩性、安全性都得到了显著的提高,但维护成本却高了很多,并且增加了所监控主机的工作负荷,如通信机制、审计开销、踪迹分析等。,34,5.2 入侵检测技术,5.2.1 误用入侵检测误用入侵检测是指根据已知的入侵模式来检测入侵。入侵者常常利用系统和应用软件中弱点攻击,而这些弱点易编成某种模式,如果入侵者攻击方式恰好匹配检测系统中的模式库,则入侵者即被检测到,如图5.5所示。,35,5.2 入侵检测技术,误用入侵检测依赖于模式库,或叫规则库。如果没有构造好模式库,则IDS就不能检测到入侵者。例如,因特网蠕虫攻击(Worm Attack)使用了fingered 和 sendmai1错误(Bugs),可以使用误用检测,与异常入侵检测相反,误用入侵检测能直接检测不利的或不能接受的行为,而异常入侵检测是发现同正常行为相违背的行为。,36,5.2 入侵检测技术,1.基于条件概率误用入侵检测方法 基于条件概率误用入侵检测方法将入侵方式对应一个事件序列,然后通过观测到事件发生情况来推测入侵出现。这种方法的依据是外部事件序列,根据贝叶斯定理进行推理检测入侵。令ES表示事件序列,先验概率为P(I),后验概率为P(ES|I),事件出现的概率为P(ES),则P(I|ES)=P(ES|I)P(I)/P(ES),通常网络安全专家可以给出先验概率P(I),对入侵报告数据进行统计处理得出P(ES|I)和P(ES|I),于是可以计算出:,37,5.2 入侵检测技术,2.基于专家系统误用入侵检测方法基于专家系统误用入侵检测方法是通过将安全专家的知识表示成IF-THEN规则形成专家知识库,然后,运用推理算法进行检测入侵。编码规则说明攻击的必需条件作为IF的组成部分。当规则的左边的全部条件都满足时,规则的右边的动作才会执行。入侵检测专家系统应用的实际问题是要处理大量的数据和依赖于审计跟踪的次序,其推理方式主要有以下两种。,38,5.2 入侵检测技术,3.基于状态迁移分析误用入侵检测方法状态迁移分析方法将攻击表示成一系列被临近的系统状态迁移。攻击模式的状态对应于系统状态,并具有迁移到另外状态的条件断言。通过弧将连续的状态连接起来表示状态改变所需要的事件。允许事件类型被植入到模型,不需同审计记录一一对应。攻击模式只能说明事件序列,不能说明更复杂的事件。而且,除了通过植入模型的原始的断言,没有通用的方法来排除攻击模式部分匹配。,39,5.2 入侵检测技术,4.基于键盘监控误用入侵检测方法基于键盘监控误用入侵检测方法假设入侵对应特定的击键序列模式,然后监测用户击键模式,并将这一模式与入侵模式匹配,以此就能检测入侵。这种方法的不利之处是在没有操作系统支持的情况下,缺少捕获用户击键的可靠方法,存在无数击键方式表示同一种攻击的可能。而且,没有击键语义分析,用户很容易欺骗这种技术。因为这种技术仅仅分析击键,所以不能够很好地检测到恶意程序执行结果的自动攻击。,40,5.2 入侵检测技术,5.基于模型误用入侵检测方法基于模型误用入侵检测方法是通过建立误用证据模型,根据证据来推理来做出误用发生判断结论。Gravy和Lint首先提出这种方法。其方法要点是建立攻击剧本(Attack Scenarios)数据库、预警器和规划者。每个攻击剧本表示成一个攻击行为序列,在任意的给定时刻,攻击剧本的子集都被用来推断系统遭受入侵。根据当前的活动模型,预警器产生下一步行为,用来在审计跟踪时作验证使用。,41,5.2.2 异常入侵检测,异常检测指的是根据非正常行为(系统或用户)和使用计算机资源非正常情况检测出入侵行为。例如,如果用户A早上8点钟到下午5点钟之间在办公室使用计算机,则他在晚上使用办公室计算机是异常的,就有可能是入侵;用户B总是在下班后登录到公司的终端服务器或是在深夜时来自B的账号远程登录都可能是不正常的。异常检测试图用定量方式描述常规的或可接收的行为,以标记非常规的、潜在的入侵行为。这种非常规的、潜在的入侵行为可以定义为威胁。图5.6所示为异常入侵检测模型。,42,5.2.2 异常入侵检测,典型的威胁模型将威胁分为外部闯入、内部渗透和不当行为3种类型,并使用这种分类方法开发了一个安全监视系统,可检测用户的异常行为。外部闯入指的是未经授权计算机系统用户的入侵;内部渗透是指已授权的计算机用户访问未经授权的数据;不当行为指的是用户虽经授权,但对授权数据和资源的使用不合法或滥用授权。,43,5.2.2 异常入侵检测,1.统计异常检测方法统计异常检测方法根据异常检测器观察主体的活动,然后产生描述这些活动行为的参数。每一个参数保存记录主体当前某种行为,并定时地将当前的参数与存储的参数合并。通过比较当前的参数与已存储的参数判断异常行为,从而检测出网络入侵。下面以IDES入侵检测系统为例来说明一般统计异常检测方法处理的过程。设M1,M2,Mn为参数集的特征变量,这些变量可以是CPU的使用、I/O的使用、使用地点及时间,邮件使用,文件访问数量,网络会话时间等。用S1,S2,Sn分别表示参数集中变量M1,M2,Mn的异常测量值。这些值表明了异常程度,若Si的值越高,则表示Mi异常性就越大。将这些异常测量值的平方后加权计算得出参数异常值:a1S12+a2S22+anSn2,ai0。,44,5.2.2 异常入侵检测,2.基于特征选择异常检测方法基于特征选择异常检测方法是通过从一组参数数据中挑选能检测出入侵参数构成子集来准确地预测或分类已检测到的入侵。异常入侵检测的困难是在异常活动和入侵活动之间作出判断。判断符合实际的参数很复杂,因为合适地选择参数子集依赖于检测到的入侵类型,一个参数集对所有的各种各样的入侵类型不可能是足够的。预先确定特定的参数来检测入侵可能会错过单独的、特别的环境下的入侵。最理想的检测入侵参数集必须动态地决策判断以获得最好的效果。假设与入侵潜在相关的参数有n个,则这n个参数构成的子集有2n个。由于搜索空间同参数是指数关系,所以穷尽寻找最理想的参数子集的开销太大。,45,5.2.2 异常入侵检测,3.基于贝叶斯推理异常检测方法基于贝叶斯推理异常检测方法是通过在任意给定的时刻,测量A1,A2,An变量值推理判断是否有入侵事件发生。其中每个Ai变量表示系统不同的方面特征(如磁盘I/O的活动数量,或者系统中页面出错的数)。假定Ai变量具有两个值,1表示是异常,0表示正常。I表示系统当前遭受入侵攻击。每个异常变量Ai的异常可靠性和敏感性分别表示为P(Ai=1|I)和P(Ai=1|I)。则在给定每个Ai的条件下,由贝叶斯定理得出I的可信度,根据各种异常测量的值、入侵的先验概率及入侵发生时每种测量到的异常概率,能够检测判断入侵的概率。但是为了检测的准确性,还要必须考虑各测量Ai间的独立性。,46,5.2.2 异常入侵检测,4.基于贝叶斯网络异常检测方法贝叶斯统计分析把先验信息与样本信息结合,用于统计推断之中。用贝叶斯公式先验信息与样本信息综合,得到后验信息。而得到的后验信息又可以作为新一轮计算的先验,与进一步获得的样本信息综合,求得下一个后验信息。随着这个过程继续下去,后验信息确实是越来越接近于真值。也就是说,贝叶斯方法的学习机制是确实存在而且有效的。这个学习的过程实际上是一个迭代的过程,数据统计工作者已经证明这个过程是收敛的,因为这样得到后验分布密度有上界,而且单调递增。这意味着它将收敛于某个值。,47,5.2.2 异常入侵检测,5.基于模式预测异常检测方法基于模式预测异常检测方法的假设条件是事件序列不是随机的,而是遵循可辨别的模式。这种检测方法的特点是考虑了事件的序列及相互联系。而基于时间的推理方法则利用时间规则识别用户行为正常模式的特征。通过归纳学习产生这些规则集,能动态地修改系统中的规则,使之具有高的预测性、准确性和可信度。如果规则大部分时间是正确的,并能够成功地运用预测所观察到的数据,那么规则就具有高的可信度。,48,5.2.2 异常入侵检测,6.基于神经网络异常检测方法 基于神经网络入侵检测方法是训练神经网络连续的信息单元,信息单元指的是命令。网络的输入层是用户当前输入的命令和已执行过的若干个(如S)个命令;用户执行过的命令被神经网络使用来预测用户输入的下一个命令。若神经网络被训练成预测用户输入命令序列集合,则神经网络就构成用户的轮廓框架。当用这个神经网络预测不出某用户正确的后继命令,即在某种程度上表明了用户行为与其轮廓框架的偏离,这时有异常事件发生,以此就能进行异常入侵检测。,49,5.2.2 异常入侵检测,7.基于贝叶斯聚类异常检测方法 基于贝叶斯聚类异常检测方法通过在数据中发现不同类别数据集合,这些类反映了基本的因果机制(同类的成员比其他的更相似),以此就可以区分异常用户类,进而推断入侵事件发生来检测异常入侵行为。Cheeseman和Stutz在1995年开发的自动分类程序(Autoclass Program)是一种无监督数据分类技术。,50,5.2.2 异常入侵检测,8.基于机器学习异常检测方法 这种异常检测方法通过机器学习实现入侵检测,其主要的方法有死记硬背式、监督、学习、归纳学习(示例学习)、类比学习等。Terran和Carla E.Brodley将异常检测问题归结为根据离散数据临时序列学习获得个体、系统和网络的行为特征,并提出一个基于相似度实例学习方法(IBL),该方法通过新的序列相似度计算将原始数据(如离散事件流、无序的记录)转化成可度量的空间。,51,5.2.2 异常入侵检测,9.基于数据采掘异常检测方法 计算机联网导致大量审计记录,而且审计记录大多是以文件形式存放。若单独依靠手工方法去发现记录中的异常现象是不够的,往往操作不便,不容易找出审计记录间相互关系。Wenke lee和Salvatore J.Stolfo 将数据采掘技术应用到入侵检测研究领域中,从审计数据或数据流中提取感兴趣的知识,这些知识是隐含的、事先未知的潜在有用信息,提取的知识表示为概念、规则、规律、模式等形式,并用这些知识去检测异常入侵和已知入侵。基于数据采掘异常检测方法目前已有现成的算法可以借用,这种方法的优点在于适应处理大量数据情况。但是,对于实时入侵检测则还存在问题,需要开发出有效的数据采掘算法和适应的体系。,52,5.3 IDS的标准化,5.3.1 IDS标准化进展现状为了提高IDS产品、组件及与其他安全产品之间的互操作性,美国国防高级研究计划署(DARPA)和互联网工程任务组(IETF)的入侵检测工作组(IDWG)发起制订了一系列建议草案,从体系结构、API、通信机制、语言格式等方面规范IDS的标准。DARPA提出的建议是公共入侵检测框架(CIDF),最早由加州大学戴维斯分校安全实验室主持起草工作。1999年6月,IDWG就入侵检测也出台了一系列草案。但是,这两个组织提出的草案或建议目前还正处于逐步完善之中,尚未被采纳为广泛接收的国际标准。不过,它们仍是入侵检测领域最有影响力的建议,成为标准只是时间问题。,53,5.3 IDS的标准化,5.3.2 入侵检测工作组IDWG的任务是:定义数据格式和交换规程,用于入侵检测与响应(IDR)系统之间或与需要交互的管理系统之间的信息共享。IDWG提出的建议草案包括3部分内容:入侵检测消息交换格式(IDMEF)、入侵检测交换协议(IDXP)以及隧道轮廓(Tunnel Profile)。1、IDMEFIDMEF描述了表示入侵检测系统输出信息的数据模型,并解释了使用此模型的基本原理。该数据模型用XML实现,并设计了一个XML文档类型定义。自动入侵检测系统可以使用IDMEF提供的标准数据格式对可疑事件发出警报,提高商业、开放资源和研究系统之间的互操作性。IDMEF最适用于入侵检测分析器(或称为“探测器”)和接收警报的管理器(或称为“控制台”)之间的数据信道。,54,5.3 IDS的标准化,(1)IDMEF的数据模型 IDMEF数据模型以面向对象的形式表示探测器传递给控制台的警报数据,设计数据模型的目标是为警报提供确定的标准表达方式,并描述简单警报和复杂警报之间的关系。IDMEF数据模型各个主要部分之间的关系如图5.7所示。,55,5.3 IDS的标准化,所有IDMEF消息的最高层类是IDMEF-Message,每一种类型的消息都是该类的子类。IDMEF目前定义了两种类型的消息:Alert(警报)和Heartbeat(心跳),这两种消息又分别包括各自的子类,以表示更详细的消息。需要注意的是,IDMEF数据模型并没有对警报的分类和鉴别进行说明。例如,对一个端口的扫描,一个分析器可能将其确定为一个多目标的单一攻击,而另一个分析器可能将其确定为来自同一个源的多次攻击。只有一个分析器决定了发送的警报类型,数据模型才能规定怎样对这个警报进行格式化。IDMEF数据模型是用统一建模语言(UML)描述的。UML用一个简单的框架表示实体以及它们之间的关系,并将实体定义为类。IDMEF包括的主要类有IDMEF-Message类、Alert类、Heartbeat类、Core类、Time类和Support类,这些类还可以再细分为许多子类。,56,5.3 IDS的标准化,(2)使用XML描述IDMEF文档标记 IDWG最早曾提出两个建议实现IDMEF:用SMI(管理信息结构)描述一个SNMP MIB和使用DTD(文档类型定义)描述XML文档。IDWG 在1999年9月和2000年2月分别对这两个建议进行了评估,认为XML最能符合IDMEF的要求,于是,在2000年2月的会议上决定采用XML方案。,57,5.3 IDS的标准化,2、IDXP IDXP(入侵检测交换协议)是一个用于入侵检测实体之间交换数据的应用层协议,能够实现IDMEF消息、非结构文本和二进制数据之间的交换,并提供面向连接协议之上的双方认证、完整性和保密性等安全特征。IDXP是BEEP的一部分,后者是一个用于面向连接的异步交互通用应用协议,IDXP的许多特色功能(如认证、保密性等)都是由BEEP框架提供的。IDXP模型如下:,58,5.3.3 公共入侵检测框架,公共入侵检测框架(CIDF)所做的工作主要包括4部分:IDS的体系结构、通信机制、描述语言和应用编程接口API。1CIDF的体系结构CIDF在IDES和NIDES的基础上提出了一个通用模型,将入侵检测系统分为4个基本组件:事件产生器、事件分析器、响应单元和事件数据库。结构如图5.11所示。在这个模型中,事件产生器、事件分析器和响应单元通常以应用程序的形式出现,而事件数据库则往往是文件或数据流的形式,很多IDS厂商都以数据收集部分、数据分析部分和控制台部分3个术语来分别代替事件产生器、事件分析器和响应单元。CIDF将IDS需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统日志或其他途径得到的信息。,59,5.3.3 公共入侵检测框架,公共入侵检测框架(CIDF)所做的工作主要包括4部分:IDS的体系结构、通信机制、描述语言和应用编程接口API。,60,5.3.3 公共入侵检测框架,(1)事件产生器 事件产生器的任务是从入侵检测系统之外的计算环境中收集事件,并将这些事件转换成CIDF的GIDO格式传送给其他组件。例如,事件产生器可以是读取C2级审计踪迹并将其转换为GIDO格式的过滤器,也可以是被动地监视网络并根据网络数据流产生事件的另一种过滤器,还可以是SQL数据库中产生描述事务的事件的应用代码。,61,5.3.3 公共入侵检测框架,(2)事件分析器 事件分析器分析从其他组件收到的GIDO,并将产生的新GIDO再传送给其他组件。分析器可以是一个轮廓描述工具,统计性地检查现在的事件是否可能与以前某个事件来自同一个时间序列;也可以是一个特征检测工具,用于在一个事件序列中检查是否有已知的滥用攻击特征;此外,事件分析器还可以是一个相关器,观察事件之间的关系,将有联系的事件放到一起,以利于以后的进一步分析。(3)事件数据库 事件数据库用来存储GIDO,以备系统需要的时候使用。(4)响应单元 响应单元处理收到的GIDO,并据此采取相应的措施,如杀死相关进程、将连接复位、修改文件权限等。,62,5.3.3 公共入侵检测框架,2、CIDF的通信机制 为了保证各个组件之间安全、高效地通信,CIDF将通信机制构造成一个三层模型:GIDO层、消息层和协商传输层。要实现有目的的通信,各组件就必须能正确理解相互之间传递的各种数据的语义,GIDO层的任务就是提高组件之间的互操作性,所以GIDO就如何表示各种各样的事件做了详细的定义。消息层确保被加密认证消息在防火墙或NAT等设备之间传输过程中的可靠性。消息层只负责将数据从发送方传递到接收方,而不携带任何有语义的信息;同样,GIDO层也只考虑所传递信息的语义,而不关心这些消息怎样被传递。,63,5.3.3 公共入侵检测框架,3、CIDF语言 CIDF的总体目标是实现软件的复用和IDR(入侵检测与响应)组件之间的互操作性。首先,IDR组件基础结构必须是安全、健壮、可伸缩的,CIDF的工作重点是定义了一种应用层的语言CISL(公共入侵规范语言),用来描述IDR组件之间传送的信息,以及制定一套对这些信息进行编码的协议。CISL可以表示CIDF中的各种信息,如原始事件信息(审计踪迹记录和网络数据流信息)、分析结果(系统异常和攻击特征描述)、响应提示(停止某些特定的活动或修改组件的安全参数)等。,64,5.3.3 公共入侵检测框架,4、CIDF的API接口 CIDF的API负责GIDO的编码、解码和传递,它提供的调用功能使得程序员可以在不了解编码和传递过程具体细节的情况下,以一种很简单的方式构建和传递GIDO。GIDO的生成分为两个步骤:第一步,构造表示GIDO的树形结构;第二步,将此结构编成字节码。,65,5.4 入侵检测的发展,随着这么多年的发展,入侵检测技术出现了一些问题,也有了一些新的发展方向。本节介绍入侵检测系统存在的问题和其新的发展方向。5.4.1 入侵检测系统存在的问题1误/漏报率高 IDS常用的检测方法有特征检测、异常检测、状态检测、协议分析等。而这些检测方式都存在缺陷。比如异常检测通常采用统计方法来进行检测,而统计方法中的阈值难以有效确定,太小的值会产生大量的误报,太大的值又会产生大量的漏报。而在协议分析的检测方式中,一般的IDS只简单地处理了常用的如HTTP、FTP、SMTP等,其余大量的协议报文完全可能造成IDS漏报,如果考虑支持尽量多的协议类型分析,网络的成本将无法承受。,66,5.4 入侵检测的发展,2没有主动防御能力IDS技术采用了一种预设置式、特征分析式工作原理,所以检测规则的更新总是落后于攻击手段的更新。3缺乏准确定位和处理机制 IDS仅能识别IP地址,无法定位IP地址,不能识别数据来源。IDS系统在发现攻击事件的时候,只能关闭网络出口和服务器等少数端口,但关闭同时会影响其他正常用户的使用,因而其缺乏更有效的响应处理机制。4性能普遍不足 现在市场上的IDS产品大多采用的是特征检测技术,这种IDS产品已不能适应交换技术和高带宽环境的发展,在大流量冲击、多IP分片情况下都可能造成IDS的瘫痪或丢包,形成DoS攻击。,67,5.4.2 入侵检测技术的发展方向,无论从规模与方法上入侵技术近年来都发生了变化。入侵的手段与技术也有了“进步与发展”。入侵技术的发展与演化主要反映在下列几个方面。1.入侵或攻击的综合化与复杂化入侵的手段有多种,入侵者往往采取一种攻击手段。由于网络防范技术的多重化,攻击的难度增加,使得入侵者在实施入侵或攻击时往往同时采取多种入侵的手段,以保证入侵的成功几率,并可在攻击实施的初期掩盖攻击或入侵的真实目的。入侵主体对象的间接化,即实施入侵与攻击的主体的隐蔽化。通过一定的技术,可掩盖攻击主体的源地址及主机位置。即使用了隐蔽技术后,对于被攻击对象攻击的主体是无法直接确定的。,68,5.4.2 入侵检测技术的发展方向,2.入侵或攻击的规模扩大对于网络的入侵与攻击,在其初期往往是针对于某公司或一个网站,其攻击的目的可能为某些网络技术爱好者的猎奇行为,也不排除商业的盗窃与破坏行为。由于战争对电子技术与网络技术的依赖性越来越大,随之产生、发展、逐步升级到电子战与信息战。对于信息战,无论其规模与技术都与一般意义上的计算机网络的入侵与攻击都不可相提并论。信息战的成败与国家主干通信网络的安全是与任何主权国家领土安全一样的国家安全。,69,5.4.2 入侵检测技术的发展方向,3.入侵或攻击技术的分布化以往常用的入侵与攻击行为往往由单机执行。防范技术的发展使得此类行为不能奏效。分布式拒绝服务在很短时间内可造成被攻击主机的瘫痪。且此类分布式攻击的单机信息模式与正常通信无差异,所以往往在攻击发动的初期不易被确认。分布式攻击是近期最常用的攻击手段。,70,5.4.2 入侵检测