APP下载

入侵检测技术概述

2009-11-11

现代农业科技 2009年15期
关键词:入侵检测分类重要性

张 波

摘要入侵检测技术是为保证计算机系统的安全而设计的一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。概述了入侵检测系统的重要性,介绍了其分类,并对其规划的建立进行了阐述。

关键词入侵检测;重要性;分类;规则建立

中图分类号TP393.08文献标识码A文章编号 1007-5739(2009)15-0366-03

入侵检测(Intrusion Detection)是防火墙的合理补充,帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息,分析网络中是否有违反安全策略的行为和遭到袭击的迹象。入侵检测被认为是防火墙之后的第2安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。这些功能是通过它执行以下任务来实现的:一是监视、分析用户及系统活动;二是系统构造和弱点的审计;三是识别反映已知进攻的活动模式并向相关人士报警;四是异常行为模式的统计分析;五是评估重要系统和数据文件的完整性;六是操作系统的审计跟踪管理,并识别用户违反安全策略的行为。

对一个成功的入侵检测系统来讲,它不但可使系统管理员随时了解网络系统(包括程序、文件和硬件设备等)的任何变更,还能给网络安全策略的制订提供指南。且它管理、配置简单,从而使非专业人员非常容易地获得网络安全。此外,入侵检测的规模还应根据网络威胁、系统构造和安全需求的改变而改变。入侵检测系统在发现入侵后,会及时做出响应,包括切断网络连接、记录事件和报警等。

1入侵检测系统(IDS)的重要性

1.1应用IDS的原因

提到网络安全,人们第一个想到的就是防火墙。但随着现代技术的发展,网络日趋复杂,传统防火墙暴露出来的不足和弱点促进人们对入侵检测系统(Intrusion Detection System,IDS)技术的研究和开发。一是传统的防火墙在工作时,入侵者可以找到防火墙滋生可能敞开的后门;二是防火墙不能阻止来自内部的攻击,通过调查发现,50%的攻击都来自内部,对于企业内部心怀不满的员工来说,防火墙形同虚设;三是由于性能的限制,防火墙通常不能提供实时的入侵检测的能力,而这一点,对于现在层出不穷的攻击技术来说是至关重要的;四是防火墙对病毒也束手无策。因此,仅在Internet入口处部署防火墙系统就安全的想法是不切实际的。

入侵检测系统(IDS)可以弥补防火墙的不足,为网络安全提供实时的入侵检测及采取相应的防护手段,如记录证据用于跟踪、恢复、断开网络连接等。基于以上的功能,可给出一个统一的计算机网络入侵检测模型。这个模型由5个主要部分(信息收集器、分析器、响应、数据库及目录服务器)组成(见图1)。

1.2IDS所用信息的收集

入侵检测的第1步是信息收集,内容包括系统、网络、数据及用户活动的状态和行为。而且,需要在计算机网络系统中的若干不同关键点(不同网段和不同主机)收集信息,这样除了尽可能扩大检测范围的因素外,还有一个重要的因素就是从一个源来的信息有可能看不出疑点,但从多个源来的信息的不一致性却是可疑行为或入侵的最好标识。入侵检测在很大程度上依赖于收集信息的可靠性和正确性。

入侵检测利用的信息一般来自以下4个方面:一是系统和网络日志文件。黑客经常在系统日志文件中留下他们的踪迹,因此充分利用系统和网络日志文件信息是检测入侵的必要条件。日志中包含发生在系统和网络上的不寻常和不期望活动的证据,这些证据可以指出有人正在入侵或已成功入侵了系统。通过查看日志文件,能够发现成功的入侵或入侵企图,并很快地启动相应的应急响应程序。日志文件中记录了各种行为类型,每种类型又包含不同的信息,例如记录“用户活动”类型的日志,就包含登录、用户ID改变、用户对文件的访问、授权和认证信息等内容。很显然,对用户活动来讲,不正常的或不期望的行为就是重复登录失败、登录到不期望的位置以及非授权的企图访问重要文件等。二是目录和文件中的不期望改变。网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私有数据文件经常是黑客修改或破坏的目标。目录和文件中的不期望的改变(包括修改、创建和删除),特别是那些正常情况下限制访问的,很可能就是一种入侵产生的指示和信号。黑客经常替换、修改和破坏他们获得访问权的系统上的文件,同时为了隐藏他们在系统中的表现及活动痕迹,都会尽力去替换系统程序或修改系统日志文件。三是程序执行中的不期望行为。网络系统上的程序执行一般包括操作系统、网络服务、用户启动的程序和特定目的的应用,例如数据库服务器。每个在系统上执行的程序由1个到多个进程来实现。每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系统资源、程序和数据文件等。一个进程的执行行为由它运行时执行的操作来表现,操作执行的方式不同,它利用的系统资源也就不同。操作包括计算、文件传输、设备和其他进程,以及与网络间其他进程的通讯。一个进程出现了不期望的行为可能表明黑客正在入侵系统。四是物理形式的入侵信息。这包括2个方面的内容,即未授权的对网络硬件连接和对物理资源的未授权访问。黑客会想方设法去突破网络的周边防卫,如果他们能够在物理上访问内部网,就能安装他们自己的设备和软件。因此,黑客就可以知道网上的由用户加上去的不安全(未授权)设备,然后利用这些设备访问网络。例如,用户在家里可能安装Modem以访问远程办公室,与此同时黑客正在利用自动工具来识别在公共电话线上的Modem,如果某一拨号访问流量经过了这些自动工具,那么这一拨号访问就成为了威胁网络安全的后门。黑客就会利用这个后门来访问内部网,从而越过了内部网络原有的防护措施,然后捕获网络流量,进而攻击其他系统,并偷取敏感的私有信息等。

1.3对信息的分析

信息收集器将收集到的有关系统、网络、数据及用户活动的状态和行为等信息,通过3种技术手段进行分析,即模式匹配、统计分析和完整性分析。其中前2种方法用于实时的入侵检测,而完整性分析则用于事后分析。一是模式匹配。模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该过程可以很简单(如通过字符串匹配以寻找一个简单的条目或指令),也可以很复杂(如利用正规的数学表达式来表示安全状态的变化)。一般来讲,一种攻击模式可以用一个过程(如执行一条指令)或一个输出(如获得权限)来表示。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击。二是统计分析。统计分析方法首先为系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生。例如,统计分析可能标识一个不正常行为,因为它发现一个在晚8时早6时登录的帐号却在凌晨2时试图登录。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,目前正处于研究热点和迅速发展之中。三是完整性分析。完整性分析主要关注某个文件或对象是否被更改,这通常包括文件和目录的内容及属性,它在发现被更改的、被特洛伊化的应用程序方面特别有效。完整性分析利用强有力的加密机制,称为消息摘要函数(如MD5),它能识别微小的变化。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其他对象的任何改变,它都能被发现。缺点是一般以批处理方式实现,不用于实时响应。尽管如此,完整性检测方法还应该是网络安全产品的必要手段之一。例如,可以在每一天的某个特定时间内开启完整性分析模块,对网络系统进行全面的扫描检查。

2IDS的分类

2.1根据检测原理进行分类

传统的观点根据入侵行为的属性将其分为异常和滥用2种,然后分别对其建立异常检测模型和滥用检测模型。近4~5年来又涌现出了一些新的检测方法,它们产生的模型对异常和滥用都适用,如人工免疫方法、遗传算法、数据挖掘等。根据系统所采用的检测模型,将IDS分为3类:一是异常检测。异常检测中,观察到的不是已知的入侵行为,而是所研究的通信过程中的异常现象,它通过检测系统的行为或使用情况的变化来完成。在建立该模型之前,首先必须建立统计概率模型,明确所观察对象的正常情况,然后决定在何种程度上将一个行为标为“异常”,并如何做出具体决策。异常检测只能识别出与正常过程有较大偏差的行为,而无法知道具体的入侵情况。由于对各种网络环境的适应性不强,且缺乏精确的判定准则,异常检测经常会出现虚警情况。异常检测可以通过以下系统实现:①自学习系统。自学习系统通过学习事例构建正常行为模型,又可分为时序和非时序2种;②编程系统。系统需要通过编程学习如何检测确定的异常事件,从而让用户知道什么样的异常行为足以破坏系统的安全。编程系统可以再细分为描述统计和缺省否认2种。二是滥用检测。在滥用检测中,入侵过程模型及它在被观察系统中留下的踪迹是决策的基础。因此,可事先定义某些特征的行为是非法的,然后将观察对象与之进行比较以做出判别。滥用检测基于已知的系统缺陷和入侵模式,故又称特征检测。它能够准确地检测到某些特征的攻击,但却过度依赖事先定义好的安全策略,所以无法检测系统未知的攻击行为,从而产生漏警。滥用检测通过对确知决策规则编程实现,可以分为以下4种:①状态建模。将入侵行为表示成许多个不同的状态。如果在观察某个可疑行为期间,所有状态都存在,则判定为恶意入侵。状态建模从本质上来讲是时间序列模型,可以再细分为状态转换和Petri网,前者将入侵行为的所有状态形成一个简单的遍历链,后者将所有状态构成一个更广义的树形结构的Petri网。②专家系统。可以在给定入侵行为描述规则的情况下,对系统的安全状态进行推理。一般情况下,专家系统的检测能力强大,灵活性也很高,但计算成本较高,通常以降低执行速度为代价。③串匹配。通过对系统之间传输的或系统自身产生的文本进行子串匹配实现。该方法灵活性欠差,但易于理解,目前有很多高效的算法,其执行速度很快。④基于简单规则。类似于专家系统,但相对简单一些,故执行速度快。三是混合检测。近几年来,混合检测日益受到人们的重视。这类检测在做出决策之前,既分析系统的正常行为,同时还观察可疑的入侵行为,所以判断更全面、准确、可靠。它通常根据系统的正常数据流背景来检测入侵行为,故而也称为“启发式特征检测”。Wenke Lee从数据挖掘得到启示,开发出了一个混合检测器RIPPER。它并不为不同的入侵行为分别建立模型,而是首先通过大量的事例学习什么是入侵行为以及什么是系统的正常行为,发现描述系统特征的一致使用模式,然后再形成对异常和滥用都适用的检测模型。

2.2根据体系结构分类

按照体系结构,IDS可分为集中式、等级式和协作式3种。一是集中式。这种结构的IDS可能有多个分布于不同主机上的审计程序,但只有一个中央入侵检测服务器。审计程序把当地收集到的数据踪迹发送给中央服务器进行分析处理。但这种结构的IDS在可伸缩性、可配置性方面存在着致命缺陷:①随着网络规模的增加,主机审计程序和服务器之间传送的数据量会骤增,导致网络性能大大降低;②系统安全性脆弱,一旦中央服务器出现故障,整个系统就会陷入瘫痪;③根据各个主机不同需求服务器配置也非常复杂。二是等级式。它用来监控大型网络,定义了若干个分等级的监控区,每个IDS负责1个区,每一级IDS只负责所监控区的分析,然后将当地的分析结果传送给上一级IDS。这种结构仍存2个问题:①当网络拓扑结构改变时,区域分析结果的汇总机制也需要做相应的调整;②这种结构的IDS最后还是要把各地收集到的结果传送到最高级的检测服务器进行全局分析,所以系统的安全性并没有实质性的改进。三是协作式。将中央检测服务器的任务分配给多个基于主机的IDS,这些IDS不分等级,各司其职,负责监控当地主机的某些活动。因此,其可伸缩性、安全性都得到了显著的提高,但维护成本也高了很多,并且增加了所监控主机的工作负荷,如通信机制、审计开销、踪迹分析等。

3IDS规则的建立

IDS要有效地捕捉入侵行为,必须拥有一个强大的攻击特征数据库。但是,IDS一般所带的特征数据库都比较死板,遇到“变脸”的入侵行为往往无法识别。因此,管理员有必要学会如何创建满足实际需要的特征数据样板,做到以不变应万变。

3.1特征的基本概念

特征也被称为属性,对应IP数据包中的字段。在这些特征中有一些对攻击的判别至关重要。以下是一些典型情况及通过相应特征进行识别的方法:①从某一固定IP发送的连接请示:可通过检查IP头文件的源地址轻易地识别。②带有非法TCP标记包的集合:可通过已知的合法与非法的标记集合与TCP头文件中的标记进行比较而得出结论。③含有特殊病毒信息的Email:IDS可以通过将邮件的标题或附件的名称与已知的病毒邮件相关的标题做比较得出结论。④查询负载中的DNS缓冲区溢出企图:可通过解析DNS域及检查每个域的长度来识别利用DNS域的缓冲区溢出企图。还有另外一个识别方法是:在负载中搜索“壳代码利用”(exploit shell code)的序列代码组合。⑤通过对POP3服务器发出上千次同一命令而导致的DoS攻击:通过跟踪记录某个命令连续发出的次数,看看是否超过了预设上限,而发出报警信息。⑥未登录情况下使用文件和目录命令对FTP服务器的文件访问攻击:通过创建具备状态跟踪的特征样板以监视成功登录的FTP对话、发现未经验证却发命令的入侵企图。

3.2头文件属性

一些头文件属性在出现攻击时会有明显的不正常现象,所以可用于制定规则。这一规则的经典例子是带有SYN和FIN标志的TCP包设置。在RFC793(用来定义TCP标准)中存在一个漏洞,使很多工具都试图通过这一漏洞来尝试绕过防火墙、路由器和入侵检测系统。很多攻击程序包括头文件属性其目的在于违背RFCs,因为很多操作系统和应用程序是基于遵守RFCs的假定而写成的,且对在此基础上的通讯中的错误不进行纠正。也有很多工具包含错误或不完整的代码,于是由这些工具制成的包中包含了违背RFCs的头文件属性。那些写得很糟糕的工具和各种入侵技术提供了用于写规则的可辨别属性。

基于头文件属性来开发规则的最好办法就是通过实例。Synscan是一种应用广泛的扫描和探测系统工具。在2001年初的互联网上,它频繁活动,因为它的代码经常被用于制造Ramen蠕虫的第1阶段。这一活动提供了很好的实例,因为它的包中含有大量的可识别特征。这里有一些在蠕虫传播初期存在于Ramen蠕虫包中的IP和TCP头文件属性:①各种不同的源IP地址;②TCP源端口21,目标端口21;③服务类型为0;④IP识别号39426;⑤SYN和F1N标记设置;⑥各种序列号码设置;⑦各种确认号码设置;⑧TCP windows大小为1 028。

现在已经知道Synscan包的头文件含有的特征,可以开始考虑怎样制订一个好的规则。首先寻找那些非法的、不正常的、可疑的属性,在很多事件中,这些特征都有相对应的攻击者试图利用的漏洞或者对应于攻击者使用的一种特殊技术。

Synscan包的某些不正常的特征可以使用以下规则识别:仅有SYN和FIN标记设置是恶意行为的明显标志;另一种特征是,这些包的确认号有各种不同的值,但ACK标志未设置。如果没有设置ACK标志的话,确认号码应该设为0;还有一种可疑的特征是,源端口和目标端口都被设为21,这是一种不正常的与FTP服务器的联接。如果这两者端口号相同,则称之为反身。除了某些特殊的通讯(如特定的NetBIOS通讯),通常都不应该存在这样的情况。反身端口不违背TCP标准,但在大多数的事件中是不正常的。在正常的FTP通讯中,会看见一个高端口(大于1 023)作为源端口,而目标端口为21。

4参考文献

[1] 李俊霞,刘其群.浅谈网络入侵检测系统[J].河南农业教育报,2007,4(2):56-58.

[2] 陈浩.网络入侵检测系统的应用研究[J].雅安职业技术学院学报,2006, 20(3):8-11.

[3] 李新远,吴宇红,狄文远.基于数据发掘的入侵检测建模[J].计算机工程,2002,28(2):159-161.

[4] 韩东海,王超,李群.入侵检测系统实例分析[M].北京:清华大学出版社,2002.

[5] 陈波.入侵检测规则一[J].信息网络安全(技术广场),2002,5(32):44-45.

[6] 郭山清,谢立,曾英佩.入侵检测在线规则生成[J].模型计算机学报,2006,29(9):1523-1532.

猜你喜欢

入侵检测分类重要性
浅谈孕前优生健康检查的重要性
论变更管理对项目效益的重要性
按需分类
教你一招:数的分类
说说分类那些事
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于关联规则的计算机入侵检测方法
给塑料分分类吧
阅读经典著作的重要性