(计算机科学与技术专业论文)虚拟机操作系统行为监控技术的研究与实现.pdf_第1页
(计算机科学与技术专业论文)虚拟机操作系统行为监控技术的研究与实现.pdf_第2页
(计算机科学与技术专业论文)虚拟机操作系统行为监控技术的研究与实现.pdf_第3页
(计算机科学与技术专业论文)虚拟机操作系统行为监控技术的研究与实现.pdf_第4页
(计算机科学与技术专业论文)虚拟机操作系统行为监控技术的研究与实现.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机科学与技术专业论文)虚拟机操作系统行为监控技术的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国防科学技术大学研究生院工学硕士学位论文 摘要 传统的操作系统安全技术可以较好地防范用户级的攻击,却难以有效抵御内 核级别的攻击。因为以内核特权级运行的恶意代码有能力颠覆整个操作系统,使 得操作系统内核不再可靠,而且各种依赖于操作系统完整性的安全工具也无法正 常工作。 针对这个难题,本文提出并实现了一个基于虚拟机监视器的操作系统运行时 行为监控框架叫m c ( r u n t i m em o n i t o r i n ga n dc o n t r o l l i n gm e c h a n i s m ) ,其通过 虚拟机监视器在带外监视虚拟机状态变化和事件行为,并根据相应安全策略控制 虚拟机的执行流程。由于该监控系统工作在操作系统之外的虚拟硬件层,与应用 程序隔离,难以被直接攻击,甚至在操作系统被颠覆后仍能如实地记录虚拟机的 运行信息,因此具有较高的可靠性和可信性。但是,由于单纯的带外监控无法监 视到不陷入虚拟机监视器的操作系统行为,再者带外监控因缺乏语义信息难以进 行复杂操作。因此,在虚拟机内部进行带内监控,充分利用带内监控的丰富语义, 再通过带外监控保证带内监控的正常运行,二者结合实现操作系统运行时监控系 统。 传统的操作系统监控通常采用的是面向行为的监控技术,针对行为监控容易 被攻击欺骗的弱点,本文提出了面向状态的监控思想,并从监控的角度将操作系 统的状态分为c p u 状态,内存状态和外部设备状态三个部分。文章分析各部分状 态集中的异常情况,特别注重内核级攻击造成的如内存写保护等操作系统异常状 态。接着利用虚拟机监视器的优势提出了较为简单的监控实现方法,利用虚拟机 监视器用软件模拟硬件的优势,通过监测虚拟机监视器的模拟函数完成相应的状 态监控,降低了实现难度。 接下来,论文描述了基于k v m 虚拟机监视器的r m c 的一个原型实现,该原 型是在x 8 6 平台上针对l i n u x 虚拟机操作系统做各种带外监控,通过监控虚拟c p u 的访问,记录进程运行历史和获取可信运行进程链表;通过监视虚拟内存访问, 抵御对操作系统内核完整性的攻击;通过监视虚拟网卡设备访问,监控虚拟机操 作系统的网络通信行为。接着用流行的内核级攻击工具和系统性能测试工具对该 原型系统做了功能和性能测试,结果表明该系统能够有效地检测和防范r o o t k i t 等 内核级攻击方式的入侵,能够发现隐藏的恶意进程和网络连接,而且性能影响也 较小。 主题词:虚拟化技术,虚拟机监视器,操作系统安全,运行时监控 第i 页 国防科学技术大学研究生院工学硕士学位论文 a b s t r a c t o p e r a t i n gs y s t e mh a sal a r g ec o d es i z ea n dac o m p l e xa r c h i t e c t u r e ,w h i c hm a k e si t h a r dt ob eb e l i e v e d 孵胁fm a k et h i n g sw o r s ei st h a ti to f t e nh a sa no p e ns t r u c t u r ef o r u s e r st oi n s t a l ln e wk e r n e lm o d u l e so rd e v i c ed r i v e r sd y n a m i c a l l y a n dt h e r ei sn og o o d w a y t oc h e c kt h ec r e d i t a b i l i t yo ft h e s ec o d e s ,w h i c hi fw e r em a l i c i o u s ,t h ew h o l e s y s t e m w o u l db et u m e dd o w n n es e c u r i t yt e c h n o l o g yb a s e do no st a i ld on o t h i n g 、砒t 1 1t h i s k i n do fa t t a c k ,b e c a u s et h e s et o o l sa l s od e p e n do nt h eo s i n t e g r i t y t oa d d r e s st h i sp r o b l e mi no ss e c u r i t yf i e l d ,t h i sp a p e rp r o v i d e san e wm e c h a n i s m t om o n i t o ra n dc o n t r o lt h es y s t e m sr u n n i n gb a s e do nv i r t u a lm a c h i n em o n i t o rt op r o t e c t t h ev i r t u a lo p e r a t i n gs y s t e m ( v o s ) a n dt h es e c u r i t yt o o l si nt h ev o s i tm o n i t o r st h e v i r t u a lm a c h i n e sr u n n i n gb e h a v i o r s ,a n a l y z e st h e s eb e h a v i o r si nap o l i c ye n g i n e ,a n d c o n t r o l st h ev i r t u a lm a c h i n e sr u n n i n gd e p e n d i n go nt h ef o l l o w i n ga c t i o n so ft h er u l e s t h i sm e c h a n i s ms e p a r a t e st h e s e c u r i t yt o o l sa n da p p l i c a t i o n s ,a n dm a k e si tm o r e c r e d i b l ea n ds t a b l e b u to u t - o f - b o xm o n i t o r i n gc a l lo n l ym o n i t o rt h eh a r d w a r ea c c e s s i n g e v e n t sa n di tl a c k so s l e v e ls e m a n t i c sw h i c hm a k e si th a r dt oc o m p l e t ec o m p l e xw o r k s s oa l li n - b o xm e c h a n i s mi si m p l e m e n t e dt os o l v et h i sp r o b l e m i n - b o xt o o l sw h i c hi s p r o t e c t e db yt h eo u t - o f - b o xs u b s y s t e mm o n i t o ra n dc o n t r o lt h et a r g e tv o s t w om e t h o d sa r eu s e di ns y s t e mr u n n i n gm o n i t o r i n ga n dc o n t r o l l i n g :s t a t e b a s e d m o n i t o r i n ga n db e h a v i o r - b a s e dm o n i t o r i n gt e c h n o l o g y s t a t u s b a s e dm e t h o dc h e c k st h e t a r g e to b j e c t ss t a t ec h a n g i n gd i r e c t l y i ti sm o r eb e l i e v a b l ea n dc a nd e t e c tt h eu n k n o w n a t t a c k s ,b u ti tn e e d st oi m p l e m e n tan e wm e c h a n i s mt oi n q u i r et h es t a t e sa n dc h e c kt h e m w h e t h e ra r e r i g h t b e h a v i o r b a s e dm o n i t o r i n gt e c h n o l o g ym o n i t o r st h eo b j e c t s a c t i v i t i e s i ti se a s yt ob ed e s i g n e da n di m p l e m e n t e d ,w h i c ho n l yn e e d st op l a n ta d e t e c t o ri nt h eb e h a v i o ro p e r a t i n gf u n c t i o n ,b u ti ti se a s yt ob ec h e a t e do ra t t a c k e db y a t t a c k e r s t h i sp a p e ra s s o c i a t e sb o t ht w om e t h o d st og e tt h em o s tp e r f o r m a n c ea n dm o s t s e c u r i t y t h i sp a p e rp r o v i d e sam o d e li m p l e m e n t a t i o no ft h i sm e c h a n i s mt ol i n u xo sb a s e d o nk v m ( k e r n e lv i r t u a lm a c h i n e ) a n dx 8 6 w 1 1 i c hr e c o r d sp r o c e s sr u n n i n gh i s t o r ya n d g e t sat r u s t e dt a s kl i s tt h r o u g hm o n i t o r i n gt h ev i r t u a lc p ua c c e s s i n g ,p r o t e c t st h e i n t e g r i t yo ft h ek e r n e lt h r o u g hm o n i t o r i n gt h ev i r t u a lm e m o r ya c c e s s i n g ,m o n i t o r st h e t a r g e t so s n e t w o r kc o m m u n i c a t i o nt h r o u g hp s e u d on e t w o r kd e v i c ea c c e s s i n g n et e s t r e s u l t sp r o v et h a tt h i ss y s t e mi sa b l et od e t e c ta n dd e f e a tk e r n e l - l e v e la t t a c k sw i t ha n e n d u r a b l ep e r f o r m a n c ed i s a d v a n t a g e k e yw o r d s :v i r t u a l i z a t i o nt e c h n o l o g y ,v m m ,r u n t i m em o n i t o r i n ga n d c o n t r o l l i n g ,s e c u r i t y ,o p e r a t i n gs y s t e m 第i i 页 国防科学技术大学研究生院工学硕士学位论文 表目录 表4 1 操作系统状态集结构3 0 表4 2 虚拟c p u 监测关注的寄存器一3 3 表5 1 系统内监控工具集4 0 表5 2 虚拟机监视器虚拟部件监控表4 3 表6 1 r m c 监测e n y e l k m 隐藏进程的测试结果5 7 表6 2r m c 对r o o t l d t s 包的检测结果5 8 第1 i i 页 国防科学技术大学研究生院工学硕士学位论文 图目录 图3 1 计算机系统不同层次语义图1 6 图3 2 状态监控过程示意图17 图3 3 行为监控过程示意图1 8 图3 4r m c 系统总体结构图2 l 图3 5r m c 系统流程总图2 2 图3 6 监视器结构图2 3 图3 7 策略器结构图2 4 图4 1计算机状态结构图2 9 图4 2内存状态监控过程图3 0 图4 3 模拟虚拟技术比较图3 3 图4 4 虚拟机监视器内存映射图3 4 图4 5 攻击绕过页表保护示意图3 5 图4 6 基于虚拟机监视器的操作系统状态监控图3 7 图5 1用户登陆日志记录过程图4 0 图5 2 用户命令历史日志记录过程图4 l 图5 3c p u 硬件异常处理过程图4 2 图5 4 影子页表虚实地址转换示意图4 5 图5 5 木马进程通过隐蔽网络通道传递信息示意图4 6 图6 1x 8 6 平台的进程控制图4 9 图6 2l i n u x 进程描述符访问过程示意图5 0 图6 3c r 0 寄存器功能结构图5 1 图6 4r m c 原型系统的性能测试结果5 9 图6 5系统调用审计对系统性能的影响6 0 第页 独创性声明 本人声明所里交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意 学位论文题目:廑挞扭握佳丞统盈盏鳖控技盔笪盟究皇塞趣 学位论文作者签名: 2 差兰日期:哆年乙月;户 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:麈赵扭握缝丕统堑蕴鳖撞擅盔的盈究皇塞理 学位论文作者签名: 作者指导教师签名: 刁务l 墨乞沁 日期:砷年胡习日 日期:7 , 0 , - 9 年,z 月3 ,日 国防科学技术大学研究生院工学硕士学位论文 第一章绪论 1 1 课题背景 计算机技术是信息技术的重要组成部分,操作系统作为计算机的基础软件, 在计算机系统中占重要地位。安全作为一个伴生技术,分布于信息化的各个角落, 操作系统的安全对整个信息系统安全具有至关重要的作用。 正因为操作系统安全意义如此重大,近年来众多研究人员投身于操作系统安 全技术研究工作,取得了不少值得肯定的成果。但还是存在若干问题:首先,操 作系统庞大的代码量和复杂的结构,使得很难对其进行形式化验证;其次,设计 者以效率优先,将各种硬件驱动等模块与基本内核运行在同一特权级,使得不稳 定因素增多;再者,系统允许用户动态安装驱动加载内核模块,却又无法验证这 些代码的可靠性,一旦这些是恶意代码,将获得整个系统的控制权。传统的安全 工具工作在操作系统之内,当系统本身运行良好时,它们工作得很好;但是,一 旦系统被颠覆,它们也无法正常工作。因此,在各种内核级攻击面前,传统安全 工具由于依赖内核本身完整性无法有效完成其防御功能。 虚拟化技术为解决系统安全问题带来了新的途径。虚拟机监视器利用软件技 术为操作系统虚拟硬件执行平台,它与应用程序隔离并拥有比操作系统更高的特 权级,可以免受攻击,甚至可以在操作系统被颠覆的情况下获取系统运行的真实 情况。虚拟化技术原本是为了提高硬件资源利用率而产生的,近年来,硬件技术 遵循摩尔定律迅速发展,现有操作系统无法充分利用多核硬件平台的并行性潜能, 造成了严重的资源浪费和能源浪费。因此,从高性能计算中心到个人电脑,通过 将物理平台虚拟成多个计算平台,实现多个操作系统并行运行成为一种时兴技术。 针对这种形势,我们提出了多域安全虚拟个人计算机系统( 受8 6 3 项目支持) , 利用虚拟化技术提供相互隔离的多个计算域( 即操作系统) 来实现个人信息分级 隔离运行,从而提高信息资源和个人计算机的安全性。通过开发虚拟机监视器, 实现一个物理平台运行两个或多个操作系统,以提高资源的利用率;通过将不同 安全等级的应用程序运行在不同的操作系统域之中,实现了操作系统级的隔离; 通过在虚拟机监视器中设计安全子系统,保护虚拟机操作系统和其中的应用程序 的安全。研究虚拟个人计算机的系统结构,虚拟监视器的可信增强技术,虚拟监 视器的性能优化技术,虚拟多域间的通信技术,虚拟监视器的易用性技术,虚拟 机监视器增强技术研究设备安全高效访问技术,运行时行为监控技术和安全关键 应用支撑技术,重新构建计算机的系统结构,让虚拟机监视器成为将来计算机系 统中必备的软件层。 第1 页 国防科学技术大学研究生院工学硕士学位论文 1 2 研究意义 安全问题是一个伴生问题,人类每一项活动总会相应的安全问题,并发展出 相应的安全技术。随着社会的逐步信息化,信息安全越来越重要。计算机是信息 搜集,处理,发布的重要工具,操作系统是计算机系统的核心软件,因此操作系 统的安全在信息安全中占非常重要的地位。 但现有操作系统结构存在安全缺陷,使得常规的安全工作难以奏效,安全问 题也越来越紧迫。操作系统设计和开发的初衷是效率优先而不是安全优先,致使 操作系统的设计和实现存在较多的安全漏洞,据n i s t2 0 0 6 年发布的公告,l i n u x 发现了8 1 个b u g s ,w i n d o w s 有3 1 个b u g s 1 1 。现有通用操作系统使用的底层语言 缺乏安全控制考虑;操作系统庞大的代码量难以保证其不存在错误;现有操作系 统的开放性结构使用户可以添加内核代码等等。这些问题使单纯地对操作系统进 行保护难以做到万无一失,如果能构建多层次的安全防御系统,及时检测出异常 或攻击,可以采取措施使损失降低到最小程度,因此对系统进行运行时监控是十 分必要的。 操作系统允许特权用户动态安装驱动程序或加载内核模块,而又缺乏有效地 验证和隔离机制,一旦这些代码具有攻击性,它们有能力控制颠覆整个操作系统。 现有的操作系统安全技术和两级隔离机制已经很难应对现在的安全危机,各种安 全工具往往工作在操作系统之上,其本身依赖于操作系统的完整性,因此难以有 效阻止内核攻击。虚拟机技术改变了传统的计算机层次结构,使得人们可以在操 作系统之外的虚拟机监视器中做安全工作,利用虚拟机监视器的透明性和高特权 级,可以有效避免和防范各种攻击。而且虚拟机监视器提供了操作系统级别的隔 离机制,使得各种信息可以在不同的计算域中进行处理,有效地增强了信息的安 全性。 操作系统安全工作大致可以分为三类:防护,防忠于未然,使攻击在未发生 时被阻止;检测,尽快发现攻击,使损失最小;恢复,把系统从损坏状态恢复过 来。由于操作系统的复杂和庞大,使得单纯的防护工作难策万全,本文提出虚拟 机运行时监控系统,通过监视虚拟机的运行时情况,及时发现异常和攻击行为, 采取有效地控制措施使得攻击的损害降到最低程度。 1 3 研究思路及主要工作 操作系统作为计算机系统中必不可少的核心部件,其安全面临着各种问题。 首先,操作系统面临的复杂任务及其复杂的功能,使其设计难以规范,形式化验 证难以进行;其次,操作系统使用的编程语言缺乏安全控制机制;再次,操作系 第2 页 国防科学技术大学研究生院工学硕士学位论文 统复杂的结构和庞大的代码量,使得保证其可信运行成为一项艰巨的任务。通用 操作系统允许特权用户动态添加内核模块或安装设备驱动的开放规则,使恶意代 码能够利用这种机制进入内核以最高特权级运行,更加重了其不稳定性。由于内 核级恶意代码有能力颠覆整个操作系统,操作系统内部的安全软件工具就建立在 一个不可靠的基础之上,系统安全软件自身也有可能被攻击或欺骗,也就无法保 护操作系统和应用程序的安全。如果禁止这种功能,必将降低操作系统的兼容性 和通用性。 基于上述原因,通过单纯的一种保护方式已经难以保证操作系统的安全。安 全工作可以分为三个部分:防护、检测和恢复。既然不能单纯靠防范保证系统免 受攻击,那么尽早发现攻击,对攻击行为进行迅速定位并尽快恢复具有重要的意 义。对操作系统进行运行时监控,可以尽早地发现攻击或非法行为,并通知用户 或者依据一定的安全规则进行自动控制。这对减少损失,增强系统安全具有重要 的作用。 通用操作系统为了兼容各种各样的硬件,允许用户动态地安装各种驱动程序, 而这些驱动程序与基本内核一样,运行在最高特权级并对整个系统具有完全的控 制权。操作系统在这种攻击方式面前失去了隔离优势,然而禁止加载内核模块有 损系统的扩展性,特别是对于p c 用户是难以接受的,而对模块进行数字签名和完 整性检测也相应存在问题,因此,操作系统安全面临困境。虚拟化技术为这个问 题提供了新的解决途径,虚拟机监视器在一个物理平台上为多个虚拟机操作系统 提供多个虚拟平台,提高资源的利用率。虚拟机监视器可以对虚拟机进行完全控 制,所以在虚拟机监视器对虚拟机操作系统进行带外监控,可以保证监控子系统 本身的可靠性和可信性,还可以有效保证操作系统内核、系统服务和应用进程的 安全。由于带外监控工作在虚拟硬件层,不能直接利用操作系统提供的函数和数 据结构,从而使复杂的行为控制实现困难。通过带内实现一部分监控,而在带外 保护系统内核和带内监控系统的安全,从而在不降低安全效能的前提下可以简化 工作。 对系统进行运行时监控,监视量和控制量往往是不一致的,往往难以在监视 的现场直接对异常的变化进行控制,往往需要分析其原因,找到更高的控制办法。 例如监视到的是堆栈的非法跳转,而需要进行的控制操作往往不是禁止这次跳转, 而是向这个进程发射控制信号,杀死该异常进程。因此,需要策略器规定各种规 则,以对不同的异常情况做出相应的响应。计算机系统中存在不同的抽象层次, 不同层次的行为拥有不同的语义规范,各层之间的沟通存在语义沟,需要一定的 机制进行弥补。各层之间的沟通需要消耗时间,并且对系统性能有一定影响,因 此保护系统的安全就要各个层次进行结合,通过应用层,操作系统层,硬件层各 第3 页 国防科学技术大学研究生院工学硕士学位论文 个层次的结合才能有效保证整个计算机系统的安全。由于应用层的语义因应用程 序紧密相关,本文对这一层不做深入研究,而着重研究操作系统层和硬件层的行 为监控。 运行时监控技术大致分为两类:面向状态的监控技术和面向行为的监控技术。 面向状态的监控是直接查询目标状态,根据状态变化的异常与否做出响应;面向 行为的监控是在行为运行函数中设置监测点,记录行为历史或根据安全策略直接 做出控制。状态监控需要开发专门的查询机制和实现函数,而且需要界定状态查 询的频率,它避免了行为监控中被攻击和欺骗的问题,可以预防未知行为引起的 状态变化。行为监控的缺点是容易被欺骗或误导,但是它不需要独立开发一套状 态查询机制,只需要在行为执行函数中设置探测点即可实现监控。 本文通过带内系统监控操作系统丰富的内部行为,通过带外监控保证带内监 控系统的可信运作;通过状态监控避免执行路径上的攻击和欺骗,利用虚拟机监 视器软件模拟硬件的优势,降低了状态监控的实现难度;利用虚拟机监视器的控 制优势进行灾难恢复和系统运行控制。从而完成了一个有效地操作系统运行时监 控系统,有效地增强了操作系统的安全性。 1 4 论文组织结构 论文的组织结构如下: 第一章介绍了课题背景和研究意义,描述了研究过程中出现的问题和解决思 路,并介绍了主要工作。 第二章介绍相关研究现状,对虚拟化技术的发展现状,虚拟化技术在安全方 面的应用,现有入侵检测技术等跟论文相关的工作进行了分析总结,分析现有工 作优势和不足,指出自己工作的意义。 第三章描述虚拟机操作系统行为监控设计工作,描述了r m c 的整个监控框架 和主要模块,引入了带内带外监控结合的机制,通过带内监控保护应用程序的安 全,带外监控保护操作系统和带内监控子系统。分析比较了状态监控和行为监控 两种监控技术,针对其不足做出自己的改进和取舍,取得了系统性能和资源利用 率之间较好的平衡。 第四章着重研究了面向状态的监控技术,对操作系统的状态作了结构分化, 并详细分析了各个部分的异常状况,并在第三节介绍了如何利用虚拟机监视器的 优势完成操作系统的状态监控。 第五章详细论述了面向行为的监控技术,介绍了应用层、操作系统层及硬件 层三个层次的行为监控技术,指出各个层次的特点,分析了其优势和劣势,并着 重分析了利用虚拟机监视器在虚拟硬件层的监视技术。 第4 页 国防科学技术大学研究生院工学硕士学位论文 第六章阐述了基于k v m 行为监控系统框架的原型实现。通过监视c p u 获得 的系统进程运行历史,实现对隐藏进程的探测;通过监视内存,实现对操作系统 内核的完整性保护;通过监视设备访问,实现隐藏通道的检测。接着对该原型系 统进行的功能和性能测试进行分析,结果表明该系统在不降低或降低较少系统性 能的情况下,对探测各种内核攻击具有较好作用。 本文最后对研究工作进行总结,分析了存在的问题,并指出了有待改进的地 方和未来工作。 第5 页 国防科学技术大学研究生院工学硕士学位论文 第二章虚拟机安全监控相关研究 操作系统为了兼容各种硬件,允许用户动态安装驱动程序,而且将驱动程序 与基本内核运行在同一特权级,这样就造成了特权代码的庞大且难以控制。由于 内核特权级运行的恶意代码可以控制整个操作系统,使得运行在操作系统之上的 安全工具自身面临被颠覆的威胁,更不用说保护操作系统的安全运行了。 在虚拟化的计算机系统结构中,通过虚拟机监视器可以在同一个物理平台上 运行多个操作系统,可以对信息实现操作系统级别的隔离。而且虚拟机监视器运 行在虚拟机操作系统与硬件之间,它与应用程序隔离且拥有较高的控制权限,因 此基于虚拟机监视器的安全工具拥有较高的可靠性和健壮性。 2 1 操作系统虚拟化技术 计算机领域的虚拟化思想很早就已经产生,i b m 剑桥研究中心在1 9 6 6 年推出 的s y s t e m 3 6 03 7 0 2 】等系统就已经实现了在一台物理机器上运行多个操作系统,为 不同用户提供独立的操作系统环境。早期的虚拟化技术主要应用于服务器领域, 为不同用户和操作系统共享昂贵的服务器平台提供支持。近年来,硬件技术蓬勃 发展,现有软件技术已经不能充分利用硬件提供的高性能和并行性,而虚拟机技 术可以在同一物理机器上运行多个虚拟操作系统,通过操作系统级别的并行性, 提高了硬件资源的利用率。因此虚拟化技术又得以蓬勃发展,已经被评为i t 领域 的十大技术趋势之一。 虚拟技术就是用一种事物去模拟另外一种事物的存在。在计算机领域,按照 虚拟技术所处的层次不同,可以把虚拟技术分为编程语言层虚拟机、应用程序层 虚拟机、操作系统层虚拟机和硬件抽象层虚拟机等四类。 1 ) 编程语言层的虚拟技术虚拟的是特定语言运行的虚拟机器。最熟悉的编程 语言虚拟机是 a v a 虚拟机( j a v av i r t u a lm a c h i n e ,j v m ) ,j a v a 语言编写 的源程序被编译成i a v a 字节码,这些字节码可以在m 上执行,只要系 统中安装了j v m ,就可以执行i a v a 的字节码文件,从而实现程序的一次 编译,到处执行。与之类似的有微软的n e t ,p y t h o n ,p e r l 等语言。 2 1 应用程序层虚拟技术是指为特定应用程序虚拟一个执行环境。比较著名的 是l i n u x 中的w i n e 程序,它可以在l i n u x 执行w i n d o w s 程序。它主要是 通过将w i n d o w s 应用程序中的系统调用转化为l i n u x 可以完成的功能调 用,让l i n u x 去完成该应用程序的系统服务请求,从而让w i n d o w s 程序 可以再l i n u x 平台上运行。 第6 页 国防科学技术大学研究生院工学硕士学位论文 3 ) 操作系统层虚拟技术是虚拟完备的操作系统运行环境。它模拟的通常是与 主操作系统类似的虚拟操作系统环境,可以提供应用程序操作系统环境级 别的隔离。比较著名的操作系统层虚拟软件是u m l ( u s e rm o d el i n u x ) , 它可以同时运行多个l i m t x 操作系统。 4 ) 硬件层虚拟技术虚拟的是虚拟硬件运行平台平台。由于它虚拟的是一个硬 件裸机,所以需要在上面安装虚拟机操作系统。但是,由于它虚拟的是硬 件平台,可以安装各种操作系统,因此,可以实现一个物理平台上运行多 个不同的操作系统。 从性能上来说,虚拟的层次越高,提供的虚拟机性能越低,而且提供的虚拟 功能也越弱。本文比较关注的是硬件层虚拟技术,文章以后提到虚拟化技术,除 非特别声明,就是指这个层次的虚拟化技术。 刚开始时人们只是用软件技术模拟硬件执行环境,后来由于虚拟化巨大作用, 人们已经不满软件虚拟技术所带来的性能损失,因此各大硬件厂商也开始支持虚 拟化技术。截止到目前,硬件平台虚拟化的技术走过了c p u 的虚拟化,内存的虚 拟化,1 0 的虚拟化三个过程。下面分别介绍两大c p u 生产厂商i n t e l 和a m d 的虚 拟化技术历程。 i n t e l 于2 0 0 5 年开始推出v t 的c p u 4 ,针对x 8 6 平台的v t x 技术,针对i t a n i u m 平台推出的v t i 技术,支持虚拟机操作系统指令直接在c p u 上运行,提供新的模 式供虚拟机监视器和操作系统使用。接着针对软件内存虚拟化技术造成的内存性 能下降问题,提出扩展内存页表技术( e x p e n t dp a g et a b l e ,e p t ) ,提高了内存虚 拟化的性能。在c p u 指令虚拟化和内存虚拟化性能得到大幅提升之后,设备访问 效率成为虚拟化性能的瓶颈。针对1 0 虚拟化的不足,提出v t d 技术,以支持虚 拟机操作系统直接访问外部设备。 a m d 在i n t e l 推出v t x 之后的几个月推出自己的虚拟化运行平台【5 1 ,称之为 a m ds e c u r ev i r t u a lm a c h i n e ,简称a m d s v m 。虽然a m d 提出虚拟化的支持比 i n t e l 晚,但是却先于i n t e l 推出了n p t ( n e s t e dp a g et a b l e s ) 技术,提高内存虚拟 化的性能,接着推出了i o m m u 以支持外部设备的虚拟化。其他的硬件生产厂商 也开始基于两大c p u 厂家推出自己虚拟化产品,主板厂商推出支持虚拟化的主板 和b i o s 。在不久的将来有望看到支持虚拟化的其它外部设备,如网卡,磁盘,显 卡,声卡,键盘鼠标等。 软件虚拟化技术从最初的模拟技术【7 】,采用指令翻译技术将目标操作系统的指 令翻译成物理平台的指令执行,到为了提供虚拟机性能而产生准虚拟化技术,再 到利用硬件虚拟化,可以支持闭源操作系统的虚拟机监视器,软件虚拟化技术经 历了三个阶段。模拟技术和虚拟技术的区别在于: 第7 页 国防科学技术大学研究生院工学硕士学位论文 a ) 模拟是在一种平台模拟另一不同类型的平台,较早的模拟器有b o c h s , q e m u 等。由于模拟技术需要将目标平台上的指令翻译成源平台上的指令 才能执行,所以性能损失较大。 b ) 虚拟是在一个平台上虚拟相同体系结构的平台,大部分的普通指令可以在 源平台上直接运行,只需要模拟几条特殊指令即可,实现较为简单而且执 行效率较高,通常称之为虚拟机监视器( v i r t u a lm a c h i n em o n i t o r ,v m m ) 。 v m w a r e i 卅是1 9 9 8 成立的虚拟化软件公司,是软件虚拟化领域的先驱。它推出 v m w a r ee s x 为企业提供虚拟化支持,推出v m w a r ew o r k s t a t i o n 用于个人计算机 虚拟化体验。v m w a r ee s x l l o j 直接布置在硬件之上,提出了d i r e c ti o 设备访问模 式,取得了较好的虚拟化性能。2 0 0 9 年推出了v m w a r ev s p h e r e 针对云计算快速发 展的趋势,把各种计算,存储资源进行整合,提供一个虚拟的计算平台,着力于 构建动态的数据中心,以节省企业投资和管理成本。 x e n l l l j 是剑桥大学计算机实验室推出的一个开源虚拟机监视器,它通过修改 l i n u x 操作系统完成一个虚拟机监视器,在虚拟机操作系统提供伪驱动( p s e u d o d e v i c ed r i v e r ) 和准虚拟化( p a r a v i r t u a l i z a t i o n ) 技术实现性能的优化。x e n s o u r c e 公 司后来被c i t r i x 公司收购,开始着力于服务器方面的虚拟化支持。x e n 的技术比较 成熟,像r e dh a t ,i b m 等公司发布的l i n u x 发布版都提供了x e n 的支持。 q e m u 1 2 】是一个x 8 6 平台的开源模拟器,它采用动态二进制翻译技术实现高性 能的模拟。其虚拟各种硬件设备的技术在其他虚拟机监视器上得到广泛应用。 k v m 1 3 】是于2 0 0 7 年开发的虚拟机监视器,它利用l i n u x 进行内存管理和进程调度, 用q e m u 去模拟各种硬件,本身作为一个模块加入到l i n u x 系统中,避免了x e n 需 要重新编译内核的麻烦,可以支持不修改源代码的操作系统,性能较好,发展很 快,已经被接入l i n u x 内核,使l i n u x 天生具有了虚拟化能力。 v i r t u a lb o x t l 4 1 是s u n 公司开发的虚拟机监视器,已经走向开源。它着重于提供 个人计算机桌面操作系统的虚拟化,提出了窗口融合技术,可以将多个操作系统 的显示到一个桌面上。 d e n a l i ”j 华盛顿大学提出了一个轻量级的v m m 系统。该系统的设计目标是 在一台x 8 6 系列的物理主机上部署一个虚拟的网络开发测试环境。d e n a l i 提出了 准虚拟化技术,即经过v m m 抽象的虚拟机体系结构与实际硬件略有不同,并以 此为代价降低v m m 本身的复杂性,同时获得更好的性能。 由于虚拟化技术的巨大优势,不但各个独立的虚拟机软件生产厂商,而且各 种主流的操作系统也开始重视虚拟化的支持,l i n u x 接受k v m 进入内核使l i n u x 具有了天然的虚拟化能力,m i c r o s o f t 收购c o n n e c t i x 的v i r t u a lp c 1 6 1 ,为w i n d o w s 提供虚拟化支持。 第8 页 国防科学技术大学研究生院工学硕士学位论文 虚拟机监视器在实现架构上可以分为独立型( s t a n d a l o n e ) 和主操作系统辅助 型( h o s t b a s e d ) 两种类型 7 1 。s t a n d a l o n e 结构的v m m 直接工作在操作系统之上, 需要自己提供硬件管理功能,需要开发独立的驱动程序,所以实现较为复杂。而 h o s t - b a s e d 类型的虚拟机监视器通常安装在一个操作系统之上,这个操作系统称之 为宿主操作系统( h o s to p e r a t i n gs y s t e m ,h o s ) ,它利用h o s 提供硬件管理功能, 而只专注于虚拟化工作,所以实现较为简单。 综上所述,虚拟化技术的优势可以归纳为以下三点: 1 ) 实现硬件资源共享,提高资源和能源的使用效率; 2 ) 可以屏蔽不同平台的异构性,提高软件的可移植性; 3 ) 封装系统的内部细节,提供一个简单通用的借口,提高人们的工作效率。 虚拟化技术为人们带来使用上的方便,提高硬件资源和能源的使用效率,提 高软件的可移植性等各种好处,此外,虚拟化技术为操作系统的的安全带来了新 的解决途径,虚拟机监视器可以提供操作系统级的隔离性,而且虚拟机监视器拥 有较高的特权级和控制权限,基于虚拟机监视器的安全工具具有更高的安全性。 2 2 入侵检测技术 入侵检测系统( i n t r u s i o nd e t e c t i o ns y s t e m ,i d s ) 通过检查操作系统的日志 审计记录或网络数据包信息,检测系统中违反安全策略或危及系统安全的行为或 活动,从而保护信息系统的资源免受或者减少损害【1 8 1 。入侵是指破坏目标系统资 源的完整性、机密性或可用性的一系列活动,入侵检测系统所检测的入侵行为往 往仅指从系统内部或者外部发起的,尝试或者实施对系统资源的非授权访问或破 坏的行为。 原来的操作系统的设计思想是效率优先而不是安全优先,造成现在的操作系 统机制结构疲于应对各种攻击。例如x 8 6 平台提供了四个安全等级,而通用操作 系统( l i n u x ,w i n d o w s ) 为了简单和效率只使用了其中的两个,将各种驱动代码 和服务模块与内核运行在同一特权级,这就影响到基本内核的可靠性。特别是为 了兼容各种硬件允许用户通过安装驱动程序等方式动态添加内核代码,使得操作 系统的完整性更加难以保证。 有些操作系统为了安全可靠禁止动态添加内核代码,但是,对于某些领域特 别是个人计算机领域却无法应用这种方法,因为p c 用户往往需要支持各种各样的 硬件,而且很多应用也具有内核模块。此外,采用模块认证和内核保护技术可以 预防内核攻击,但是,p c 机往往需要支持多种多样的内核模块,用户往往不愿意 因为缺乏签名而放弃功能程序,从而实际上使这种机制对恶意代码攻击没有任何 意义。因此,需要寻求更好的系统安全技术。 第9 页 国防科学技术大学研究生院工学硕士学位论文 虚拟化技术的发展为此提供了一个契机,通过虚拟机监视器进行资源的管理 和内核的保护,而让o s 直接去使用各种硬件为应用程序服务,通过分离服务和安 全两个功能分别有操作系统和虚拟机监视器完成可以有效地增强计算机系统的安 全。 入侵检测系统的结构可以分为基于主机型入侵检测系统( h o s t - b a s e di d s ) 、 网络型入侵监测系统( n e t b a s e di d s ) 和分布式入侵检测系统( d i s t r i b u t e di d s ) 三种类型【1 9 1 。基于主机型入侵检测系统根据主机日志和审计信息发现入侵事件; 基于网络型入侵检测系统通过检测系统的网络流量、通信协议、网络管理信息等 数据信息来发现入侵;分布式入侵检测系统通过在各个节点布置检测器来检测系 统内的事件行为,并检测网络通信信息,可以应对复杂的高速的网络环境和复杂 的攻击模式。 入侵检测技术分为两大类型:异常入侵检测( a b n o r m a l yd e t e c t i o n ) 和误用入 侵检测( m i s u s ed e t e c t i o n ) 。异常入侵检测根据系统的网络流量,用户使用操作 等异常行为来判断入侵,这种检测技术可以较好地检测到未知的攻击,但是难以 准确定位异常行为的模式,而且误报率较高。误用入侵检测通过攻击特征模式匹 配发现入侵,可以快速匹配各种已知的攻击行为,但是难以预测未知的攻击行为, 漏报率较高。 t r i p w i r e 2 0 】是一个基于文件和目录完整性检测来发现攻击的工具软件包。它根 据系统文件的规则设置,将被修改的文件变化通知系统管理员,可以进行文件损 害和定位攻击的测量工具。t r i p w i r e 需要系统先进入到单用户模式,生成文件系统 的原始特征库作为参考;而且对于配置经常变化的电脑来说,恶意修改行为往往 淹没在巨大的修改信息中。 s n o r t 2 l 】基于l i b c a p 软件包监听网络上的数据包,然后根据一定的规则对包的 内容进行搜索匹配,符合攻击模式库的视为攻击。它可以检测出缓冲区溢出,端 口扫描,c g i 攻击,s m b 探测等多种攻击,还可以通过配置实时报警。他利用 m y s q l 作为攻击模式的数据库存储,加快了进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论