入侵检测系统的分析技术研究
2009-09-30龚民,孙建华,朱秀兰
龚民,孙建华,朱秀兰
提要:入侵检测系统是继“防火墙”、“信息加密”等传统安全保护方法之后的新一代安全保障技术。在介绍入侵检测系统的基础上,对入侵检测分析技术做了比较详细的分析及概括,介绍分析了传统入侵分析技术的特点和不足,重点对目前IDS产品中广泛使用的特征分析技术进行了研究。
关键词:入侵检测系统;模型;智能化方法
中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)34-9673-03
Research of Anlysis Technque in Intrusion Detection System
GONG Min1,2, SUN Jian-hua1, ZHU Xiu-lan2
(1.School of Computer and Communications, Hunan University,Changsha 410082, China; 2.Changsha Electric Power Technical College, Changsha 410131, China)
Abstract: Intrusion Detection System is a new safeguard technique for system security after traditional techniques, such as "firewall", "message encryption" and so on. Based on the introducing the intrusion detection system, analyzed the characteristic and weak point of traditional intrusion analysis techniques, and emphasis widely used in commercialized IDS on Signatures-Based analysis technique which production.
Key words: intrusion detection system; model; model of intelligentize
随着互联网的飞速发展,网络攻击和入侵事件与日俱增,攻击工具与手段日趋复杂多样,曾经作为最主要的安全防范手段的防火墙,己经不能满足人们对网络安全的需求。特别是近几年,政府部门、军事机构、金融机构及各类企业的计算机网络频遭黑客袭击,攻击者可以轻易地对那些没有安全保护的网络进行攻击和入侵,如进行拒绝服务攻击、从事非授权的访问、肆意窃取和篡改重要的数据信息、安装后门监听程序以便随时获得内部信息、传播计算机病毒、摧毁主机等等。攻击和入侵事件给个人用户和机构、企业带来了巨大的经济损失和形象损害,甚至直接威胁到国家的安全。
入侵检测系统(IDS)作为一种动态的安全防御系统,它与传统的静态防御系统最大不同的是,IDS主动去发现入侵攻击行为,使系统防患于未燃。如果把防火墙看成是一座城墙,则IDS就如同城墙上的哨兵。IDS扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。同时,入侵检测系统能在不影响网络性能的情况下对网络进行监听,从而提供对内部攻击、外部攻击和误操作的实时保护。
入侵检测系统的目的是要在入侵攻击对系统发生危害前,检测到入侵攻击,并利用报警与防护系统来对抗入侵攻击,尽可能地减少入侵攻击所造成的不期望损失。目前对入侵检测系统的主要任务功能的界定主要有:
1) 监视、分析网络及系统、用户等活动;
2) 系统构造和弱点的审计;
3) 识别反映己知进攻的活动模式并向相关人员报警;
4) 异常行为模式的统计分析;
5) 评估重要系统和数据文件的完整性;
6) 操作系统的审计跟踪管理,并识别用户违反安全策略的行为。
1 入侵检测系统的数据来源
任何入侵攻击方法,不管多么高明,总会留下入侵痕迹,入侵检测系统可以收集目标系统中的各项数据和信息。入侵分析技术就是要针对这些可疑的痕迹进行分析判断,发现潜在的和已经发生的入侵。因此,入侵分析是决定整个入侵检测系统性能的关键因素。
入侵分析所依据和参考的信息一般可以分为以下四个方面:
1) 系统和网络日志文件
充分利用系统和网络日志文件信息是检测入侵的必要条件。日志文件中记录了各种行为类型,每种类型又包含不同的信息,例如记录“用户活动”类型的日志,就包含登录、用户ID改变、用户对文件的访间、授权和认证信息等内容。日志中记录了发生在系统和网络上的不寻常和不期望活动,这些记录证据能表明有人正在入侵或己成功入侵了系统。
2) 目录和文件的不期望的改变
网络环境中的文件系统包含很多软件和数据文件,包含重要信息的文件和私有数据文件经常是黑客修改或破坏的目标。目录和文件中的不期望的改变(包括修改、创建和删除),特别是那些正常情况下限制访问的,很可能就是一种入侵产生的指示和信号。黑客经常替换、修改和破坏他们获得访问权的系统上的文件,同时为了隐藏系统中他们的表现及活动痕迹,都会尽力去替换系统程序或修改系统日志文件。
3) 程序执行中的不期望行为
网络系统上的程序执行一般包括操作系统、网络服务、用户使用的程序和特定目的的应用。每个在系统上执行的程序由一到多个进程来实现,每个进程执行在具有不同权限的环境中,这种环境控制着进程可访问的系统资源、程序和数据文件等。一个进程的执行行为由它运行时执行的操作来表现,操作执行的方式不同,它利用的系统资源也就不同。操作包括计算、文件传输、设备和其它进程,以及与网络间其它进程的通讯。一个进程出现了不期望的行为可能表明黑客正在入侵系统。黑客可能会将程序或服务的运行分解,从而导致它失败,或者是以非用户或管理员意图的方式操作。
4) 物理形式的入侵信息
这包括两个方面的内容,一是未授权的对网络硬件连接;二是对物理资源的未授权访问。
上述四类收集到的有关系统、网络、数据及用户活动的状态和行为等信息,都会包含有入侵攻击的所留下的痕迹,这些信息将是进行入侵分析的依据。
2 入侵分析技术
基于各种入侵攻击,产生了以下一些传统入侵分析技术以抵制入侵行为:
1) 特征分析技术
特征分析技术最早应用在基于网络的入侵检测系统中,其基本原理是:根据己知的入侵攻击特征,提炼出入侵特征串,如异常的网络命令或敏感词等,在输入的网络数据流中进行简单的模式匹配,在预先定义的入侵特征库中查找这些入侵特征串,以发现可能的攻击行为,这种检测技术的性能关键在于高效的模式匹配算法。特征分析技术只是将网络中的数据包看成是数据流,没有考虑网络数据包中所包含的协议格式化信息。因此,特征分析技术往往和协议分析技术相互结合,以提高匹配的效率。但是在高速网络的环境下,面临大量数据包和庞大的特征库的情况下,系统性能会大大下降。
2) 协议分析技术
协议分析技术的依据是网络数据的传输是严格遵循TCP/IP协议的,网络数据包是严格定义格式的数据流,协议分析技术将输入的数据包按照各层协议报文封装的方向顺序层层解析出来,然后对各层解析的结果进行分析。协议分析技术的重点操作内容就是检查数据包中各协议字段值是否符合网络协议定义的期望值或在合理的范围之内。利用预先定义好的关于协议字段的期望值和合理值的知识,来判断是否存在入侵行为。目前在网络入侵检测中,较为普遍的方式是在协议分析的基础上,进行入侵特征的匹配。这两种技术融合在一起,能很好地取长补短。
3) 统计模型分析技术
统计分析使用概率统计理论作为工具,一般应用在异常检测方法上,用以确定正常行为的轮廓,区分出那些是可能的入侵行为。统计分析的关键一是选择合理的统计参数,一是建立科学有效的统计模型。比较具有代表性的统计模型如:
① 操作模型,该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到。举例来说,在短时间内的多次失败的登录很有可能是口令尝试攻击;
② 方差模型,计算参数的方差,设定其置信区间,当测量值超过置信区间的范围时表明有可能是异常;
③ 马尔科夫过程模型,将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化,当一个事件发生时,或状态矩阵该转移的概率较小则可能是异常事件。
统计方法的优点是它可以通过建立的统计模型来发现未知的入侵攻击方法,统计方法还可以利用机器学习的技术来不断地学习,使模型更加合理有效。但是它的学习能力也给入侵者以机会,通过逐步“训练”使入侵事件符合正常操作的统计规律,从而使模型失去判断入侵的能力。此外,建立一个好的统计模型需要大量的统计数据和相关处理,统计模型的好坏直接影响到检测的漏报、误报率及准确性。由于统计模型所能表达的事件范围很有限,虽然统计分析技术能发现未知的入侵行为,但是误报率高是这种技术的主要缺点。
4) 完整性分析
完整性检测方法是网络安全产品中常用的手段之一。完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容及属性,对于被更改的和被特洛伊化的文件及应用程序方面特别有效。完整性分析利用强有力的加密机制,称为消息摘要函数,它能识别文件及应用程序中极其微小的变化。完整性分析优点是,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。完整性分析一般以批处理方式实现,用于事后分析而不用于实时响应。
5) 专家系统
专家系统建立在入侵知识库的基础上,专家系统根据所获得的事实和已知的入侵规则进行推导来判断入侵行为。对入侵攻击的特征抽取与表达,是专家系统的关键。专家系统一般采用if—then的产生式规则,在系统实现中,将有关入侵的知识转化为if—then结构,if部分为某种入侵的若干关键特征,当这些关键特征满足后则由then部分给出相应的结论。专家系统重点是专家知识库的构建,运用专家系统检测入侵行为的有效性完全取决于专家系统知识库的完备性,知识库的构建与领域专家的水平密切相关,知识库的完备性又取决于审计记录的完备性与实时性,建立完备的入侵知识库对于大型的网络系统而言是很难实现的。当知识库异常庞大时,专家系统就会存在运行效率下降的问题,同时知识库的动态更新也是专家系统的一个技术难点。
由于传统的入侵检测技术存在虚报警率高,缺乏检测已知攻击的变形和新攻击方法,以及扩展性和自适应性差的不足。目前,研究人员又将许多智能化方法引入侵分析技术领域,试图解决传统检测技术存在的诸多问题。智能化方法包括有:
(1) 数据挖掘技术
入侵检测系统要准确有效地发现入侵行为,必然需要分析大量的数据,如果无法快速有效地对数据进行提取和筛选,系统的检测性能将会受到严重的影响。数据挖掘又称为知识发现技术,主要是从海量数据中寻找出有用的知识的过程,它是一种主动知识发现技术,其目标就是采用各种特定的算法在海量的数据中发现有用的可理解的数据模式。利用数据挖掘技术,能够有效地分析收集到的网络和主机数据,并从中提取出入侵行为特征,归纳出相应的检测模型以检测分析同类的攻击行为。在入侵检测领域中,常用的数据挖掘算法有:
a) 分类算法,目标是将特定的数据项归入预先定义好的某个类别中。主要实现途径是,通过大量训练数据并结合特定的分类算法生成相应的“分类器”,利用“分类器”达到将数据分类的目的;
b) 关联分析算法,用于发现数据间的关联特性,数据的关联性是区分数据的重要依据;
c) 序列分析算法,通过对序列模式的的发掘和分析,能够为检测模型提供有效的入侵分析特性。此外还有聚类分析,演进分析等。
(2) 数据融合技术
在大规模的网络环境下,要有效地检测到入侵行为以及评估整个网络的安全性能,需要大量收集各种不同数据源的信息作为检测的依据。但是,来自各种来源的大量泛滥的数据、系统消息等由于处理速度的关系,都无法得到及时有效的处理。在这种情况下不仅无助于解决问题,反而浪费和降低系统的处理能力和检测性能。数据融合技术能把各种数据和信息,如网络数据包、系统日志文件、系统消息、操作命令等综合在一起,综合成一个统一的处理进程,高效处理各种信息资源。数据融合技术在入侵检测领域还需要做很多工作,如何开发出通用的结构化“元语言”来描述入侵检测和网络管理的对象,以及对网络攻击行为的检测技术,还有将多传感器数据融合理论应用到实际IDS系统中的相关问题等都是值得进一步研究的。
(3) 遗传算法
遗传算法是对生物界“优胜劣汰,适者生存”的自然规律的模拟,它具有很好的学习功能,可以对己有规则进行优化和求精,也能挖掘出新的规则。利用遗传算法可以对入侵知识库进行维护更新,优化知识库结构。在入侵检测中应用遗传算法,首先要对可能出现的检测结果进行编码,生成染色体,再利用定义的适应性函数对这些染色体进行选取,产生初始种群,然后对染色体执行遗传操作(复制,变异,重组),经过种群的若干代遗传操作直至得到预期的结果。遗传算法是解决组合和优化问题的有效方法,不需要对目标有精确的了解,能够处理大量带有噪声和无关数据的变化事件。其不足之处在于,染色体编码没有一致的规范性,染色体选择,初始种群选取的困难,此外,遗传算法在理论上还存在收敛性问题。
(4) 神经网络技术
神经网络是模拟人脑加工,存储和处理信息机制而提出的一种智能化信息处理技术。神经网络对网络中模糊、不完整的输入信息有一定的容错处理能力,同时,神经网络还具有高度学习和自适应能力。神经网络是由大量基本的计算单元(神经元)相互连接构成的一个分布式网状结构,它通过对神经元的调节来进行学习。神经网络的学习过程一般为:
a) 网络构造和训练,在训练中不断调整网络的权值;
b) 网络修剪,删除多余的隐含层节点和节点之间的联结;
c) 从网络中提取分类规则。
目前,由于神经网络的学习能力是有限的,面对网络环境的存在大量的攻击特征,如何有效识别这些入侵攻击特征是神经网络技术需要解决的问题,在计算速度上,当前的计算机体系结构无法真正实现神经网络的并行计算潜能,此外,神经网络对于判定出的结果不能给出确定性的判定步骤。
(5) 计算机免疫学技术
计算机免疫技术是直接受到生物免疫机制的启发而产生的,S.Forest等人在将计算机安全与生物免疫学进行类比研究后,最早提出了计算机免疫学的概念,并将其应用到了入侵检测的研究领域。生物免疫系统具有健壮性、记忆能力、容错能力、动态稳定性以及异常检测等良好特性,这些特性与一个高性能的网络IDS有很大的相似性。生物免疫系统的主要目的是识别“本体”和“异体”,它是通过抗体和抗原的结合来实现的,如何模拟基因库更新、否定选择、克隆选择等抗体生成过程建立入侵检测器是建立基于人工免疫原理的IDS的关键。例如,计算机免疫系统可以按照系统调用序列来划分正常和异常行为,建立应用程序模型,比较模型与所观测到的事件就可以分出正常与可疑的行为。基于人工免疫的IDS在实现异常检测方面具有很大潜力,不足之处在于完善基于人工免疫的模型还有困难。需进一步找到合适的否定选择算法和克隆选择算法,需要获取足够多的能代表系统行为的正常数据样本等。
除了上述的各项智能检测技术以外,还有粗糙集理论、模糊集理论等智能检测技术。同时,上述智能检测技术又可以取长补短,相互结合。
3 入侵检测系统的评价
在很大程度上IDS也是一个软件系统,从软件工程的角度就肯定存在IDS的软件评价这一重要问题,评价指标包括IDS复杂性、可用性、可靠性、鲁棒性等,从而设计通用的入侵检测测试与评估方法和平台,实现对不同IDS的有效评价已成为当前IDS的另一重要研究与发展领域。
4 小结
入侵检测技术是近年来迅速发展的系统安全技术,虽然尚末成熟,但己经充分证明了其在信息安全领域的应用价值。入侵检测系统是一个既能运用静态防御又能进行动态防御的系统,能够帮助网络系统快速发现入侵攻击行为,是防火墙技术的合理补充。IDS的前景充满希望和挑战,必将吸引国内越来越多的安全技术工作者投身其中,推动我国IDS理论研究与产品开发水平的提高与发展。目前,IDS技术还处在发展中,许多新的方法和技术不断被提出和研究,随着IDS技术的逐渐发展和成熟,IDS在整个安全部署中的重要性将会被广泛认可和接受。
参考文献:
[1] Rebecca Gurley Bace.入侵检测[M].陈明奇,吴秋新,译.北京:人民邮电出版社,2001.
[2] 李镇江,戴英侠,陈越.IDS入侵检测系统研究[J].计算机工程,2001,4:7-9.
[3] 胡昌振.网络入侵检测原理与技术[M].北京:北京理工大学出版社,2006.
[4] 蒋建春,冯登国.网络入侵检测原理与技术[M].北京:国防工业出版社,2001.
[5] 兰景英,王永恒,朱培栋.入侵检测系统分析及改进[J].计算机应用,2007.