入侵检测技术研究综述
2020-08-11张桥卜佑军胡静萍张稣荣
◆张桥 卜佑军 胡静萍 张稣荣
(1.中国人民解放军战略支援部队信息工程大学 河南 450002;2.郑州大学中原网络安全研究院 河南450001)
信息网络的快速发展为人们的工作和生活提供了很大的便利。但与此同时,网络中大规模的攻击、入侵行为也越来越多,如何维护网络的安全成为一大难题。传统的安全防护手段如防火墙、信息加密等已经满足不了当前的需求。入侵检测作为一项重要的动态安全防护手段应运而生,有效地填补了之前安全防护技术的不足之处,开启了防火墙之后的第2道防火线,入侵检测技术已成为一个重要的课题。
1 入侵检测的概念和模型
1.1 概念[1]
JnamesP.Aderson早在20世纪80年代初期就给出了入侵的定义:入侵是指未经授权而企图读取、修改系统信息,使系统不再牢靠甚至不能运行[1]。Heady将入侵定义为企图毁坏信息的完整性、机密性及可用性的行为[2]。Smaha[3]则站在分类的角度指出入侵的6种类型:(1)试图闯入;(2)伪装攻击;(3)安全控制;(4)系统渗透;(5)拒绝服务;(6)恶意使用。入侵检测是对入侵行为的发觉,通过采集、分析网络或系统中的一些重要节点的信息,来发觉系统中违背安全计策的活动和被攻击的痕迹。
1.2 模型
D.E.Denning[4]在1986年给出了入侵检测的基础模型,该模型主要由主体、对象、审计记录、行为轮廓、异常记录、活动规则6个部分组成。如图1所示,此模型主要是依据审计数据形成系统的行为轮廓,并依据轮廓变动的差距来发觉入侵。
图1入侵检测模型
因不同的入侵检测系统(IDS)具有差异性,两个不同的入侵检测系统的模块无法进行通信和数据共享,且不能在同一台主机上并存,若要考证或改善某一部分的功能就必须从头构建整个IDS,而无法使用现有的系统和构件。为了解决IDS之间无法相互通信和并存的难题,Chen[5]等给出了一个公用的模型CIDF(common intrusion detection framework)。该通用模型将IDS分为事件产生器(event generators)、事件分析器(event analyzers)、响应单元(response units)、事件数据库(event databases)4个部分,如图2所示。其中,IDS需要分析的数据统称为事件;event generators从计算环境中收集事件,并将这些事件转换成由CISL(common intrusion specification language)定义的通用格式GIDO(generalized intrusion detection objects)传送给其他组件;event analyzers解析收到的GIDO并生成分析结果;response units根据得到的分析结果采用一定的措施,比如报警处理等;event databases用于储存GIDO的中间或最终结果。
图2 CIDF模型
2 入侵检测技术
入侵检测技术分为两类:异常入侵检测(anomaly detection)和误用异常检测(misuse detection)。异常入侵检测亦称基于行为或活动的入侵检测,它的条件是对象的正常行为和异常行为,这是可区分的、有明显差别的。异常检测首先为对象的正常行为创立行为轮廓,当检测到与其相差程度大的行为时,即视为入侵。异常检测具有检测系统中未知攻击的能力,但其困难之处在于怎样描述正常行为的轮廓模型和确定异常的基准值,所以误报率较高。误用入侵检测亦称为基于规则的检测,它的条件是所有的入侵都能够被表达为模式或特征,若判定审计数据中出现了这些被定义好的模式则将其视为入侵。误用入侵检测主要在于如何表示入侵的特征以准确无误地区分入侵行为和正常行为,该方法的亮点是能够明确地标出入侵的类型,且拥有较低的误报率和较高的正确率。不足之处是该方法的漏报率高,因为它只能发现已有的攻击,对系统中的未知攻击却束手无策;实时更新与维护特征库也比较困难。异常入侵检测和误用入侵检测这两种检测各有其优点和不足之处,因此,在实际使用中往往联合使用这两种方法。
2.1 异常入侵检测
2.1.1 基于神经网络的异常入侵检测
神经网络是一种模拟大脑神经元连接特征、呈层次结构的数学模型。每层包括不同数目的神经元,神经元间通过加权的连接相互作用。通过调整神经元间的权重使神经网络具有学习、自适应能力,且大量神经元的互连结构与连接权值的分布使神经网络有较好的容错处理能力。因此,神经网络能够很好地适用于入侵检测技术。
Debar等人[6]于1992年首次将神经网络应用到入侵检测中,自此,应用神经网络的入侵检测技术逐渐兴起。文献[7]中,吴峻给出一种基础的检测模型,该模型基于BP神经网络及特征选择能够高效地对攻击模式进行学习,可以有效地识别各种入侵。文献[8]中,作者通过限制玻尔兹曼机对检测模型结构进行降维,使用BP网络获取数据的最优表示,利用支持“向量机”检测网络入侵,为入侵检测提供了一种新的思路。文献[9]中,Staudemeyer首次将LSTM(Long Short Term Memory network)应用于入侵检测,将KDD99数据集上的41个特征输入到LSTM构建的入侵检测模型中,判断是否为入侵。文献[10]中,Kim等也使用LSTM在KDD99数据集上进行了入侵检测实验,获得了较高的准确率。Kim等人[11]首先使用多个LSTM建立系统调用的语言模型,然后组合LSTM,通过求由LSTM得出的异常值的均值来判断是否发生了入侵。文献[12]中,Wang等人将CNN(Convolutional Neural Networks)用于入侵检测模型,首先通过将字节转换为像素的方式将流量转换为图片,再将图片输入到CNN中进行训练与分类。使用私有数据集进行测试实验结果显示,该模型的二分类和多分类的检测准确率高达100%和99.17%。
目前利用神经网络来检测入侵工作的基本上都是使用KDD99等现有的数据集进行特征学习,然而这些特征不足以概括数据的全部特点,将来可以考虑从原始数据的特征入手来训练神经网络,提升其检测能力。另外,神经网络训练时间普遍较长,如何在保证检测准确率的前提下更加高效地训练神经网络是目前的一个难点。
2.1.2 基于模式预测的异常入侵检测
该方法的前提是假定事件的序列符合某种特定的模式,而不是任意的。Teng和Chen提出了一种基于时间的推断方法,利用时间规则来描述对象的正常行为模式所具有的特征,依据已发生事件对未来事件进行预测[13]。规则通过观察用户行为归纳、学习产生,包括已发生事件和右侧随后发生事件。如果已发生的事件序列符合左侧规则,而随后发生的事件明显与根据规则预测到的事件偏差较大,那么系统就可以依据这种偏差来发现异常,判定入侵行为的发生。此方法对用户复杂多变的行为有良好的适应性,具有较强的时序模式,且容易发现试图训练系统的入侵行为,但该方法无法检测用户行为不在规则库的入侵。
2.1.3 基于数据挖掘的异常入侵检测
异常入侵检测实质上是对审计数据的处理,目的在于建立系统或用户正常行为的模式,利用这些模式对当前的系统或用户行为进行比较,通过判断两者的偏离程度来检测入侵。如何从大量的审计数据中提取具有代表性的行为特征对行为进行描述是异常入侵检测的关键,但数量庞大的审计记录若唯独依靠人工察觉其中的异常现象及记录之间的相互关系是很困难的。针对此问题,Lee和Stolfo等把数据挖掘融入入侵检测中,从大量的审计数据中获取有价值的知识,这些知识被表现为概念,规则,模式等形式[14-16]。该方法能够处理数量庞大的数据并能对数据进行关联、解析,但实时入侵检测效果不理想。
2.1.4 基于文本分类的异常入侵检测
Liao和Vemuri给出了基于文本分类的异常入侵检测方法,该方法的思想是将系统中的调用看成“文档中的字”,系统调用的集合就产生了一个“文档”[17]。然后对每个文档采用K-nearest neighbor算法,依据文档的相像程度来检测系统中有异常的调用,进而发觉入侵。
2.2 误用入侵检测
2.2.1 基于专家系统的误用入侵检测
该方法把安全专家的经验表达为if-then形式的规则知识库,利用推理方法来发觉攻击行为,主要针对对象是有特征的攻击行为。该方法的显著特点是从问题解决的描述中分离出了系统的控制推理,将输入的信息放到if-then语法环境中,if中的内容表示攻击特征,then中的内容表示系统采用的响应手段。当if判定为真时,专家系统就能判定有入侵活动出现,并做出响应。
专家系统的不足之处是不能处理不确定性;不能处理连续有序的数据;另外专家系统的有效性取决于知识库的完整性,但在复杂多变的网络环境中建立和维护完整的知识库往往是不可能的,且在审计记录中获取状态行为与语言环境也是比较困难的。
2.2.2 基于状态迁移的误用入侵检测
该方法是以“状况图”表示攻击特征,系统不同时刻的特征对应状况图中的不同形态。入侵开始前的系统状况对应于初始形态,入侵成功时的系统状况对应于入侵形态。状态迁移分析将入侵定义为:入侵是由从系统的初始形态到入侵形态的一连串活动构成,攻击者实施一系列动作,使系统状态从初始状态迁移到入侵状态。文献[18-19]中IDS就采用了状态迁移分析法。
2.2.3 基于键盘监控的误用入侵检测
该方法是假定入侵活动与某种确定的击键序列模式相对应,通过监控对象的击键模式并把该模式和入侵模式进行对比来发觉入侵行为。该方法对操作系统有较大的依赖性,若缺少操作系统的支持,则难以获取用户的击键序列模式,另外也存在相同攻击对应多种击键方式的情况,用户可以通过使用别名的方式代替此检测技术。
2.2.4 基于条件概率的误用入侵检测
该方法是将入侵方式与事件序列相对应,依据观察到的事件发生状况来判断是否有入侵行为发生。若令ES表示事件序列,p(Intrusion)是先验概率,p(ES|Intrusion)是后验概率,p(ES)是事件出现的概率。则
其中,p(Intrusion)一般由相关专家给出,p(ES|Intrusion)和p(ES|¬Intrusion)由入侵报告数据计算得出。于是可以得到
通过观测事件序列推算出p(Intrusion|ES)。该检测方法基于概率论,其缺点是p(Intrusion)难以给出,且事件难以满足独立性这一前提条件。
3 入侵检测系统的体系结构
3.1 集中式结构
集中式结构(Centralized Architecture)包括单机集中式和网络集中式。这两种结构中,分析数据的任务都聚集在一台主机上完成,因此更方便全局性的检测和决策且简化了安全管理工作。但其缺点也比较明显,因数据分析工作都在一台主机上完成,网络主机的性能会成为网络安全的瓶颈。
3.2 分布式结构
分布式结构(Hierarchical Architecture)包括层次式结构和协同式结构。层次式结构在逻辑上是一个树形的分层结构,该结构底层的叶节点负责信息采集,并进行进一步的集成、抽取、简化数据等预处理工作,然后把信息传送给中间层父节点,父节点根据叶节点的输出信息作进一步的关联分析、判断,然后输出结果。最高层作为一个管理控制平台,负责整体管理和协调。层次式结构的特点是可以通过从底层向高层精简信息和高层向低层简化控制的方式获取较好的通信效果,但它的不足之处也比较明显:根节点是系统安全的瓶颈;高层节点对低层节点具有依靠性,某个节点的失效就会影响上下层节点的协同检测能力。
分布式结构由分布在若干主机或子网中的若干相互平等的检测节点组成。每个检测节点可以根据自身所处的环境形成独有的决策规则,节点之间也可以相互协作,协同处理大规模的入侵行为。该结构优点是单个或部分节点受攻击或其他原因失效时对入侵检测功能整体没有明显的影响;检测节点之间能够互相检验和监督,从而获取良好的可靠性;当网络规模扩大时,只需加入新的检测节点,其他节点不需要做任何变动,可扩展性好。
4 入侵检测发展趋势
4.1 入侵检测系统的标准化
即使IDS经历了多年的发展,且近年来因与机器学习等新技术的结合又在网络与信息安全领域受到广泛的关注,但到目前为止依旧没有一个被研究人员广泛认可的国际标准。目前,只有CIDF和IDWG两个组织在进行IDS的标准化工作,从体系结构、通信机制、消息格式等各方面进行IDS规范化,但进展缓慢,尚没有出现被广泛接受的标准。因此下一代IDS的方向是拥有标准的接口。
4.2 入侵检测系统的高效智能化
目前,黑客攻击技术层出不穷,检测技术难以跟上攻击技术的更新速度,且入侵方式多变,信息加密等都能给检测带来很大的困难,所以对入侵进行高效率的检测也是IDS的研究热点。另外,尽管与神经网络、数据挖掘等技术相结合的入侵检测方法越来越多,但大都不够成熟,仍需在IDS的智能化方面深入的研究。
4.3 入侵检测系统的评测方法
面对功能越来越复杂的IDS,用户需对IDS资源占用,以及自身抗攻击性、可靠性、适应性、准确性进行评价。设计公用的IDS测试方法和测试平台实现对IDS的检测亦是IDS的另一重要研究方向。
4.4 与其他网络安全技术相结合
IDS的功能主要是能够发现入侵行为并进行简单的报警处理,但不能及时阻止攻击如切断网络连接等,这对一个功能完善的安全系统是远远不够的。因此为解决实际网络安全需求需将IDS与弱点分析,防火墙,应急响应等系统相融合,以形成一个全方位的安全保障系统。
5 结束语
本文简单介绍了入侵检测的基本概念和模型,并讨论了基于异常和基于误用的入侵检测方法,最后概括总结了入侵检测系统的体系结构及发展趋势。