




已阅读5页,还剩48页未读, 继续免费阅读
计算机应用技术硕士论文-高性能沙箱结构及其检测算法的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 掣垫必q _ # 搿 尚恐犬淫 n a n k a iu n i v e r s i t y 日 新 月 里 ,、 论文题目:高性能沙箱结构及其 九 乞 u 磁 检测算法的研究 硕士学位论文 m a s t e r sd i s s e r l 丁i o n 培养院系:值星撞查型堂堂陵 一级学科:过簋狃抖雯皇撞莶 二级学科:过篁垫瘗旦撞丕 论文作者:全主 指导教师:堂建圭量麴撞 南开大学研究生院 2 0 0 5 年4 月 奄谶黯 高性能沙箱结构及其检测算法的研究 摘要 当今的i n t e m e t 网络存在很多安全漏洞,其最根本的原因是日常使用的大部 分应用程序都是不可靠的。这些程序从未经过认证,可能包含病毒、木马及其他 潜在安全威胁。目前常用的防火墙、入侵检测等安全策略均不足以防范此类安全 隐患。本文介绍的高性能沙箱系统( h p s ) 采用了一种限制型的安全策略,通过 将不可靠应用程序运行在沙箱系统中,监视并控制其对于系统资源的访问,从而 减轻或阻止不可靠应用程序对于系统的危害。 与其他经典的沙箱系统( 如j a n u s 和j a v a 沙箱系统) 相比,本文提出的i - i p s 沙箱系统的主要设计目标是在不影响检测率的前提下,尽可能的提高系统运行速 度,进而提高沙箱系统的可用性:因此,本文在设计数据收集器、规则集和检测 器的时候采取了以下3 个方法对经典沙箱系统进行了优化: 首先,h p s 系统中的数据收集器通过减少与检测器之间传递的数据量来提高 系统性能。数据收集器仅截取最小的必须的特征集合,减少了每一条被截获的系 统调用包含的数据量。同时,数据收集器中添加的过滤器采用聚类过滤算法 ( s i n g l e l i n k a g e 和k - m e a n s ) 能够在不影响准确性的前提下去除近5 0 的无关 系统调用。 其次,h p s 系统采用了两种类型的规则集:专家规则集( 如s n a r e 规则集、 j a n u s 规则集和c e r t 规则集) 和通过数据挖掘算法r i p p e r 得到的规则集。这 两类分别具有通用性和特殊性的规则集相互补充,提高了检测的准确性。 最后,h p s 系统中的检测器采用了机器学习中的决策树技术来提高匹配速 度。决策树规则集结构和匹配算法使规则匹配速度不再与规则数目成线性关系, 而仅仅与特征数目相关。同时,本文还提出了利用分类决策树方法解决单一决策 树空间复杂度过高的问题。 关键词:沙箱系统,聚类过滤算法,r i p p e r 算法,决策树 r e s e a r c ho nh i g hp e r f o r m a n c es a n d b o x f r a m e w o r ka n dd e t e c t i o n a l g o r i t h m s a b s t r a c t t h o s ed a y s ,w h i l ew ea r ee n j o y i n gt h ec o n v e n i e n c ea n df a c i l i t yo fi n t e r n e t ,w e h a v et of a c et h et h r e a to fm i l l i o n so fh a c k e r s ,c r a c k e r sa n db u s i n e s sc o m p e t i t o r s ,t h e n u m b e ro fw h o mi si n c r e a s i n gs t e a d i l yd a yb yd a y d e s p i t et h eg r e a tn u m b e ro f s t r a t e g i e sa p p l i e d ,s u c h 船f i r e w a i l ,i n t r u s i o nd e t e c t i o ns y s t e m ,e t c ,n os y s t e mc o u l d b er e g a r d e d 船c o m p l e t e l ys e c u r e t h em a i nr e a s o ni st h a tm o s ts o f t w a r ew ew o r kw i t he v e r y d a yi su n t r u s t e d , w h i c h c o u l dc o n t a i nv i r u s e s ,t r o j a nh o r s e sa n do t h e rv u t n e r a b i l i t i e s w ec a n n o tr e l ys o l e l y o nt h em o r a lo fp r o g r a m m e r s t h i sp a p e rp r e s e n t sam e t h o d , s a n d b o x ,f o rc o n f i n i n g t h ea c t i v i t i e so fu n t r u s t e d a p p l i c a t i o n s a f t e rad e t a i l e ds u r v e yo fc u r r e n tr e s e a r c ho ns a n d b o x ,l i k ej a v aa n dj a n u s ,w e p r o p o s et h ed e s i g na n di m p l e m e n t a t i o no fo u rs a n d b o xs y s t e m d i s t i n c tf r o mm a n y o t h e rs a n d b o xs y s t e m s ,w ee m p h a s i z eag r e a tc o n c e r n m e n to np e r f o r m a n c e ,a st h e l e s so v e r h e a das a n d b o xb r i n g st os y s t e m ,t h em o r ei ti sa p p l i c a b l e w ec a r e f u l l ys e l e c t e dt h el e a s tn e c e s s a r yf e a t u r e sa n da p p l i e dc l u s t e rf i l t e r i n g a l g o r i t h m ss u c ha sk - m e a n sa n ds i n g l e l i n k a g et oe n h a n c et h ee f f i c i e n c yo fs y s t e m c a l l sc o l l e c t o r t oc o m p o s et h er u l e s e t ,w ea d o p t e db o t l lt h ee x p e r tr u l e s e t s ,l i k es n a r e m l e s e t , j a n u sr d c s e t ,c e r tr u l e s e t ,a n dd a t am i n i n ga i g o r i t h mr u l e s e t , w h i c hi s o b t a i n e db yr i p p e rr u l es e l e c t i o na l g o r i t h i n m e a n w h i l e ,w er e p l a c e dt h ec o m m o n l y u t i l i z e d2 - d e m e n s i o n a ll i n k - l i s tr u l e s e tw i t had e c i s i o nt r e e ,w h i c hn o t i c e a b l yr e d u c e d t h er t m t i m eo fr u l em a t c h i n gp r o c e s s m o r e o v e r , t h es p a c ec o m p l e x i t yo fd e c i s i o nt r e e w a sc u td o w nw i t ht h ed e s i g no fc l a s s i f i e dd e c i s i o nt r e et e c h n i q u e k e yw o r d s :s a n d b o x ,c l u s t e rf i l t e r i n ga l g o r i t h m ,r i p p e r ,d e c i s i o nt r e e 第1 章引言 第1 章引言 过去的几年间,i n t e r n e t 环境经历了翻天覆地的变化。这个曾经主要用于研究者之间共 享可靠的软件和数据的网络,如今充斥着黑客,恶意用户和非法商业竞争者。重要资源遭到 攻击破坏的风险也日益增大。与此同时,网络上无限的商机吸引着更多的用户从事网络电子 商务交易,网络中传输的数据的重要性也随之持续增加。 当今的i n t e m e t 网络存在很多安全隐患,其最重要的原因在于人们日常使用的软件和交 换的数据几乎从未经过认证,而这些貌似“安全”的软件和数据很可能是由恶意用户或者非 法商业竞争对手制造的。目前正在运行着的许多应用程序对于恶意输入都无法处理( 缓存区 溢出攻击) ,这些应用程序具有不可靠性,而这些不可靠的应用程序最终造成了系统以及 i n t e r n e t 的不安全性。 1 1 应用程序的不可靠性 可以通过以下两个因素来判断一个应用程序是否可靠。 ( 1 ) 应用程序的来源是否可靠,即是否来自一个不安全的链接,或者是否由一个没有经 过认证的程序员编写。 ( 2 ) 应用程序是否能够保证自身免于外界恶意输入的干扰。 第一个因素表征的情况是恶意用户通过在代码中加入某些代码来达至归 法目的,比如现 在常见的包含木马和病毒的应用程序均属于此类。第二个因素往往是由于程序员自身水平的 限制面产生的,程序员无法保证他所编写的代码不存在安全隐患,这两种情况非常普遍,甚 至是难以预防,而系统安全的目标是无论出现以上哪种情况,均必须保证操作系统和其他系 统资源的安全性。 最简单的解决方法是禁止不可靠的应用程序运行。但在实际操作过程中仅仅依靠禁止是 不够的。一方面,大量此类的程序被广泛使用,无法全部摒弃( 例如s e n d m a i l ,目前已经发 现了近3 0 个漏洞,但是依然非常流行) 。另一方面寻找具有同样功能的此类应用程序的替 代品十分困难。k e nt h o m p s o n 在图灵奖获奖演说中曾提到一“代码的可靠性由编写代码的 程序员的可靠性决定,我们只能完全相信自己编写的代码”【1 l 。因此,综合考虑重写代码的 困难,单纯依靠禁止或者重写不可靠应用程序来保障安全性是不可行的。 1 2 传统安全策略 怎样才算有效实现了对应用程序的保护呢? 简单来说,就是指一个用户即使完全控制了 不可靠的应用程序,依然无法对系统可靠性、完整性和可用性进行进一步的破坏。所有的破 坏都必须限制在该应用程序自身拥有的资源之内,如显示窗口、临时文件和存储区等。从另 一个角度讲,系统应该遵循最低权限原则,即仅仅为应用程序提供最少的能够满足它的合法 行为的系统资源和权限。这样也就保证了一个应用程序所能产生的危害被牢牢的限制在它所 处的运行环境中。无法对外界进行干扰。相对而言,u n i x 系统对于应用程序的保护无法满 足以上要求。当前一个没有被保护的u n i x 应用程序被攻陷后,非法用户将具有执行该应用 程序的账号的全部权限。如果应用程序的执行者是r o o t ,那么非法用户将具有访问任何系统 第1 章引言 资源的权限,这种情况是不可接受的。 针对此类操作系统对于应用程序保护能力的不足,许多安全策略通过将一个应用程序限 制在它的执行环境中来辅助提高系统的安全性。下面列举了6 种此类的传统安全策略,同时 讨论了它们的特点和不足。 1 由应用程序自身实现安全性 此种安全策略要求所有不可靠的应用程序必须全部按照某种简单安全的模式重新编写。 很明显该方法不可行,因为重写这些应用程序,特别是在很短的时间内,需要较多时间和资 金。比较可行的方法是一旦发现漏洞立刻编写漏洞补丁,同时为所有的此类应用程序安装该 补丁。从历史角度来看,这也是一个失败的方法,当应用程序代码量较大、应用较广泛时更 是如此。例如某一段时间内,s e n d m a i l 2 1 程序曾经每个月都有新的漏洞出现,编写补丁的速 度远远跟不上发现漏洞的速度,造成安全性没有任何保障。另外,目前还没有一个可靠的方 法能够通知所有用户关于漏洞的存在并且说服用户安装补丁。尽管如此,目前很多常见的应 用程序只能依靠此类安全策略提供非常有限的安全保障。用户更需要一个通用的外在的安全 保护措施。 2 为操作系统添加新的保护功能 此类安全策略中比较有代表性的是l i n u x 的l i d s 3 方案,即为l i n u x 内核提供i d s 功 能。以下几个原因表明这个方法同样不实用。首先,这种方法无论开发还是安装均需要修改 操作系统内核。因此很难得到广泛应用。其次,很多用户不希望借助专家来帮助他们重新编 译操作系统。第三,修改内核风险很大,修改掉原来的漏洞有可能会引入新的更严重的漏洞。 最好能够采用一个用户级方法,使用操作系统原有的访问控制方法作为补充。用户级的方法 在最坏的情况下也仅仅是不能发挥作用,而不会对系统的安全性造成进一步的损害。 3 使用现有的访问监控器( r e f e r e n c em o n i t o r ) 传统的操作系统访问监控模块( 即通过用户u i d 和g i d 进行的访问控制) 无法直接保 证系统免于受到不可靠程序的攻击。当某个帐号被攻陷后,访问控制器最多能够阻止攻击蔓 延到新的帐号,但是此时破坏往往已经造成了。而且,在某些操作系统中,如果某个帐号( 如 r o o t ) 被攻陷了,整个操作系统会遭到攻击,此时访问监控器几乎没有任何作用。 4 防火墙 防火墙通过过滤网络数据流限制不可靠应用程序对于网络资源的访问。防火墙采取的包 过滤手段无法区分不同类型的h t r p 通信,也就无法检测出其中的恶意数据。理论上讲可以 通过协议分析来获得所有的通信协议格式,但是这种方法代价极高,同时系统的复杂性和不 可靠性也会增大。另外,防火墙策略无法限制用户对于内部系统资源的访问。 5 j a v a 技术 j a v a 通过比特码和沙箱技术实现安全性保障。它具有两个主要缺陷。第一,j a v a 对于 原有系统的安全性提高没有任何帮助。原有的代码( 如c 代码等) 不能运行在j a v a 环境中, 用j a v a 语言重写原有的应用程序更不现实。第二,j a v a 提供的安全性和可靠性并不完善。 6 p r o o f - c a r r y i n gc o d e p c c 4 i 5 1 为编译器提供了一个运行时校验代码的工具。p c c 主要通过在语句中添加特殊 的校验代码来实现。但是,p c c 需要在编译时提供安全策略,而不是在运行时,同时p c c 系统无法处理已有的应用程序。 综上所述,当前大部分限制型安全策略无法达到期望的安全性要求。重写应用程序开销 太大;修改内核比较困难并且风险较大。传统基于主机的访问控制策略和防火墙的防护性能 2 第1 章引言 有所不足。对现存应用程序的需求也使得j a v a 技术和p c c 技术不可行。因此,本文提出一 种通用的限制型安全策略一沙箱系统。 1 3 沙箱系统 为了解决不可靠应用程序对于系统的安全威胁,本文提出了一个可行的解决方案,即通 过高性能沙箱系统h p s 对不可靠应用程序进行限制。通过将不可靠的以及危险的应用程序 运行于某个封闭的特定运行环境中来限制它们的行为,从而减少或者消除潜在的安全隐患。 通过截取操作系统的系统调用,过滤掉可能有害的调用请求,也就限制了不可靠应用程序对 于系统资源的访问,提高了系统的安全性。这种方法具有以下优势: ( 1 ) 能够灵活地透明地对应用程序强迫实行安全限制。 ( 2 ) 能够在不修改代码的情况下提高常用的不可靠应用程序的安全性,如s e n d m a i l 和 n e t s c a p e f 3 1 提供比当前操作系统更高级的用户级安全保证。 ( 4 ) 可以将j a v a 虚拟机运行在h p s 系统中,使得虚拟机上执行的比特码具有双重保护, 从而进一步提高j a v a 系统的安全性。 1 4 论文大纲 本论文的目的在于介绍和分析h is 高性能沙箱系统的设计方法。全文共分7 部分。第 2 章介绍基于主机的安全系统体系结构,咀及沙箱系统在该体系结构中所处的位置。第3 章 概述当前工业界和学术界沙箱系统的研究状况、常用技术以及j a v a 和j a n u s 两个典型的沙箱 系统。第4 章提出l i p s 系统的总体设计及各个模块功能。第5 章分析数据收集模块的结构 及通过聚类过滤算法提高性能的途径。第6 章介绍专家系统规则集和r i p p e r 算法创建规则 集的方法。第7 章详细论述快速检测算法的设计和优化,并与常见的检测算法进行了比较。 第8 章总结全文,指出了h p s 系统的某些不足以及未来的研究方向。 3 第2 章基于主机的安全系统体系结构 第2 章基于主机的安全系统体系结构 沙箱系统属于一种基于主机的限制型安全策略。本章将首先分析基于主机的安全系统体 系结构,明确沙箱系统所处的位置。然后分类介绍针对主机的攻击手段以及基于主机的安全 策略。最后对两个相似的安全策略一入侵检测系统和沙箱系统的相同点和不同点进行比较。 2 1 基于主机的安全系统体系结构 基于主机的安全系统按照所处位置可以划分成3 个级别。分别是外部应用程序级、内部 应用程序级和内核级( 图2 1 ) 。 图2 1 基于圭机的安全体系结构 内核级几乎所有的功能都是由操作系统内核实现的。主要包括操作系统访问控制机制、 密码、系统审计、用户权限划分等。内部应用程序级是指通过运行在主机上的应用程序来实 现安全控制,此类应用程序对本机用户和其运行的程序、文件进行监视和保护。主要包括基 于主机的入侵检测系统、沙箱系统、应用程序日志、杀毒软件等。外部应用程序级是指通过 某些外部应用程序保障系统安全。这些应用程序可能运行在被保护主机上,也可能运行在其 他主机上,其主要目的是保障该主机的安全,特别是保护主机不受到来自外部的网络入侵。 主要包括防火墙、网络入侵检测系统、安全网关等。 仅仅从这个体系结构还不足以了解本文介绍的沙箱系统在整个基于主机的安全系统体 系结构中的位置。下面将从针对主机的攻击分类和基于主机的安全策略分类两个角度来分析 沙箱系统的位置和职能。 2 2 针对主机的攻击分类 通常将那些为了获取主机的访问权限而从其他主机进行的攻击划分为一种网络攻击类 型。因此,针对主机的攻击通常开始于非授权用户已经获得主机的访问权限之后,即非授权 用户已经攻陷了该主机上的某个账户( 前期网络攻击已经成功) 或者非授权用户在这台主机 上合法拥有某个低权限的账户( 该公司的某个恶意员工) 。非授权用户攻击主机的目的是获 得某些特殊权限,从而能够访问本身权限控制范围外的系统资源( 文件,存储区等) 。参考 1 6 1 的分类方法,按照攻击手段的不同可以将针对主机的攻击分为4 类。分剐为阻止、越权、 修改和窃听( 图2 2 ) 。 d 变傅兰 部用序0 笳警 第2 章基于主机的安全系统体系结构 ( d ) ( a ) ( q ( e ) 图2 2 针对主机的攻击分类f a 项为正常情况,b 项为阻止攻击 c 项为越权攻击,d 项为干涉攻击,e 项为窃听攻击1 正常情况下,授权用户可以访问其权限范围内的所有资源:而非授权用户如果试图访问 其权限范围外的资源,操作系统会返回异常。指示权限不够。可是如果出现( b ) ( c ) ( d ) ( e ) 中的情况时,这套权限机制可能会失效。 1 阻止 此情景下,未授权用户截断授权用户对于正常资源的访问。未授权用户采取的手段一般 是攻击授权用户,特别是某些具有r o o t 权限的服务程序。使其功能失效,d o s 拒绝服务攻 击是此类攻击的代表。未授权用户也可能攻击资源,破坏资源,令授权用户无法访问,如某 些破坏文件系统的病毒。由于未授权用户与授权用户运行在同一台主机上,如果采用此方法 破坏系统,对于未授权用户自身也有较大影响,因此除了病毒以外,此种情景出现的次数比 较有限。 2 越权 此情景下,未授权用户可以不通过操作系统而直接获得授权用户的相应权限,然后以授 权用户的身份对资源进行随意访问。最常见的缓存区溢出攻击就属于此类,即通过某些特权 程序的漏洞来提升未授权用户自身的权限。现在有很多方法用于防范此类攻击,如去除某些 函数库中的不安全函数,如g e t 、s t r c p y ,或者为不安全函数做外包函数等,但是如何编写完 全安全的函数库也是一个无法解决的难题。因此这类攻击屡见不鲜。 3 修改 此情景下,未授权用户可以影响授权用户对于资源的访问,包括读和写。最常见的此类 攻击是竞争条件攻击( r a c i n gc o n d i t i o n ) 。此类攻击往往源于用户的不当配置,比如对用 i m p 下的临时文件命名不当1 7 】等。假设一个授权程序将某些关键信息写k t r a p 下的临时文件作为 缓存,但是非法用户准确预测到了临时文件所使用的文件名,提前建立了该文件,那么这些 信息就被写入了一个非法用户可读写的文件中。非法用户还可以随意修改该临时文件中的信 息,使得授权程序执行读操作的时候读取错误信息。 4 窃听 此情景下,未授权用户通过监视授权用户对资源的访问过程来获取某些敏感信息。此类 5 第2 章基于主机的安全系统体系结构 攻击中最典型的是木马( t r o j a nh o r s e ) 攻击。由于授权用户的误操作,执行了某些包含木 马代码的不可靠应用程序,在主机上为非授权用户留下了一个访问接口。非授权用户可以盗 取口令、访问内容等。由于木马在安装后已经变成授权程序的一部分来执行,具有与授权程 序同等的权限,因此防范此类攻击只能在木马程序安装之前。另外,通过监视某些资源使用 情况,如内存、文件系统、套接1 3 等,未授权用户同样可以获得很多有价值信, g i s 。 2 3 基于主机的安全策略分类 参考图2 1 基于主机的安全系统体系结构可以将基于主机的安全策略按照功能分为以下 3 类( 图2 3 ) : 麓瓣 访问制 日志 入侵检测系统 防火墙 沙箱 防病毒软件 密码系统 认证系统 图2 3 基于主机的安全策略分类 1 审计 审计的目的是记录用户和应用程序的行为。可以按照其在体系结构中的位置划分为系统 审计和应用程序审计。系统级的日志一般采用二进制形式,难以修改,安全性较好。应用程 序级日志一般采用有利于识别的文本形式,但是安全性较差。值得注意的是,可咀按照记录 方式的智能性,将审计进一步划分为日志和入侵检测系统两种。日志是指对应用程序行为无 条件的记录,这些行为可能是正常的,也可能是异常的,最终需要依靠管理员的经验进行分 辩。入侵检测系统可以看作一种智能的审计系统,它通过某些算法对应用程序行为进行选择 性的记录。 2 访问控制 访问控制策略按照某些规则对用户和应用程序的行为进行限制。防火墙系统主要限制用 户和应用程序的网络访问。防病毒软件通过某些特征( s i g n a t u r e ) 检测病毒,同时对于可疑 的应用程序采取隔离和限制访问的方法。以上两种访问控制策略都是通过对简单规则的匹配 实现的,属于较低级的访问控制策略,但是它们的作用域是整个系统。沙箱系统限制在其中 执行的应用程序,作用域是沙箱系统自身之内。同时,沙箱系统具有更加复杂的规则检测模 块,是一种较高级的访簿控制策略。 有些入侵检测系统具有联动功能,即根据检测结果阻止用户的某些行为。比如入侵检测系统发现某条连 接在执行非法操作,它会和防火墙系统进行联动,阻止这条网络连接。这也使得入侵检测系统具有与沙箱 系统相类似的某些功能。关于入侵检测系统和沙箱系统的区别与联系请参考2 4 节。 第2 章基于主机的安全系统体系结构 3 加密 加密策略既可以作为一种单独的安全策略进行使用,如用户认证系统,密码系统等;也 可以作为其他安全策略的辅助手段,如对日志进行加密,从而防止非法用户访问等。 2 4 沙箱系统和入侵检测系统的区别 沙箱系统和入侵检测系统具有非常相似的体系结构,同时入侵检测系统的联动功能和沙 箱检测系统的日志功能使得两者显得更加难以区分。图2 4 描述两者的经典体系结构。从中 可以看出两者的区别和联系。 图2 4 沙箱系统和入侵检测系统体系结构 可以通过前提假设、反应粒度、特征种类、职能类型4 个方面来分析两者的相同点与不 同点。 1 前提假设 沙箱系统和入侵检测系统具有一个相同的前提假设:通过特征值可以检测到异常的应用 程序行为。这个前提假设也使得两种系统具有相同的“数据收集器一检测器”结构。与此同 时。沙箱系统还包含一个基本假设:应用程序对于系统的破坏能力与其对于系统的访问能力 成正比,即限制一个应用程序对于底层系统的访问权限可以有效的刚氐其对系统的危害性。 这条假设使得沙箱系统中的反馈模块直接与数据收集器进行交互,由数据收集器将数据传递 给检涮器,并根据反馈结果最终限制用户对于系统资源的访问。而入侵检测系统主要作用是 对检测出的异常行为进行报警,最终由管理员决定采取什么样的应对策略。 2 反应粒度 有些入侵检测系统具有联动的功能比如检测到一个来自外部的不安全连接,则在报警 的同时关闭该连接,并与防火墙系统实现联动,过滤来自该主机的数据流。这种类型的联动 往往需要通过多个复杂的操作才能完成,这种反应通常称为高粒度反应。同时,高粒度反应 可以是异步的,即可以在检测结果出现一段时间之后执行该反应操作。沙箱系统的反应是同 7 第2 章基于主机的安全系统体系结构 步的,它直接限制用户对于系统资源( 如系统调用) 的使用,这种反应通常称为低粒度反应。 3 特征种类 沙箱系统选取的检测特征比较单一,一般仅使用系统调用这一种特征类型。而入侵检测 系统可以选取多种类型的特征,从多个层次同时进行检测。比如库函数调用,内存使用,用 户命令行等。这个区别主要来源于沙箱系统的同步反应特征,因为无法对某些特征进行同步 限制,如内存使用等。同时,某些特征不适用于沙箱系统,如库函数调用( 用户可以轻易跳 过库函数而直接访问系统调用,使得基于库函数调用的沙箱系统失效) 。 4 职能类型 主要指两类系统在安全体系结构中的所起到的作用。入侵检测系统具有很高的误报率, 因此不能单纯凭入侵检测系统的报警信息决定最终的行为。入侵检测系统往往作为一个参 考,管理员最终还要根据其他方面决定其应对策略。沙箱系统设计的重要需求是准确性,因 此沙箱系统可以作为保障系统安全性的独立手段。 8 第3 章当前沙箱系统研究状况 第3 章当前沙箱系统研究状况 本章概述了当前沙箱系统的研究状况。首先介绍了沙箱检测系统需要用到的技术,然后 提出了对于沙箱系统的分类方法,之后对目前学术界的研究状况进行总结,最后列举了两个 最著名的沙箱系统,一个是工业界的j a v a 沙箱模型,另一个是学术界的j a n u s 系统,同时分 析了两者的特点和不足。 3 1 沙箱技术 沙箱系统的实现主要应用两个技术:干预系统调用技术和限制系统调用技术。 干预系统调用技术是指修改系统调用使之不再遵从默认的行为。实现过程中一般采用 将原来的系统调用接口函数替换为某些外包( w r a p p e r ) 函数的方法。外包函数中进行截取、 检测等功能。最后可以选择是否执行默认的系统调用。外包函数如图3 1 所示: 图3 1 外包函数 限制系统调用技术是指对某些系统调用的进行阻止。一般经过检测器测试某些限制规 则如果用户请求的系统调用满足某条规则,则不再执行旧的系统调用,同时向用户返回异 常。 3 2 沙箱系统分类 沙箱系统可以按照其在系统中所处位置或者规则集的复杂度进行分类。 3 2 1 按照系统中所处的位置分类 按照沙箱系统所处位置,可以将沙箱系统分为4 类: 1 虚拟机沙箱 通过将应用程序运行在不同的虚拟机上实现沙箱的限制功能。用户对于系统的危害将被 限制在虚拟机之内。 2 内核级沙箱 此类沙箱系统由内核进行支持。比如修改c h r o o t ( ) 函数。o s 访问控制,通过s e t r l i m i t 和g e 订l i m i t 函数限制应用程序对于资源的访问等。 9 一潲一一一翦滞 _碇l测一甩神;撬一 一一一峨蜜一一一 绚、 姆 第3 章当前沙箱系统研究状况 一f 一翮 图3 2 应用程序级沙箱 4 语言级沙箱 j a v a 和p y t h o n 是两种普遍应用的编程语言。用j a v a 语言编写的比特码程序和用p y t h o n 语言编写的脚本程序均运行在相应的虚拟机( 沙箱) 中,3 4 节将就j a v a 的沙箱系统模型 进行讨论。 本文所论述的h p s 沙箱系统属于应用程序级沙箱系统,比较特殊的是该沙箱系统的数 据收集器位于内核空间,而检测器位于用户空问。 3 2 2 按照规则集复杂度分类 本论文主要着眼于沙箱规则集和性能方面的研究。按照沙箱系统规则集的复杂程度,可 以将当前的沙箱系统分为以下3 类: 1 限制型沙箱系统( c 型) c 型也可以称为可否型( y e s n o 型) 沙箱系统。这些系统的规则集非常简单,仅仅是规 定哪些系统调用可以访问,哪些系统调用不可以;哪些地址可以使用,哪些地址不可以;哪 些类可以装载哪些类不可以等。对于所有运行在沙箱系统上的应用程序,均采用同一个规 则集。 j a v a 沙箱模型是最典型的c 型沙箱系统。这种系统的规则集具有唯一性,因此这些规 则集经常被硬编码到检测器内,难以增加和修改,但是这也使得此类沙箱系统的性能非常出 色。 2 单规则型沙箱系统( s r 型) s r 型沙箱系统具有简单的可以配置的规则集每条规则包含多个特征值。规则集可以 人为的增添或修改,一般采用专家系统规则集。同时s r 型沙箱系统通常采用类似于s n o r t 检测系统的线性匹配算法。 加州大学b e r k e l e y 分校的j a n u s 系统和i n t e r s e c t a l l i a n c e 公司的s n a r e 系统是s r 型沙箱 系统的代表。 3 复杂规则型沙箱系统( c r 型) c r 型沙箱系统包含复杂的规则集,往往由几条连续规则来表示一个事件,这就要求沙 箱系统的检测器能够记录系统状态。同时,这些规则很难由专家来制订,一般是通过某些数 据挖掘或机器学习算法从实验数据集中得到。规则的复杂性要求检测器能够提供一个高性能 的检测引擎来避免针对沙箱系统的拒绝服务( d o s ) 事件的发生。 本文介绍的h p s 沙箱系统是一个s r 型沙箱系统,实验中应用决策树结构的规则集和 决策树匹配算法对该沙箱系统检测过程进行了优化,使得l i p s 系统系统的性能远远优于当 前同类型的沙箱系统。同时,本文还对c r 型沙箱系统提出了设计构想。 1 0 第3 章当前沙箱系统研究状况 3 3 沙箱系统研究现状 沙箱系统使用的干预技术和限制技术在其他安全系统中也有着广泛的应用。集中两种技 术的j a v a 沙箱系统和j a n u s 沙箱系统是当前沙箱系统的代表。 3 3 1 干预技术( i n t e r p o s i t i o n ) 当前有许多使用干预技术的安全系统。s l i c 9 1 系统将干预技术作为一个用于扩展操作系 统的低廉手段。它允许用户自主选择某些操作系统接口,然后通过下载代码并安装到内核的 方法来实现对于这些接口的扩展。s l i c 在一系列应用程序上进行了实验,如a p a c h e 等。 j o n e s 研究如何在m a c h 内核中应用干预技术,将干预技术作为一个扩展用户层功能的 工具【】u j i ”j 。他的研究表明,如果o s 能够支持用户对于系统调用接i = 1 进行干预的机制,就可 以实现很多新的有用的功能。然而,他的工具集无法对插入的代码进行安全性限制,因为 m a c h 系统无法保护插入的代码不会受到原有不可靠应用程序代码的影响。 a l e x a n d r o v 等人1 1 4 提出了如何通过对系统调用接i = 1 进行干预来实现用户级文件系统的 扩展。像j a n u s 一样,系统使用s o l a r i s 的p r o c 系统调用跟踪方法来截取系统调用。a l e x a n d r o v 的工作也同样证实了本文的观点:如果o s 支持用户级的操作系统调用干预机制,就可以产 生很多新的潜在的功能,并且能够有效的提高安全性。 很多其他通过对干预系统调用来提高安全性的工作也是建立在文章n 3 】方法的基础上 的。论文“”提出了利用l i m t x 可加载内核模块对系统调用接口进行干预的方法。该作者编写 了一个工具来限制不可靠进程对于f o 的访问,并利用它来实现对n e t s c a p e 网页浏览器的保 护。然而,作者没有考虑对于其他资源的访问控制,如网络等。 文章【l ”提出一种外包( w r a p p e r ) 定义语言,通过这种语言能够减小干预系统调用接口 的代价。该文章最主要的贡献之一是提出了关联系统调用的概念。按照该方法外包的开发者 可以指定较高层次的规则,这些规则是与平台无关的。由外包编译器将这些规则翻译为与平 台相关的底层形式。该文章的作者通过可加载内核模块的方法在f r e e b s d 和s o l a r i s 上实现 了该系统,同时编写了其他一些应用程序用于实现包括限制不可靠应用程序行为、基于操作 系统序列识别的入侵检测等功能。 很多研究者曾经提出利用干预技术提高系统安全性的方法。i p s e c 通过b i s ( b u m pi nt h e s t a c k ) 机制干预t c p i p 协议栈与网卡驱动之间的交互接口来为i p 协议添加加密和认证的功 能【l 。共享函数库s e c u r e l i b 中替代了c 语言的a c c e p t 。r c c v f r o m 和r e “m 靶库函数调用,取 而代之的是实现了具有地址认证功能的函数版本【1 ”。论文【“i 简要介绍了种对动态链接库 进行干预的方法来动态检测和阻止系统中出现的竞争条件( r a c ec o n d i t i o n ) 。然而,仅仅通 过干预库函数调用的方法不足以限制不可靠应用程序的行为,因为一个恶意的应用程序很容 易就可以跳过对于库函数的访问控制而直接访问系统调用。 f e r n a n d e z 和a l l e n 0 9 利用单用户访问控制列表来扩展文件系统的保护机制。l a i 和 g r a 矿驯提出通过限制文件系统访问的方法来防卫木马程序和病毒,他们的系统只为用户提 供所需的最小的文件系统访问权限。t r o n 2 1 】为每个进程提供不同的文件访问控制来抵御木 马程序的攻击。这些工作都有两个主要的限制:需要修改内核,并且它们都没有实现对于其 他资源的访问控制。 d t e ( d o m a i na n dt y p ee n f o r c e m e n t ) 模型为系统管理员提供了一种高级的访问控制的 途径。d t e 模型有很多u n i x 系统下的实际应用瞄】吲瞄】。它的主要缺陷在于需要修改内 核,代价过高。 第3 章当前沙箱系统研究状况 3 3 2 限制技术( c o n f i n e m e n t ) 限制技术最早由l a m p s o n 4 8 1 提出。l a m p s o n 的实验主要针对的是保护机密性 ( c o n f i d e n t i a l i t y ) ,而目前常用的限制技术主要针对的是保护系统完整性( i n t e g r i t y ) 和可用 性( a v a i l a b i l i t y ) 。l a m p s o n 的工作引发了一系列对于隐秘通道( c o n v e r tc h a n n e l s ) 和防范信 息泄漏的研究工作。本文介绍的沙箱系统的限制性主要体现在限制不可靠应用程序对于机密 信息的访问。 文章 2 6 1 2 “ r 1 实现了一个用于限制不可靠应用程序的沙箱系统“j a i l ”。其作者通过修改 c b r o o t ( ) 函数来实现限制功能。然面,今天针对网络安全的要求日益增长,该方法不能够有 效的保障除文件系统以外的资源。本文介绍的沙箱系统h p s 提供了一个通用的资源限制手 段。 本文所涉及的沙箱系统概念是由w a h b e t ”1 首先提出来的,主要用于隔离软件故障。 w a h b e 所处理的问题是当不可靠模块与可靠模块运行在同一个地址空间时,如何实现内存级 的安全保障,而没有考虑系统级的安全问题。该文作者采用重写二进制代码的技术,可是该 技术使得重用现有的应用程序非常困难。 隔离审查某些操作的观点同时存在于软件故障隔离和本文提到的沙箱系统中。可以采用 软件故障隔离而不是追踪干预系统调用的方法来实现本文介绍的沙箱系统。但是,该方法有 一个致命的缺点:软件故障隔离的模块与不可靠应用程序运行在同一个地址空间,必须保证 该模块不会受到后者的影响,这个要求实现起来十分困难。因此在h i s 沙箱系统的实现中, 检测和限制模块与应用程序运行在不同的地址空间中,从而确保其安全性。 3 4j a v a 安全模型 j a 安全模型的关键在于沙箱的概念。j a v a 安全模型要求在主机上驻留一个程序时, 必须为该程序提供一个运行环境( 沙箱) ,并且为其限定一个范围,进而限制程序可以存取 的系统资源。 j a v a 沙箱负责保护系统资源,而且不同系统资源的保护级别是不同的。这些资源包括: 口内部资源:如访问本地内存( 计算机的r a m ) 。 口外部资源:如访问其文件系统,及其所在局域网中的其他机器。 口网络资源:对于运行在沙箱中的a p p l e t 程序,还可以访问w e b 服务器,该服务器可 能在局域网中,也可能在i n t e r n e t 上。 口数据流:经过此模型的数据流,即从用户主机通过网络传送至磁盘这一过程中的数 据流。 对于以上资源的保护构成了j a v a 安全模型的基础。可以设想存在一组不同大小的沙箱, j a v a 程序就在这些沙箱中执行。 由于j a v a 执行的是比特码( b y t e c o d e ) ,j a v a 的沙箱不仅仅是限制用户对于系统调用的 访问,而是一个多层次的,多粒度的访问控制。这些层次包括( 图3 3 ) : 1 2 第3 章当前沙箱系统研究状况 图3 3j a v a 的安全模型 口字节码校验器( b y t e c o d ev e r i f i e r ) :字节码校验器可以确保j a v a 类文件遵循j a v a 语 言规则。从资源的角度来看,字节码校验器可以帮助所有j a v a 程序实现内存保护。 不过正如图3 3 所示,并非所有的类都要通过字节码校验。 口类装载器( c l a s sl o a d e r ) :所有j a v a 类都是通过一个或多个类装载器实现载入的。类 装载器可以程序化地设置其载入类的权限。 口存取控制器( a c c c s sc o n t r o h e r ) :存取控制器允许( 或禁止) 核心a p i 对操作系统的 存取权限,这是基于策略而定的,而策略则由终端用户或系统管理员设置。 口安全管理器( s e c u r i t y m a n a g e r ) :安全管理器是核心a p i 和操作系统间的主要接口, 是对系统资源存取控制的最后一道防线。但是安全管理器的存在主要是由于一些历 史性的原因,与存取控制器比较,安全管理器实现权限控制的优先级更大。 口安全软件包( s e o j f i t yp a c k a g e ) :安全软件包( 即在j a v a s e c u r i t y 包及相关的安全扩 展包中的类) 允许用户为自己的应用增加新的安全特性,在此基础上可以实现j a v a 类的签名。安全软件包实际上是一个非常复杂的a p i ,具体包括:安全提供者( s e c u r i t y p r o v i d e r ) 接口、消息摘要、密钥与证书、数字签名、加密( 通过j c e 和j s s e ) 、鉴 别( 通过j a a s ) 和钥数据库( k e yd a t a b a s e ) 。 由上面的介绍可以看出,j a v a 的沙箱模型是一个非常复杂并且功能完备的商业系统模 型。但是,从规则集的角度讲,j a v a 的沙箱模型仅仅为限制型沙箱系统( c 级) 的多层结构。 只能执行比特码( b y t e e o d e ) 更是j a v a 沙箱系统的一个主要局限。 3 5 j a n u s 系统 j a n u s 系统f 刈p 1 】【3 2 l 是由加州大学b e r k e l e y 分校g o l d b e r g 和w a g d e r 等人开发的沙箱系 统。j a n u s 采用的是经典的沙箱系统体系结构( 图3 4 ) 。 , 1 3 第3 章当前沙箱系统研究状况 图3 4j a n u s 沙箱系统体系结构 j a n u s 系统由3 部分组成,数据收集器、检测模块和规则集。数据收集器利用s o l a r i s 系 统中的p r o c 文件系统截取和影响系统调片j 。应用稗序进行任何系统调j = j 均需要由数据收集 器传递给检测模块进行测试。检测模块在启动的时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国戏曲学院《安装工程BM算量软件应用》2023-2024学年第一学期期末试卷
- 输电线路设计规范
- 事业单位办公软件培训
- 基本公共卫生培训
- 2025工程咨询服务合同
- 2025合作伙伴采购协议合同范本
- 2025建筑工程施工合同(V)
- 2025合同法在实践中的成就与局限(上)
- 2025年度高校学生国家助学金申请合同
- 2025冰箱购销合同模板
- 国家发展改革委低空经济司
- 单位体检协议书模板合同
- 课题申报书:医学院校研究生“导学思政”创新实践路径研究
- 2025年游泳教练资格认证考试理论试题集(初级)
- 委托律师签署协议书
- 图文工厂转让协议书
- 货物贸易的居间合同
- 2025-2030中国疗养院行业市场深度分析及前景趋势与投资研究报告
- 2025年国企山东济南公共交通集团有限公司招聘笔试参考题库附带答案详解
- 高二入团考试试题及答案
- 福建省漳州市医院招聘工作人员真题2024
评论
0/150
提交评论