5.2.3 入侵检测技术
随着互联网技术的飞速发展,网络系统的结构越来越复杂,越来越多的传统行业开始与互联网应用相结合,推出了许多便捷、经济、全面的优质服务。计算机网络的安全也日益重要和复杂,成为人们关注的一个热点。同时,消费者的消费行为也发生着质的改变,由实体货币支付开始向虚拟货币、移动支付等电子货币支付的方向转移。电子商务、电子银行和电子支付的兴起在提升消费者购物体验的同时,其安全性也受到了严峻的挑战,仅依靠传统的防火墙策略已经远远无法维护系统的安全了。
近年来有关网络空间安全的事件屡见不鲜。2013年的“棱镜”事件开始让众多互联网用户感受到了来自网络空间的安全威胁。自2007年起,美国国家安全局(NSA,National Security Agency)和联邦调查局(FBI,Federal Bureau of Investigation)启动了一项代号“棱镜计划(PRISM)”的电子监控项目,在长达6年的时间内,悄无声息地对全球大量的企业、学校、政府等机构的网络服务器进行入侵,包括直接进入美国互联网中心服务器进行数据的窃取与收集,入侵其他国家的网络服务器,甚至是终端设备,以进行情报的搜集。2014年1月,国内顶级域名服务器遭到入侵,服务出现异常,导致大面积的DNS解析故障。由此引发的网页无法打开或是浏览网页异常卡顿现象持续了数小时,对广大互联网用户造成了巨大的不便与损失。2014年3月,携程公司被爆出存在安全支付日志漏洞事件。安全人员发现入侵者可以通过下载携程公司的支付日志,从而获取用户的敏感信息,包括用户姓名、银行卡账号等。为了解决网络入侵行为所导致的数据泄密、服务终止等问题,入侵检测技术与配套系统开始应用在互联网之中。
入侵检测技术作为一种积极主动的网络安全防御措施,不仅能够提供对内部攻击、外部攻击以及误操作的实时保护,有效地弥补防火墙的不足,还能结合其他网络安全产品,在网络系统受到威胁之前对入侵行为做出实时反应。随着网络攻防技术向复杂化、持续化、高威胁化等方向的转变,入侵检测技术也在不断地发展与创新。
1.入侵检测模型发展
首个入侵检测模型是1987年由Dorothy E Denning提出的。在之后的发展中,入侵检测系统(IDS)的研究者在设计检测模型时常引用Denning模型,该模型基于主机的主体Profile、系统对象、审计日志、异常记录和活动规则。一般的入侵检测结构是指基于规则的模式匹配系统,通过跟踪应对主体Profile来检测基于登录、程序执行和文件存取的计算机误用行为。
以往常用的许多基于主机的IDS通常采用的是主体异常模型,例如入侵检测专家系统(IDES)、下一代网络入侵检测专家系统(NIDES)、Wisdom&Sense(W&S)、Haystack以及网络异常检测和入侵报告(NADIR)等。随着其他技术的引入,出现了基于数据挖掘模型的IDS,以及基于神经网络模型的IDS。这些模型的基本思想包括:使用带有权重的函数来检测背离正常模式的差异;使用协方差矩阵对正常使用状况进行剖面分析;使用基于规则的专家系统检测安全事件等。
在IDS模型后续发展过程中,出现了基于分布式的检测模型,带有网络安全监视(Network Security Monitor)框架的基于以太网的流量分析,结合了基于主机的IDS和网络流量监视的分布式入侵检测系统(DIDS)模型。当今的商用IDS,如RealSeoae和计算机误用检测系统(CMDS),都具有分布式的结构,使用的是基于规则的检测或者统计异常的检测,或兼而有之。SRI公司设计的EMERALD发展了入侵检测的分布式结构,在主机上配置了服务监视部件。总之,虽然有众多的模型出现,但到目前为止,入侵检测系统还缺乏相应的标准,各种入侵检测的框架都没有一种统一的衡量标准。
2.入侵检测系统的分类
根据不同的角度,入侵检测系统主要有以下分类方式,如图5.4所示。
图5.4 入侵检测系统的分类框架
(1)基于检测方法的分类
入侵检测系统根据采用的检测方法可以分为基于异常的入侵检测和基于误用的入侵检测两类。基于异常的入侵检测又叫基于行为或基于统计的入侵检测,它是通过预先定义一组系统“正常”的数据值(如CPU和内存的利用率等),然后根据系统运行时的数据值和已经定义好的“正常”数据值进行比较,最后得出是否有被攻击的迹象。基于误用的入侵检测又叫基于知识或基于特征的入侵检测,它从已有的各类攻击中提取出攻击的模式特征,形成规则库。任何与规则库中的模式相一致的都被认为是入侵行为。这种检测方法误报率低,但只能检测已有的攻击,存在一定的漏报率。
(2)基于数据源的分类
入侵检测系统根据数据源可以分为基于主机的入侵检测和基于网络的入侵检测。基于主机的入侵检测系统通过分析主机上的系统日志和应用程序日志等信息,来判断是否发生了入侵。基于网络的入侵检测系统通过分析关键网络段或重点部位的数据包,来实时判断是否有网络攻击。但这种方式不能解析监听到的加密信息以及交换网络上的数据包,而且在高速网络上监听数据包时会大大地增加系统的开销。
(3)基于体系结构的分类
入侵检测系统根据体系结构可分为集中式入侵检测和分布式入侵检测。集中式入侵检测系统是指分析部件位于固定数量的场地,包括基于主机的集中式入侵检测系统和基于网络的集中式入侵检测系统。分布式入侵检测系统是指运行数据分析部件的场地和被监测主机的数量成比例,通过分布在不同主机或网络上的监测实体来协同完成检测任务。
(4)基于响应方式的分类
入侵检测系统根据响应方式可分为主动响应入侵检测和被动响应入侵检测。主动响应入侵检测系统是指当一个特定类型的入侵被检测到时,系统会自动收集辅助信息,或改变当时的环境以堵住入侵发生的漏洞,甚至可以对攻击者采取行动。被动响应入侵检测系统是指当入侵检测系统检测到入侵信息时,把入侵信息递交给网络管理员处理。
3.入侵检测系统基本模型
(1)通用入侵检测模型(Denning模型)
1987年Dorothy E Denning提出了一种通用的入侵检测系统模型(如图5.5所示),此模型的通用性体现在它是独立于具体系统、应用环境和攻击类型的,而且,这个模型不仅可以用来检测外部入侵者的入侵企图,也可以检测内部人员对系统的滥用。这个通用模型主要由6个组件构成。
①主体(Subjects):在目标系统上进行活动的实体,如用户。
②对象(Objects):系统资源,如文件、命令、设备等。
③审计记录(Audit records):由目标系统产生的主体对对象所进行或试图进行活动(如用户登录、执行命令、文件存取等)的信息。
④活动记录(Activity profiles):主体正常行为信息,构成主体正常行为模型。
⑤异常记录(Anomaly rules):表示主体的异常行为。
⑥活动规则(Activity rules):当条件满足时更新活动记录,检测异常行为,并且产生异常报告。
图5.5 通用入侵检测模型
Denning模型为在此之后的很多实用入侵检测系统提供了借鉴价值,此后的很多入侵检测系统模型都是对此模型的扩展和完善。但是Denning模型的最大缺点在于它没有包含已知系统漏洞或攻击方法的知识,而这些信息往往是非常有用的。
(2)层次化入侵检测模型(IDM)
层次化数据库入侵检测技术主要是指由美国的计算机专家Steven等人在分析DIDS数据库入侵检测模型时而提出的IDM模型,它是一个基于层次化的入侵检测模型,能够分层次地对数据库非正常访问进行判断,并进行层次处理。
基于Denning的网络入侵检测系统存在的问题,设计了层次化入侵检测系统,该系统主要基于两种不同的入侵检测策略,即异常检测和误用检测。这两种技术分别有利于对已知和未知的两种入侵行为进行判定,而其差异性就带来了检测的层次性。一般来说,误用检测比较简单,效率也较高,误报率较低;而异常检测主要针对一些疑难的、未知的情况。
根据以上策略,将入侵检测动态地分为攻击检测和入侵检测。所谓攻击检测是指在入侵检测系统中已经有对此种入侵的描述,并且利用误用检测方法可以将其检测出来;而所谓的入侵检测是在入侵检测系统中没有对此种入侵的描述,利用误用检测方法无法将其检测出来,只能用异常检测方法来确定其是否为入侵行为。但这种分类行为是动态的,特别是对于一些介于非安全行为和安全行为之间的“灰色地带”中的行为,可能在入侵检测系统还不十分完善的情况下只能被定位为入侵,而随着入侵检测手段的不断进步,误用数据库的不断完善,这一行为会最终被纳入到攻击的范畴中去。
事实上,误用检测和异常检测这两种检测思想正好分别有利于攻击检测和入侵检测。误用检测通常是对已知的入侵方法进行整理并加以描述,再和网络中的数据包进行模式匹配,从而得出最后的结论。对未知入侵方法的检测则主要是在对系统目前正常情况分析的基础上,对用户的当前行为进行比对,从而得出结论。
通过上述分析,就形成了层次化入侵检测模型的雏形,如图5.6所示。
首先,从数据源的角度来看,目前入侵检测系统获取的数据主要来源于网络数据源和主机数据源。其次,从检测方法来说,主要分为两类:误用检测和异常检测。最后,依据检测的结果,既可以通过对攻击行为的分析检测出已知的入侵种类,又可以通过对安全策略库和疑似入侵的行为进行模式匹配来检测出未知的入侵种类。
图5.6 层次化入侵检测模型雏形
既然是层次化,就应当有低层和高层之分。从上面的分析可以看出,层次化入侵检测的网络数据源的格式比较单一,对异常数据包的定义方法比较简单,对数据包内容的比较方法也比较简单,所以,误用检测就自然成为层次化入侵检测中最基本的一环。但误用检测在检测攻击时也有解决不了的问题,这时就应当利用一种更好的解决方法,也就是异常检测来处理这一环节。上面两种检测方法的“两面夹击”,可以将大部分的攻击行为检测出来并“拒之门外”,也可以将一部分入侵行为发现并采取适当的补救措施,处理不了的遗留问题就会大大减少。
通过对上面的结构进一步具体化,就有了下面的层次化入侵检测体系结构,如图5.7所示。该结构将入侵检测主要分为入侵特征提取和入侵行为分析两个步骤,同时包括攻击特征提取和攻击行为分析。该结构不仅代表了基于知识的入侵检测思想和基于行为的入侵检测思想,而且达到了检测未知入侵和监控已知入侵的目的。
图5.7 层次化入侵检测体系结构
层次化入侵检测模型与通用入侵检测模型相比,具有如下优势。
①针对不同的数据源,采用不同的特征提取方法。Denning的通用入侵检测模型利用一个事件发生器来处理全部的审计数据和网络数据包。层次化入侵检测模型将数据源分为两个层次,采用不同的特征提取和行为分析方法进行处理,提高了检测效率和可信度。
②用攻击特征库和安全策略库取代活动记录。在通用入侵检测模型中,活动记录中保存了所有的信息,这样信息虽然集中,但是为检测引擎带来相当大的麻烦,效率很低。而在层次化入侵检测模型中,已知的各种攻击行为都被存储在攻击特征库中,而处理未知入侵行为的正常行为模式和安全策略则被存放在安全策略库中。这两个库各有所长,相互补充。
③以分布式结构取代单一结构。层次化入侵检测模型可以很方便地应用到分布式入侵检测环境中,可以实现分布式的网络入侵检测。另外,单独设立的特征库也为各个检测模块之间进行数据交互和数据重用提供了方便。
(3)智能入侵检测模型
在入侵检测中,对于已知行为,通常采用误用检测的方法,一般来说,误用检测对智能性的要求较低,异常检测主要针对未知入侵,因此通常需要很高的智能特性。目前大多数的入侵检测系统是基于主机的,主要通过单个主机收集数据信息,或者通过分布在网络各个主机上的监视模块来收集数据信息,并统一提交给一个中心处理器来实现检测功能。这种入侵检测模型不能很好地满足大规模分布式的网络环境,特别是在中心处理器出现故障、数据海量、网络结构扩展等情况发生时,其局限性更加明显。
随着智能Agent技术的不断发展,其分布式、自洽和协同工作能力给入侵检测技术带来新的生机。目前的人工智能工程已经转向以智能Agent技术为基础组织结构。Agent作为执行安全监视和入侵检测功能的软件代理,可以在有或者没有其他代理的条件下工作,可接受更高层其他实体的控制命令。Agent既可以执行简单特定的功能,也可以执行复杂的行为。作为智能入侵检测模型的核心,Agent的效率与性能决定了整个IDS的价值。基于Agent的智能入侵检测模型如图5.8所示。
图5.8 基于Agent的智能入侵检测模型
该模型主要包括主机数据分析Agent、网络数据分析Agent、响应移动Agent以及一个控制台。不同种类的Agent具有不同的特征和处理功能,可以对其自由配置,独立进行操作。同种Agent以及不同Agent之间可以通过Agent通信语言(ACL,Agent Communication Language)来进行信息交互,从而进行协同工作。
(4)管理式入侵检测模型(SNMP-IDSM)
随着网络技术以及数据库管理技术的发展,网络攻击者不再采用传统的数据攻击方式进行网络攻击,而是多个黑客采用合作的方式,以复杂的手段来攻击网络数据库的目标,IDS数据库入侵技术检测模型不能发现这种复杂的、多方向的入侵方式,从而易给数据库造成危害。但是,IDS系统也可以采用合作的方式来分析这种多方向、多目标的数据库攻击,提高网络数据库的安全性,但是必须有一个前提,即需要入侵检测技术具有一个统一的数据格式与公共的语言,来对入侵病毒进行分析与描述,这样才能够有效实现数据库入侵检测的分布式协同检测功能,让网络中的各个IDS之间能够较为顺利地实现信息的交换,共同实现数据入侵检测的功能。基于此,美国的计算机专家Felix Wu等人在结合IDS模型与通用模型的基础上提出SNMP-IDSM计算机病毒入侵检测模型,提高了入侵检测技术的安全性与稳定性。
SNMP-IDSM定义了IDS-MIB数据入侵检测的方式与公共的语言,通过将SNMP作为公共语言来协同实现各个IDS之间的数据交互与协同检测分析,通过IDS能够实现各个功能模块之间的消息交互,同时也能够明确抽象事件和原始事件之间的复杂关系。SNMPIDSM的工作原理如图5.9所示。
图5.9 SNMP-IDSM的工作原理
在图5.9中,IDSA负责网络用户的数据请求,并将最新的IDS事件与用户行为传递给监视主机B,IDSA的请求能够在很短的时间内得到IDSB的响应,为了验证和寻找攻击的来源,主机A与主机B也会建立联系,这样,IDSA可以通过MIB脚本的方式来给IDSB发送非正常访问的数据信息代码,进而能够有效收集主机A与主机B的网络活动信息,一旦这些信息代码的执行结果能够有效判断出非正常的用户访问,IDSA进一步对入侵行为进行分析,并在主机A与主机B之间建立数据联系,明确该行为是非正常的行为,就能够有效避免入侵事件的发生,保证网络之间的数据库安全。
(5)其他入侵检测模型
面对复杂多变的网络入侵行为,众多研究者又提出了其他入侵检测模型。
1)面向对象的Peal网模型
Peal网是为了帮助设计和分析并发系统而开发的理论,被认为是第一个通用的并发理论。利用Petri网来对入侵行为进行描述,是对现有的面向对象的Peal网模型进行扩充,建立一种确定的并发变迁面向对象的Peal网(DCTOOPN)模型。DCTOOPN模型将面向对象技术和Peal网理论较好地融合在了一起。在DCTOOPN模型中,系统由多个对象以及它们之间的关系组成,同时增加了属性和公有函数,使对象内部的两种节点(库所和变迁)可以共享信息,减少了模型的复杂性。
2)调用序列审计模型
调用序列审计模型通过调用序列审计方式来对数据进行分类审计。首先尽可能全面地获取正常序列模式,并将其分解为短序列集合存储在模式库中,或者用数据挖掘方式对其进行训练,同时生成审计规则。在线分析时,将实时获取的网络行为序列与模式库中的序列匹配,当模型确认出非法序列时发出警告,同时重新计算序列规则以适应新的需求。模型中最主要的影响检测的因素是审计序列长度、审计规则的信任度以及模式库的大小,一般来讲,当审计的准确程度可以接受时,审计的准确度与模式库的大小是成正比的。
4.入侵检测系统的部署
随着网络的高速发展以及教育信息化的突飞猛进,1995年12月中国教育和科研计算机网(CERNET)建成并投入使用,各高校纷纷建立各自的校园网网络,并且通过CERNET与网络连接,地区网络中心和地区主结点分别设在10所高校,负责地区网的运行管理和规划建设。
计算机信息技术、计算机网络技术的飞速发展,使得校园网也在迅速地发展,校园网的应用和服务也日趋增多,在现代化教育体系中扮演的角色也越来越重要。但同时,网络安全、信息安全的问题也日趋突出,校园网的入侵攻击行为频频发生,入侵攻击行为手段不断翻新,且校园网内部的数字资源越来越重要,因此确保校园网的安全性就显得尤为重要。但校园网的安全情况并不是特别乐观,针对网络的系统入侵、网页挂马、垃圾邮件、端口扫描、DoS攻击等入侵攻击行为时常发生。针对校园网的网络安全和信息安全的多重、全方位的保护就成了一个极其重要的环节。作为主动防御的入侵检测技术是传统网络安全技术强有力的补充,研究入侵检测对于网络信息安全防御相对薄弱的校园网网络来说具有十分重要的意义和价值。我们以在校园网网络中布置入侵检测系统为例,介绍入侵检测系统的部署情况。
由于入侵检测系统在数字化校园中扮演的是一个“聆听者”的角色,并不需要直接和网络设备发生通信,因此出于安全考虑,将入侵检测系统的采集器、控制台组成专用网络,这样能够更好地突出入侵检测系统的自身安全。
入侵检测系统采集器的部署位置对于入侵检测系统的检测效果尤为重要。部署采集器的原则是哪里被攻击的可能性越大,哪里就应部署,因此采集器通常部署在网络中应受到保护的区域,以及需要进行统计分析的网络流量必经的网络上。在数字化校园中部署入侵检测系统时,为了对校园网内各子网段、服务器群以及校园网外部的入侵攻击行为等进行全面检测,同时可以将入侵检测系统的采集器部署在防火墙、核心交换机以及各子网段的交换机上,从而全方位地采集信息,更好地起到检测作用,提高对入侵检测行为的检测效率,达到保障网络安全的目的。
(1)采集器部署在防火墙上
将采集器部署在防火墙上,可以在最大范围内检测来自校园网外部针对校园网内部的入侵攻击行为。通过防火墙上的采集器可以查看到来自互联网的各种入侵攻击行为,例如端口扫描、Web服务远程SQL注入攻击、ICMP-Flood淹没拒绝服务攻击等。同时,也可以让管理人员看到校园网的外部出口处于什么样的网络安全级别,经常受到什么样的入侵攻击,攻击是否成功等情况,以便及时调整网络安全方案,加强网络安全管理。
(2)采集器部署在核心交换机上
在数字化校园内部部署采集器,最重要的位置就是核心交换机。核心交换机的主要作用是高速转发通信,具有高可靠性、高性能和高吞吐量。数字化校园中所有的网络数据包都必须从核心交换机上通过、转发。将采集器部署在核心交换机上,可以检测校园网内部发起的入侵攻击行为,以及渗透防火墙后进入校园网内部的外部攻击行为,对防火墙的规则设置起到一定的辅助作用。同时,核心交换机的高速转发对采集器的采集速度提出更高的要求,往往在抓取数据包时会出现丢失现象。在本设计部署中,部署在核心交换机上的采集器的主要工作目的是保护放置在核心交换机上的各种服务器。
(3)采集器部署在各子网段的交换机上
在数字化校园中采集器最主要的部署位置是各网段最底层的接入交换机。这些交换机往往位于网络数据包流量较大的位置,例如计算机机房、学生宿舍、各院系办公区域等。将采集器部署在这些交换机上是为了第一时间捕获到网络数据包,并分析是否存在入侵攻击行为。在具体部署采集器时需要注意的是,为了保护采集器自身的安全,需要在采集器上安装两块网卡,一块设置成混杂模式,用于采集网络中的数据包,另一块用于和入侵检测系统的控制台进行通信。这样采集器就处于非常安全的位置,攻击者通过截获网络数据包等方法都无法对采集器进行嗅探、攻击,减少了采集器成为攻击目标的可能性。
数字化校园的入侵检测系统的部署如图5.10所示。
图5.10 数字化校园的入侵检测系统部署
通过在数字化校园中部署入侵检测系统,利用入侵检测系统检查入侵攻击行为,以及协议分析、流量分析等特点,能够有效地解决一些网络安全问题,协助网络管理人员实时了解校园网络中存在的问题,例如大多数网络带宽被P2P软件占用、由视频软件引起的Web服务远程SQL注入攻击等,及时调整网络安全策略,提前做到保护工作,将安全风险降至最低。在数字化校园中使用入侵检测系统,较大地提高了校园网络运行维护的管理效率,减轻了网络管理人员的工作压力,完善了校园网络安全体系。
入侵检测技术作为互联网时代维护网络空间安全的一种重要工具与方法,是防范敏感数据泄露,拒绝恶意入侵与攻击行为,保障企业、学校、政府和个人信息安全的有效手段。随着网络空间安全的重要性与严峻性的日益突出,越来越多的人开始意识到安全、可信的网络环境的必要性。各大安全公司正在不断推出新一代的入侵检测设备,其功能越来越强大,检测和防御的范围逐渐扩展,协作性也日益增强。作为一个具有实用价值的研究领域,入侵检测技术及其系统具有重要的研究意义和广阔的应用前景。