随着网络技术的飞速发展,信息共享和网络互连成为发展趋势。信息的共享增加了个体之间的信息交流,提高了生产率,但同时也使得个人、公司的私有信息,甚至国家机密面临严重的入侵威胁,各种安全问题时有发生。因此计算机信息安全日益为人们所关注。
传统上,信息安全研究包括针对特定的系统设计一定的安全策略,建立支持该策略的形式化安全模型,使用身份认证、访问控制、信息加密和数字签名等技术实现安全模型并使之成为针对各种入侵活动的防御屏障。然而近年来随着系统入侵行为程度和规模的加大,安全模型理论自身的局限以及实现中存在的漏洞逐渐暴露出来,这是信息系统复杂化后的必然结果。增强系统安全的一种行之有效的方法是采用一个比较容易实现的安全技术,同时使用辅助的安全系统,对可能存在的安全漏洞进行检查,入侵检测就是这样的技术。
1 入侵检测概述
入侵检测的研究最早可追溯到20世纪80年代,但受到重视和快速发展是在Internet兴起之后。早在1980年,J Anderson等人就提出了入侵检测的概念,对入侵行为进行了简单地划分,提出使用审计信息跟踪用户可疑行为。1985年, Denning在Oakland提出第一个实时入侵检测专家系统模型[1],以及实时的、基于统计量分析和用户行为轮廓(Profile)的入侵检测技术。该模型是入侵检测研究领域的里程碑,此后大量的入侵检测系统模型开始出现,很多都是基于Denning的统计量分析理论。进入90年代以后,随着Porras和Kemmerer基于状态转换分析的入侵检测技术[2]的提出和完善,根据已知攻击模型进行入侵检测的方法成为该领域研究的另一热点。
入侵就是指连续的相关系列恶意行为,这种恶意行为将造成对计算机系统或者计算机网络系统的安全威胁,包括非授权的信息访问、信息的窜改设置以及拒绝服务攻击等等。入侵检测是指对恶意行为进行诊断、识别并做出响应的过程。实施入侵检测的系统称为入侵检测系统(IDS)[3]。
衡量入侵检测系统的两个最基本指标为检测率和误报率,两者分别从正、反两方面表明检测系统的检测准确性。
实用的入侵检测系统应尽可能地提高系统的检测率而降低误报率,但在实际的检测系统中这两个指标存在一定的抵触,实现上需要综合考虑。除检测率和误报率外,在实际设计和实现具体的入侵检测系统时还应考虑操作方便性、抗攻击能力、系统开销大小、可扩展性、自适应能力、自学习能力以及实时性等[4]。
从系统组成上看,入侵检测一般由3个部分组成:数据采集、入侵检测、响应[5]。
数据采集模块根据入侵检测类型的不同,采集不同类型的数据,比如网络的数据包、操作系统的系统调用日志或者应用日志。数据采集模块往往会对采集到的信息进行预处理,包括对信息进行简单的过滤,输出格式化的信息。前者有助于消除冗余数据,提升系统的性能;后者可提升系统的互操作性。预处理后的信息一般都先存放到日志数据库中,再提交给分析引擎。分析引擎实现检测算法。从最简单的字符串匹配到复杂的专家系统甚至神经网络,分析引擎是入侵检测系统的核心,分析引擎最终判定一个行为是异常的还是正常的。检测策略包含了如何诊断入侵的配置信息、入侵的签名(也就是入侵的行为特征)。各种阈值也往往存放在检测策略中。状态信息包含了检测所需的动态信息,比如部分执行的入侵签名,当前发生在系统中的行为上下文等。分析引擎在做出行为的入侵判断后将判断的结果直接发给响应模块。响应模块然后根据响应策略中预定义的规则进行不同的响应处理。一般来说,可能的响应行为包括:发出报警,通知管理员。对恶意行为自动地采取反击措施,一方面可自动地重新配置目标系统,阻断入侵者;另一方面可以重新配置检测策略和数据采集策略,如可针对正在执行的特定行为采集更多的信息,对行为的性质进行更准确的判断。
2 入侵检测的分类
对于目前已有入侵检测的分类有多种方法,比较通用的方法有两种:一种是根据数据采集点的不同,将IDS分为基于主机的IDS和基于网络的IDS;另外一种就是根据检测所基于的原则不同,将入侵检测系统划分为异常检测IDS和误用检测IDS。
2.1 根据行为类别分类
2.1.1 异常检测IDS
异常检测,也称为基于行为的入侵检测,以系统、网络、用户或进程的正常行为建立轮廓模型(即正常行为模式),将与之偏离较大的行为解释成入侵。该方法基于如下的假设:入侵会引起用户或系统行为的异常。
异常检测方法具有检测系统中未知攻击的能力,由于新攻击方法总是不断出现,因此异常检测技术一直较受重视,产生了大量的异常检测技术。下面对其中的主要技术进行介绍和分析。
(1)统计分析
统计分析方法是异常检测的主要方法之一。该方法依据系统中特征变量的历史数据建立统计模型,并运用该模型对特征变量未来的取值进行预测和检测偏离。系统中的特征变量有用户登录失败次数、CPU和I/O利用率、文件访问数及访问出错率、网络连接数、击键频率、事件间的时间间隔等。
(a)均值与标准偏差模型以单个特征变量为检测对象,假定特征变量满足正态分布,根据该特征变量的历史数据统计出分布参数(均值、标准偏差),并依此设定信任区间。在检测过程中,若特征变量的取值超出信任区间,则认为发生异常。
(b)多元模型以多个特征变量为检测对象,分析多个特征变量间的相关性,是均值与标准偏差模型的扩展,不仅能检测到单个特征变量值的偏离,还能检测到特征变量间关系的偏离。
(c) Markov过程模型将每种类型的事件定义为系统的一个状态,用状态转换矩阵来表示状态的变化,若对应于所发生事件的状态转移概率较小,则该事件可能为异常事件。
(d) 时间序列模型。将事件计数与资源消耗根据时间排列成序列,如果某一新事件在相应时间发生的概率较低,则该事件可能为入侵。
以统计分析方法形成系统或用户的行为轮廓,实现简单,且在度量选择较好时(即系统或用户行为的变化会在相应的度量上产生显著的变化)能够可靠检测出入侵。该方法的缺点为:以系统或用户一段时间内的行为特征为检测对象,检测的时效性差,在检测到入侵时入侵可能已造成损害;度量的阈值难以确定;忽略了事件间的时序关系。
(2)基于数据挖掘的检测方法
数据挖掘是一种利用分析工具在大量数据中提取隐含在其中且潜在有用的信息和知识的过程。入侵检测过程也是利用所采集的大量数据信息,如主机系统日志、审计记录和网络数据包等,对其进行分析以发现入侵或异常的过程。因此,可利用数据挖掘技术,从大量数据中提取尽可能多的隐藏的安全信息,抽象出有利于比较和判断的特征模型(如基于异常检测的正常行为轮廓)。
数据挖掘算法有多种,运用到入侵检测中的主要有关联分析、序列分析和聚类分析3种,其中关联分析方法主要分析事件记录中数据项间隐含的关联关系,形成关联规则;序列分析方法主要分析事件记录间的相关性,形成事件记录的序列模式;聚类分析识别事件记录的内在特性,将事件记录分组以构成相似类,并导出事件记录的分布规律。在建立上述的关联规则、序列模式和相似类后,即可依此检测入侵或异常。
基于数据挖掘的检测方法建立在对所采集大量信息进行分析的基础之上,只能进行事后分析,即仅在入侵事件发生后才能检测到入侵的存在。
(3)其他检测方法
其他的异常检测方法有基于规则的方法、人工免疫法、基于机器学习的检测方法和基于神经网络的检测方法等。
异常检测的优点为:不需获取攻击特征,能检测未知攻击或已知攻击的变种,且能适应用户或系统等行为的变化。但异常检测具有如下的缺点:一般根据经验知识选取或不断调整阈值以满足系统要求,阈值难以设定;异常不一定由攻击引起,系统易将用户或系统的特殊行为(如出错处理等)判定为入侵,同时系统的检测准确性受阈值的影响,在阈值选取不当时,会产生较多的检测错误,造成检测错误率高;攻击者可逐渐修改用户或系统行为的轮廓模型,因而检测系统易被攻击者训练;无法识别攻击的类型,因而难以采取适当的措施阻止攻击的继续。
2.1.2 误用检测IDS
误用检测,也称为基于知识或基于签名的入侵检测。误用检测IDS根据已知攻击的知识建立攻击特征库,通过用户或系统行为与特征库中各种攻击模式的比较确定是否发生入侵。常用的误用检测技术主要有:
(1)基于专家系统的检测方法
专家系统是入侵检测中常用的一种检测方法,通过将有关入侵的知识转化为if-then结构的规则,前者为构成入侵的条件,后者为发现入侵后采取的响应措施。专家系统的优点为把系统的推理控制过程和问题的最终解答相分离,即用户不需要理解或干预专家系统内部的推理过程,只需把专家系统看作一个黑盒子。在将专家系统应用于入侵检测时,存在下列问题:缺乏处理序列数据的能力,即不能处理数据的前后相关性;性能取决于设计者的知识;只能检测已知的攻击模式;无法处理判断不确定性;规则库难以维护,更改规则时要考虑对规则库中其他规则的影响。
(2)基于状态转移分析的检测方法
状态转移分析方法运用状态转换图来表示和检测已知的攻击模式,即运用系统状态和状态转移表达式来描述已知的攻击模式,以有限状态机模型来表示入侵过程。入侵过程由一系列导致系统从初始状态转移到入侵状态的行为组成,其中初始状态为入侵发生前的系统状态,入侵状态表示入侵完成后系统所处的状态。
用于误用检测的状态转移分析引擎包括一组状态转移图,各自代表一种入侵或渗透模式。每当有新行为发生时,分析引擎检查所有的状态转移图,查看是否会导致系统的状态转移。如果新行为否定了当前状态的断言,分析引擎将状态转移图回溯到断言仍然成立的状态;如果新行为使系统状态转移到了入侵状态,状态转移信息就被发送到决策引擎,由决策引擎根据预定义的策略采取相应措施。
以状态转移分析方法表示的攻击检测过程只与系统状态的变化有关,而与攻击的过程无关。状态转移分析方法能检测到协同攻击和慢攻击;能在攻击行为尚未到达入侵状态时检测到该攻击行为,从而及时采取相应措施阻止攻击行为。状态转换图给出了保证攻击成功的特征行为的最小子集,能检测到具有相同入侵模式的不同表现形式。状态转移分析方法中状态对应的断言和特征行为需要手工编码,在用于复杂的入侵场景时会存在问题。
(3)其他检测方法
其他的误用检测方法有基于有色Petri(CP)-Net的误用检测及基于键盘监控的误用检测等。
误用检测的优点为:攻击检测的准确率高;能够识别攻击的类型。误用检测的缺点为:只能检测已知攻击;滞后于新出现的攻击,对于新的攻击,仅在其包含进攻击特征库后才能检测到;攻击特征库维护困难,新攻击出现后需由专家根据专业知识抽取攻击特征,不断更新攻击特征库;攻击者可通过修改攻击行为,使其与攻击特征库中的特征不相符,从而绕过检测。
误用检测和异常检测各有优缺点,具有一定的互补性。通常检测系统为提高入侵检测性能,将这两种技术结合以实现入侵检测。
2.2 根据数据采集源分类
2.2.1 基于主机的IDS
基于主机的入侵检测,也称为主机入侵检测,通过对主机系统状态、事件日志和审计记录进行监控以发现入侵。主机入侵检测系统保护的一般是所在的系统,利用的系统信息主要有:
(1)用户行为,如登录时间、击键频率、击键错误率、键入命令等。
(2)系统状态,如CPU利用率、内存使用率、I/O及硬盘使用率等。
(3)进程行为,如系统调用、CPU利用率、I/O操作等。
(4)网络事件,在网络栈处理通信数据之后应用层程序处理之前对通信数据进行解释。
主机入侵检测系统能检测内部授权人员的误用以及成功避开传统的系统保护方法而渗透到网络内部的入侵活动;具有操作系统及运行环境的信息,检测准确性较高;在检测到入侵后可与操作系统协同阻止入侵的继续,响应及时。
主机入侵检测系统的缺点为:与操作系统平台相关,可移植性差;需要在每个被检测主机上安装入侵检测系统,代价较高;难以检测针对网络的攻击,如消耗网络资源的DoS攻击、端口扫描等。
2.2.2 基于网络的IDS
基于网络的入侵检测(也称为网络入侵检测)监视网络段中的所有通信数据包,识别可疑的或包含攻击特征的活动。在广播网络中,可以将网卡设置为混杂模式,监控整个网络而不暴露自己的存在。基于网络的入侵检测能够利用网络数据中的许多特征,比如单个包的TCP/IP头、包的内容以及多个包的组合。网络型入侵检测系统担负着保护整个网段的任务。
基于网络的入侵检测系统有以下优点:对用户透明,隐蔽性好,使用简便,不容易遭受来自网络上的攻击;与被检测的系统平台无关;仅需较少的探测器;往往用独立的计算机完成检测工作,不会给运行关键业务的主机带来负载上的增加;攻击者不易转移证据。
基于网络的入侵检测系统的缺点为:无法检测到来自网络内部的攻击及网络内部的合法用户滥用系统;无法分析所传输的加密报文;在交换式网络中不能保证实用性;易被攻击者绕过;系统对所有的网络报文进行分析,增加了主机的负担,且易受DoS攻击;入侵响应的延迟较大。
3 入侵检测技术的发展方向
尽管近年来入侵检测技术取得了较快的发展,出现了很多新型的检测模型和检测算法,但要开发出成熟、实用的入侵检测系统,仍然有许多关键技术需要进一步研究、提高和改善。总的来看,入侵检测技术的发展方向集中在如下几个方面:
(1)大规模分布式的入侵检测系统以及异构系统之间的协作和数据共享。网络交换技术的发展以及通过加密信道的数据通信使通过共享网段侦听的网络数据采集方法难以应付自如,巨大的通信量对数据分析也提出了新的要求。基于分布式的多层次入侵检测系统可以很好地解决这个问题。结合分布式技术和网络技术,分布式网络环境下的入侵检测将成为未来研究的热点。
(2)入侵检测系统的自身保护。目前入侵检测面临自身安全性的挑战,一旦系统中的入侵检测部分被入侵者控制,整个系统的安全防线将面临崩溃的危险。如何防止入侵者对入侵检测系统功能的削弱乃至破坏的研究将在很长时间内持续下去。
(3)入侵检测与其他安全技术的结合。目前,信息安全受到前所未有的挑战,单一的安全技术很难保证系统的真正安全。与其他安全技术的结合将成为入侵检测技术未来的发展趋势之一。
4 结束语
入侵检测随着信息安全问题的日益突出越来越多地受到人们的关注,目前,已有多个原型系统和商用的IDS出现。尽管目前在入侵检测领域还有很多问题需要深入研究,但可以展望,入侵检测技术的发展将对信息的安全保护产生深远的影响。
5 参考文献
[1] Denning D. Requirements and Model for IDES: A Real-time Intrusion Detection Expert System [C]. Technical Report, CSL, SRI Int, 1985.
[2] Porras P, Kemmerer R. Penetration State Transition Analysis: A Rule-Based Intrusion Detection Approach [C]. In: Proceedings of the 8th Annual Computer Security Applications Conference, San Antonio, Texas, 1992.
[3] Rebecca Bace, Peter Mell. NIST Special Publication on Intrusion Detection Systems [EB/OL]. http://cSRC.nist.gov/publications/nistpubs/800-31/sp800-31.pdf, 2001.
[4] Eugene H Spafford, Dieego Zamboni. Intrusion Detection using Autonomous Agents [J]. Computer Networks, 2000,34(4):547—570.
[5] Common Intrusion Detection Framework Specification [EB/OL]. http://www.gidas.org/, 2000.
收稿日期:2004-03-29
[摘要] 入侵检测技术是一种主动防御型安全技术,可以弥补传统安全技术的不足。文章对入侵检测技术进行了归类,介绍了两种通用的入侵检测方法:一种是根据数据采集点的不同,将IDS分为基于主机的IDS和基于网络的IDS;另外一种是根据检测所基于的原则不同,将入侵检测系统划分为异常检测IDS和误用检测IDS。文章还对入侵检测技术的未来发展方向进行了讨论。
[关键词] 入侵检测系统;异常检测;误用检测
[Abstract] As an active security defense technology, intrusion detection makes up for the weaknesses of traditional security technologies. In the paper, it is generally classified into two categories. Based on different data collection locations, intrusion detection systems (IDS) can be classified into network based IDS and host based IDS; and based on different detection principles, it can be classified into anomaly detection IDS and misuse detection IDS. Finally, the development trends of intrusion detection technology are forecasted.
[Keywords] IDS; anomaly detection; misuse detection