(计算机应用技术专业论文)基于lsm的安全审计系统.pdf_第1页
(计算机应用技术专业论文)基于lsm的安全审计系统.pdf_第2页
(计算机应用技术专业论文)基于lsm的安全审计系统.pdf_第3页
(计算机应用技术专业论文)基于lsm的安全审计系统.pdf_第4页
(计算机应用技术专业论文)基于lsm的安全审计系统.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

江 苏大学硕 士 学位论文 摘要 操作系统的安全对于计算机系统的安全具有举足轻重的作用。而 在操作系统的诸多子系统中,审计系统又为最后一道安全防线。 现有的审计系统主要可以分为两类:操作系统自带的以及第三方 专门提供的。操作系统自带的审计功能深入系统底层,审计精确,但 以被动式非实时审计为主,审计粒度可控性低,日志文件可靠性差; 第三方软件则主要审计应用软件的操作,审计粒度粗,安全性和可移 植性差。综合而言,现有的审计系统主要有四个方面需要改进:可移 植性、实时性、日志管理、安全性。 论文基于可移植性l i n u x 操作系统安全模型l s m ,设计并实现 了一个实时、安全、高效的审计系统l s a s ,论文的主要研究内容和 研究成果包括: 一、针对审计功能对l s m 进行了有效扩展。将操作系统进程任 务结构中的安全域指向为审计功能专门设置的数据结构,以增强审计 功龇f i e , ;添加了审计钩子和审计钩子函数,以收集更加全面的审计信息; 提供了加载函数和卸载函数,以实现安全审计模块的动态增删; 二、设计了双链表结构的缓冲区,解决了审计信息易丢弃、缓冲 区常溢出的问题。具体实现方法借鉴了操作系统的p v 操作原理,很 好地解决了进程间的同步协调问题; 三、设计了正常行为规则库r v a 及其动态响应算法,并通过约 束控制算法以及预警阈值和惩罚阈值的设置,实现了实时安全预警与 江苏大 学 硕 士 学 位论文 惩罚: 四、基于标准化和审计效率,设计了安全审计日志数据结构,并 提供了五种基本查询方式。五种查询方式为:用户名查询、时间周期 查询、客体对象属性查询、错误类型查询、操作等级查询,还可根据 需要进行复合式查询; 五、采用最小特权管理技术,多级安全设置技术和日志有效性检 查技术,保证了审计系统的安全; 六、从带宽、进程切换时间、系统调用时间等三个方面,对所提 出的安全审计系统l s a s 进行了运行性能比较测试。并利用l i n u x 系 统s e n d m a i l 攻击,对l s a s 进行了安全性能测试。测试结果表明,l s a s 具有良好的运行性能和安全性能。 关键词:安全审计系统,l s m ,l i n u x ,模块化,内核 i i 江苏大 学 硕 士 学 位论 文 a bs t r a c t t h es e c u r i t yo fo p e r a t i n gs y s t e mp l a y sa l li m p o r t a n tr o l ei nb u i l d i n gr o b u s t c o m p u t e rs y s t e m s m o r e o v e r , t h es e c u r i t yo fo p e r a t i n gs y s t e mi sd e p e n d e n to nt h e s e c u r ea u d i t i n gs y s t e m t h e r ea r et w ok i n d so fa u d i ts y s t e m ,o n ei st h ea u d i t i n gc a p a b i l i t yo ft h e o p e r a t i n gs y s t e m ,a n dt h eo t h e ri ss p e c i f i ca u d i ts y s t e mp r o v i d e db yt h et h i r d - p a r t y s o f t w a r e s a u d i t i n go fo p e r a t i n gs y s t e m sc a np r o v i d em o r ef i n e - g r a i n e da u d i tf u n c t i o n , w h i c hc a nb ei n s e r t e di n t ot h es y s t e mk e r n e l ,b u ti tm a i n l yu s e sp a s s i v ea n d n o n r e a l t i m ea u d i t i n gm e c h a n i s m 、析t hl e s sc o n t r o l l a b l eo fa u d i tg r a n u l a r i t ya n dp o o r r e l i a b l eo fa u d i tl o g s t h et h i r d - p a r t ys o f t w a r e sm a i n l ya u d i to p e r a t i o n so f a p p l i c a t i o n s ,w h i c hh a sc o a r s e g r a i n e d ,p o o rs e c u r i t ya n dp o r t a b i l i t y t os u mu p , e x i s t e da u d i t i n gs y s t e m sc a nb ei m p r o v e di nf o u ra s p e c t s :p o r t a b i l i t y , r e a l t i m e ,l o g m a n a g e m e n t ,s e l f - s e c u r i t y a r e a l t i m e ,s e c u r e ,e f f e c t i v ea u d i ts y s t e mb a s e do nl s m ,l s a s ,i sd e s i g n e da n d r e a l i z e di nt h i sp a p e r m a i nt a s k sa n da c h i e v e m e n t sa r ea sf o l l o w s 1 e n h a n c i n gl s mi na u d i t i n gc a p a b i l i t y s e c u r i t yd o m a i no fp r o c e s st a s k s t r u c t u r ei no p e r a t i n gs y s t e m si sp o i n t e dt ot h es p e c i f i e dd a t as t r u c t u r e ,i no r d e rt o e n h a n c ea u d i t i n gc a p a b i l i t y a u d i th o o k sa n dh o o kf u n c t i o n sa r ea d d e dt oc a p t u r e c o m p r e h e n s i v ea u d i ti n f o r m a t i o n f u t h e n n o r e ,r e g i s t e r e df u n c t i o n sa n du n r e g i s t e r e d f u n c t i o n sa r ep r o v i d e dt oi m p l e m e n td y n a m i ca d d i t i o na n dd e l e t i o no fs e c u r i t ya u d i t m o d u l e s 2b u f f e rw i t hd o u b l e l i n k e dl i s ts t r u c t u r ei sd e s i g n e dt os o l v ee a s yl o s to fa u d i t i n f o r m a t i o na n db u f f e ro v e r f l o w t h ep v o p e r a t i n gp r i n c i p l e so fo p e r a t i n gs y s t e ma r e l e a r n e dt os o l v et h es y n c h r o n i z a t i o no fp r o c e s s e s 3n o r m a la c t i v i t i e sr u l eb a s e ,r v a ,a n di t sd y n a m i cr e s p o n s ea l g o r i t h ma r e p r e s e n t e d a n dr e a l - t i m es e c u r i t yw a r n i n ga n dp u n i s h m e n tm e c h a n i s m sa r ea c h i e v e d b yc o n s t r a i n tc o n t r o la l g o r i t h m m ,a n dt h es e t o fw a r n i n gt h r e s h o l da n dp u n i s h i i i 江 苏 大 学 硕士 学 位论 文 t h r e s h o l d 4a u d i tl o gd a t as t r u c t u r eb a s e do ns t a n d a r d i z a t i o na n de f f i c i e n c yi sd e s i g n e d a n df i v ek i n d so fb a s i c q u e r y a r ep r o v i d e d ,w h i c ha r e q u e r y b y 。u s e r n a m e , q u e r y b y - t i m e ,q u e r y b y o b j e c t s ,q u e r y - b y - e n d r ,q u e r y b y o p e r a t o r ;m e a n w h i l e , c o m p o s i t eq u e r i e sc a nb ea l l o w e d 5t h el e a s tp r i v i l e g em a n a g e m e n tt e c h n o l o g y , m u l t i - l e v e ls e c u r i t yt e c h n o l o g y a n dv a l i d a t i o nt e c h n o l o g yo fl o g sa r ea p p l i e dt oe n s u r es a f e t yo fa u d i ts y s t e m 6t h ew i d t h ,t h es w i t c h i n gt i m eo fp r o c e s s e sa n ds y s t e mc a l lt i m ea r et e s t e di n t h el s a s a n dt h es u e c r i t yo fl s a si st e s t e db yt h ea t t a c k so fs e n d m a i li nl i n u x t h er e s u l t ss h o wt h a tt h el s a sh a se f f e c t i v ep e r f o r m a n c ea n df i n es e c u r i t y k e yw o r d s :s e c u r ea u d i ts y s t e m ,l s m ,l i n u x ,m o d u l a r ,k e r n e l i v 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文 的规定,同意学校保留并向国家有关部门或机构送交论文的 复印件和电子版,允许论文被查阅和借阅。本人授权江苏大 学可以将本学位论文的全部内容或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和 汇编本学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密。 指导教师签名:毯苍蔓 2 0 0 8 年j 乙月况日 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指 导下,独立进行研究工作所取得的成果。除文中已注明引用 的内容以外,本论文不包含任何其他个人或集体已经发表或 撰写过的作品成果。对本文的研究做出重要贡献的个人和集 体,均已在文中以明确方式标明。本人完全意识到本声明的 法律结果由本人承担。 学位论文作者签名: 叶 日期:7 积年j 二月 江苏大 学 硕士 学 位论文 1 1 研究背景及意义 第一章绪论弟一早三百了匕 随着计算机和i n t e m e t 技术的飞速发展,信息资源的共享程度进一步加强, 计算机的应用领域不断拓展,计算机系统的安全问题日益引起人们的高度重视, 人们逐渐认识到计算机和网络的发展离不开信息安全技术的保障。对于安全领域 的探索和研究正日益深入,世界各国都投入了大量的人力、物力和财力,以期提 高计算机系统的安全性。但任何系统都无法保证绝对的安全,人为的操作失误、 火灾雷击等自然灾害及硬件设备故障都是难以用技术手段来解决的。所能追求的 安全就是使系统确实按人们预想的方式运行,有效地保护各类信息,并尽可能地 帮助管理员和用户避免操作错误。 作为核心的操作系统是计算机系统中的最底层软件,是连接计算机硬件与上 层应用及用户的桥梁,它的安全性是至关重要的。它管理着系统的核心资源,如 处理器调度,内存的分配和释放,进程的调度等工作。操作系统作为安全防护的 最后一道防线,其本身的安全防护能力就决定了整个系统的安全防护能力。a t & t 试验室的s b e l l o v i n 博士对美国c e r t ( c o m p u t e re m e r g e n c yr e s p o n s et e a m ) 提供 的安全报告进行过分析,分析结果表明,很多安全问题的根源都在操作系统的安 全脆弱性之中【l 】。所以说再完善的安全机制,如果建立在脆弱的操作系统之上, 就象在沙滩上建立大厦一样,永远不能达到目的。 审计系统是安全操作系统的一个重要组成部分,是确保数据安全的一种前摄 方法。审计的职责是对系统中有关安全的活动进行记录、检查及审核,同时为入 侵检测等其它安全措施提供可靠的数据源。审计可以确保责任,通过与威胁和存 取模型相关联提高和改善安全策略。最重要的是,当存在行为异常时,审计会创 建预警事件。 大多数计算机操作系统、网络和应用程序自身都带有某种审计机制,能够生 成大量的日志数据,包括登录、管理员权限的使用、访问、修改和删除文件、进 程跟踪、应用程序的执行、记录用户对资源的使用情况等。充分利用审计机制, 能够记录系统的许多活动,为分析系统的安全状况提供有价值的信息。 江 苏大 学 硕士 学 位论文 然而,目前绝大多数计算机系统并没有对审计系统进行合理的设计,而且在 一般情况下,审计日志数据很少被过问。当系统出现问题时,系统管理员或许会 查看审计记录,分析问题发生的原因、地点和过程等。一方面这种分析难以奏效, 另一方面即使分析成功,可能对系统造成的损失已无法挽回,审计也只是一种事 件证据而已。 操作系统安全技术主要包括存取控制技术2 】【3 】【4 】【5 1 ( 如自主访问控制、强制访 问控制以及角色访问控制等) 和审计技术【6 】。前者通过限制信息的传播来维护操作 系统的安全,后者则跟踪有关安全的活动并将其记录下来,为系统安全管理员提 供第一手的安全管理素材,以各非法事件发生后,能够有效的追查到攻击者,从 而制定出更合理的安全控制方案。 一直以来,操作系统安全技术研究的重点都集中在存取控制上,对审计的关 注则比较欠缺。造成这种现状的原因主要有三个:其一,相对于存取控制,审计 是一种比较被动的技术,它的作用不如存取控制技术那样显而易见;其二,现有 的审计没有灵活通用的底层支持框架,而且难以兼顾审计踪迹的安全性和操作系 统的性能;最后,审计信息是海量的,审计信息的分析和特征提取技术还不够成 熟。 因此,研究并提出易于扩展、设计完备、实时高效、安全性强的审计系统对 安全操作系统的设计与开发具有重要的意义。 1 2 安全标准对审计的要求 1 2 1t c s e c 对审计的要求 1 9 8 5 年,美国国防部发布了著名的可信计算机系统评测标准( t c s e c ,亦称 桔皮书) f 7 1 ,其中要求从c 2 级开始具有审计功能,到b 3 级己提出了关于审计的 全部功能要求,a l 和a i + 两个级别较b 3 级没有增加任何安全审计特征。因此, t c s e c 共定义了四个级别的审计要求:c 2 ,b 1 ,b 2 ,b 3 。 c 2 级要求审计以下事件:用户的身份标识和鉴别、用户地址空间中客体的 引入和删除、计算机操作员系统管理员安全管理员的行为、其它与安全有关的 事件。对于每个审计事件,审计记录应包含以下信息:事件发生的日期和时间、 2 江 苏大 学 硕 士 学 位论文 事件的主体( 即用户) 、事件的类型、事件成功与否;对于用户鉴别这类事件,还 要记录请求的来源( 如终端号) ;对于在用户地址空间中引入或删除客体,则要记 录客体的名称;系统管理员对于系统内的用户和系统安全数据库的修改也要在审 计记录中得到体现。c 2 级要求审计管理员应能够根据每个用户的身份进行审计。 b 1 级相对于c 2 级增加了以下需要审计的事件:对于可以输出到硬拷贝设备 上的人工可读标志的修改( 包括敏感标记的覆写和标记功能的关闭) 、对任何具有 单一安全标记的通讯通道或i o 设备的标记指定、对具有多个安全标记的通讯通 道或i o 设备的安全标记范围的修改。因为增加了强制访问控制机制,b l 级要 求在审计数据中也要记录客体的安全标记,同时审计管理员也可以根据客体的安 全标记制定审计原则。 b 2 级的安全功能要求较之b l 级增加了可信路径和隐蔽通道分析等,因此, 除了b 1 级的审计要求外,对于可能被用于存储型隐蔽通道的活动,在b 2 级也 要求被审计。 b 3 级在b 2 级的功能基础上,增加了对可能将要违背系统安全政策这类事件 的审计,比如对于时间型隐蔽通道的利用。审计子系统能够监视这类事件的发生 或积聚,并在这种积聚达到某个阈值时立即向安全管理员发出通告,如果随后这 类危险事件仍然持续下去,系统应在做出最小牺牲的条件下主动终止这些事件。 这种及时通告意味着b 3 级的审计子系统不像其它较低的安全级别那样只要求安 全管理员在危险事件发生之后检查审计记录,而是能够更快地识别出这些违背系 统安全政策的活动,并产生报告和进行主动响应。响应的方式包括锁闭发生此类 事件的用户终端或者终止可疑的用户进程。一般地,“最小的牺牲 是与具体应 用有关的,任何终止这类危险事件的行为都是可以接受的。 1 2 2c c 对审计的要求 c c 标准【8 】【9 】【1 0 1 是美国、加拿大、英国、法国、德国、荷兰等国家联合提出的 信息安全评价标准,在1 9 9 9 年通过国际标准化组织认可,成为信息安全评价国 际标准。c c 标准基于安全功能与安全保证措施相独立的观念,在组织上分为基 本概念、安全功能需求和安全保证需求三大部分。c c 标准中,安全需求都以类、 族、组件的层次结构形式进行定义,其中,安全功能需求共有1 1 个类,安全保 江苏大 学 硕士 学 位论 文 证需求共有7 个类,而安全审计就是一个单独的安全功能需求类,其类名为f a u 。 安全审计类有六个族,如图1 1 所示,分别对审计记录的选择、生成、存储、保 护、分析以及相应的入侵响应等功能做出了不同程度的要求。 图1 1c c 标准中安全审计需求类的分解 安全审计事件选择族( f a u _ s e l ) - 定义了预先或在安全操作系统运行过程中 从可审计事件全集之中选择全部或部分事件进行审计的要求,它只有一个组件, 该组件要求能够根据客体标识、用户身份、主体标识、主机标识以及其它条件确 定需要审计的事件集合。c c 标准要求对这种选择性审计事件集合的修改也是可 以被审计的。 安全审计数据生成族( f a u :给出了记录安全相关事件的一些要求。 它包含二个组件,组件定义了不g e 同n 的) 1审计级别( 如最小级、基本级、详细级等) , 并要求明确给出所使用的特定级别中应该审计的事件类型,同时也指出了各种不 同的审计记录类型所应包含的信息的最小集合( 如事件的时间、类型、主体身份、 事件结果以及与事件相关的其它信息) ;而组件2 则是针对用户身份关联,它要 求可审计事件应该能够关联到触发该事件的某个特定的用户身份。 安全审计事件存储族( f a u:对安全审计踪迹的建立、保护和维护提出_stg) 了要求,它包含四个组件。组件1 要求对所有已保存的审计踪迹进行保护,防止 4 江苏大 学 硕 士 学 位论文 对审计记录进行非授权的删除或修改;组件2 进一步要求在审计记录的存储介质 用尽、失效或受到攻击时仍能确保审计记录的可用性;组件3 要求在审计记录所 占的存储量超过某个预定阈值时应采取某种措施以防止可能出现的审计数据丢 失;组件4 则还要求在审计踪迹的存储空间占满后应采取相应的措施以防止后续 审计数据的丢失。 安全审计查看族( f a us a r ) :对授权用户查看审计数据所使用的审计工具提 出了要求,它有三个组件。组件1 要求安全操作系统赋予授权用户从审计记录中 读取特定审计信息的能力,而且要以便于解释的形式向用户提供审计数据:组件 2 是关于限制性审计查看的,要求除明确授权的用户以外的其它任何用户都不能 读取审计记录;组件3 是关于选择性审计查看的,要求审计工具能够根据某种条 件从审计记录中选择需要浏览的数据,或者能够按照某种条件进行排序。 安全审计分析族( f a us a a ) :对于自动分析系统活动和审计数据提出了要 求,用以发现可能存在的安全威胁。这种分析可以用于入侵检测,可以对检测到 的可能违背系统安全政策的活动进行自动响应( 响应的方式由f a ua r p 定义) 。 f a us a a 共有四个组件。组件1 涉及对潜在入侵的分析,要求能够应用固定的 规则来监视审计事件,并进行基本的阈值检测;组件2 则是针对基于活动简档的 入侵检测,要求系统为每个用户或用户组建立一个历史行为模式,每个用户或用 户组被赋予一个可疑度以表明其当前的行为模式与其活动简档中的历史模式之 间相异的程度,若其可疑度超过某个阈值,则意味着该用户或用户组可能会破坏 系统的安全政策;组件3 着重于对简单攻击行为的启发式检测,要求系统能够表 示和检测代表安全威胁的特征事件;组件4 则涉及对复杂攻击行为的启发式检 测,不仅要求安全系统能够表示和检测表征安全威胁的特征事件,而且要能够表 示和检测已知的入侵场景( s c e n a r i o ) 序列。 安全自动响应族( f a ua r p ) :定义了在检测到潜在的入侵行为后所采取的行 为,它只有一个称为“安全警告 的组件,管理员可以增加、删除或修改被检测 到的“入侵行为的响应方式,并且管理员的维护工作也应该被审计。 1 2 3g b l 7 8 5 9 。1 9 9 9 对审计的要求 我国的计算机信息系统安全保护等级划分准则( g b l 7 8 5 9 1 9 9 9 ) 川定义了五 5 江 苏大 学 硕 士 学 位论 文 个安全等级,其中较高的四个级别都对审计提出了明确的要求。 第二级“系统审计保护级”:它规定计算机信息系统可信计算基( t c b ) 需记录 以下事件:使用身份鉴别机制;将客体引入用户地址空间( 例如:打开文件、程 序初始化) ;删除客体;由操作员、系统管理员或( 和) 系统安全管理员实施的动作, 以及其它与系统安全相关的事件。对于每一个事件,其审计记录包括:事件的日 期和时间、用户、事件类型、事件是否成功。对于身份鉴别事件,审计记录包含 请求的来源( 如:终端标识符) ;对于把客体引入用户地址空间的事件及客体删除 事件,审计记录应包含客体名及客体的安全级别。对不能由t c b 独立分辨的审 计事件,审计机制提供审计记录接口,可由授权主体调用。这些审计记录区别于 t c b 独立分辨的审计记录。 第三级“安全标记保护级:在第二级的基础上,要求对于客体的增加和删 除等事件要在审计记录中增加对客体安全标记的记录。另外,t c b 需审计对可 读输出记号( 如输出文件的安全标记) 更改的事件。 第四级“结构化保护级 :该级别中的审计功能与第三级相比,增加了对可 能利用存储型隐蔽通道的事件进行审计的要求。 第五级“访问验证保护级”:在第四级的基础上,要求t c b 能够监控可审计 安全事件的发生与积累,当超过预定阈值时,t c b 能够立即向安全管理员发出 警报。并且,如果这些事件继续发生,系统应以最小的代价终止它们。 1 3 国内外研究现状 目前,国内外有很多研究小组在对l i n u x 的审计机制进行研究,其中既有独 立的审计系统,也有作为安全操作系统组成部分的审计系统。下面将讨论两个著 名的审计系统,即l i n u x 系统自身的日志机制和s n a r e 的审计系统,分析其特 点和不足之处。 1 3 1l i n u x 系统的日志机制 在l i n u x 系统中,日志信息可以来自系统内核、系统应用程序、用户程序或 者另一台主机。l d o g c l 后台程序调用系统调用s y s l o g ,读取内核通过p r i n t k 函数 记录在内核缓冲区( p r o c k m s g ) 中的日志信息1 2 1 ,并由k l o g d 将日志信息通过库函 6 江 苏 大 学 硕士 学位 论文 数s y s l o g ( 3 ) 发送给s y s l o g d ,如果进程k l o g d 进程被停止,则循环缓冲区中的日志 数据有可能被新的数据所覆盖;用户进程则可直接通过库函数s y s l o g ( 3 ) i 句s y s l o g d 后台进程发送日志信息。用户可以通过指定消息的f a c i l i t y p r i o r i t y 属性,把消息 发到不同的地方。系统预先定义了1 9 个设备类型( a u t h ,c r o n ,l p r ,m a i l ,n e w s 等,其中有8 个保留为本地使用) 和8 个不同的消息优先级( 从最高的 l o g e m e r g 到l o q d e b u g ) 。后台进程k l o g d 通过p r o c 文件系统或系统调用 s y s l o g ( 不是库函数) 将内核产生的日志记录转送给s y s l o g d 进程。进程s y s l o g d 负 责收集来自其它进程的日志信息,并根据目志信息的性质和等级进行分发和保 存。由于所有的日志消息都是纯文本形式的,所以其保存格式同样也是纯文本形 式。 l i n u x 系统的日志机制是一套完整的日志系统,提供了一个经典的日志系统 基础模型,具有很高的参考价值。但它并不能完全满足系统对安全审计的要求, 存在以下缺点: ( 1 ) 采用被动式审计机制为主,由应用程序或者内核程序主动调用审计函数 进行记录信息,审计粒度可控性低,不能全面表达系统的活动,对与审计系统相 关的事件如:进程执行、文件访问、增删修改等,缺乏足够的记录能力。 ( 2 ) 对日志文件的操作未作严格安全保护,没有专用的审计进程对日志文件 进行授权操作,任何程序均可根据用户要求插入指定的信息记录,日志文件易伪 造、清除、修改,日志文件采用明文方式存储易泄露敏感信息,日志文件的可信 度差。 ( 3 ) 实现日志记录的后台程序s y s l o g d ,抗攻击性差,用户可以通过k i l l 等命 令任意终止该进程使得日志系统失效。 ( 4 ) 只能进行后选择( p o s t _ s e l e c t i o n ) 审计,而不能进行真正的预选择( p r e s e l e c t i o n ) 审计( s y s l o g d 只能在缓冲区中选择日志信息记录到目志文件中,而不是 在记录审计信息之前进行选择) ,配置功能不够灵活,主要使用本地磁盘存储日 志信息,对系统主存资源和磁盘资源占用较大。 ( 5 ) 文本格式的日志文件所含信息量少,存储效率低,且可靠性差,容易被 伪造和篡改。而且内容和格式各异的数据不利于程序的自动分析。 ( 6 ) 用户程序必须通过日志守护进程的接口生成执行信息,但是恶意代码是 7 江 苏大 学 硕士 学 位论文 不可能主动向日志系统报告的,只有当系统或用户程序失去了正常行为,日志系 统才有可能记录了系统紊乱的结果,而不是原因。从这一点来看,日志系统缺乏 实时的记录系统状态的能力。它不能指出是谁,哪一个进程,在何时执行了关键 操作导致了系统紊乱。 1 3 2s n a r e 的审计系统 s n a r e ( s y s t e mi n t r u s i o na n a l y s i sa n dr e p o r t i n ge n v i r o n m e n t ,系统入侵和报 告环境) 审计系统是国外一个研究组i n t e r s e c ta l l i a n c e 的研究项目。它是一个全面 的c 2 等级的l i n u x 审计系统,是通过动态加载模块来实现的。 s n a r e 由三个主要部分组成【1 3 】【1 4 】:内核动态加载模块( a u d i t m o d u l e o 或内核 补丁) 、用户空间运行的审计监控程序( a u d i t d ) 、图形化配置和报告工具( s n a r e ) 。 审计模块是可以动态加载的内核模块。可以在系统启动或关闭时由系统完成 审计模块的加载或卸载,也可以在系统运行过程中由系统管理员完成审计模块的 加载或卸载。审计内核模块负责收集审计事件;并向审计守侯进程发送从内核读 取事件信息的信号;同时实现审计事件的配置接口i o c t l ,用于启动与关闭审计模 块,传递审计参数;实现审计信息的读取接口r e a d ,供核外的审计进程读取审计 事件。审计内核模块利用p r o e 文件系统实现审计事件的配置接口与审计信息传 递接口。 s n a r e 的工作原理如下: 它把a u d i t m o d u l e 插入系统中,让它管理从用户到内核的系统调用, a u d i t m o d u l e 包装了一些比较危险的系统调用,例如:e x e c v e 、o p e n 、m k d i r ,收 集进程和用户执行的一些有疑问的系统调用信息。这个模块把获得的信息放到一 个临时缓冲区,用户空间的监控程序a u d i t d 从这个缓冲区可以获得这些信息。 用户空间的监控程序a u d i t d 通过d e v a u d i t 设备获得a u d i t m o d u l e 模块收集的 信息,把这些二进制审计数据转换为文本格式的数据,并使用一系列标记对信息 进行分割。原始的事件经过a u d i t d 的处理后,对于普通用户来说还是非常难以理 解。因此s n a r e 提供一个用于日志分析的图形前端s n a r e 。通过这个图形前端 可以容易地进行事件日志参数的配置和事件的显示。 s n a r e 项目也是当前安全领域非常著名的系统,其中涉及到了许多成熟的 8 江 苏 大 学硕 士 学位论 文 技术,加上它的开放源码,在插入式审计函数设计、缓冲区设计、审计信息结构 体设计、审计启动和关闭、内存管理和漏报分析等方面具有很大的借鉴参考价值。 本文讨论的安全审计系统的整体框架设计过程中,参考了s n a r e 的框架设 计思想。 但是由于s n a i 迮系统的设计方式不够灵活,其存在以下缺点: ( 1 ) 审计信息收集粒度较粗,在内核中共插入了2 9 个审计信息收集函数, 只能对这2 9 个系统调用的操作进行审计。 ( 2 ) 审计信息收集点深度较浅,2 9 个收集函数主要在系统调用函数中收集信 息,容易被直接调用底层函数的进程迂回。例如:s n a r e 将s a u d i tm k n o d 函数 插入到系统调用s y sm k n o d 中,而不是在更底层的v f sm k n o d ,如果直接调用 v f sm k n o d 则可以迂回该审计系统的审计功能。 ( 3 ) 因为插入的审计函数需要修改相应内核的系统调用,在l i n u x 系统升级 后必须修改s n a r e 系统内核补丁,在s n a r e 系统的升级也需要重新编译l i n u x 内核。 ( 4 ) 可移植性较差,虽然s n a r e 的审计函数在动态模块中进行了定义,但 是需要在系统调用函数中插入这些审计函数,s n a r e 系统的使用必须重新修改 并编译内核代码,才能使得审计函数生效。 ( 5 ) 由于存在超级用户,如果某恶意代码获得r o o t 权限,a u d i t m o d u l e 会被 u n l o a d ,那么审计功能完全丧失。不支持基于r b a c 的分权机制,s n a r e 产生 的日志同样会处于被r o o t 权限用户控制的地步,审计日志和审计功能同等重要, 如果日志被有意的删除或更改,那么审计系统失去了原有的价值。 ( 6 ) 审计内核模块必须对审计数据进行缓冲,等a u d i t d 获得进入运行状态后 从缓冲区取出审计数据进行分析。如果a u d i t d 所得c p u 时间不足,不能及时从 缓冲区取出审计数据,就可能造成审计数据的丢失。如果用户选择全审计,系统 内核就会放慢运行产生审计数据的进程,以便a u d i t d 能够跟上审计数据产生的速 度,但是这个选项会造成系统效率的下降。s n a r e 提供了图形界面方便用户操 作,但是连它自己的用户手册都推荐不要使用它,因为这样会严重影响系统的性 能。究其原因,在于s n a r e 系统将审计数据复制到用户空间,然后由守护进程 写入文件,一来一往,整个子系统引起的核内核外间的上下文切换开销比较大。 9 江 苏大学硕 士 学位论文 这就是为什么s n a r e 系统要么会降低系统性能,要么会丢失审计数据的原因。 1 4 论文主要研究内容 本课题的研究目标是根据安全标准对审计的要求,在l i n u x 操作系统上基于 l s m ( l i n u xs e c u r i t ym o d u l e s ,l i n u x 安全模型) 实现细粒度、实时、安全、高效的 审计系统。本文主要研究内容如下: ( 1 ) 提出了基于l s m 的安全审计系统( l s a s ) ,并对内核系统调用进行分析, 找出适合审计系统要求的钩子插入点,即用于收集审计信息、操作审计信息的接 口。解决了审计信息收集点深度较浅、收集粒度较粗、可移植性较差、不适应系 统内核升级的问题。 ( 2 ) 采用了双链表结构的缓冲区设计。解决了审计记录被丢弃、系统崩溃的 问题,而且不会因为阻塞问题急剧降低系统性能。 ( 3 ) 行为规则库r v a 中预定义了系统正常运行时产生的参数,通过用户的当 前行为与之匹配比较,对异常行为进行预警甚至惩罚。解决了审计系统非实时的 问题,使其具有主动防御系统安全的特性。 ( 4 ) 基于审计事件类型和审计效率的考虑,设计了存放于数据库中的日志数 据结构。解决了文本格式的日志文件所含信息量少,存储效率低,且可靠性差的 问题。 ( 5 ) 通过最小特权管理技术,多级安全设置技术和基于单向哈希函数的日志 有效性检查技术保障了l s a s 的安全。解决了审计系统和审计日志安全性不高的 问题,防止了破环审计系统、越权访问、日志被伪造和篡改等问题的发生。 1 5 论文的组织结构 本文的内容共分为六章,各章的内容安排简要描述如下: 第一章:绪论。介绍了课题研究背景及意义、安全标准对审计的要求、国内 外研究现状,给出课题研究目标、论文主要研究内容和组织结构。 第二章:l i n u x 安全模型l s m 研究。分析了l s m 的设计思想、对l i n u x 内 核的修改、h o o k 函数的工作原理以及对审计支持的不足之处,在此基础上提出 了基于l s m 的安全审计系统。 1 0 江 苏大学硕 士 学位论文 第三章:基于l s m 的安全审计系统l s a s 的分析与设计。提出了高安全性 的模块化审计系统。设计了l s a s 的整体框架及运作流程,并就审计信息收集模 块、审计安全预警模块、审计日志管理模块进行了详细的分析与设计。 第四章:基于l s m 的安全审计系统l s a s 的实现。描述了l s a s 的具体实 现,包括:审计事件的选择流程、l s a s 对审计功能的实现、预警惩罚机制的实 现、审计日志的管理以及l s a s 的安全保障机制。 第五章:l s a s 性能测试。测试了加载审计前后的运行性能,以及加载审计 后的安全性能。 第六章:总结与展望。总结课题研究工作,并提出下一步需要研究的内容。 江 苏大 学 硕 士 学 位 论文 第二章l i n u x 安全模型l s m 研究 为了增强l i n u x 系统的安全性,很多安全项目为l i n u x 系统开发了各自的访 问控制模式,但是没有一个系统框架成为l i n u x 内核的标准。对此l i n u x 创始人 l i n u st o r v a l d 在2 0 0 1 年2 月l i n u x 内核2 5 版本峰会上提出:在主流l i n u x 内核 中实现一套通用安全框架1 5 】【1 6 1 。该框架将提供一系列的安全h o o k ( 钩子) ,用来 控制对内核对象的操作,并在内核的数据结构体中插入一个安全域集,用来存储 安全属性,该框架将通过可装载的内核模块来实现期望的安全策略。这个框架就 是l i n u x 安全模型( l s m ) 。 2 1l s m 概述 l s m 是在内核模块的基础上提出的一套通用的、轻量级的全新模块机制, 其本身并不能增强系统安全性,只是为各类安全策略提供一个统一的开发和运行 平台【1 7 1 ,避免各类安全策略实现过程中对内核代码的修改、补丁操作,以及内核 重新编译等工作。 图2 1 含l s m 的l i n u x 内核模块结构 在l s m 的基础上,安全策略都以内核模块的形式存在。l s m 可以满足多数 l i n u x 本地安全策略的要求,同时可以将已有的安全策略从基本内核中分离出来, 1 2 江 苏大学硕 士 学位论文 减少基本内核的负担提高其工作效率。只在必要时才装载安全策略,这样大大降 低了系统的开销,特别是对嵌入式系统尤为必要,如图2 1 所示。目前l i n u x 2 5 , 2 6 版本的内核中都包含有l s m 框架,较早的内核也有相应的内核补丁。因此, 基于l s m 实现的安全策略,不必担心内核升级带来的不便。 ( ) l s m 的设计思想 以l i n u st o r v a l d 为代表的内核开发人员从实际使用和技术角度对l s m 的设 计提出四点要求【1 8 】: ( 1 ) 真正的通用。作为一个通用的框架,基本内核的一部分,它能适合多数 安全策略要求,使用不同的安全策略,只要加载不同的内核模块。 ( 2 ) 概念简单。对内核执行效率和系统开销影响小,对内核源码的改动小。 l s m 框架仅作为一个设计平台,不涉及到具体的安全策略。l s m 只在内核代码 中增加了h o o k 函数的调用,对原有的内核运行无明显的影响。 ( 3 ) 能够支持现有的p o s i x 1 ec a p a b i l i t i e s 逻辑。l s m 将其从基本内核中独 立出来,作为一个可选的安全模块。 ( 4 ) 基于l s m 实现的安全策略应是功能完整的。 ( 二) l s m 对l i n u x 内核的修改 l s m t l 9 1 作为一个l i n u x 内核补丁的形式实现。其本身不提供任何具体的安全 策略,而是提供了一个通用的基础体系给安全模块,由安全模块来实现具体的安 全策略。其对l i n u x 内核的修改主要体现在五个方面: ( 1 ) l s m 为核心内部对象提供了不透明的安全域:v o i d * s e c u r i t y ,该域是v o i d * 类型的指针,它借助安全模块把安全信息和核心内部对象联系起来。 l s m 在以下几种内核对象的数据结构中均添加了v o i d * s e c u r i t y 指针: t a s k _ _ s t r u c t ( 任务和进程) 、l i n u x _ b i n p r m ( 程序) 、s u p e r b l o c k ( 文件系统) 、i n o d e ( 管 道,文件或者s o c k e t 套接字) 、f i l e ( 打开的文件) 、s kb u f f ( 网络缓冲区) 、n e t _ d e v i c e ( 网 络设备) 、k e ri p c _ p e r m ( s e m a p h o r e 消息,共享内存段,消息队列) 、m s g _ m s g ( 单 个消息) 。s e c u r i t y 指向的数据类型由安全模块定义,通常为结构体指针,在结构 体中记载了当前内核对象的上下文参数和相关的安全信息( 如安全等级) 。安全模 块处理安全域的设置以及管理相关的安全数据。 对大多数对象来说,当相应的内核数据结构被分配或者释放时,钩子函数 江 苏大 学 硕士 学 位论文 a l l o c s e c u r i t y 和f r e e s e c u r i t y 用来执行安全数据的分配或者释放。还有一些钩子 函数用来在必要的时候更改安全数据的内容。对于那些在安全模块初始化时已存 在的对象,有几种处理的方法:第一种最简单的方法,是忽略这些对象,置这些 对象于安全模块控制之外。第二种方法,是在安全模块初始化期间遍历内核数据 结构,并在此时为

温馨提示

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

评论

0/150

提交评论