网络安全之入侵检测技术
扫描二维码
随时随地手机看文章
标签:IDS FPGA
入侵检测技术作为网络安全中的一项重要技术已有近30年的发展历史,随着中国移动网络的开放与发展,入侵检测系统(IDS)也逐渐成为保卫中国移动网络安全不可或缺的安全设备之一。在入侵检测技术发展过程中,逐步形成了2类方法、5种硬件架构,不同的方法与架构都存在其优势与不足。本文基于入侵检测的应用场景,对现有的主流技术原理、硬件体系架构进行剖析;详细分析IDS产品的测评方法与技术,并介绍了一个科学合理、方便操作的IDS测评方案。最后,从应用需求出发分析入侵检测技术的未来发展趋势。
1、背景
目前,互联网安全面临严峻的形势。因特网上频繁发生的大规模网络入侵和计算机病毒泛滥等事件使很多政府部门、商业和教育机构等都受到了不同程度的侵害,甚至造成了极大的经济损失。
随着互联网技术的不断发展,网络安全问题日益突出。网络入侵行为经常发生,网络攻击的方式也呈现出多样性和隐蔽性的特征。当前网络和信息安全面临的形势严峻,网络安全的主要威胁如图1所示。
<center>图1 目前网络安全的主要威胁
说到网络安全防护,最常用的设备是防火墙。防火墙是通过预先定义规则并依据规则对访问进行过滤的一种设备;防火墙能利用封包的多样属性来进行过滤,例如:来源IP 地址、来源端口号、目的IP 地址或端口号、服务类型(如WWW 或是 FTP)。对于目前复杂的网络安全来说,单纯的防火墙技术已不能完全阻止网络攻击,如:无法解决木马后门问题、不能阻止网络内部人员攻击等。据调查发现,80%的网络攻击来自于网络内部,而防火墙不能提供实时入侵检测能力,对于病毒等束手无策。因此,很多组织致力于提出更多更强大的主动策略和方案来增强网络的安全性,其中一个有效的解决途径就是入侵检测系统IDS(Intrusion Detection Systems)。
2、入侵检测技术发展历史
IDS即入侵检测系统,其英文全称为:Intrusion Detection System。入侵检测系统是依照一定的安全策略,通过软件和硬件对网络、系统的运行状况进行监视,尽可能发现各种攻击企图、攻击行为或攻击结果,以保证网络系统资源的机密性、完整性和可用性。IDS通用模型如图2所示。
图2 IDS 通用模型
IDS诞生于1980年,到目前为止已经有30余年的历史,在这30余年中,IDS的发展经过了4个阶段。
第一阶段:概念诞生。IDS这个概念诞生于1980年4月,James P.Andrson为美国空军做了一份题为《Computer Security Threat Monitoring and Surveillance》(计算机安全威胁监控与监视)的技术报告,第一次详细阐述了入侵检测概念。他提出了一种对计算机系统风险和威胁的分类方法,并将威胁分为外部渗透、内部渗透和不法行为三种,还提出了利用审计跟踪数据监视入侵活动的思想。这份报告被公认为是入侵检测的开山之作。
第二阶段:模型发展。从1984年到1986年,乔治敦大学的Dorothy Denning和SRI/CSL的Peter Neumann研究出了一个实时入侵检测系统模型,取名为IDES(入侵检测专家系统)。该模型由六个部分组成:主题、对象、审计记录、轮廓特征、异常记录、活动规则,如图3所示。它独立于特定的系统平台、应用环境、系统弱点以及入侵类型,为构建入侵检测系统提供了一个通用的框架。1988年,SRI/CSL的Teresa Lunt等人改进了Denning的入侵检测模型,并开发出了IDES。该系统包括一个异常检测器和一个专家系统,分别用于统计异常模型的建立和基于规则的特征分析检测。
图3 IDES结构框架
第三阶段:百家争鸣。1990年是入侵检测系统发展史上一个分水岭。加州大学戴维斯分校的L.T.Heberlein等人开发出了NSM(Network Security Monitor)。该系统第一次直接将网络流作为审计数据来源,因而可以在不将审计数据转换成统一格式的情况下监控异常主机,从此以后,入侵检测系统发展史翻开了新的一页,两大阵营正式形成:基于网络的IDS和基于主机的IDS。
第四阶段:继续演进。IDS在90年代形成的IDS两大阵营的基础上,有了长足的发展,形成了更多技术及分类。除了根据检测数据的不同分为主机型和网络型入侵检测系统外,根据采用的检测技术,入侵检测系统可以分为基于异常的入侵检测(Anomaly Detection,AD)和基于误用(特征)的入侵检测(Misuse Detection,MD)。早期的IDS仅仅是一个监听系统或者提供有限的数据分析功能,而新一代IDS更是增加了应用层数据分析的能力;同时,其配合防火墙进行联动,形成功能互补,可更有效的阻断攻击事件。现有的入侵检测技术的分类及相关关系如图4所示。
图4 入侵检测系统分类
3、入侵检测应用场景
与防火墙不同,IDS是一个监听设备,无需网络流量流经它,便可正常工作,即IDS采用旁路部署方式接入网络。与防火墙相比IDS有如下优势:
(1) IDS是旁路设备,不影响原有链路的速度;
(2) 由于具有庞大和详尽的入侵知识库,可以提供非常准确的判断识别,漏报和误报率远远低于防火墙;
(3) 对日志记录非常详细,包括:访问的资源、报文内容等;
(4) 无论IDS工作与否,都不会影响网络的连通性和稳定性;
(5) 能够检测未成功的攻击行为;
(6) 可对内网进行入侵检测等。
同时,与防火墙相比,其也具有如下的劣势:
(1) 检测效率低,不能适应高速网络检测;
(2) 针对IDS自身的攻击无法防护;
(3) 不能实现加密、杀毒功能;
(4) 检测到入侵,只进行告警,而无阻断等。
IDS和防火墙均具备对方不可代替的功能,因此在很多应用场景中,IDS与防火墙共存,形成互补。
根据网络规模的不同,IDS有三种部署场景:小型网络中,IDS旁路部署在Internet接入路由器之后的第一台交换机上,如图5所示;中型网络中,采用图6的方式部署;大型网络采用图7的方式部署。
图5 小型网络部署
图6 中型网络部署
图7 大型网络部署
4、IDS硬件体系架构分析
主流的IDS的体系架构分为X86、NP、ASIC、FPGA及混合架构,对各体系架构的原理及特点介绍如下。
4.1 X86架构
X86架构采用通用CPU和PCI总线接口,具有很高的灵活性和可扩展性,是早期防火墙、入侵防护系统开发的主要平台。其安全功能主要由软件实现,可以根据用户的实际需要而做相应调整,增加或减少功能模块,产品比较灵活,功能十分丰富。基于这一架构产品开发周期短,成本低,是绝大多数网络安全厂商的选择。但其性能发展却受到体系结构的制约,作为通用的计算平台,X86的结构层次较多,不易优化,且往往会受到PCI总线的带宽限制。虽然PCI总线接口理论上能达到接近2Gbps的吞吐量,但是由于通用CPU的处理能力有限,尽管软件部分可以尽可能地优化,但实际很难达到高速率和低时延。
4.2 NP架构
网络处理器(NP)技术,NP是专门为网络设备处理网络流量而设计的处理器,体系结构如图8所示。其体系结构和指令集对于入侵检测系统和防火墙常用的包过滤、转发等算法和操作都进行了专门的优化,可以高效地完成TCP/IP栈的常用操作,并对网络流量进行快速的并发处理。硬件结构设计也大多采用高速的接口技术和总线规范,具有较高的I/O能力。然而,NP的弱点也比较明显,其在4-7层的数据处理上相对较弱。在检测策略比较复杂(如入侵防护系统所用的检测策略)的情况下,吞吐速率有明显下降,时延明显。
图8 网络处理器架构
4.3 ASIC架构
相比之下,ASIC通过专门设计的ASIC芯片逻辑进行硬件加速处理。ASIC通过把指令或计算逻辑固化到芯片中,获得了很高的处理能力,因而明显提升了安全产品的性能。新一代的高可编程ASIC采用了更灵活的设计,能够通过软件改变应用逻辑,具有更广泛的适应能力。但是,ASIC的缺点也同样明显,它的灵活性和扩展性不够,开发费用高,开发周期太长,一般耗时接近2年。 虽然研发成本较高、灵活性受限制、无法支持太多的功能,但其性能具有先天的优势,非常适合应用于模式简单、对吞吐量和时延指标要求较高的电信级大流量的处理。
4.4 FPGA架构
相对于NP,FPGA是对数据进行高速并行处理的器件,具有更强的灵活性和扩展性。在IDS中FPGA擅长把一些安全特征转化成逻辑,在实现过程中能够同时匹配上千条规则,其并行速度超过普通CPU,而且相对于并行ASIC,其灵活性占有较大优势。如图9所示为FPGA架构典型应用。其中SPC表示:Services Processing Card;NPC表示:Network Processing Card。
图9 FPGA架构应用
4.5混合架构
混合体系架构,即由ASIC+NP+FPGA集成。典型的安全厂商如:McAfee,其网络安全平台创新地采用这一架构,通过AVERT组织设计的ASIC,把指令或计算逻辑固化到芯片中,获得了高速的协议和检测处理能力。使用NP处理SSL加密通信、拒绝服务攻击等消耗计算资源的功能;采用FPGA芯片保证产品的更新升级。FPGA顾名思义就是器件可编程,因而能轻松升级,很好地满足需求变化,延长了产品寿命,有助于网络安全设备跟踪标准和协议的持续变化。同时,FPGA有一定的预留性,一般情况下只用到其容量的20%左右,可充分保证日后升级所用。
5、IDS产品测评技术介绍
目前,市场上存在各种各样的IDS设备,而且各个设备的性能和价格都不尽相同,具体实现方式也存在差异,如何才能找到性价比高、适合自己的IDS设备成为各个公司所关心的问题。对各款IDS设备进行测试评估,是解决这个问题的最可靠的途径。而且经常性的测试评估有利于及时了解技术发展现状和存在的不足。
5.1依据资质进行筛选
在测试前,我们可以先看看测试的IDS产品取得了哪些认证。目前国内主要有4家信息安全产品的认证机构,分别是公安部计算机信息系统安全产品质量监督检验中心、国家保密局涉密信息系统安全保密测评中心、中国人民解放军信息安全测评认证中心、中国国家信息安全测评认证中心。
这4家认证机构中,公安部的认证对IDS产品来说是必须的,通过了公安部的认证,才能领取计算机安全专用产品销售许可证。
5.2确定重要评价指标
如果需要测评的IDS有经过上面的多家认证机构的认证之后,说明质量基本是没有问题的。但是很多时候我们需要一款适合自己的产品,好并不代表适合。所以,我们需要测试IDS产品的各个方面的性能,对其有全面的了解。评测IDS的指标主要有:及时性、准确性、完备性、健壮性、处理性能、易用性。
5.2.1及时性
及时性要求IDS必须尽快地分析数据并把分析结果传播出去,以使系统安全管理者能够在入侵攻击尚未造成更大的危害之前做出反应,阻止入侵者进一步的破坏活动。要注意的是它不仅要求IDS产品的处理速度要尽可能地快,而且要求传播、反应检测结果信息的时间尽可能的少。
测试时可以应用以下场景:
1、查看测试产品最新的3个升级包,记录升级时间间隔;
2、观察在IDS不暂停工作的情况下是否可以完成升级;
3、测试IDS在升级过程中是否仍能检测到攻击事件。
5.2.2准确性
准确性指IDS从各种行为中正确的识别入侵的能力。可以从漏报率和误报率两个方面来体现。误报率是指系统在检测时把正常的网络活动视为攻击的概率。漏报率是指漏掉真正的攻击而不报警的概率。
图10 ROC曲线
实际上IDS的实现总是在漏报率和误报率上追求平衡,要使两者都为零,几乎是不可能的。误报率为零则表明很可能存在某些攻击行为没有被检测出来;漏报率为零则表明可能存在各种各样的误报。如果IDS设备能够让用户自定义漏报率和误报率的比例(比如安全级别,安全级别越高则漏报率越低,相应误报率也可能越高),那么最好还是保留一定的误报会显得比较安全,毕竟误报比漏报要显得安全。
虽然漏报率和误报率不能同时为零,但是在测评时,我们还是希望这两个数值越低越好。可以通过一些黑客工具模拟攻击行为,从而测试出IDS的漏报率和误报率。
ROC曲线以图形的方式来表示正确率和误报率的关系。ROC曲线是基于正确报告率和误报率的关系来描述的。这样的图称为诺模图(Nomogram),它在数学领域用于表示数字化的关系。选好一个临界点(Cutoff Point)之后,就可以从图中确定IDS的正确报告率和误报率。曲线的形状直接反映了IDS产品的准确性和总体品质。如果一条直线向上,然后向右以45度角延伸,就是一个非常失败的IDS,它毫无用处;相反,ROC曲线下方的区域越大,IDS的准确率越高。如图2所示,IDS B的准确性高于IDS C,类似地,IDS A在所有的IDS中具有最高的准确性。
可以通过一些测试工具模拟各种攻击,来评测IDS的准确性。比如IDS Informer、IDS Wakeup、Sneeze的工具。
5.2.3完备性
完备性是指IDS能够检测出所有攻击行为的能力。100%正确率实际上是一个无法达到的目标。如何评价IDS检测的完备性呢?
1、可以通过查看帮助文件中厂商声称可检测的攻击列表来做大致的了解,可以看看可检测的各种攻击都属于那些协议,总共支持多少种应用层协议,以及该协议下检测攻击种类的数量。
2、 可以查看进一年内新增加的检测规则占总规则数的比例,结果越大越好。
3、可以挑选一些近期流行的攻击行为,进行模拟测试。
5.2.4健壮性
健壮性即自身安全性,毫无疑问,IDS程序本身的安全性也是衡量IDS系统好坏的一个重要指标。由于IDS是检测入侵的重要手段,所以它也就成为很多入侵者攻击的首选目标。和其他系统一样IDS本身也往往存在安全漏洞。若对IDS攻击成功将直接导致入侵行为无法被检测。因此IDS自身必须能够抵御攻击,特别是DOS攻击。
IDS的安全性,一般可以通过以下几个方面来衡量:
1、所有重要数据的存储和传输过程是否都经过加密处理;
2、在网络中的隐藏性,是否对于外界设备来说是透明的;
3、不同级别的操作人员是否有不同的使用权限,以及这些权限分配是否合理。
5.2.5处理性能
处理性能主要从系统处理数据的能力已经对资源消耗的程度等方面体现。比如:
1、处理速度:指IDS处理数据源数据的速度。
2、延迟时间:指在攻击发生至IDS检测到入侵之间的延迟时间。
3、资源的占用情况:即系统在到达某种检测能力要求时,对资源的需求情况。
4、负荷能力:IDS有其设计的负荷能力,在超出负荷能力的情况下,性能会出现不同程度的下降。
5.2.6易用性
易用性是指和系统使用有关的一些方面,主要是指系统安装、配置、管理、使用的方便程度、系统界面的友好程度和攻击规则库维护的简易程度等方面。
这个指标比较偏向于主观判断。但是也有一些客观指标,比如:
1、是否有较多内容通过图形表格方式描述;
2、帮助信息内容是否丰富并且可用;
3、是否有配置导航功能;
4、是否有保存系统配置的功能;
5、是否有足够多的提示信息;
6、操作使用日志记录是否完善;
5.3执行测试
5.3.1测试部署
在测试评估IDS的时候,很少会把IDS放在实际运行的网络中,因为实际网络环境是不可控的,并且网络环境的专用性太强,所以要构建专用的网络环境。图3为入侵检测系统测试组网示意图。其中背景流量发生器用来生成网络通信,攻击机用来模拟入侵者发起攻击,IDS网络传感器为待测试入侵检测系统,目标机模拟网络中被攻击的机器。
图11入侵检测系统测试组网示意图
下面是组网设备的详细说明:
1) 以太网交换机:一台具备将全部端口镜像到一个目的端口功能的以太网交换机。用于将流量镜像到IDS网络传感器。
2) 攻击机:攻击机预装扫描工具Nessus和Informer、Wakeup、Sneeze等互联网安全攻击工具。
3) 目标机:目标机安装和开启各类应用服务,作为被攻击对象。
4) 背景流量发生器:使用IP InterEmulator或其它网络仿真系统,可以产生应用层协议流量作为背景流量。
5) IDS网络传感器:被测的IDS设备。
6) IDS管理控制台:用于管理IDS设备的机器。
5.3.2测试方法
测试内容可结合实际的网络特征及需求进行,如:测试入侵检测系统管理功能、检测能力、安全性测试和性能测试及其它等,如图3所示。管理功能主要检查点包括:配置界面、策略配置、升级方式、日志功能、报表输出和接口功能等;检测能力包括:检测能力、告警功能、流量关联分析、协议支持和流量监控等;安全测试包括:账号口令管理、权限管理、用户认证和事件审计功能等;性能测试包括:性能容量、漏报率、误报率、稳定性和扩展性等。
图12 入侵检测系统测试内容
测试主要通过模拟真实网络情况进行,如:利用仪表模拟运营商网间互联处的业务流量模型;模拟真实的业务协议特征和风险特征;攻击效果与真实用户体验基本一致等。背景流量与真实流量差异越小,测试结果将越准确。