http://www.paper.edu.cn
- 3 -
中国科技论文在线
最新的 rootkit 入侵,并只能对静态的内核数据和用户数据进行容错,没能对动态的内核受
污染数据进行很好的容错。目前,对系统入侵检测大多数是通过分析恶意程序的特征码来实85
现的,由此很难对最新的 rootkit 入侵进行检测,而最新的 rootkit 技术通过对动态内核数据
结构进行恶意更改来达到其恶意的目的,已知的系统恢复技术都没能对此提出很好的解决办
法,基于此,本文以内核不变量作为系统的特征码,提出了一种虚拟机架构下基于内核不变
量检测的系统恢复机制。
2 入侵检测和恢复系统的设计 90
2.1 要求和性能指标
入侵检测和恢复,其有效性包括两个方面要求:正确性和系统性能。入侵检测系统的正
确性,包括检测系统对 rootkit 入侵的发现能力和入侵误报的可能;入侵恢复系统的正确性
指恢复后的系统不再隐藏有危险的 rootkit 于其中,并且恢复后的虚拟机及其所有上层应用
和数据,不受任何破坏和影响,整个过程对应用透明。正确性是恢复系统必须保证的,本文95
不详细讨论。入侵检测和恢复的关键指标描述如下:
(1)完备性:IDS 通常是训练后进行模式识别,由于训练时间的限制和检测环境的变
化,容易造成训练集非完备性的问题,系统的有效性随之降低,产生较高的误检率和漏检率。
微观上,训练集越完备,IDS 对入侵检测的误检率和漏检率就越低,对系统造成的危害就越
小。 100
(2)性能损耗:入侵检测需要对系统进行自省和监控,入侵恢复需要对内存和磁盘进
行一定的更改操作,这些都会对系统的性能造成一定的影响。总体性能损耗越小,与上层应
用竞争的资源就越少,对应用越透明,系统的性能越高。
(3)快照大小:系统快照技术的引入使得快照大小成为影响系统性能的一个总要因素,
快照越小,说明生成快照的数据量越小,同时对系统的存储空间占有越小,因此性能越优越。 105
本文提出的虚拟机架构下结合内核不变量检测和快照恢复技术的入侵恢复机制致力于
提高上述性能指标。以系统内核数据结构不变量作为系统特征码,而非选用恶意程序本身作
为检测对象,提高了检测系统的完备性;虚拟化技术的引入,利用虚拟化技术中的前后端驱
动,结合写时复制技术和重定向技术,可以控制很小的性能损耗,减少快照生成时的数据量
和恢复时所需要的停机时间,提高了整个系统性能。 110
2.2 基于不变量检测的入侵检测系统
直接内核对象处理(Direct Kernel Object Manipulation, DKOM)技术
[2]
通常被内核 rootkit
用来隐藏其自身的痕迹。目前针对此类 rootkit 的检测大多是利用人工分析出来的恶意程序
的特征码来对内核内存进行扫描。然而,这些手工提供的恶意程序特征码具有不健壮和不完
备的缺点,使得现有的内核 rootkit 很容易绕过它。 115
内核数据结构不变量
[1][2]
的利用有效的解决了恶意程序特征码不健壮和不完备的缺点。
对内核数据结构不变量的自动生成要求对内核内存的扫描来自该内核的外部,如协处理器或
者利用虚拟化技术。Gibraltar
[1]
通过 PCI 卡在系统外部周期性的去捕获内核内存快照,利用
事先提供的一系列内核数据结构定义以及根目录符号表成功地消除了原始内核内存数据与
具体内核数据结构之间的语义鸿沟,从原始快照中生成了具体内核数据结构被标记的新内存120
快照。通过扩展程序不变量动态检测工具 Daikon
[7]
,把相应的内核快照作为程序运行状态提
供给 Daikon,从而生成内核数据结构不变量。