摘要:入侵检测系统(Intrusion Detection System,简称IDS),顾名思义,是对入侵行为的检测。它通过收集和分析计算机网络或计算机系统中若干关键点的信息,检查网络或系统中是否存在违反安全策略的行为和被攻击的迹象。本文将对IDS性能测试的几项指标和测试流程进行阐述,同时介绍一个入侵检测漏报率测试的实例。使用的测试工具是IXIA公司的IXIA400T,软件为IXExplorer。
1 IDS性能指标
入侵检测系统(Intrusion Detection System,简称IDS),顾名思义,是对入侵行为的检测。它通过收集和分析计算机网络或计算机系统中若干关键点的信息,检查网络或系统中是否存在违反安全策略的行为和被攻击的迹象,它是网络安全防护体系的重要组成部分。要全面考察IDS产品,除了功能、易用性等考察外,性能测试是考察IDS产品的重要指标之一。IDS的性能测试指标可以分为两类:面向用户和面向开发。
(1)面向用户的指标
面向用户的性能指标主要考察IDS产品工作性能状况,主要包括:
●漏报率:系统在检测时出现漏报的概率。漏报:系统未能识别出入侵行为,将其作为正常行为放过。
●误报率:系统在检测时出现误报的概率。误报包括将正常行为判断为攻击而产生报警;将一种攻击错误的判断为另一种攻击而报警。
●事件库:也叫特征库。系统能够匹配检测的攻击种类数量的大小,能够横向体现系统检测能力。
●延迟时间:从攻击发生到系统检测到攻击的时间。延迟时间的长短直接关系到攻击破坏的程度。
●资源占用:系统工作时对资源的消耗情况。
●自身安全性:又称健壮性。系统对直接以自身为攻击目标的攻击的抵抗能力。
(2)面向开发的指标
除面向用户的性能指标外,IDS产品还有一些面向开发的性能指标,虽然这些指标不为用户了解,但这些指标也甚为重要,主要包括:
●每秒数据流量:每秒数据流量是指网络上每秒通过某节点的数据量。这个指标是考察系统性能的重要指标,一般用Mbit/s来衡量。流量越大,对IDS系统的压力就会越大。
●每秒抓包数:每秒抓包数是指网络传感器每秒能够捕获的包数。反映网络入侵检测系统网络嗅探器性能的重要的指标。抓包数越大,产生漏报率的可能性就越小。
●每秒能监控的网络连接数:网络连接的跟踪能力和数据包的重组能力是网络入侵检测系统进行协议分析、应用层入侵分析的基础。
●每秒能够处理的事件数:每秒能够处理的事件数,反映了检测分析引擎的处理能力和事件日志记录的后端处理能力。
2 IDS性能测试要点
2.1 测试流程
知己知彼,百战不殆。做性能测试也是一样。我们不能拿到一个设备,就急急忙忙的开始搭环境,开始测试。没有严格的计划,没有周全的布置,是不可能完成一项测试任务的。根据实际工作经验,我们总结了图1的流程图。下面将针对该流程中的几个重点部分进行一些阐述。
图1 测试流程图
2.2 测试环境
测试环境的搭建是测试部署中较为重要的部分,它直接影响测试结果的准确性。为了使测试处于可控状态,避免更多的外部因素干扰测试结果的分析,在进行IDS性能测试时需要搭建一个封闭的网络环境。图2是我们进行鹰眼网络入侵检测系统产品面向用户的漏报率性能指标测试的环境图。需要注意的是,该拓扑图只是较通用的一个,在实际使用中,根据测试指标的不同,可能会有不同的测试环境部署。
图2 面向用户的漏报率性能指标测试环境图
2.3 背景流构造
针对IDS设备不同的性能指标测试,测试的部署、实施也不同。例如IDS设备的漏报率测试,它需要考察设备在不同背景流量下的攻击检测能力,实施时需要构造网络或应用背景流量。
测试实施过程中,通常这些背景流量的构造会借助测试仪表或测试软件来完成,有很多仪表厂商致力于网络互联设备性能测试设备的研制与生产,例如IXIA公司、Agilent公司等,这些测试设备提供了网络互联设备性能测试与评估手段。这些测试仪表都遵循相关的RFC标准,不但可以对网络互联设备进行性能测试,而且可以构造丰富的Stream,Flow,帮助用户定义测试流量和进行流量分析。
2.4 攻击数据产生
产生攻击数据是进行IDS设备性能测试的重要环节之一,测试的指标不同,构造的攻击数据也不同,既有对单一攻击性能的测试,例如漏报率性能测试,也有对全面检测能力的测试,例如事件库性能测试。在鹰眼网络入侵检测系统产品性能测试中,我们采用了下列两种攻击数据的构造方式:
(1)使用真实的攻击工具
该方法的优势在于能够很好地模拟实际攻击环境,仿真度最高;但缺点是可能对测试环境造成破坏,并且实现方式比较复杂,会增加测试时长。
(2)使用抓包回放工具
该方法使用工具,如Ethereal等,抓取录制攻击数据报文,然后使用IRIS等工具,回放攻击报文,模拟攻击数据。该方法的优势在于实现快捷,操作方便,可以大大提高效率;但是录制攻击过程比较复杂,而且需要及时的更新录制新的攻击工具产生的数据。
2.5 测试分析
部署周全的测试计划、搭建完善的测试环境、构造准确的测试数据、记录真实的测试结果是设备性能测试过程所必需的,而测试结果的准确分析是体现整个测试过程成果的重要阶段,它需要采用科学、客观、真实、有效的测试分析方法。
IDS性能测试是基于IDS系统整体工作的基础上的,因此,测试结果数据仅仅具有指示性,并不能明确指出性能瓶颈的所在。在分析时可以遵循这样的一个步骤来分析,即:观察、初步假设、预测、回归测试、分析、结论。
IDS的使用环境比较复杂,可能影响到测试结果的参数比较多,要根据实际的性能测试指标来具体分析。例如IDS漏报率指标测试中,影响该指标的参数有:负载流量大小、包长大小、流量的协议类型、工作的探头数、插件的设置等。而且在进行性能测试时还需要考虑CPU,MEMERY大小,缓存大小等参数因素。
下面列举两个实例来阐述在进行性能测试时如何从测试现象来进行测试分析,以帮助测试人员来理解测试分析的过程。
3 IDS性能测试实例
入侵检测漏报率衡量的是IDS产品在一定背景流量下设备引擎的检测能力,在实例中我们选用IXIA公司的IXIA 400T作背景流量产生仪。IXIA公司是高性能IP网络测试解决方案的全球一流提供商。IXIA公司专注于开发IP网络测试解决方案,以专家的眼光帮助客户测试性能极限并找出缺陷。
3.1 实例一
(1)配置
背景流:使用IXExplorer发送。协议为TCP;源、目的IP在192.168.123.0~192.168.123.255之间随机变动;源、目的MAC地址固定;端口随机变动;包长为64byte;流数=1条。
攻击包:匿名登录ftp服务器攻击。使用IRIS发送。delay=1ms。
IDS:单探头;规则全配;服务全开。
(2)现象
其他条件不变,负载低于50%时,漏报率为0;负载为50%时,漏报率为2%;加大到80%时,漏报率陡增至100%(见图3)。
图3 实例一测试图
(3)分析
负载加大,包长不变的情况下,嗅探网卡抓包数也在加大,同时系统需要处理的包数也在增大;从现象中能够看到,系统在负载达到50%后性能降低厉害,可能是系统资源被占用过多引起;查看系统的CPU占用情况和内存使用情况,发现负载达到50%后,内存占用率急剧升高,在负载达到80%时,内存仅剩余10M,系统处于不响应状态。
(4)结论
一般的情况下,系统的内存在占用到70%后,已经处于资源紧张的告警期;所以,我们可以判定,系统的处理能力在负载为50%时处于一个性能瓶颈,应当优化系统在高负载情况下的处理能力。
3.2 实例二
(1)配置
背景流:使用IXExplorer发送。源、目的IP在192.168.123.0-192.168.123.255之间随机变动;源、目的MAC地址固定;端口随机变动;包长=64byte;流数=1条。
攻击包:unicode攻击。使用IRIS发送。Delay=1ms。
系统:单探头;规则全配;服务全开。
(2)现象
●背景流协议为TCP协议,负载低于40%时,系统漏报率保持为0;高于40%时,漏报率出现较快提升;100%负载时,漏报率高达80%。
●背景流协议为UDP协议,负载低于50%时,系统漏报率保持为0;高于50%时,漏报率出现提升;100%负载时,漏报率达到了70%(见图4)。
图4 实例二测试图
(3)分析
首先,排除外部因素造成这两组测试结果的差异。
其次,考虑到协议不同是这两组测试的主要不同点,对2种协议的差异进行分析。众所周知,UDP协议是面向无连接的协议,TCP是面向连接的协议。TCP传输不仅要完成三次握手,而且要对IP数据包进行组装,以形成完整的会话数据,有时网络传感器还要对TCP传输进行流重组。所以,TCP的处理比UDP复杂的多,占用的CPU、内存等系统资源也要多的多。
(4)结论
背景流协议类型的不同对系统的处理能力提出了不同的要求,应当以处理高要求协议的能力作为系统处理能力的设计标准。
4 结束语
IDS发展到今天,已经从最开始作为防火墙的一个补充辅助角色,成长为一个独立的、在网络安全体系中占据重要地位的安全防护设备。因此,IDS产品性能的好坏,是决定一个安全体系的整体性能优劣的关键因素之一,做好IDS性能测试非常重要。目前,随着IDS应用的扩大、技术的发展,对IDS产品的性能测试也提出更高的要求,这就要求测试人员要不断学习新知识、新技术,在测试中提高技能,积累测试部署、实施、分析的经验。