如何在Linux下实现入侵检测IDS
“ma564306864”通过精心收集,向本站投稿了6篇如何在Linux下实现入侵检测IDS,下面是小编为大家推荐的如何在Linux下实现入侵检测IDS,欢迎阅读,希望大家能够喜欢。
篇1:如何在Linux下实现入侵检测IDS
入侵检测IDS是通过对入侵行为的过程与特征的研究,使安全系统对入侵事件和入侵过程能做出实时响应来保证网络安全的方式,那么,我们能不能够基于Linux系统来实现入侵检测IDS的保护功能呢?
Linux下的实现
在对入侵检测IDS技术研究的基础上,我们在Linux系统下设计并实现了一个基于网络的入侵检测IDS系统。
1 系统的组成结构
该系统的组成结构如图1所示。数据采集模块负责从网络上收集原始的网络数据流,在经过一定的预处理后,这些数据被送到数据分析模块,由数据分析模块进行分析,以便判断是否有违反安全策略的入侵行为发生。并及时将分析结果送到告警模块,由告警模块向控制台产生告警信息。用户可以通过用户界面与控制台交互,通过控制台,一方面可以对各个模块进行配置,另一方面也可以接收告警信息。
图1 系统的组成结构
2 系统的功能描述
该系统实现了入侵检测IDS的主要功能,包括数据采集、数据预处理、入侵分析以及告警。具体来说,可以完成以下功能:
● 捕获符合指定条件的网络数据包。
● 进行IP重组,提供IP包数据。
● 重组TCP流,提供TCP流数据。
● 重组应用层数据流,提供HTTP数据流。
● 实现基于规则的入侵检测IDS方法。
● 向控制台提交分析结果。
● 接受控制台的配置和管理。
由于该系统功能的实现主要体现在数据采集模块和数据分析模块中,所以下面将对这两个模块加以详细说明。
3 数据采集模块
数据采集是入侵检测IDS的基础,入侵检测IDS的效率在很大程度上依赖于所采集信息的可靠性和正确性,
在基于网络的入侵检测IDS系统中,数据采集模块需要监听所保护网络的某个网段或某几台主机的网络流量,经过预处理后得到网络、系统、用户以及应用活动的状态和行为信息。数据采集需要在网络中的若干关键点进行。
具体来说,数据采集模块需要监听网络数据包,进行IP重组,进行TCP/UDP协议分析,同时也要进行应用层协议数据流分析。采集到的数据要经过预处理才能提交给数据分析模块。由于不同的分析方法所需要的数据源是不同的,所以预处理也会有很大的不同。但是,一般来说,分析模块所分析的数据都是基于某个网络协议层的数据信息,或是直接采用这些数据的某些部分。因此在该系统的设计中,数据采集模块除了采集数据外,还要对这些信息进行协议分析。协议分析是指将网络上采集到的基于IP的数据进行处理,以便得到基于某种协议的数据。在本系统中主要是针对TCP/IP协议族的分析。
网络数据采集是利用以太网络的广播特性实现的,以太网数据传输通过广播实现,但是在系统正常工作时,应用程序只能接收到以本主机为目标主机的数据包,其他数据包将被丢弃。为了采集到流经本网段的所有数据,我们需要首先将网卡设置为混杂模式,使之可以接收目标MAC地址不是自己MAC地址的数据包,然后直接访问数据链路层,截获相关数据,由应用程序对数据进行过滤处理,这样就可以监听到流经网卡的所有数据。
在进行数据捕获时,我们采用的是libpcap,libpcap是一个与实现无关的访问操作系统所提供的分组捕获机制的分组捕获函数库,用于访问数据链路层。该库提供的C函数接口可用于需要捕获经过网络接口数据包的系统开发上。这个库为不同的平台提供了一致的编程接口,在安装了libpcap的平台上,以libpcap为接口写的程序,可以自由地跨平台使用。
Libpcap在网上捕获到的是数据帧,我们还需要对数据帧进行协议分析,协议分析的处理过程为:首先根据预先定义的过滤规则从网络上获取所监听子网上的数据包,然后进行TCP/IP栈由下至上的处理过程,主要是IP重组和TCP/UDP层协议处理,最后进行应用层协议分析。
协议分析的工作在每个操作系统里都有,在这里,我们选择了libnids函数库。libnids是在libnet和libpcap的基础上开发的,它封装了开发网络入侵检测IDS系统的许多通用型函数。libnids提供的接口函数除了可以监视流经本地的所有网络通信、检查数据包外,还具有重组TCP数据段、处理IP分片包的功能。而且它同样具有很好的移植性。
篇2:入侵检测系统(IDS)简介
第一章 入侵检测系统概念
当越来越多的公司将其核心业务向互联网转移的时候,网络安全作为一个无法回避的问题呈现在人们面前,传统上,公司一般采用防火墙作为安全的第一道防线。而随着攻击者知识的日趋成熟,攻击工具与手法的日趋复杂多样,单纯的防火墙策略已经无法满足对安全高度敏感的部门的需要,网络的防卫必须采用一种纵深的、多样的手段。与此同时,当今的网络环境也变得越来越复杂,各式各样的复杂的设备,需要不断升级、补漏的系统使得网络管理员的工作不断加重,不经意的疏忽便有可能造成安全的重大隐患。在这种环境下,入侵检测系统成为了安全市场上新的热点,不仅愈来愈多的受到人们的关注,而且已经开始在各种不同的环境中发挥其关键作用。
本文中的“入侵”(Intrusion)是个广义的概念,不仅包括被发起攻击的人(如恶意的 )取得超出合法范围的系统控制权,也包括收集漏洞信息,造成拒绝访问(Denial of Service)等对计算机系统造成危害的行为。
入侵检测(Intrusion Detection),顾名思义,便是对入侵行为的发觉。它通过对计算机网
络或计算机系统中得若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统(Intrusion Detection System,简称IDS)。与其他安全产品不同的是,入侵检测系统需要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一个合格的入侵检测系统能大大的简化管理员的工作,保证网络安全的运行。
具体说来,入侵检测系统的主要功能有([2]):
a.监测并分析用户和系统的活动;
b.核查系统配置和漏洞;
c.评估系统关键资源和数据文件的完整性;
d.识别已知的攻击行为;
e.统计分析异常行为;
f.操作系统日志管理,并识别违反安全策略的用户活动。
由于入侵检测系统的市场在近几年中飞速发展,许多公司投入到这一领域上来,
除了国外的ISS、axent、NFR、cisco等公司外,国内也有数家公司(如中联绿盟,中科网威等)推出了自己相应的产品。但就目前而言,入侵检测系统还缺乏相应的标准。目前,试图对IDS进行标
准化的工作有两个组织:IETF的Intrusion Detection Working Group (idwg)和Common Int
rusion Detection Framework (CIDF),但进展非常缓慢,尚没有被广泛接收的标准出台。
第二章 入侵检测系统模型
2.1 CIDF模型
Common Intrusion Detection Framework (CIDF)(www.gidos.org/)阐述了一个入侵检测系统(IDS)的通用模型。它将一个入侵检测系统分为以下组件:
l事件产生器(Event generators)
l 事件分析器(Event analyzers
l 响应单元(Response units )
l 事件数据库(Event databases )
CIDF将IDS需要分析的数据统称为事件(event),它可以是网络中的数据包,也可以是从系统
日志等其他途径得到的信息。
事件产生器的目的是从整个计算环境中获得事件,并向系统的其他部分提供此事件。事件分析器分析得到的数据,并产生分析结果。响应单元则是对分析结果作出作出反应的功能单元,它可以作出切断连接、改变文件属性等强烈反应,也可以只是简单的报警。事件数据库是存放各种中间和最终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件。
在这个模型中,前三者以程序的形式出现,而最后一个则往往是文件或数据流的形式。
在其他文章中,经常用数据采集部分、分析部分和控制台部分来分别代替事件产生器、事件分析器和响应单元这些术语。且常用日志来简单的指代事件数据库。如不特别指明,本文中两套术语意义相同。
2.2 IDS分类
一般来说,入侵检测系统可分为主机型和网络型。
主机型入侵检测系统往往以系统日志、应用程序日志等作为数据源,当然也可以通过其他手段(如监督系统调用)从所在的主机收集信息进行分析。主机型入侵检测
篇3:动态入侵检测技术IDS相关问题
是网上不安全的主要因素之一,已经为我们造成了巨大损失, 企业用户如何才能有效地防范网络 ?本文介绍了动态的入侵检测技术IDS .入侵检测技术是当今一种非常重要的动态安全技术,如果与 传统 的 静态防火墙技术共同使用,将可以大大提高系统的安全防护水平。
1、入侵检测的内容。关于入侵检测的 定义 已有数种,其中ICSA入侵检测系统论坛的定义即:通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象(的一种安全技术)。入侵检测技术是动态安全技术的最核心技术之一。传统的操作系统加固技术和防火墙隔离技术等都是静态安全防御技术,对网络环境下日新月异的攻击手段缺乏主动的反应。目前,利用最新的可适应网络安全技术和P2DR(Policy Protection Detection Response)安全模型,已经可以深入地研究入侵事件、入侵手段本身及被入侵目标的漏洞等。入侵检测技术通过对入侵行为的过程与特征的研究,使安全系统对入侵事件和入侵过程能做出实时响应,从理论的分析方式上可分为两种相异的分析技术:(1)异常发现技术,
(2)模式发现技术。目前,国际顶尖的入侵检测系统IDS主要以模式发现技术为主,并结合异常发现技术。IDS一般从实现方式上分为两种:基于主机的IDS和基于网络的IDS。一个完备的入侵检测系统IDS一定是基于主机和基于网络两种方式兼备的分布式系统。另外,能够识别的入侵手段的数量多少,最新入侵手段的更新是否及时也是评价入侵检测系统的关键指标。从具体工作方式上看,绝大多数入侵检测系统都采取两种不同的方式来进行入侵检测:基于网络和基于主机的。不管使用哪一种工作方式,都用不同的方式使用了上述两种分析技术,都需要查找攻击签名(Attack Signature)。所谓攻击签名,就是用一种特定的方式来表示已知的攻击方式。
2.基于网络的IDS。基于网络的IDS使用原始的网络分组数据包作为进行攻击分析的数据源,一般利用一个网络适配器来实时监视和分析所有通过网络进行传输的通信。一旦检测到攻击,IDS应答模块通过通知、报警以及中断连接等方式来对攻击作出反应。基于网络的入侵检测系统的主要优点有:(1)成本低。(2)攻击者转移证据很困难。(3)实时检测和应答一旦发生恶意访问或攻击,基于网络的IDS检测可以随时发现它们,因此能够更快地作出反应。从而将入侵活动对系统的破坏减到最低。(4)能够检测未成功的攻击企图。(5)操作系统独立。基于网络的IDS并不依赖主机的操作系统作为检测资源。而基于主机的系统需要特定的操作系统才能发挥作用。
篇4:六步评估ips/ids入侵检测
对国内众多企业用户来说,两年来入侵检测与防护(ids/ips)设备已经脱离了原有的奢侈形象,成为了企业不可或缺的标准配置,为此,本报特别整理了企业的网管人员、it 经理及信息主管在选购此类设备时的评估标准,以飨读者。
环境决定部署
企业部署防火墙之后,是否还需要进一步提升安全防护能力呢?答案是肯定的。虽然,防火墙称得上是安全防护的防线,同时部署防火墙也是对依靠互联网扩展业务的企业的基本要求。但是,仅有一道防线的城池仍非固若金汤。
当前的应用系统发展与web更加紧密,从办公系统到交易系统,这种趋势日益明显。在这样的背景下,大多数传统的防火墙对于企业网络的安全,已经无法实施100%的控制,对于合法内容中混入的可疑流量、dos攻击、蠕虫病毒、间谍软件等威胁,几乎没有有效的反击措施。
据了解,在,仅拒绝服务(dos)攻击导致的平均损失就高达150万美元,同 年相比增长了五倍。
从全球的统计数字来看,垃圾邮件、邮件病毒、邮件攻击已经成为了当前企业网的主要威胁,同时其影响力还在不断扩大。特别是夹杂在“合法”邮件中的非法信息,令企业网络处于危险的潜在威胁之中。
例如将木马病毒隐藏在看似合法的smtp邮件中,并随时准备对企业关键信息发起攻击,已经成为近期的主流。因此,各大企业都在利用入侵检测与防护系统为网络建构多层防护体系,其中juniper idp、radware defensepro、mcafee intrushield都是国内应用较多的产品。
六项准则
入侵检测与防护系统能够保护企业免受重大安全威胁和经济损失,进而保护企业的生存。但企业在选择和部署网络安全解决方案时,也要考虑成本效益的因素,因此找出利弊的平衡点尤为重要。
为有效评估入侵检测与防护系统,可以将评估标准划分为六个方面。
1.全面保护
对于任何安全系统而言,入侵检测与防护系统提供的全面保护应该能够准确识别威胁并有效保证网络的安全。但是,许多产品在这方面先天不足络邮件传输存在固有的复杂性,包括支持大量网络层协议(如ip、tcp、udp、icmp等) 和应用层协议(如http、ftp、smtp、dns、pop3、imap等),这些都为攻击者提供了无数可供利用的漏洞。
juniper的工程师认为,除了这种固有的复杂性外,攻击者还可以采取不同的形式和手段,并可随意选择攻击时间进行攻击。如果系统不支持其中的一种协议或攻击类型,就会忽略并遗漏这种攻击,从而使企业网络及其重要信息处于失去保护的状态。为了对付攻击者,安全设备必须能够处理并有效防护所有类型邮件中潜在的攻击。
2. 准确性
准确性是高品质、高效率入侵检测与防护系统的关键。要实现高度的准确性,系统必须能够跟踪所有网络通信、理解每个通信的意图,然后针对攻击企图准确地做出安全决策。如果系统准确性不够,就可能检测不到攻击,而合法邮件也可能因被视为攻击行为而发出告警。
国内主要
关 键 字:入侵检测
篇5:安防及入侵检测・什么是IDS入侵检测
安防及入侵检测・什么是IDS入侵检测
IDS是英文“Intrusion Detection Systems”的缩写,中文意思是“入侵检测系统”。专业上讲就是依照一定的安全策略,对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或者攻击结果,以保证网络系统资源的机密性、完整性和可用性。
我们做一个形象的比喻:假如防火墙是一幢大楼的门锁,那么IDS就是这幢大楼里的监视系统。一旦小偷爬窗进入大楼,或内部人员有越界行为,只有实时监视系统才能发现情况并发出警告。
在本质上,入侵检测系统是一个典型的“窥探设备”。它不跨接多个物理网段(通常只有一个监听端口),无须转发任何流量,而只需要在网络上被动的、无声息的收集它所关心的报文即可。对收集来的报文,入侵检测系统提取相应的流量统计特征值,并利用内置的入侵知识库,与这些流量特征进行智能分析比较匹配。根据预设的阀值,匹配耦合度较高的报文流量将被认为是进攻,入侵检测系统将根据相应的配置进行报警或进行有限度的反击。入侵检测系统的原理模型如图所示。
入侵检测系统通过监听获得网络连路上流量的拷贝
入侵检测系统的工作流程大致分为以下几个步骤:
(1)信息收集入侵检测的第一步是信息收集,内容包括网络流量的内容、用户连接活动的状态和行为。
(2)信号分析对上述收集到的信息,一般通过三种技术手段进行分析:模式匹配,统计分析和完整性分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。
具体的技术形式如下所述:
模式匹配
模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该过程可以很简单(如通过字符串匹配以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表示安全状态的变化)。一般来讲,一种进攻模式可以用一个过程(如执行一条指令)或一个输出(如获得权限)来表示。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。
统计分析
分析方法首先给信息对象(如用户、连接、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常偏差之外时,就认为有入侵发生。例如,统计分析可能标识一个不正常行为,因为它发现一个在晚八点至早六点不登录的帐户却在凌晨两点试图登录。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的`突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,目前正处于研究热点和迅速发展之中。
完整性分析
完整性分析主要关注某个文件或对象是否被更改,包括文件和目录的内容及属性,它在发现被更改的、被特络伊化的应用程序方面特别有效。完整性分析利用强有力的加密机制,称为消息摘要函数(例如MD5),能识别及其微小的变化。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。缺点是一般以批处理方式实现,不用于实时响应。这种方式主要应用于基于主机的入侵检测系统(HIDS)。
(3)实时记录、报警或有限度反击
IDS根本的任务是要对入侵行为做出适当的反应,这些反应包括详细日志记录、实时报警和有限度的反击攻击源。
经典的入侵检测系统的部署方式如图所示:
篇6:入侵检测系统IDS测试与评估
随着入侵检测系统的广泛应用,对入侵检测系统进行测试和评估的要求也越来越迫切,开发者希望通过测试和评估发现产品中的不足,用户希望测试和评估来帮助自己选择合适的入侵检测产品。本文根据目前的相关研究,介绍了入侵检测系统测试评估的标准、指标,方法步骤、数据来源、环境配置、测试评估的现状以及其中存在的一些问题。
1、引言
随着人们安全意识的逐步提高,入侵检测系统(IDS)的应用范围也越来越广,各种各样的IDS也越来越多。那么IDS能发现入侵行为吗?IDS是否达到了开发者的设计目标?什么样的IDS才是用户需要的性能优良的IDS呢?要回答这些问题,都要对IDS进行测试和评估。
和其他产品一样,当IDS发展和应用到一定程度以后,对IDS进行测试和评估的要求也就提上日程表。各方都希望有方便的工具,合理的方法对IDS进行科学。公正并且可信地测试和评估。对于IDS的研制和开发者来说,对各种IDS进行经常性的评估,可以及时了解技术发展的现状和系统存在的不足,从而将讲究重点放在那些关键的技术问题上,减少系统的不足,提高系统的性能;而对于IDS的使用者来说,由于他们对IDS依赖程度越来越大,所以也希望通过评估来选择适合自己需要的产品,避免各IDS产品宣传的误导。IDS的用户对测试评估的要求尤为迫切,因为大多数用户对IDS本身了解得可能并不是很深入,他们希望有专家的评测结果作为自己选择IDS的依据。
总地来说,对IDS进行测试和评估,具有以下作用:
・有助于更好地刻划IDS的特征。通过测试评估,可更好地认识理解IDS的处理方法、所需资源及环境;建立比较IDS的基准;领会各检测方法之间的关系。
・对IDS的各项性能进行评估,确定IDS的性能级别及其对运行环境的影响。
・利用测试和评估结果,可做出一些预测,推断IDS发展的趋势,估计风险,制定可实现的IDS质量目标(比如,可靠性、可用性、速度、精确度)、花费以及开发进度。
・根据测试和评估结果,对IDS进行改善。也就是发现系统中存在的问题并进行改进,从而提高系统的各项性能指标。
本文首先介绍了测试评估IDS性能的标准,然后介绍了测试评估的方法步骤,并且介绍测试评估的具体指标、所需的数据源、测试评估环境配置与框架,最后介绍了测试评估现状以及其中存在的一些问题。
2、测试评估IDS性能的标准
根据Porras等的研究,给出了评价IDS性能的三个因素:
・准确性(Accuracy):指IDS从各种行为中正确地识别入侵的能力,当一个IDS的检测不准确时,就有可能把系统中的合法活动当作入侵行为并标识为异常(虚警现象)。
・处理性能(Performance):指一个IDS处理数据源数据的速度。显然,当IDS的处理性能较差时,它就不可能实现实时的IDS,并有可能成为整个系统的瓶颈,进而严重影响整个系统的性能。
・完备性(Completeness):指IDS能够检测出所有攻击行为的能力。如果存在一个攻击行为,无法被IDS检测出来,那么该JDS就不具有检测完备性。也就是说,它把对系统的入侵活动当作正常行为(漏报现象)。由于在一般情况下,攻击类型、攻击手段的变化很快,我们很难得到关于攻击行为的所有知识,所以关于IDS的检测完备性的评估相对比较困难。
在此基础上,Debar等又增加了两个性能评价测度:
・容错性(Fault Tolerance):由于IDS是检测入侵的重要手段/所以它也就成为很多入侵者攻击的首选目标。IDS自身必须能够抵御对它自身的攻击,特别是拒绝服务(Denial-of-Service)攻击。由于大多数的IDS是运行在极易遭受攻击的操作系统和硬件平台上,这就使得系统的容错性变得特别重要,在测试评估IDS时必须考虑这一点。
・及时性(Timeliness):及时性要求IDS必须尽快地分析数据并把分析结果传播出去,以使系统安全管理者能够在入侵攻击尚未造成更大危害以前做出反应,阻止入侵者进一步的破坏活动,和上面的处理性能因素相比,及时性的要求更高。它不仅要求IDS的处理速度要尽可能地快,而且要求传播、反应检测结果信息的时间尽可能少。
3、IDS测试评估的方法步骤
前面我们已经讨论了IDS测试评估的性能指标,具体测试主要就是围绕这些指标来进行。大部分的测试过程都遵循下面的基本测试步骤:
・创建、选择一些测试工具或测试脚本。这些脚本和工具主要用来生成模拟的正常行为及入侵,也就是模拟IDS运行的实际环境。
・确定计算环境所要求的条件,比如背景计算机活动的级别。
・配置运行IDS。
・运行测试工具或测试脚本。
・分析IDS的检测结果。
美国加州大学的Nicholas J.Puketza等人把测试分为三类,分别与前面的性能指标相对应,即入侵识别测试(也可以说是IDS有效性测试)。资源消耗测试、强度测试。入侵识别测试测量IDS区分正常行为和入侵的能力,主要衡量的指标是检测率和虚警率。资源消耗测试(Resource Usage Tests)测量IDS占用系统资源的状况,考虑的主要因素是硬盘占用空间、内存消耗等。强度测试主要检测IDS在强负荷运行状况下检测效果是否受影响,主要包括大负载、高密度数据流量情况下对检测效果的检测。
4、测试评估IDS的性能指标
在我们分析IDS的性能时,主要考虑检测系统的有效性、效率和可用性。有效性研究检测机制的检测精确度和系统检测结果的可信度,它是开发设计和应用IDS的前提和目的,是测试评估IDS的主要指标,效率则从检测机制的处理数据的速度以及经济性的角度来考虑,也就是侧重检测机制性能价格比的改进。可用性主要包括系统的可扩展性、用户界面的可用性,部署配置方便程度等方面。有效性是开发设计和应用IDS的前提和目的,因此也是测试评估IDS的主要指标,但效率和可用性对IDS的性能也起很重要的作用。效率和可用性渗透于系统设计的各个方面之中。本节从检测的有效性、效率以及可用性角度,对测试评估IDS的性能指标进行分析讨论。
4.1 检测率、虚警率及检测可信度
检测率是指被监控系统在受到入侵攻击时,检测系统能够正确报警的概率。虚警率是指检测系统在检测时出现虚警的概率。检测可信度也就是检测系统检测结果的可信程度,这是测试评估IDS的最重要的指标。
实际的IDS的实现总是在检测率和虚警率之间徘徊,检测率高了,虚警率就会提高;同样虚警率降低了,检测率也就会降低。一般地,IDS产品会在两者中取一个折衷,并且能够进行调整,以适应不同的网络环境。美国的林肯实验室用接收器特性(ROC,Receiver Operating Characteristic)曲线来描述IDS的性能。该曲线准确刻画了IDS的检测率与虚警率之间的变化关系。ROC广泛用于输入不确定的系统的评估。根据一个IDS在不同的条件(在允许范围内变化的阈值,例如异常检测系统的报警门限等参数)下的虚警率和检测率,分别把虚警率和检测率作为横坐标和纵坐标,就可做出对应于该IDS的ROC曲线。ROC曲线与IDS的检测门限具有对应的关系。
在测试评估IDS的具体实施过程中,除了要IDS的检测率和虚警率之外,往往还会单独考虑与这两个指标密切相关的一些因素,比如能检测的入侵特征数量、IP碎片重组能力、TCP流重组能力。显然,能检测的入侵特征数量越多,检测率也就越高。此外,由于攻击者为了加大检测的难度甚至绕过IDS的检测,常常会发送一些特别设计的分组。为了提高IDS的检测率降低IDS的虚警率,IDS常常需要采取一些相应的措施,比如IP碎片能力、TCP流重组。因为分析单个的数据分组会导致许多误报和漏报,所以IP碎片的重组可以提高检测的精确度。IP碎片重组的评测标准有三个性能参数:能重组的最大IP分片数;能同时重组的IP分组数;能进行重组的最大IP数据分组的长度,TCP流重组是为了对完整的网络对话进行分析,它是网络IDS对应用层进行分析的基础。如检查邮件内容。附件,检查FTP传输的数据,禁止访问有害网站,判断非法HTTP请求等。这两个能力都会直接影响IDS的检测可信度。
4.2 IDS本身的抗攻击能力
和其他系统一样,IDS本身也往往存在安全漏洞。若对IDS攻击成功,则直接导致其报警失灵,入侵者在其后所作的行为将无法被记录。因此IDS首先必须保证自己的安全性。IDS本身的抗攻击能力也就是IDS的可靠性,用于衡量IDS对那些经过特别设计直接以IDS为攻击目标的攻击的抵抗能力。它主要体现在两个方面:一是程序本身在各种网络环境下能够正常工作;二是程序各个模块之间的通信能够不被破坏,不可仿冒。此外要特别考虑抵御拒绝服务攻击的能力。如果IDS本身不能正常运行,也就失去了它的保护意义。而如果系统各模块间的通信遭到破坏,那系统的报警之类的检测结果也就值得怀疑,应该有一个良好的通信机制保证模块间通信的安全并能在出问题时能够迅速恢复。
4.3 其他性能指标
延迟时间。检测延迟指的是在攻击发生至IDS检测到入侵之间的延迟时间。延迟时间的长短直接关系着入侵攻击破坏的程度。
资源的占用情况。即系统在达到某种检测有效性时对资源的需求情况。通常,在同等检测有效性的前提下,对资源的要求越低,IDS的性能越好,检测入侵的能力也就越强。
负荷能力。IDS有其设计的负荷能力,在超出负荷能力的情况下,性能会出现不同程度的下降。比如,在正常情况下IDS可检测到某攻击但在负荷大的情况下可能就检测不出该攻击。考察检测系统的负荷能力就是观察不同大小的网络流量、不同强度的CPU内存等系统资源的使用对IDS的关键指标(比如检测率、虚警率)的影响。
日志、报善、报告以及响应能力。日志能力是指检测系统保存日志的能力、按照特定要求选取日志内容的能力。报警能力是指在检测到入侵后,向特全部件、人员发送报警信号的能力以及在报警中附加信息的能力。报告能力是指产生入侵行为报告、提供查询报告、创建和保存报告的能力。响应能力是指在检测到入侵后进一步处理的能力,这包括阻断入侵、跟踪入侵者、记录入侵证据等。
系统的可用性。主要是指系统安装、配置、管理、使用的方便程度,系统界面的友好程度,攻击规则库维护的简易程度等方面。
总之,IDS是个比较复杂的系统,对IDS进行测试和评估不仅和IDS本身有关,还与应用IDS的环境有关。测试过程中涉及到操作环境、网络环境、工具、软件、硬件等方面。我们既要考虑入侵检测的效果如何,也要考虑应用该系统后它对实际系统的影响,有时要折衷考虑这两种因素,
5、对IDS进行测试评估一利用的相关数据
对IDS进行测试评估,也就是让IDS对进入到受保护系统的数据进行检测,以确定检测系统能否发现其中的入侵。要测试评估IDS,最准确的数据当然是根据实际运行环境产生的数据,但这通常是行不通的。因为各机构的数据中都包含一些隐私信息,他们不愿公开这些数据,并且即使有机构愿意公开自己的数据,也不大适合用来做通用测试,因为特定机构的数据都带有明显的特有的一些特性,具有一定的局限性,可重复性也不好。为此,在具体测试的时候,大都采用一些测试工具。通过这些工具来生成IDS的测试数据。
测试评估数据的生成需要满足下面几个条件,即数据的生成必须能自动完成,不需要人为的干预;要具有一定的可重复性,也就是说需要时可以产生相同的数据;要有一定的健壮性,可在无人监控的条件下,可运行较长时间。
测试评估IDS的数据包括两部分,一部分是训练数据,另外一部分是实际测试数据。这两部分数据中都包括正常数据和入侵数据。只有在正常数据的背景下,对IDS的测试评估结果才是客观和全面的。入侵行为在背景数据的掩护下,被检测系统发现的机率会大大降低。而IDS也可能将正常的流量行为误判为攻击,产生虚警。训练数据用来帮助IDS建立正常行为的模型,调整IDS各参数的设置。在训练数据中,入侵数据是明确标明的。测试数据用来对检测系统进行测试,其中的入侵数据没有标明。
通常使用下面三种方法生成既包含正常通信数据又有攻击的可公用的数据:抓取正常情况和被受控攻击时的运行通信数据。由于隐私和安全问题这显然行不通;从实际运行数据中清除秘密信息。并在其中加入攻击,这也行不通,因为很难清除秘密信息;在一个内部网中重建正常通信和攻击数据,这是我们采用的方法。
重建正常通信和攻击数据也就是仿真用户操作、模拟入侵。仿真用户操作即生成用户各种各样的正常使用模式,这些模式帮助基于异常检测的IDS建立正常行为的模型,并且以用户正常模式数据作为检测入侵的背景通信数据,对于确定IDS正常运行时的检测率和虚警率是非常必要的。模拟入侵应尽可能地覆盖多种类型,新的攻击只在测试数据一出现。设计攻击要考虑很多问题。要分析攻击的机制,并在测试系统中试验以便于分析和调节。分析要确定攻击在测试环境中能否工作,是否需要新软件或服务的支持。设计新奇的攻击以用来发现未利用的系统或网络漏洞。下面对用户正常模式的仿真和入侵仿真分别进行讨论。
目前,大多采用下面三种方法来仿真网络用户行为,即通用会话生成工具、测试软件包和录制重放实际数据。通用会话生成工具方法基于有限自动机来生成用户所有可能的操作。每种操作都有一定的操作规程,比如FTP操作,首先它要完成TCP三步握手初始化连接,然后要输入用户名和密码,用户名密码通过之后再浏览FTP服务器上的内容、下载或者上传,所有操作完成后离开服务器,结束TCP会话。根据这种通用规程,就可生成通用的会话,模拟用户操作。但是,这种方法只适用于测试有限的命令集,比如可仿真FTP客户,但不能仿真shell客户,并且这种仿真存在一些问题,因为用户操作的顺序和服务器端的响应都是不确定的,仿真并不能完全模拟用户的操作状况。操作系统开发商自带测试软件包是比较简单的模拟方法,通常用于测试评估操作系统服务的性能和应用服务软件是否按设计说明来实现。但是这种测试不能给出用户进行什么样的操作,只能告诉我们系统对正常请求的响应行为。录制重放方法是记录各种用户正常活动的数据,然后在测试平台上重放用户的活动过程。这种方法要求用户活动记录要足够多。
用户正常行为的仿真主要包括网络流量仿真、主机正常使用仿真。大多数的网络IDS或者网络IDS的大部分都工作于网络层或网络层之上,它们对网络上的数据分组根据不同的协议进行相应的分析。因此,在仿真网络流量时,要仿真各种协议的各种应用的流量。通常,对实际流量进行分析,经统计计算,得到各个协议按时间的流量概率分布,以此为模型,分别仿真各个协议的流量。
主机的使用可以分为两个部分:主机所提供的网络服务的使用和主机的直接使用,即用户在主机上执行命令。相应的主机正常使用的仿真要分为两部分,即主机网络服务正常使用的仿真和主机直接使用的仿真。对主机提供的网络服务的正常使用进行仿真,可以采用两种方法。一是遍历法,即找出某个服务允许的所有正常使用模式,再由仿真程序,按这些模式依次对该服务进行访问。二是实际采样法,取得真实网络环境中某个服务的实际使用情况数据,分析出现的使用模式,再根据分析结果建立仿真模型进行仿真。此方法与网络流量仿真的方法类似。这两种方法各有优缺点、仿真实现中,应根据被仿真服务的具体情况进行选择。由于用户的行为因工作性质不同,会有很大差别,所以主机直接使用的仿真应将用户分为不同的种类(比如管理员、普通用户),根据不同的用户类型编写不同的脚本,实现主机直接使用的仿真。由于不同用户使用习惯变化很大,并且即使同一用户使用习惯也带有很大的随机性,这使得仿真的难度大大增加。在实际测试评估IDS时,一般只是仿真主机正常使用的一个具有代表性的子集。
攻击仿真是评估环境的核心,也是对IDS进行测试的关键。攻击仿真要尽可能多地搜集各种攻击方法。由于各种攻击的数量过于庞大,不可能对所有的攻击都进行仿真。参考软件测试领域中的等价划分方法(equivalence partitioning),在进行攻击仿真时,一般先将攻击分类,然后选择每种类别中典型的攻击方法进行仿真试验。选择好攻击类型后,在仿真时根据入侵者进行攻击的步骤进行仿真。在构造攻击数据时还要注意新式攻击。攻击方式隐秘的攻击、并行进行的攻击等方面。相对于旧式攻击、攻击方式明显的攻击以及串行进行的攻击而言,这些攻击方式对检测结果的影响可能会更大。
目前,测试数据所采用的格式大多采用Tcpdump数据格式和BSM数据格式,由于Windows系统广泛应用,Windows NT的日志格式也逐渐考虑进来。在测试数据方面,麻省理工学院林肯实验室的数据比较完备,它包括一定时间的训练数据和用于最后实际测试的检测数据。用于网络流量仿真的工具有Anzen公司开发的nidsbench以及加利福尼亚大学开发的入侵检测测试平台。nidsbench包括tcpreplay和fraqrouter两部分。tcpreplay的功能是将tcpdump复制的数据分组重放,还原网络的实际运行状态;而fraqrouter的功能是通过构造一系列躲避IDS检测的攻击以测试检测系统的正确性和安全性。加利福尼亚大学的IDS软件测试平台使用 Tcl-DP(TooL Command Language Distributed Programming)工具开发实现。它共包含四组命令:基本的会话命令集、同步命令集、通信命令集、记录重放命令集。这些命令集分别用来仿真入侵者的基本操作,按指定要求产生事件,实现并发进程的通信以及记录用户会话期间的操作命令序列再重放这些记录。此外,麻省理工学院林肯实验室也开发了非实时IDS性能评估工具,该工具可动态重放大量的数据。
6、测试评估IDS的环境配置与框架
在测试评估IDS时,很少会把IDS放在实际运行的网络中,因为实际网络环境是不可控的,并且实际网络环境的专用性也太强,很难对IDS进行准确的系统测试。所以一般要构建专用的网络的环境。
受保护系统模拟主机正常运行状况,网络负载生成器模拟内部网之间以及内部网与外部网之间的网络通信。攻击模拟用来模拟入侵者发起的攻击。IDS即为待检测的系统。由于有时实际的网络环境很大,有很多安装各种各样操作系统、应用软件的主机服务器,要求测试环境完全按照实际网络进行配置并不是很实际,所以在测试中一般采用虚拟主机技术。通常使用一些软件工具或者编写可自动运行的脚本来模拟各种主机的各种行为,相当于在一台物理主机上运行多台虚拟主机,每个虚拟主机模拟不同硬件上运行的不同操作系统、不同应用程序。一般来说,受保护主机要包含运行常用操作系统(比如Windows、Linux、SunOS)的主机。内部网网络负载生成器要模拟内部的网络流量以及内部的攻击,而外部位网络负载生成器要模拟外部的网络流量(比如访问Web页面,下载文件)以及外部的攻击。实际构建测试环境的过程是个复杂过程,它直接关系到评测的成功与否。
7、IDS测试评估现状以及存在的问题
虽然IDS及其相关技术已获得了很大的进展,但关于IDS的性能检测及其相关评测工具、标准以及测试环境等方面的研究工作还很缺乏。
Puketza等人在1994年开创了对IDS评估系统研究的先河,在他们开发的软件平台上可以实现自动化的攻击仿真。1998年Debar等在IDS实验测试系统的研究中,指出在评估环境中仿真正常网络流量是一件非常复杂而且耗时的工作。林肯实验室在1998年、1999年进行的两次IDS离线评估,是迄今为止最权威的IDS评估。在精心设计的测试网络中,他们对正常网络流量进行了仿真,实施了大量的攻击,将记录下的流量系统日志和主机上文件系统映像等数据,交由参加评估的IDS进行离线分析。最后根据各IDS提交的检测结果做出评估报告。目前美国空军罗马实验室对IDS进行了实时评估。罗马实验室的实时评估是林肯实验室离线评估的补充,它主要对作为现行网络中的一部分的完整系统进行测试,其目的是测试IDS在现有正常机器和网络活动中检测入侵行为的能力以及IDS的响应能力及其对正常用户的影响。IBM的Zurich研究实验室也开发了一套IDS测评工具。此外,有些 工具软件也可用来对IDS进行评测。
目前,市场上以及正在研发的IDS很多,各系统都有自己独特的检测方法。攻击描述方式以及攻击知识库,还没有一个统一的标准。这大大加大了测试评估IDS的难度,因为很难建立一个统一的基准,也很难建立统一的测试方法。
测试评估IDS中存在的最大问题是只能测试已知的攻击。在测试评估过程中,采用模拟的方法来生成测试数据,而模拟入侵者实施攻击面临的困难是只能掌握已公布的攻击,而对于新的攻击方法就无法得知。这样的后果是,即使测试没有发现IDS的潜在弱点,也不能说明IDS是一个完备的系统。不过,可以通过分类选取测试例子,使之尽量覆盖许多不同种类的攻击,同时不断更新入侵知识库,以适应新的情况。
并且,由于测试评估IDS的数据都是公开的,如果针对测试数据设计待测试IDS,则该IDS的测试结果肯定比较好,但这并不能说明它实际运行的状况就好。
此外,对评测结果的分析使用也有很多问题。理想状况是可以自动地对评测结果进行分析,但实际上很难做到这一点。对IDS的实际评估通常既包含客观的也包含主观的,这和IDS的原始检测能力以及它报告的方式有关。分析人员要在IDS误报时分析为什么会出现这种误报,在给定的测试网络条件下,这种误报是否合理等问题。评测结果的计分方式也很关键,如果计分不合理的话,得出的评测结果可信度也就不可能很高。比如,如果某个IDS检测不出某种攻击或对某种正常行为会产生虚警,则同样的行为都产生同样的结果,正确的处理方法是应该只计一次,但这很难把握,一旦这种效果被多次重复考虑的话,该IDS的评测结果肯定不是很理想,但实际上该人侵检测总体检测效果可能很好。
8、小结
入侵检测作为一门正在蓬勃发展的技术,出现的时间并不是很长;相应地对IDS进行评测出现得更晚。它肯定有很多不完善和有待改进的地方,这需要进一步的研究。其中几个比较关键的问题是:网络流量仿真、用户行为仿真、攻击特征库的构建、评估环境的实现以及评测结果的分析。
近几年来,我国的入侵检测方面的研究工作和产品开发也有了很大的发展。但对入侵检测评估测试方面的工作还不是很多。各入侵检测产品厂家基于各方面的原因,在宣传时常常夸大其词,而IDS的用户对此往往又不是很清楚,所以迫切需要建立起一个可信的测试评估标准。这对开发者和用户都有好处。
【如何在Linux下实现入侵检测IDS】相关文章:
1.入侵检测
8.在母亲影响下作文
10.诗歌《在阳光下成长》






文档为doc格式