魏国华 廖崇华
[摘要]简要分析和介绍计算机网络入侵检测系统的主要类型及其技术,给出一个网络入侵检测系统的技术实现机理。
[关键词]计算机 网络 安全 入侵检测
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0120073-01
随着计算机网络规模的爆炸式增长和网络应用的日益深化,安全问题愈发突出,传统的单一安全技术如防火墙、授权与身份认证系统、信息加密等,都是以静态的方式保障信息安全,对快速发展的黑客攻击、内部攻击等则力不从心。作为最近几年发展起来的、以对非法网络行为预警和响应为主要目标的动态网络安全技术入侵检测,正在得到越来越深入的研究和应用。
一、入侵检测系统简介
入侵检测,一般是指通过在计算机网络中的关键节点采集信息并进行分析,从而发现网络中是否有违反安全策略的行为或被攻击的迹象。入侵检测是一种集检测、响应、记录于一体的动态安全技术,不仅能检测来自外部的入侵行为,同时也监督内部用户的未授权活动。
用于入侵检测的软件或软硬件组合产品即为入侵检测系统(Intrusion Detection System)。IDS一般具有监视系统及用户活动、检查系统配置和漏洞、评估系统关键资源和数据文件的完整性、识别和分析攻击行为或异常行为、对操作系统日志管理、对己发现的攻击行为作出反应或处理等功能。
按照数据分析和检测机制的不同,入侵检测分为异常入侵检测和误用入侵检测。异常入侵检测是建立在统计学基础上的一种检测技术,是目前入侵检测技术的主要研究方向,基本原理是先定义一组系统或网络“正常”情况的状态,这类数据可以人为定义,也可以通过统计得出,然后将系统运行时的数值与所定义的“正常”情况比较,得出是否有被攻击的迹象。误用入侵检测,是预先定义出入侵行为特征或标志,然后监视网络数据,从中找出符合入侵特征的行为,类似杀毒软件原理。IDS的类型,从检测节点和数据来源看,主要有基于主机的IDS、基于网络的IDS,以及两者集成型IDS。从系统架构上看,IDS还可分为集中式IDS和分布式IDS,集成型的分布式网络入侵检测系统(D-NIDS)应是技术发展方向。
二、网络入侵检测系统实现机理
网络入侵检测系统是利用网络监听技术采集网络分组数据,并对这些数据进行入侵检测分析和响应。设计NIDS,技术架构可以采用三层分布式体系结构,包括网络入侵探测器、入侵事件数据库和分析控制台。
对应三层体系结构,可将NIDS从功能上划分为三个核心子系统:数据采集与分析子系统、数据库管理子系统、控制台子系统。数据采集与分析子系统在具体技术实现上,可充分利用Snort等优秀的开源软件包进行二次开发构建,系统平台根据性能与成本的要求,既可在Linux/Unix平台上实现,也可采用RTOS硬件实现,以达到数据信号处理的高速和稳定,同时降低了开发复杂度。数据库管理子系统和控制台子系统对效率的要求不高,可在Windows上实现,提高操作性和界面友好性。
数据库子系统和控制台子系统相对比较简单,在此不做分析介绍,重点介绍数据采集与分析子系统的实现机理。
NIDS的核心部分是数据采集与分析子系统,一般配置在各个局域网的关键节点上,是整个系统的基础性模块,因为其操作对象是网络数据包,首先就必须把所有的网络数据包都捕获下来,所以此模块的主要功能就是从网络中侦听捕获数据包并分析数据包协议和内容。由于数据包采集的性能要求很高,而网络中的数据包量非常大,如果捕获不及时,就会有漏包的情况出现,因此要根据需要适当的设置过滤机制,过滤网络上的一些数据包,减轻数据分析压力,可过滤特定IP、特定MAC地址、特定协议的数据包。数据包分析部分完成对采集到的数据包进行分析的功能,只有对每个数据包的网络协议、类型和特征进行了详细正确的分析,才有可能检测出入侵行为。由于网络协议非常多,因此就必须分析很多的协议,以太网常见协议有ARP/RARP、ICMP、SNMP、IP、TCP、UDP、HTTP、FTP等。
数据采集与分析子系统包含如下几个模块:
1.包捕获与解析模块:可采用与Snort关联的Libpcap开发包来实现数据包的捕获。由于TCP/IP协议是互联网事实上的标准,所以协议分析应基于TCP/IP协议,必须对TCP/IP的四层协议,即包头信息进行详细的分析,从而掌握它的具体特征,并对数据内容进行各种支持网络协议的格式分析。
2.预处理模块:预处理模块中主要由HTTP解码器、端口检测器等预处理程序组成。
3.检测引擎模块:是整个检测系统的核心,程序的效率直接影响到整个系统的性能优劣,可参考或利用国际上非常流行的网络入侵检测系统Snort的设计思想或技术。Snort是一个以开放源代码形式发行的网络入侵检测系统,由遍布世界各地的众多程序员共同维护和升级,它采用基于规则的工作方式,对数据包内容进行规则匹配来检测多种不同的入侵行为和探测活动。许多入侵检测产品的内核都是基于Snort设计开发的。
4.日志与报警模块:该模块主要完成检测结果的输出,当发生入侵时,能及时报警入侵行为。
5.规则库模块:存储攻击特征码。
三、入侵检测系统的配置要点
入侵检测系统的几个部件往往位于不同的主机上。在安装IDS的时候,关键是选择数据采集部分所在的位置,因为它决定了“事件”的可见度。
对于主机型IDS,其数据采集部分当然位于其所监测的主机上。对于网络型IDS,其数据采集部分则有多种可能,对网段用总线式的HUB相连,则可将其接在HUB的一个端口上即可;而对于交换机,由于交换机不采用共享方式,问题则会变得复杂,可解决的办法有:
1.交换机一般都有一个调试端口,任何其他端口的进出信息都可从此得到。如果交换机厂商把此端口开放,用户则可将IDS系统接到此端口上,缺点是采用此端口会降低交换机性能。
2.把IDS放在交换机内部或防火墙内部等数据流的关键入口和出口,优点是可得到几乎所有关键数据,但会降低网络性能。
3.采用分接器,将其接在所有要监测的线路上,优点是不降低网络性能的前提下采集所需数据,但必须使用额外的设备。
四、结束语
在网络安全产品配置中,IDS加防火墙是目前常用的组合。虽然在IDS技术上发展起来的IPS(入侵防御系统)得到了快速发展,但IDS的技术发展也非常快,今后仍将在网络安全事件预警检测中发挥不可或缺的作用。
作者简介:
魏国华,男,汉族,甘肃酒泉,本科学历,工程师,信息技术专业;廖崇华,男,汉族,天津市,本科学历,工程师,信息技术专业。