1 引言
随着网络技术的发展,网络环境变得越来越复杂,对于网络安全来说,单纯的防火墙技术暴露出明显的不足和弱点,如无法解决安全后门问题;不能阻止网络内部攻击,而调查发现, 50%以上的攻击都来自内部;不能提供实时入侵检测能力;对于病毒等束手无策等。因此很多组织致力于提出更多更强大的主动策略和方案来增强网络的安全性,其中一个有效的解决途径就是入侵检测。入侵检测系统(IDS——Intrusion Detection System)可以弥补防火墙的不足,为网络安全提供实时的入侵检测及采取相应的防护手段,如记录证据、跟踪入侵、恢复或断开网络连接等。这引发了人们对入侵检测技术研究和开发的热情。
2 入侵检测系统的概念
入侵行为主要是指对系统资源的非授权使用,可以造成系统数据的丢失和破坏、系统拒绝服务等危害。对于入侵检测而言的网络攻击可以分为4类:
① 检查单IP包(包括TCP、UDP)首部即可发觉的攻击,如winnuke、ping of death、land.c、部分OS detection、source routing等。
② 检查单IP包,但同时要检查数据段信息才能发觉的攻击,如利用CGI漏洞,缓存溢出攻击等。
③ 通过检测发生频率才能发觉的攻击,如端口扫描、SYN Flood、smurf攻击等。
④ 利用分片进行的攻击,如teadrop,nestea,jolt等。此类攻击利用了分片组装算法的种种漏洞。若要检查此类攻击,必须提前(在IP层接受或转发时,而不是在向上层发送时)作组装尝试。分片不仅可用来攻击,还可用来逃避未对分片进行组装尝试的入侵检测系统的检测。
入侵检测通过对计算机网络或计算机系统中的若干关键点收集信息并进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合就是入侵检测系统。
入侵检测系统执行的主要任务包括:监视、分析用户及系统活动;审计系统构造和弱点;识别、反映已知进攻的活动模式,向相关人士报警;统计分析异常行为模式;评估重要系统和数据文件的完整性;审计、跟踪管理操作系统,识别用户违反安全策略的行为。入侵检测一般分为3个步骤,依次为信息收集、数据分析、响应(被动响应和主动响应)。
信息收集的内容包括系统、网络、数据及用户活动的状态和行为。入侵检测利用的信息一般来自系统日志、目录以及文件中的异常改变、程序执行中的异常行为及物理形式的入侵信息4个方面。
数据分析是入侵检测的核心。它首先构建分析器,把收集到的信息经过预处理,建立一个行为分析引擎或模型,然后向模型中植入时间数据,在知识库中保存植入数据的模型。数据分析一般通过模式匹配、统计分析和完整性分析3种手段进行。前两种方法用于实时入侵检测,而完整性分析则用于事后分析。可用5种统计模型进行数据分析: 操作模型、方差、多元模型、马尔柯夫过程模型、时间序列分析。统计分析的最大优点是可以学习用户的使用习惯。
入侵检测系统在发现入侵后会及时作出响应,包括切断网络连接、记录事件和报警等。响应一般分为主动响应(阻止攻击或影响进而改变攻击的进程)和被动响应(报告和记录所检测出的问题)两种类型。主动响应由用户驱动或系统本身自动执行,可对入侵者采取行动(如断开连接)、修正系统环境或收集有用信息;被动响应则包括告警和通知、简单网络管理协议(SNMP)陷阱和插件等。另外,还可以按策略配置响应,可分别采取立即、紧急、适时、本地的长期和全局的长期等行动。
3 入侵检测系统技术及分类
3.1 入侵检测系统技术
可以采用概率统计方法、专家系统、神经网络、模式匹配、行为分析等来实现入侵检测系统的检测机制,以分析事件的审计记录、识别特定的模式、生成检测报告和最终的分析结果。
发现入侵检测一般采用如下两项技术:
① 异常发现技术,假定所有入侵行为都是与正常行为不同的。它的原理是,假设可以建立系统正常行为的轨迹,所有与正常轨迹不同的系统状态则视为可疑企图。异常阀值与特征的选择是其成败的关键。其局限在于,并非所有的入侵都表现为异常,而且系统的轨迹难于计算和更新。
② 是模式发现技术,它是假定所有入侵行为和手段(及其变种)都能够表达为一种模式或特征,所有已知的入侵方法都可以用匹配的方法发现。模式发现技术的关键是如何表达入侵的模式,以正确区分真正的入侵与正常行为。模式发现的优点是误报少,局限是只能发现已知的攻击,对未知的攻击无能为力。
3.2 入侵检测系统的分类
通常,入侵检测系统按其输入数据的来源分为3种:
① 基于主机的入侵检测系统,其输入数据来源于系统的审计日志,一般只能检测该主机上发生的入侵。
② 基于网络的入侵检测系统,其输入数据来源于网络的信息流,能够检测该网段上发生的网络入侵。
③ 分布式入侵检测系统,能够同时分析来自主机系统审计日志和网络数据流的入侵检测系统,系统由多个部件组成,采用分布式结构。
另外,入侵检测系统还有其他一些分类方法。如根据布控物理位置可分为基于网络边界(防火墙、路由器)的监控系统、基于网络的流量监控系统以及基于主机的审计追踪监控系统;根据建模方法可分为基于异常检测的系统、基于行为检测的系统、基于分布式免疫的系统;根据时间分析可分为实时入侵检测系统、离线入侵检测系统。
4 入侵检测的主要方法
4.1 静态配置分析
静态配置分析通过检查系统的当前系统配置,诸如系统文件的内容或者系统表,来检查系统是否已经或者可能会遭到破坏。静态是指检查系统的静态特征(系统配置信息),而不是系统中的活动。
采用静态分析方法主要有以下几方面的原因:入侵者对系统攻击时可能会留下痕迹,这可通过检查系统的状态检测出来;系统管理员以及用户在建立系统时难免会出现一些错误或遗漏一些系统的安全性措施;另外,系统在遭受攻击后,入侵者可能会在系统中安装一些安全性后门以方便对系统进行进一步的攻击。
所以,静态配置分析方法需要尽可能了解系统的缺陷,否则入侵者只需要简单地利用那些系统中未知的安全缺陷就可以避开检测系统。
4.2 异常性检测方法
异常性检测技术是一种在不需要操作系统及其防范安全性缺陷专门知识的情况下,就可以检测入侵者的方法,同时它也是检测冒充合法用户的入侵者的有效方法。但是,在许多环境中,为用户建立正常行为模式的特征轮廓以及对用户活动的异常性进行报警的门限值的确定都是比较困难的事,所以仅使用异常性检测技术不可能检测出所有的入侵行为。
目前这类入侵检测系统多采用统计或者基于规则描述的方法建立系统主体的行为特征轮廓:
① 统计性特征轮廓由主体特征变量的频度、均值以及偏差等统计量来描述,如SRI的下一代实时入侵检测专家系统,这种方法对特洛伊木马以及欺骗性的应用程序的检测非常有效。
② 基于规则描述的特征轮廓由一组用于描述主体每个特征的合法取值范围与其他特征的取值之间关系的规则组成(如TIM)。该方案还可以采用从大型数据库中提取规则的数据挖掘技术。
③ 神经网络方法具有自学习、自适应能力,可以通过自学习提取正常的用户或系统活动的特征模式,避开选择统计特征这一难题。
4.3 基于行为的检测方法
通过检测用户行为中那些与已知入侵行为模式类似的行为、那些利用系统中缺陷或间接违背系统安全规则的行为,来判断系统中的入侵活动。
目前基于行为的入侵检测系统只是在表示入侵模式(签名)的方式以及在系统的审计中检查入侵签名的机制上有所区别,主要可以分为基于专家系统、基于状态迁移分析和基于模式匹配等几类。这些方法的主要局限在于,只是根据已知的入侵序列和系统缺陷模式来检测系统中的可疑行为,而不能检测新的入侵攻击行为以及未知的、潜在的系统缺陷。
入侵检测方法虽然能够在某些方面取得好的效果,但总体看来各有不足,因而越来越多的入侵检测系统都同时采用几种方法,以互补不足,共同完成检测任务。
5 入侵检测系统的结构及标准化
目前,通用入侵检测架构(CIDF)组织和IETF都试图对入侵检测系统进行标准化。CIDF阐述了一个入侵检测系统的通用模型,将入侵检测系统分为4个组件:事件产生器、事件分析器、响应单元及事件数据库。CIDF将入侵检测系统需要分析的数据统称为事件,它可以是网络中的数据包,也可以是从系统日志等其他途径得到的信息。
事件产生器是从整个计算环境中获得事件,并向系统的其他部分提供此事件;事件分析器分析得到的数据,并产生分析结果;响应单元则是对分析结果作出反应的功能单元,它可以作出切断连接、改变文件属性等强烈反应,也可以是简单的报警。事件数据库是存放各种中间和最终数据的地方的统称,它可以是复杂的数据库,也可以是简单的文本文件。在这个模型中,前三者以程序的形式出现,而最后一个则往往是文件或数据流。
入侵检测系统的几个组件往往位于不同的主机上。一般会有3台机器,分别运行事件产生器、事件分析器和响应单元。
IETF的Internet草案工作组(IDWG)专门负责定义入侵检测系统组件之间,及不同厂商的入侵检测系统之间的通信格式,目前只有相关的草案(draft),还未形成正式的RFC文档。IDWG文档有:入侵警报协议(IAP),该协议是用于交换入侵警报信息、运行于TCP之上的应用层协议;入侵检测交换协议(IDXP),这个应用层协议是在入侵检测实体间交换数据,提供入侵检测报文交换格式(IDMEF)报文、无结构的文本,二进制数据的交换; IDMEF是数据存放格式隧道(TUNNEL) 文件,允许块可扩展交换协议(BEEP)对等体能作为一个应用层代理,用户通过防火墙得到服务。IAP是最早设计的通信协议,它将被IDXP替换,IDXP建立在BEEP基础之上,TUNNEL文件配合IDXP使用。
6 入侵检测系统面临的主要问题及发展趋势
6.1 入侵检测系统面临的主要问题
6.1.1 误报
误报是指被入侵检测系统测出但其实是正常及合法使用受保护网络和计算机的警报。假警报不但令人讨厌,并且降低入侵检测系统的效率。攻击者可以而且往往是利用包结构伪造无威胁“正常”假警报,以诱使收受人把入侵检测系统关掉。
没有一个入侵检测无敌于误报,应用系统总会发生错误,原因是:缺乏共享信息的标准机制和集中协调的机制,不同的网络及主机有不同的安全问题,不同的入侵检测系统有各自的功能;缺乏揣摩数据在一段时间内行为的能力;缺乏有效跟踪分析等。
6.1.2 精巧及有组织的攻击
攻击可以来自四方八面,特别是一群人组织策划且攻击者技术高超的攻击,攻击者花费很长时间准备,并发动全球性攻击,要找出这样复杂的攻击是一件难事。
另外,高速网络技术,尤其是交换技术以及加密信道技术的发展,使得通过共享网段侦听的网络数据采集方法显得不足,而巨大的通信量对数据分析也提出了新的要求。
6.2 入侵检测系统的发展趋势
从总体上讲,目前除了完善常规的、传统的技术(模式识别和完整性检测)外,入侵检测系统应重点加强与统计分析相关技术的研究。许多学者在研究新的检测方法,如采用自动代理的主动防御方法,将免疫学原理应用到入侵检测的方法等。其主要发展方向可以概括为:
(1)分布式入侵检测与CIDF
传统的入侵检测系统一般局限于单一的主机或网络架构,对异构系统及大规模网络的检测明显不足,同时不同的入侵检测系统之间不能协同工作。为此,需要分布式入侵检测技术与CIDF。
(2)应用层入侵检测
许多入侵的语义只有在应用层才能理解,而目前的入侵检测系统仅能检测Web之类的通用协议,不能处理如Lotus Notes数据库系统等其他的应用系统。许多基于客户/服务器结构、中间件技术及对象技术的大型应用,需要应用层的入侵检测保护。
(3)智能入侵检测
目前,入侵方法越来越多样化与综合化,尽管已经有智能体系、神经网络与遗传算法应用在入侵检测领域,但这些只是一些尝试性的研究工作,需要对智能化的入侵检测系统进一步研究,以解决其自学习与自适应能力。
(4) 与网络安全技术相结合
结合防火墙、PKIX、安全电子交易(SET)等网络安全与电子商务技术,提供完整的网络安全保障。
(5) 建立入侵检测系统评价体系
设计通用的入侵检测测试、评估方法和平台,实现对多种入侵检测系统的检测,已成为当前入侵检测系统的另一重要研究与发展领域。评价入侵检测系统可从检测范围、系统资源占用、自身的可靠性等方面进行,评价指标有:能否保证自身的安全、运行与维护系统的开销、报警准确率、负载能力以及可支持的网络类型、支持的入侵特征数、是否支持IP碎片重组、是否支持TCP流重组等。
总之,入侵检测系统作为一种主动的安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。随着网络通信技术安全性的要求越来越高,为给电子商务等网络应用提供可靠服务,而由于入侵检测系统能够从网络安全的立体纵深、多层次防御的角度出发提供安全服务,必将进一步受到人们的高度重视。
张杰 中国科技大学计算机应用专业硕士研究生,主要研究领域为计算机通信及网络安全。
戴英侠 中国科学院信息安全国家重点实验室DCS中心副主任、教授,研究领域为信息及网络安全,从事过多项国家攻关项目的研究,主要从事移动通信设计研究工作。
摘自《邮电设计技术》