版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.8报警关联2.9计算与分析2.10实验与分析2.11报警处理方法的选择2.12报警的分析与处理工具上一页2.1引言2.1.1入侵检测系统的报警信息入侵检测系统报警是在发现被保护网络或主机被入侵或存在异常事件时所发出的告警信息。不同的入侵检测系统受其检测技术等方面的影响,所发出的报警信息的数据格式和内容不完全相同。例如,基于异常检测技术的入侵检测系统所发出的报警会包括入侵确信度这样类似的参数,而基于误用的入侵检测系统所发出的报警则往往不包括这样的参数。返回下一页2.1引言一般来说,入侵检测系统所发出的报警所包含的主要内容有:报警编号、报警时间、攻击特征、入侵检测系统地址(包括IP地址和网卡号)、攻击源地址(包括IP地址和端口号)、被攻击目标地址(包括IP地址和端口号)等。这些内容为网络安全管理提供了基本信息,但是要全面掌握入侵情况,并进行响应决策,还必须对这些原始报警信息进行深入处理。返回下一页上一页2.1引言2.1.2入侵检测与报警处理1.入侵检测的误报率、漏报率和重复报警偏高这一问题是入侵检测系统所面临的最严重的问题。由于网络环境的复杂性以及入侵检测方法的局限性,现有入侵检测系统都会不同程度地产生误报警,很多IDS一天能够发出成千上万条误报信息。此外,没有一种单独的入侵检测系统能够检测到所有的攻击,它们都不同程度地存在漏报问题;一个入侵检测系统会对同一安全事件发出多个报警,这些重复报警少则几个,多则上万。如此众多的误报、漏报和重复报警让网络管理人员目不暇接,无所适从。返回下一页上一页2.1引言2.海量信息难以分析其原因如下:一是入侵检测系统会在短时间内产生大量报警。在我们的实际实验中,一次针对某一主机的分布式拒绝服务攻击DDoS(DistributedDenialofService)在1分32秒的时间内,SnortIDS产生了92
832个报警。如此海量的报警数据,不用说是进行人工分析,即使是进行人工浏览也都是不可能的。二是现有大部分入侵检测系统的检测结果所包含的信息质量较低。由于现有入侵检测系统所检测的事件往往都是整个入侵过程当中某一步的入侵活动,产生的是孤立的报警,这样其检测结果(报警信息)往往过于细化和底层,返回下一页上一页2.1引言造成了“只见树木,不见森林”负面效果。由于大量的孤立报警之中又存在着大量误报警和重复报警,其结果必然是海量信息难以分析。3.难于同其他设备联动难于同其他设备联动,也就是入侵响应能力差。目前,大部分的入侵检测系统的响应手段只限于检测到入侵后发出报警信息,将入侵响应的工作留给网络管理人员去手工完成。返回下一页上一页2.1引言报警综合处理技术突破了前入侵检测技术的“瓶颈”,同时它是应用其他后入侵检测技术的基础,在整个报警处理过程中起到了承上启下的关键作用。利用多种报警融合技术对入侵检测系统的报警进行综合处理可以实现如下目标:①
降低误报率、漏报率和重复报警率;②
提供综合性、高质量的入侵报警信息,全面掌握入侵情况,解决海量报警信息难以分析的问题;返回下一页上一页2.1引言③
通过对来自网络不同位置安全设备的报警信息进行融合,可以扩大检测与响应范围,从而实现全网范围内的纵深安全防御。总之,必须对入侵检测系统的原始报警进行自动、智能化的综合处理,才可能对入侵进行深入的分析,全面掌握入侵情况,进行合理的响应决策,实现对入侵的有效防御。返回上一页下一页2.2报警处理相关概念、语言与标准2.2.1相关概念报警综合处理就是将来自一个或多个入侵检测系统(或其他安全设备)所产生的报警和安全事件进行聚合、验证、关联和统计等操作,以期得到比原始报警对入侵和系统安全状态更精确、更可靠和更全面的估计和推理决策。根据相关文献以及我们的理解,将有关的概念定义如下:定义2-1报警聚合(AlertAggregation)报警聚合是将入侵检测系统或其他安全设备针对同一安全事件产生的大量性质相同或相近的报警合并在一起。返回下一页上一页2.2报警处理相关概念、语言与标准定义2-2报警验证(AlertVerification)报警验证的方法就是将和报警相关的信息(报警针对的操作系统,网络服务和漏洞等)与和目标主机有关的配置信息(操作系统、网络服务和漏洞)相比较,以此来确定报警同目标主机的相关程度。定义2-3报警关联(AlertCorrelation)报警关联就是将属于同一攻击过程的每一步攻击动作所产生的报警联系在一起,重建攻击过程。返回下一页上一页2.2报警处理相关概念、语言与标准定义2-4报警统计(AlertStatistic)使用各种数据统计方法,针对特定的目标或指标,计算出特定时间段内对报警分析具有意义的综合性参数,并依据这一参数将相关报警筛选出来。定义2-5原始报警(RawAlert)原始报警是指是由IDS或其他安全设备直接产生,没有经过深入处理的报警。定义2-6超报警(Hyper-Alert或Meta-Alert)超报警是指在报警的聚合与关联中,综合多个原始报警或其他超报警所产生的报警。返回下一页上一页2.2报警处理相关概念、语言与标准定义2-7入侵过程(IntrusionScenario)入侵过程是指多个不同攻击动作按时间顺序(或因果关系)所形成的过程。这些概念的定义有利于对报警进行层次化的处理,这些不同的报警处理方法目标一致,相互支持,没有明显的界限。返回下一页上一页2.2报警处理相关概念、语言与标准2.2.2报警处理语言报警处理语言用于在处理过程中对各种处理规则的表示和对入侵过程的描述,报警处理语言的应用相当于对检测技术的高层抽象。对于处理语言,目前没有一个统一的标准,研究人员都是根据自己的报警处理模型来规定相应的语法和语义。由于各处理语言本身相差很大,限于篇幅,这里不一一叙述。表2-1给出了各个报警处理模型所使用的语言。返回下一页上一页2.2报警处理相关概念、语言与标准2.2.3报警数据格式标准IDMEF统一的数据格式有利于安全设备以及IDS之间的互操作和信息共享,然而不同的安全设备和异类IDS所产生事件记录和报警信息往往都具有各自的数据格式。这样,要对这些事件记录和报警进行统一的存储、聚合、关联和显示等深层的分析处理操作,就需要统一的数据格式。所以要实现异类IDS报警信息的聚合与关联处理,首先就要将各个IDS所产生的报警转换为关联系统的统一数据格式。例如,SCYLLARUS关联系统中的入侵报告API就是要实现这样的数据转换。返回下一页上一页2.2报警处理相关概念、语言与标准IDMEF(IntrusionDetectionMessageExchangeFormat)数据模型的主要设计目标之一是能够表达报警之间的关系,这一目标正是由于报警关联的需求而产生的。目前,报警关联系统大都采用IDMEF作为统一的标准数据格式,大部分的IDS厂商也都宣称其产品对IDMEF数据格式支持。像Snort这样公开源代码的IDS系统也有第三方开发的插件完成本身报警数据格式到IDMEF数据格式的转换,而开放源代码的PreludeIDS本身就是以IDMEF的标准数据格式实现其各模块间的通信的。返回下一页上一页2.2报警处理相关概念、语言与标准IDMEF是由互联网工程任务组(IETF)的入侵检测工作组(IDWG)制定的一个标准草案,以XML语言(ExtensibleMarkupLanguage)来描述IDMEF文档标记。IDMEF描述了入侵检测系统输出信息的数据模型,介绍了该数据模型的定义和使用,并解释了使用此模型的基本原理。它采用面向对象的方法来描述报警,提供了报警的标准表达形式,并描述了简单报警和复杂报警之间的关系。其数据模型设计是可扩展和内容驱动的。IDMEF的数据模型如图2-2所示。顶层的IDMEF-Message由Alert和Heartbeat两个子类继承,返回下一页上一页2.2报警处理相关概念、语言与标准Alert又由Analyzer等若干聚合类及其继承子类ToolAlert、CorrelationAlert和OverflowAlert组成。可以看出,绝大多数关联算法所需要的各种属性都包含在Alert类的子类和其聚合类之中。Source和Target组件带有相似的信息,Target比Source多了FileList,这是由于有关文件的信息只有在Target部分可见。Source和Target考虑了基于主机IDS和基于网络IDS的报警的情况,基于主机的Source和Target进一步细分为User和Process,基于网络的Source和Target细分为Node和Service。Source和Target部分为关联系统提供定义完好的有用信息,返回下一页上一页2.2报警处理相关概念、语言与标准这些信息都具有全局性。例如,Node可携带Email地址信息,也可以携带Ipv4地址,还可以携带Mac地址等。这里需要注意的是,Classification部分不具有全局性,不同IDS都具有不同的报警类型命名方案。所以要进行关联,参与关联的异类IDS和关联系统一起必须形成统一的报警类型命名方案。返回下一页上一页2.2报警处理相关概念、语言与标准报警的聚合可以由ToolAlert和CorrelationAlert这两个子类来表示,这两个子类可以被用于交换关联信息,实现多层次的报警关联。尽管在CorrelationAlert中缺少表示关联方法的部分,但XML的定义是可扩展的,这样就可以靠引入CorrelationAlert的子类来增加类似于关联方法这样的附加信息。返回上一页下一页2.3报警聚合与关联系统的体系结构1.集中式结构如图2-3(a)所示,中心的报警关联单元要处理来自多个IDS的报警信息,这种结构可以减小算法的复杂性,从而缩短报警关联处理的时间。但这种结构在可伸缩和可配置方面存在缺陷。随着所报警数量或IDS数量的增多,IDS与关联单元之间的传送数据量就会剧增,导致网络性能降低,并且关联系统可能来不及处理剧增的报警而被“淹没”。一旦中心关联单元失效,整个报警关联系统就会瘫痪。CRIM报警聚合与关联模型采用的就是这种集中式体系结构。返回下一页上一页2.3报警聚合与关联系统的体系结构2.层次化结构为了克服集中式结构的缺点,人们提出了层次化的报警关联结构,如图2-3(b)所示。层次化结构是一个部分分布式结构,系统定义了若干不同等级的关联区域,每个关联单元负责一个区域,只处理其区域内的报警,然后将结果向上一级关联单元传送。这种结构减轻了中心关联单元的负担和网络负载,同时容错性也有一定的改善。但由于仍存在中心点,整个系统在伸缩性和安全性等方面没有实质性的改进。返回下一页上一页2.3报警聚合与关联系统的体系结构3.完全分布式结构如图2-3(c)所示,在完全分布式结构中,除了一个中心控制单元用来维护整个系统外,其他关联单元不分等级,各自处理其范围内的报警,并根据情况将关联处理后的结果传送给其他相关的关联单元。由于关联知道哪一个事件同哪一个节点相关,这样就可以降低网络流量,整体关联效果较好。由于没有中心关联单元,系统的安全性和伸缩性都得到了显著提高。返回下一页上一页2.3报警聚合与关联系统的体系结构但这种方法复杂,维护成本高,对关联系统的硬件性能要求较高。Quicksand原型系统就类似于这种完全分布式结构。完全集中的结构适合于在较小的网络环境(如一个子网),而层次化和完全分布结构则适合于较大型的网络(如整个校园网)。返回上一页下一页2.4报警的分类与分析首先需要说明的是,报警所报告的事件被攻击的概率远远高于报警没有报告事件被攻击的概率。尽管如此,在大量报警中仍然存在很多误报,也就是报警所代表的事件并不是真正的攻击事件。为了挖掘误报产生的原因,建立合适的报警处理算法,这里根据不同的标准对报警进行了分类,如图2-4所示。根据报警与目标主机的相关性,报警可以分为相关报警与无关报警。所谓相关报警,就是引发该报警的攻击利用了被攻击目标主机上的软硬件所存在的弱点或漏洞;反之,则为无关报警。根据经验,相关报警为正确报警的概率远远大于为误报的概率。无关报警的情况则比较复杂:首先无关报警分为无关错误报警和无关正确报警。返回下一页上一页2.4报警的分类与分析无关错误报警指的是报警并不是由真正攻击引起的,而且也与系统无关;无关正确报警是由真正攻击引起的,但与系统无关,无关正确报警又可以分为失败无关正确报警和独立无关正确报警。如果攻击所需要的弱点或漏洞在其攻击的目标上并不存在,那么这种攻击是不会成功的,所引发的报警称为攻击失败无关报警。例如,如果攻击利用的是运行在Windows系统上的MicrosoftIIS漏洞,而实际的目标系统为Linux+Apache的Web服务配置,则这种攻击是不会成功的;如果攻击行动根本不需要利用目标主机上的弱点和漏洞就可以实施,也就是说攻击独立于目标系统情况,那么这种类型的报警称为独立无关正确报警。返回下一页上一页2.4报警的分类与分析例如,网络带宽耗尽型的DoS攻击,不依赖于目标主机情况就可以实施攻击。总体来说,无关报警对系统威胁不大(一般不会成功入侵主机),大部分属于误报。报警处理模块要能够区分两种类型的无关正确报警,并进行不同的处理。攻击失败型无关报警所代表的是失败的攻击,这种攻击对目标没有威胁性,为了减少报警数量,避免自动入侵响应系统进行不必要的响应,应该丢弃此类报警;而对于引发独立类型的无关报警的攻击,尽管没有利用目标主机情况,但对目标主机构成了一定威胁,对于这类无关报警则需要纳入到进行入侵响应的范畴。返回下一页上一页2.4报警的分类与分析根据报警之间的关系,报警可以分为可关联报警和不可关联报警。在大部分情况下,一次具有威胁的入侵不能由一个攻击行动就能完成,而需要多个攻击步骤(例如,目标系统端口扫描、漏洞溢出和权限提升),这些攻击不会只引发一个报警,而会引发多个报警,这些报警之间彼此存在联系(例如,这些报警的源IP地址都相同)。基于这一事实,彼此间存在某种联系这些报警可以被关联在一起,并被称为可关联报警。这类报警往往意味着具有威胁的入侵活动发生;而那些与其他报警没有联系的孤立报警,无法同其他报警关联在一起,被称为不可关联报警。返回下一页上一页2.4报警的分类与分析不可关联报警往往代表着攻击没有威胁性,或者这种报警就是误报。总体来说,可关联的报警是正确报警的概率比较大,而不可关联报警是错误报警的概率比较大。根据报警发生的规律性,报警可以分为有规律报警和无规律报警。所谓有规律性报警,指的是报警的发生具有某种规律性,这种规律性包括报警发生具有固定的周期或伴随着某种特定的正常网络活动。R.P.Goldman给出了一个很好的有规律报警的例子:在一个局域网中,安装有NortonAntivirus企业版杀病毒软件系统和Snort入侵检测系统,Snort系统加载了检测IPSweep攻击的检测规则。返回下一页上一页2.4报警的分类与分析在这种网络环境下,NortonAntivirus的自动升级服务会以固定的时间周期扫描网络,以寻找那些运行AntiVirus升级客户端的主机,这样就会引发Snort产生有规律的报警。这些有固定规律的报警是误报的概率远远大于是正确报警的概率。而那些无固定时间周期发生的报警和那些很难找到与正常网络活动有联系的报警被称为无规律报警,这些没有规律的报警符合大部分黑客的行为特点,常常意味着具有威胁的攻击。另外,由于有规律的报警经常发生,所以多为可以关联的报警。返回上一页下一页2.5报警聚合2.5.1聚合算法与目标报警聚合就是将大量具有一个或多个相同性质的报警聚合或合并在一起,并计算出能够代表聚合后总体情况的综合性参数(如聚合的原始报警总数),以便进行入侵分析和更深入的报警处理。图2-5和图2-6所示为报警聚合前后的情况。可以看出聚合报警不但包含原始报警的重要信息,还有报警总数、起止时间等能够反映攻击高层情况的参数,这些参数为后续深入的报警处理(如报警关联、线风险评估等)提供了有利支持。返回下一页上一页2.5报警聚合报警的聚合算法比较简单,就是通过比较报警之间的一个参数或多个参数是否相同,来决定是否将这些报警聚合在一起。聚合方法要解决的问题是:比较哪一些属性,比较多少属性。比较属性的不同会影响到是否真正将应该聚集的报警集合在一起。而属性的多少直接影响到聚合粒度,比较的属性数量越多,聚合的粒度越细(较少的报警聚合在一起);比较的属性数量越少,其聚合粒度越粗(较多的报警聚合在一起)。返回下一页上一页2.5报警聚合通常来说,通过报警聚合可以实现:1.掌握某一特定时间段内的攻击情况根据报警时间戳这个参数,可以将某一时间段内所有的报警从海量报警数据库中筛选出来并聚合在一起,以便网络管理员了解这一时间段内网络的安全状况。2.掌握网络中某一被保护资源的安全情况根据报警中的目的IP地址和端口号,可以将针对某一主机特定服务的攻击所产生的报警聚合在一起,这样就可以了解特定的网络服务的安全状态。例如,在一个子网上,将具有Web服务器IP和端口为80目的地址的报警聚合在一起,就可了解此子网Web服务被攻击的情况。返回下一页上一页2.5报警聚合3.掌握来自特定网络地址的攻击情况可以根据报警中源IP地址,将来自网上特定计算机所引发的报警聚合在一起,便于对可疑计算机进行深入的分析,以发现入侵者的位置,掌握其行动规律和攻击方法。4.消除同一类型攻击所引发的重复报警有些攻击(如拒绝服务攻击DoS和垂直端口扫描攻击VerticalScan)会引起IDS在短时间产生大量性质相同的报警,这些报警时间相距非常短,攻击特征完全相同,其他参数相同或相近。这些短时间所产生的大量性质相同的报警会增大安全系统的负担,造成系统过载或网络拥塞。返回下一页上一页2.5报警聚合2.5.2自适应的报警聚合1.相关问题如图2-7所示,许多安全系统都是分布式地采集安全信息,然后通过网络传送到中心进行集中处理。由于许多情况下IDS会在短时间内产生大量的相同报警,当各个主机上的Agent将这些短时间内的重复报警向报警管理中心传送时,就会:●增大了网络通信负担,严重的会造成网络堵塞;●“淹没”报警管理与响应决策中心,使中心无暇处理后续报警;返回下一页上一页2.5报警聚合●重复报警会引起入侵响应机制产生不必要的重复响应,加重系统负担,增加响应的负面效应。利用重复报警所产生的这些问题,攻击者可以“放大”攻击效果,从而导致整个系统瘫痪。自适应报警聚合主要是为解决分布式安全系统中重复报警所带来的问题。在各个检测点的Agent上,对重复的报警进行聚合,然后只向中心传送聚合报警,可以大幅度地减少网络通信负担,有效解决上述问题。返回下一页上一页2.5报警聚合聚合报警不但包含原始报警的有关信息,还包含聚合统计信息(如聚合的原始报警数量)。这样,不但不会降低所传送安全信息的质量,还有利于掌握攻击的全面情况。DanSchnackenberg等人提出的协同入侵跟踪和响应体系结构CITRA以及FrédéricCuppens等人提出的具有自适应特性的大型协作式入侵检测平台CRIM等系统,都在网络上的各个检测点使用了报警聚合的方法。具体的方法是:当IDS产生报警后,首先在检测点的缓存区滞留一段时间,等待后续相同或相似的报警,然后将原始的重复报警合并,生成聚合报警,并将聚合报警发送到上一级系统进行深入处理。返回下一页上一页2.5报警聚合此方法有两个主要问题:一是如何确定报警在检测点的滞留时间St(从一个所聚合的原始报警进入到缓存区开始,到聚合好的报警被发送离开缓存区的这段时间);二是如何判断两个报警是重复报警(相同报警或相似报警)。CITRA是一个分布式的结构,在其检测协调管理器(DiscoveryCoordinator)中广泛收集来自网络各检测点的安全信息。在处理重复报警问题上,CITRA采用了在检测点手工设立报警数量阈值和时间阈值的方法:当聚合的重复报警数量超过数量阈值或聚合报警滞留时间超过时间阈值时,才向协调管理器发送聚合报警。返回下一页上一页2.5报警聚合这样,数量阈值或时间阈值决定了报警在检测点的滞留时间。实际上,很难为报警数量阈值或时间阈值设置合适的数值。如果滞留时间过短,不利于将相同的报警聚合,减轻系统通信负担的效果就不明显;相反,如果滞留时间过长,不利于将聚合报警及时发送到上一级单元进行更深入的处理,影响到后续报警关联、入侵响应等效果。通常,判断两个报警是否相同或相似是通过比较报警属性的相似性来进行的。属于同一安全事件的报警通常都具有相同或相似的属性(例如,具有相同的IP源地址)。返回下一页上一页2.5报警聚合在CRIM模型中,通过设立专家规则的方法来判断属性之间的相似性,所选择的属性包括攻击类型、时间间隔、源和目的地址。可以使用的属性包括:●针对基于主机IDS所产生的报警,可以使用的属性有IDS主机名称(编号)、IDS主机位置、报警线程、源用户名、目标用户名、报警时间、报警类型等;●针对基于网络IDS所产生的报警,可以使用的属性有IDS名称(编号)、IDS位置、源IP地址、目的IP地址、源端口号、目的端口号、时间、报警类型等。返回下一页上一页2.5报警聚合2.自适应报警聚合算法实例IDAM&IRS(IntrusionDetectionAlertManagement&IntrusionResponseSystem)是我们研发的一个分布式报警管理与入侵响应系统(详情请参见5.5节)。在IDAM&IRDC系统中,报警的聚合是由驻留在IDS上的Agent完成,Agent的结构如图2-8所示。当报警产生时,Agent就将其放入报警发送缓存区(BufferArea),经过一定时间,将相同的报警聚合后,再通过通信模块向报警管理中心IDAM&IRDC(IntrusionDetectionAlertManagement&IntrusionResponseDecisionCenter)发送。返回下一页上一页2.5报警聚合在设计聚合算法时,我们是按照如下的思想来解决报警滞留时间和重复报警判别这两个问题的。(1)报警在缓存区的滞留时间的设置问题经过长期的实验,我们发现在较短时间范围内,重复报警具有类型倾向性。即有些类型的报警容易在较短时间内产生重复报警(例如,端口扫描、DoS攻击所产生的报警),而有些类型的报警不容易产生重复报警(例如,溢出攻击所产生的报警)。针对这种情况,算法根据报警类型对聚合报警滞留时间进行自适应调整,在短时间内产生重复报警越多的报警类型,使其聚合报警滞留时间越长,返回下一页上一页2.5报警聚合这样越有利于将更多相同的报警聚合在一起,减轻通信负担;相反,对于短时间内产生重复报警越少的报警类型,使其聚合报警滞留时间越短,这样越有利于报警的及时传送。具体的实现方法是施加两个时间约束,第一个时间约束是针对报警类型i的,有一个对应的聚合报警滞留时间阈值Stithreshod。当此类聚合报警的滞留时间Sti≥Stithreshod时,就发送聚合报警。系统在运行的过程中,不断学习、修正Stithreshod,从而达到自适应的目的。第二个时间约束是对滞留时间阈值Stithreshod设定一个取值范围,即Stithreshod∈[Stmin,Stmax],返回下一页上一页2.5报警聚合Stmin、Stmax
分别代表时间阈值Stithreshod可以取的最小、最大值。这样在Stithreshod的修正过程中,既不会使得Stithreshod过小,导致聚合报警过早离开缓存区,也不会使得Stithreshod过大,从而保证聚合报警的及时发送,不会贻误后续深入的报警处理,并能够控制滞留在缓存区报警的数据量。Stmin、Stmax、Stithreshod和阈值修正量DT具有缺省的设定值。(2)重复报警的判断问题在选择判别属性和属性的数量上要以能够很好地实现如下两个目标为原则:一是要有利于将针对同一安全事件的报警聚合在一起,二是聚合的粒度要适合于后续的报警关联和在线风险评估过程。返回下一页上一页2.5报警聚合本聚合方法选择了两个报警属性来判断报警是否相同,第一个属性是报警类型i,第二个属性是报警所指示的源IP地址SIPi。报警类型直接同攻击类型相关,在大多数情况下,这样一种选择都能够将严重程度相同、同属一个攻击阶段的报警聚合在一起。这时,增加或减少属性都不利于实现上述两个目标。例如,假如增加了目的IP地址和端口号,其聚合的粒度就偏细,当进行垂直扫描,每个被扫描端口所产生的报警都会形成一个聚合报警,垂直扫描有时会扫描上千个端口,这样就会形成上千个严重程度相同、性质类似的聚合报警,不利于减轻通信负载。返回下一页上一页2.5报警聚合水平扫描(HorizontalScan)是攻击者为了发现子网中某个特定资源进行的扫描活动,如果扫描的是一个C类子网,由于扫描目标不同,就会产生254以上的报警,对于一个基于网络IDS上就会产生254个以上聚合报警,这些聚合报警严重程度相同,属于同一攻击阶段,将这些报警分离开来,不利于报警关联和实时的风险评估。基于以上考虑,所设计报警聚合算法的详细描述如图2-9所示。返回下一页上一页2.5报警聚合从表2-2可以看出本报警聚合模型对重复报警实现了有效的“压缩”,大幅度减少了通过网络向中心传输的报警数据。此外,和IDS产生的原始报警相比,此模型可以在报警数量和报警种类之间实现很好的平衡。返回上一页下一页2.6报警统计2.6.1报警统计目标1.定位最有可能出现安全状况的被保护资源通过统计大量报警上最频繁出现目的地址和目的端口,可以发现哪些计算机最有可能出现安全问题,哪些服务最有可能受到攻击。2.定位最可能的攻击源通过统计大量报警上最频繁出现的源地址,有利于发现产生异常网络活动的计算机,便于定位攻击源和追踪攻击者。返回下一页上一页2.6报警统计3.发现最危险的攻击独特的报警就是最不频繁出现的报警类型,最不频繁的报警和最频繁的报警都应该引起足够的重视。事实上,最危险的攻击活动所引发的报警较少。所以,通过统计最不频繁的报警,有利于发现危险的攻击活动。4.学习报警的确信度正如上面所说的,报警所报告的网络活动不一定就是真正的攻击。报警确信度就是指其报告的异常活动是真正攻击的概率。这一量化参数有利于正确的报警分析和入侵响应决策。返回下一页上一页2.6报警统计2.6.2报警确信度学习实例报警确信度代表了报警所针对的事件是真正攻击的可信程度或概率。很多IDS系统(特别是基于误用的入侵检测系统)在其入侵警报信息中没有提供入侵确信度这样的参数,需要通过学习来建立报警事件的确信度,然后利用报警置信度来处理报警。所谓有监督的报警确信度学习,就是在管理员的监督下进行的学习,这项工作一般是在系统刚刚部署后进行的,主要目的是消除那些由于特定的网络环境所产生的有规律性误报,这些误报的特点常常伴随着特定规律,容易被管理员发现。返回下一页上一页2.6报警统计在系统的报警确信度学习模块中,报警确信度学习与通过确信度进行误报过滤的功能是独立进行的,报警确信度的学习结果只影响到后续的报警,不会影响到当前报警的处理。所以,这种有监督的学习方法不会影响到报警处理的速度。这里的学习就是不断修正报警确信度数值。在学习开始时,如果IDS报警提供确信度参数,则使用此参数作为此类报警的缺省置信度,否则,所有报警确信度缺省值为1,以后随着系统的运行根据公式(2-1)不断进行修正:返回下一页上一页2.6报警统计这里,Ci为此类事件的确信度;Ei为此类入侵事件的误报数,每次误报后加1;Si为此类入侵报警总数,每次此类报警事件都加1;S0为初始值,此值的大小关系到系统在初始状态下对误报的容忍度和学习的收敛速度,在设置此值时,必须在这两方面做出均衡。例如,当S0
=
0时,如果某事件报警信息第一次出现,并发现其为误报,这时计算得出的确信度为0,这样以后的所有此类报警都被认为是误报,而被报警信息过滤模块过滤掉,显然这样是不合适的;相反,如果S0过大,确信度对误报就不敏感,当出现误报时系统对确信度的修正太慢,从而不能及时地过滤误报信息。一般取S0∈[10,100]。返回下一页上一页2.6报警统计当此模块接收到新的入侵事件报警,将会根据此事件确信度和报警阈值,确定是否向上一级模块传送报警,只有事件确信度大于所设阈值时,入侵事件才继续向上传送。这里针对不同的报警事件设置不同的阈值,是因为不同的入侵事件的严重程度不同,对系统所造成的威胁或损害不同。对于较严重的入侵事件,即使其置信度不是很高,也应该引起管理员的重视;而有些事件根本不会对系统本身造成任何影响,其阈值就可以设定的较高,以减轻管理人员工作量。例如,在Snort入侵检测系统的报警信息中使用Priority来表明事件的严重程度,它一共分为3级,1级为最严重的事件。返回下一页上一页2.6报警统计这样就可以设置三种不同的报警确信度阈值,分别用于过滤不同严重程度的事件。任何的IDS系统检测的正确率都要受到当地网络环境的影响,在有些环境下是正确的报警,在另外的环境下则可能是误报。由于有规律的错误报警都和特定的网络环境密切相关,很容易被管理员发现的,通过这种有监督的报警确信学习,可以很快滤除这些有规律的错误报警,使得系统能够很快适应所部署的网络环境。返回上一页下一页2.7报警验证2.7.1报警验证目标与算法报警验证的方法就是将与报警所相关的信息(报警针对的操作系统、网络服务和漏洞等)和与目标主机有关的配置信息(操作系统、网络服务和漏洞)相比较,以此来确定报警同目标主机的相关程度。报警验证不但利用报警本身所携带的信息,还利用被攻击目标的信息,提取出针对目标主机的高质量安全信息,不但可以发现最具威胁的攻击,还可以有效地消除无关报警的干扰,从一定程度上减少误报和误响应。返回下一页上一页2.7报警验证报警验证需要综合攻击和目标双方的信息,攻击的信息来自IDS报警,而目标相关信息一般来自漏洞评估工具(VulnerabilityAssessment,VA)。这样,不确定性不但存在于IDS报警,也存在于VA的扫描报告之中。RonGula对IDS所可能产生的误报、漏报和正确报警,漏洞评估工具(VA)所可能产生的误扫、漏扫和正确扫描,以及两者组合在一起的9种复杂情形进行了分析。除此之外,如果IDS和VA使用不同的漏洞分类和命名方法,在进行漏洞统一的过程中也会出现不确定性。返回下一页上一页2.7报警验证这里我们列举3个不确定实例:●当报警相关信息与目标主机配置信息(由VA建立维护)不相匹配时,由于存在VA对目标主机漏洞的漏扫问题,因此不能肯定此报警就是同目标无关的。●当报警来自一个基于异常的IDS(Anomaly-basedIDS),这时从报警信息只能得到攻击所针对的操作系统或应用服务系统,无法得到攻击所针对的漏洞信息。在这种情况下,传统的漏洞简单匹配的报警验证方法是无法处理这样的报警的。●有些攻击(如端口扫描和拒绝服务攻击等)并不依赖于特定的操作系统、应用服务或漏洞,这样在报警相关信息查询中是无法获得此类报警的相关信息的。返回下一页上一页2.7报警验证2.7.2基于多层模糊综合评判的报警验证1.概念与思想为了讨论问题的方便,我们给出了如下的定义:定义2-8报警相关信息(AlertRelevanceInformation)报警相关信息指的是报警所针对的操作系统、网络服务应用系统和漏洞等信息。相关信息是攻击成功的先决条件。根据报警名称和特征(AlertSignature),返回下一页上一页2.7报警验证通过查询IDAM&IRS支持数据库中的相关性查询表可以获得一个报警的相关信息。通过ICAT漏洞数据库和手工输入的方法建立和维护此表。ICAT使用CVE/CAN命名规则,但可以提供比CVE更多的信息。定义2-9相关度(RelevanceScore)RsRs是报警相关信息同目标系统对应配置信息的接近程度,或者说Rs是报警相关信息与目标主机配置信息的距离。它一方面代表了报警所对应的攻击成功的概率,另一方面也代表了攻击对目标主机的威胁程度。被保护网络上的每一台主机(或者重要主机)的配置信息被存储在支持数据库的目标对象配置表中。返回下一页上一页2.7报警验证可以使用漏洞扫描工具VA和有关网络管理工具来维护此表。每一台主机的详细配置信息如图2-10所示。在此配置表中设立的条目超过报警验证所使用的信息,这些参数会在以后的报警处理中用到。在此表中,只包含那些在主机上运行并向其他主机提供的网络应用服务,这是因为受到攻击的服务绝大部分都是向外提供服务的应用系统。而对于本地应用系统可以通过防火墙封闭不必要的端口,从而得到有效的防护。同时只有那些匹配主机操作系统或应用系统的漏洞包含在此表中,一旦某一个漏洞被打了补丁,就从此表中删除。返回下一页上一页2.7报警验证基于多层模糊综合评判的报警验证算法的核心是计算每一个报警的相关度,通过相关度同相应阈值的比较就可以对报警进行相应的处理。通过这一算法可以有效地滤除D类错误报警,对于C类报警算法可以很好地区分出独立无关正确报警和失败无关正确报警,从而可以对这两种攻击产生的报警进行不同的处理(滤除、标记等)。报警验证方法对B类误报是无能为力的,但这种情况的误报可以通过有监督确信度学习方法得以有效滤除。返回下一页上一页2.7报警验证2.模糊综合评判FCE(FuzzyComprehensiveEvaluation)模糊综合评判的方法在综合考虑多种相关因素的情况下,可以对评判的目标给出一个客观的评价结果,可以很好地处理多因素中的不确定性,有关数学模型如下:设因素集U
=
{u1,u2,
,un},评判集V
=
{v1,v2,
,vm},单因素评判
,
(V的幂集),模糊映射诱导出模糊关系
,即
,
可由模糊矩阵R表示为返回下一页上一页2.7报警验证设各因素权重为K
=
(k1,k2,
,kn),得到模糊综合评判的模型为
(2-2)在公式(2-2)中使用不同的算子
,可以得到不同的评判模型
、
、
和
。我们在报警验证中选择了
模型,这是因为此模型突出不确定性小的主要因素对评价结果的影响,而减少不确定性大的次要因素对评价结果的影响。将算子带入公式(2-2),得到
(2-3)返回下一页上一页2.7报警验证3.相关度Rs计算使用模糊综合评判方法计算相关度的过程如下。(1)确定因素集和评判集我们使用了2层的模糊综合评判模型,评判集分为3组,见表2-3。评判集合为V
=
{v1,
v2,
v3}
=
{完全相关,相关,无关}。在报警相关信息中的属性和目标主机配置信息中的属性分别表示为R.attribute和C.attribute。在评判过程中遵循最小风险原则:对于那些独立无关正确报警(如代表DoS攻击特定类型报警)和无法查询到相关信息的报警,作为未知情况(Unknown)来处理。返回下一页上一页2.7报警验证这样不但可以防止丢失有用的报警信息,也将独立无关正确报警与失败无关正确报警区分开来(两者相关度不同)。(2)计算隶属度隶属度rij(i=1,2,3,4,5;j=1,2,3)可以由表2-4、表2-5、表2-6、表2-7、表2-8得到。(3)确定权重模糊综合评判中的权重一般是根据领域经验来确定的。根据我们的研究和经验,得出如下事实:●漏洞信息不确定性>应用服务系统信息不确定性>操作系统信息不确定性。返回下一页上一页2.7报警验证●操作系统(应用系统)版本信息不确定性>操作系统(应用系统)名称信息不确定性。●要解决不确定性对评价结果的影响,选择公式(2-3)作为评价的数学模型。这一模型突出不确定性小的主要因素对评价结果的影响,减少不确定性大的次要因素对评价结果的影响。这样,在确定权重时遵循如下原则:●在第一层评判中,K=(kos,kservice,kvulnerability),使得kos≥kservice≥kvulnerability。返回下一页上一页2.7报警验证●在第二层评判中,K1=(k,kos.version),K2=(k,kservice.version),使得k≥kos.version,k≥kservice.version。这样操作系统和网络应用服务的相关信息就会在评价当中发挥较大的作用。(4)计算相关度首先,在FCE二级模型中进行计算,K1=(k,kos.version),并且,那么返回下一页上一页2.7报警验证K2=(k,kservice.version),并且
,那么,K3=(kCVE-ID),并且,那么
。然后,再对FCE的一级因素集进行综合评判,计算得出相关度向量Rs,K=(kos,kservice,kvulnerability),并且,那么
。
返回下一页上一页2.7报警验证以前大部分的报警验证方法只是将报警所针对的漏洞和目标主机存在的漏洞进行简单比较,这种验证只能产生两种结果:匹配和不匹配。而我们的方法可以处理35(243)种不同的情况。这样,在处理IDS报警时,就可以根据不同相关度的值,制定更加细致和灵活的安全政策。报警相关度被存储在入侵事件参数表中,以便在风险评估中使用。返回上一页下一页2.8报警关联2.8.1关联目标与算法报警关联是要实现的目标:一是实时地将同一入侵过程(IntrusionScenario)的不同攻击阶段产生的报警关联在一起,形成代表入侵过程的报警线程;二是降低误报和漏报率。现有报警的关联方法有的借鉴误用入侵检测的思想,实质上是对误用检测的扩展;有的利用统计的方法进行,和异常检测的思想相近。下面就介绍近年来在报警关联方面的主要模型和算法。返回下一页上一页2.8报警关联1.通过对报警属性相似性来进行关联在融合基于主机IDS所产生的报警时,可以使用的属性有:IDS主机名称(编号)、IDS主机位置、报警线程、源用户名、目标用户名、报警时间、报警类型、攻击特征等;融合基于网络IDS所产生的报警,可以使用的属性有:IDS名称(编号)、IDS位置、源IP地址、目的IP地址、源端口号、目的端口号、时间、报警类型、攻击特征等。属性之间的相似程度的计算和属性本身的性质有关。不同的属性,其相似度计算方法也不同。目前大部分系统只是简单地比较两个报警响应属性是否完全相等,返回下一页上一页2.8报警关联以此来确定其相似性。在IDAM&IRS报警处理模型中,引入了属性相似度模糊隶属函数来计算属性相似度,取得了较好的效果。将这些属性的相似度综合成报警相似度时,各属性权重分配一般依赖于领域知识和专家经验。通过对这些权重的控制,不但可以实现相同报警的聚合,而且可以实现相似报警和跨不同IDS报警的聚合,还可以实现报警的关联。例如,增大两个报警的报警类型相似度和发生时间间隔的权重,有利于将相同的报警聚合在一起;而减小这些属性的权重,有利于关联相同攻击过程中不同的攻击行动。返回下一页上一页2.8报警关联2.通过事先定义好的攻击过程进行事件关联通过机器学习或人类专家来得到各种攻击过程,将这些攻击过程作为模板输入到系统中去,然后系统就可以将新的报警同这些攻击过程模板相比较,进行实时关联。一条关联规则表明两个报警进行关联所满足的条件,一个攻击过程可以由这样的多条关联规则组成。这种方法的关键问题是如何获得攻击过程,从而得到这些关联规则。3.通过事件的前因和后果进行事件关联此方法的思想是:任何一个攻击都具有前因和后果。所谓前因,就是攻击要实施所必须具有的前提条件,返回下一页上一页2.8报警关联后果就是攻击成功实施后所造成的结果。在一个有多个攻击组成的攻击过程中,一个攻击的后果就是下一个攻击前因。换句话说,前一个攻击就是为下一个攻击创造条件。基于这一思想,首先定义每一个单独攻击的前因、后果,然后就可以将具有因果关系的攻击关联在一起,重现整个攻击过程。4.通过统计因果分析进行事件关联基于统计因果分析的事件关联方法更接近基于异常的检测方法,是目前提出的最新的关联方法之一。乔治亚理工学院的XinzhouQin和WenkeLee所提出的这种统计时序方法主要是基于如下事实的启发:返回下一页上一页2.8报警关联在多步攻击所产生的报警属性之间具有统计的相似性,攻击各步之间存在因果关系。如果步骤X是步骤Y的前因,那么X一定先于Y发生。一次攻击所组成的各个步骤最有可能在一个时间窗口内以一个较高的概率发生。其核心的关联算法采用了一种时序因果分析算法GrangerCausalityTest,通过计算报警事件之间的因果指数GCI(GrangerCausalityIndex)实现报警关联。5.基于被保护系统本身特点的报警验证方法上面的报警聚合与关联方法主要是利用入侵报警本身所携带的信息,美国的RobertP.Goldman、RonGula和法国的BenjaminMorin等人都先后提出了从被保护网络系统的角度来关联报警信息。返回下一页上一页2.8报警关联此算法主要用于报警验证(AlertVerification)或事件排序(IncidentRank),也可以用于报警的关联。和其他四种方法的最大区别在于此种方法将与“知彼”(检测入侵)与“知己”(被保护的系统的软硬件情况)综合在一起,来验证攻击所利用的操作系统、网络服务和相关漏洞与被攻击的主机实际情况是否匹配,从而可以有效滤除无关报警(不匹配的报警),并可以发现那些对系统最具威胁或最可能成功的攻击(匹配的报警所对应的攻击)。返回下一页上一页2.8报警关联2.8.2基于模糊综合评判的报警关联1.概念与思想根据报警关联部分要实现的目标,这里选择了上述算法中的第一种算法进行详细介绍。和其他几种关联算法相比,这种根据报警属性的相似性来进行聚合与关联的算法具有实时性好、对于先验知识的依赖较少以及抗噪能力强的特点,可以同时实现报警聚合与关联,符合响应决策对报警处理的各方面要求。返回下一页上一页2.8报警关联为了阐述算法,这里有如下的定义:定义2-10关联度B(CorrelationDegree)关联度为两个事件相关的程度,也就是两个事件属于同一个已进行攻击过程的可能性。定义2-11报警线程(AlertThread)报警线程是针对一个入侵过程所形成的按照时间顺序排列的报警集合,每个报警线程对应一个入侵过程,任何一个报警线程可以表示为κi={vi,
,
,},其中vi为报警线程中最新的报警事件,
为先于vi发生的事件,依此类推。一个报警线程中的所有事件具有相同且唯一的关联号。返回下一页上一页2.8报警关联定义2-12历史事件模板(HistoricIncidentTemplate)将每个报警线程的最新报警事件vi放到一起,所形成的集合V
=
{v1,v2,
,vm}称为历史事件模板。在此模板表中每个事件都有一个生命值TTLvi,在系统运行过程中每个事件的生命值会随着时间不断减少,当某个事件的生命值为0时,就将此事件从模板中删除。返回下一页上一页2.8报警关联2.关联度计算与报警关联设定在事件论域中,目前所发生的最新事件为v0,评判集为V
=
{v1,v2,
,vm},是历史事件模板表。我们设定因素集为U
=
{u1,u2,u3},其中u1为两个事件时间间隔;u2为两个事件源地址相同程度;u3为两个事件的特征相似度。使用隶属函数来确定模糊矩阵中参数rij。在确定隶属函数时,按照如下经验知识来进行:两次事件时间间隔越短,越有可能属于同一攻击过程;两个事件的源地址相同程度越高,越有可能属于同一个攻击过程;两次事件特征越相同,越有可能属于同一攻击过程。返回上一页下一页2.9计算与分析2.9.1报警验证计算与分析根据确定权重的原则,取K=(0.45,0.35,0.2),K1=(0.6,0.4),K2=(0.6,0.4),根据报警验证的计算过程,得到如下8组具有代表性的典型数据,见表2-9。第1、第2组数据分别是完全相关和不相关的评价结果,分别对应传统验证方法的匹配和不匹配的结果。第1组数据的报警表明了成功的可能性最大、最有威胁的攻击或事件。第2组数据则表明了最不可能成功的攻击或事件。返回上一页下一页2.9计算与分析第3组数据表明在系统对报警所针对的操作系统、网络服务和漏洞都不知道情况下(例如,端口扫描就可以产生此类报警),仍可以对报警进行处理,认为报警同目标系统是相关的,从而避免正确报警信息的丢失,为进一步对此类报警的处理打下基础,而传统验证方法对此类报警是无法处理的。第4、第5组数据表明本方法具有处理漏洞信息出现不确定性的能力,及处理来自基于异常IDS所产生报警的能力。一般来说,在软件版本相关信息中出现不确定性的概率较大。在传统的漏洞验证方法中,当软件版本不匹配时,就将认为报警是无关的,这样处理此类报警是不合理的。返回下一页上一页2.9计算与分析实际上由于不确定性的存在(例如,IDS厂商和VA厂商对软件版本号没有及时更新),在应用服务系统名称已经匹配的情况下,此报警所对应的攻击对目标系统仍然是一个很大的潜在威胁。第6、第7组数据表明我们提出的方法可以更好地处理这种情况。一般来讲,在数据8的情况下的报警同目标系统是无关的,由于这时操作系统情况是相关的,所以系统仍然赋予此类报警一个低完全相关度值,和传统方法相比则更客观一些。限于篇幅我们不对所有243种可能情况进行讨论。返回下一页上一页2.9计算与分析2.9.2报警关联计算与分析根据经验知识,取权重K
=(1,0.5,0.5),根据2.9节所述的方法和过程,计算得到事件间隔短、中、长,事件的源IP地址相同、不同、属于同一子网,和事件特征相同与不同情况下的数据,见表2-10。这是30组有代表性的数据,这里取关联度阈值为1。从第1组数据来看,其时间间隔的隶属度为1,表明两个事件是在很短的时间内发生,两个事件的事件源相同,事件特征也相同,表明攻击者在使用相同的技术手段不断尝试进行入侵活动,因此这两个事件相关;第6组数据,尽管两次事件攻击者使用了不同的入侵技术,返回下一页上一页2.9计算与分析同时变换了IP地址,但两次事件来自同一个网络,且事件的时间间隔很短,因此仍然认为这两次事件是相关的;第10组数据中,尽管事件间隔很短,但两次事件来自完全不同地点,既不是来自同一台计算机,也不是来自同一网络,攻击手法完全也不同,所以认为这两次事件是无关的。事件间隔隶属度为0.6的情况下,表明两次事件的间隔已经达到30
min,为中等时间间隔,这种情况和事件间隔隶属度为1的情况基本相同,所不同的是第14、第16、第18组数据,它们的情况同第6组情况类似,但这些事件间隔相对较长,所以认为事件不相关。返回下一页上一页2.9计算与分析事件间隔隶属度为0.2的情况下,认为是长的间隔(50
min)。在这种情况下,只有两次事件来自同一台计算机,且入侵手法相同,我们才认为两次事件相关,否则在大部分的情况下是无关的,也就是说在两次事件相隔很长的情况,基本上不属于同一攻击过程。上述的计算结果同领域经验是相符合的。对于分布式拒绝服务攻击DDoS,IDS在短时间内会产生大量的重复报警。在拒绝攻击实验中,持续1
min
32
s的攻击,可以产生98
322个报警。而这种攻击类型的报警信息恰好符合表2-10中第9组数据的特点,系统会将这些数据关联后存入相关事件表中,这样就能很方便地发现都有哪些主机参与了攻击,从而采取相应的响应措施,恢复被侵占的主机。返回上一页下一页2.10实验与分析在实际实验中,没有使用公共数据集进行测试,这是因为,首先,公共数据集没有提供这些数据集采集过程中的网络环境和每台主机的详细配置,这样就无法进行报警验证等处理。其次,大部分可得的公共数据集都是原始网络数据(或日志数据),而不是报警数据。最后,大部分产生这些数据集的网络都是在没有通信背景的实验网络上进行的,并没有和Internet相连,由于Internet上存在大量异常的通信情况,而这些异常通信并不是恶意的攻击,这就不利于验证滤除误报的能力。为此,进行了如下的实验:在实验室的子网中和主机上部署了Snort2.0(加载了全部检测规则)NIDS、返回下一页上一页2.10实验与分析BlackICENNIDS、NortonInternetSecurity7.0HIDS和IDAM&IRS,此子网通过校园网同Internet相连。在子网上有三种网络服务器,即HttpProxyserver,Ftpserver和Webserver,子网上运行的操作系统包括WindowsXP、WindowsNT、Windows2000、Windows2003和Linux等操作系统。从上午9:30开始到下午5:30,进行了连续8个小时的实验,期间从校园网的其他子网对实验子网的特定主机进行了模拟攻击,包括垂直扫描(VerticalScan)、CGI漏洞扫描、FTP弱口令攻击和Serv-UFtpMDTM溢出等攻击。实验结果见表2-11、表2-12、表2-13。返回下一页上一页2.10实验与分析在有背景通信的情况下,我们对Ftp服务器进行了完整的入侵实验,入侵过程如下:●对FTP服务器的21号端口进行扫描,以获得是否有FTP服务运行在被扫描主机,并获得FTP应用服务的名称和版本号,以此确定此FTP服务的可能漏洞。本实验所利用的漏洞是Serv-U的MDTM漏洞。●实施Ftp的弱口令攻击。实施MDTM漏洞溢出攻击的先决条件是必须获取FTP服务的一个用户名和密码。由于大部分的FTP用户名和密码都相对简单,这里使用字典攻击法来获取FTP的用户名和密码。如果FTP允许匿名登录,则这一步就可以省略。返回下一页上一页2.10实验与分析●使用相关MDTM攻击工具来进行溢出攻击,成功后会在FTP服务器上打开一个端口,这时只要Telnet上去就可以获得System权限。由于原始报警数量太多,图2-11只显示入侵过程中产生的部分原始报警情况。可以看出,如此之多的报警,其中又掺杂着误报,使得管理员很难进行有效的分析。图2-12为关联后的报警情况,可以看出,系统可以很好地将属于本入侵过程造成的报警同其他报警区分开来,形成了一个清晰的报警线程,并对其中的重复报警进行了聚合,能够较好地反映出入侵过程。返回下一页上一页2.10实验与分析我们进行了多次Ftp入侵实验,实验中发现由于受到网络环境变化的影响,每次的报警情况略有差别。Snort对于扫描攻击的检测效果更好,而Snort对于检测Ftp弱口令攻击则无能为力,但位于Ftp主机上的BlackICENNIDS则可以很好地发现弱口令攻击。图2-13为我们所进行的一次Web攻击实验,位于Web服务器上的NNIDS没能检测到入侵,而NIDS成功检测到了入侵,其他大量攻击实验也表明不同的IDS对于检测不同类型的攻击检测效果不同。经过报警关联,不同IDS的报警可以相互补充,可以有效地降低漏报。返回上一页下一页2.11报警处理方法的选择在减少误报、漏报和重复报警方面,报警的聚合、验证和关联等报警处理方法各有其优势和劣势。报警的聚合可以有效地减少重复报警率,但不能消除误报与漏报。报警验证算法是通过计算报警同目标的相关程度来区分出哪些报警是相关报警,哪些是无关报警,较好的验证算法还应该能够区分出哪些是失败无关正确报警和独立型无关正确报警。由于无关错误报警和失败型无关正确报警(尽管是真正攻击,但不具有威胁)在报警验证中都表现为不匹配,所以报警验证可以有效地滤除这两类报警。但通过验证的方法却很难发现和滤除同目标相关的错误报警。返回下一页上一页2.11报警处理方法的选择由于误报产生原因的多样性以及不同报警处理算法功能上的局限性,只使用一种报警处理方法,很难将误报降低到理想水平。Valeur等人指出不同的报警处理算法在处理不同的数据集时效果不同,也就是说每个方法的有效性依赖于所在的网络环境。Maines等人首次对五个不同的报警关联系统进行了评测,以评价这一领域的研发情况。其实验结果表明,不同的关联系统侧重于使用不同的算法,它们之间在性能上互补性很强。鉴于以上理由以及报警处理要服务于入侵响应的原因,在报警处理算法选择与设计上主要遵循了如下几点:返回下一页上一页2.11报警处理方法的选择●由于单一报警处理算法的局限性和不同报警处理算法的互补性,报警处理必须综合各种不同的报警处理算法,才能得到较理想的处理结果。●算法的实时性要好。由于入侵响应是实时的,所以报警处理算法也必须是实时的。有些算法虽然关联性能比较好,但算法搜索空间大、处理时间长、实时性较差,不适合进行实时的报警处理。●降低误报率和降低漏报率之间存在矛盾,要平衡处理两者之间的关系。在报警处理过程中,必然会丢失少部分正确报警信息,这样会造成少量漏报。返回下一页上一页2.11报警处理方法的选择IDAM&IRS进行了层次化的综合报警处理,集成了报警聚合、验证和关联算法,其模型如图2-14所示。正如TimeBass对层次化的入侵数据融合模型所阐述的那样:对底层推理只指明入侵者或攻击的存在,随着对IDS报警的各种深入处理,推理水平不断增高,在此基础上的高层推理可以对系统安全状态和入侵威胁进行有效地评估。对入侵检测系统报警的处理,既可以像图2-14那样将多种处理功能集成在一个系统,进行自动化的综合处理,为后续的自动入侵威胁评估与自动响应服务,也可以使用有关报警处理工具进行分步特定处理,以方便安全管理人员进行手工分析。返回上一页下一页2.12报警的分析与处理工具2.12.1入侵检测信息处理平台
ACIDBASE1.
ACIDBASE简介ACIDBASE是在20世纪90年代由RomanDanyliw带领的一个人数较少的开发小组编写出来的,它被GUN公司公开授权,能在许多UNIX版本上运行,就像在WINDOWS平台下的运行效果一样好。ACIDBASE的1.0版本已经发布,这个版本含有对未发布版本的一些错误补救措施,它是第一个包含动态扫描预处理程序补丁程序的发行版本,支持多达11种语言,拥有丰富的用户授权和基于角色的功能。返回下一页2.12报警的分析与处理工具ACIDBASE基本分析和安全引擎是一个网络安全监控工具,它从入侵检测系统的分析控制台获取数据,这种工具可以分析来自SNORT入侵检测系统的报警。它是一个基于用户授权和角色的系统。因此,安全管理员能够决定每一用户能看到多少信息。ACIDBASE具有搜索、分类、统计、维护和图示数据库报警数据的功能。这些数据既可以是SNORT的日志/报警,也可以是其他防火墙产品产生的信息,其详细功能包括:●按照协议划分报警;●独特的报警;●最近/最频繁的报警;●最频繁出现的地址。返回下一页上一页2.12报警的分析与处理工具但是ACIDBASE有一个漏洞,它不能阻止网络上一个偏僻地点的脚本攻击。用户可以利用这个漏洞,制作一个特殊的URL,通过浏览器和服务器之间的信任关系可以在用户的浏览器里执行任意的恶意代码。2.
ACIDBASE的安装(1)运行环境①运行平台:本文中介绍的ACIDBASE安装在FedoraCore4Linux平台上。②所需软件:入侵检测软件、存放报警数据的数据库、客户端软件和辅助管理软件等。返回下一页上一页2.12报警的分析与处理工具(2)软件下载地址上述各软件的下载地址如下所示,读者可以自行登录网站下载所需软件。(3)安装过程将所需软件下载齐全之后就可以进行安装了,在安装之前需要做一些准备工作:①准备。登录FedoraCore4,将上述所需文件复制至/home,以方便系统查找相应软件,减少出错的概率。②安装mysql。mysql数据库用来存放数据库,这个数据库是用来存放报警数据的,返回下一页上一页2.12报警的分析与处理工具③创建snort数据库。创建的这个数据库用来存放报警数据,下面创建的数据库名字叫snort,密码是snort_db,具有的数据库操作权限有创建、插入、查询、删除、更新等。④安装并启动snort。snort用来捕捉网络中的流量包,进行入侵检测,产生报警信息,它是整个系统的基础。⑤安装apache+mod_ssl。安装apache和mod_ssl软件用来为ACIDBASE提供web服务。⑥安装PHP。ACID脚本用PHP语言编写,因此需要让Web服务器支持PHP。可以用多种不同的方法来实现这一点。返回下一页上一页2.12报警的分析与处理工具3.
ACIDBASE登录(1)ACIDBASE的登录界面安装好ACIDBASE之后需要启用浏览器来使用,在浏览器中输入http://localhost/acidbase然后按ENTER键就会出现如下的界面。前面已经提到过了ACIDBASE是一个基于浏览器的报警信息处理工具,在浏览器所示的页面上有login和password两栏,分别用来输入用户账号和口令。(2)ACIDBASE主界面在图2-16中输入密码口令后单击login键就可以进入acid的操作界面,如图2-17所示。返回下一页上一页2.12报警的分析与处理工具4.
ACIDBASE的基本使用以下介绍ACIDBASE的使用,为了不失一般性,我们选择Mostrecent15
Alerts作为实例来介绍。点击图2-17的Mostrecent15Alerts报警类的UDP项就会进入到Mostrecent15Alerts的展开界面,如图2-20所示。页面的顶端部分是有关整体的一些操作,如图2-21所示。当点击Home项的时候,页面会回到主界面(图2-17);当点击Search的时候,系统会提供查询具体报警用的界面;当点击UserPreferences的时候,系统会进行一些类似创建用户、用户密码的操作;Logout是注销登录,当点击它的时候,界面会转变成图2-15所示的登录界面。返回下一页上一页2.12报警的分析与处理工具5.小结上述就是关于ACIDBASE使用的一些基本内容,本文首先介绍了ACIDBASE的一些基本知识,并在此基础上,通过具体的一类报警Mostrecent15Alerts的UDP类报警中的0#(7-1)报警为主线,详细地介绍了ACIDBASE的基本使用情况,其他的报
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 塑胶抽粒厂考勤制度
- 学生批量考勤制度模板
- 山东大学职工考勤制度
- 工程监理考勤制度
- 广西事业单位考勤制度
- 恒大工程部考勤制度
- 招商局考核考勤制度
- 控辍保学学生考勤制度
- 教职员工培训考勤制度
- 盘锦市考勤制度
- 《木兰诗》历年中考古诗欣赏试题汇编(截至2024年)
- 第一单元第1课《辉煌成就》课件-七年级美术下册(人教版)
- 2025年春季学期三年级语文下册教学计划及教学进度表
- 板材加工项目可行性研究报告
- 2025年派出所教导员履职述职报告范文
- 《创新方法及技巧》课件
- 基本医疗保险异地就医备案个人承诺书【模板】
- 《固体废物处理与处置》大学笔记
- 对外汉语教育学引论
- 2024智能旅客检查系统
- 六年级下册英语《Unit 2 Last weekend》教案
评论
0/150
提交评论