




已阅读5页,还剩55页未读, 继续免费阅读
(计算机应用技术专业论文)基于linux的安全审计实现机制及其测试自动化的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
韭塞銮适太堂煎堂焦途塞生塞撞墓 中文摘要 操作系统的安全性是保障整个信息系统安全性的根本所在,近年来关于安全 操作系统的研究也正逐步升温,而安全审计是安全操作系统的一个重要组成部分, 对于保障安全策略的正确实旎、监督系统的正常运行、构造计算枫入侵检测系统 等都具有十分重要的意义。 本文研究了安全审计的相关标准,分析了现有审计机制存在的一些问题,提 出了一个内核级别的安全审计模型,使用了改进增强法来进行开发,在这个基础 上实现了一个基于u n u x 的安全审计系统。并且考虑到网络连接的特殊性,专门 对网络连接进行了审计。 另外,伴随着安全信息系统如火如荼的建设风潮,信息系统安全测评的重要 性也日益突出。目前安全测评工作大多是通过测评人员依据相关标准、规范手工 完成,存在着主观性强,工作量大。测评周期难以控制的种种问题。在研究国内 外信息安全测评理论的基础上,对安全操作系统测试自动化实现过程中的若干关 键技术进行了研究。 关键词:安全操作系统;安全审计;软件测试自动化;、安全测评; 可加载内核模块技术 分类号:硼陌1 6 ;- i 期帼 s c c u 佗o p e n t j n gs ”;t c mi st h cb a s i ce l e m e n tt 0 i n s u r ct h e 鞠f n yd fc n t i i n f b n n a t i 加s y s t e m hf e c c n ty c a 稿,t h e 心s e 眦h a b o u tt h e c u 坞op l e m t i n gs y s t e m h a v eb 啪盯a d u a l l yw a 瑚i l l 蛋s a f c t y 如d c l 珂t y 卸d i t i n gi s 卸i m p o r t a n tc 嘲p o n e n t 0 ft h es e 锄r cd p e m t i l l gs y s t e m ni so fa l l - i m p 0 咖ts i 盟墒啪f o rt h ec o r r c d i m p l e m e n t a t i o f 飘 c u f i t vs l r a t e g i e s ,( h cn o m a lo p e r a t i o fm 删1 i t o fs y s t 锄,t h e o o 鹏t n l c t i o fi n v a s i o nd e 蛔c t i o ns y s t e m t h i sa n i d es t l i d i 鹤t h c 托l e v 柚ts t a n d a r do fs a 托哆卸ds 咖r i t y 翮d i t i n g a n a l y s t h ep m b l e m sc x i s 缸gj nt h ec m 删a u d i t 【c c h a n i s m a n dp u l sf 0 删缸dak e m e l 1 c v c ls a f e t va n ds e c u r i t va u d i t i l l gm o d c lb yu 咖gt h el m p 如l v 啪e n “i n h 棚1 c e m e m m e t h o d b a s c d t h i s ,al i n u x - b i d 曲t y 衄d 骶嘲t y 铀l d i t i n gs y s t c mw a s d e v e l o p e d t 蛐2a c o o u n to ft h es p e d 丘d t yo fn c t w 删k 啪n c c t i o n t h en e t w d f k c o n n e c t i o nw a sa l s oa u d i t e d l ka d d i t i o n ,u p l e dw j t ht h cq u i c k 锄出忸c c m c n t 妯t h co 叭l s t n l d j 伽o f 贸棚d t y i n l f o m l a t i o ns v s t e m ,t h c 如t y 钯s t i n 2a n de v a l u a l i o ft h ci n f o r 训锄s y s t c mh a s b e c o m ei n c r e 鸫i i i g l y 曲p 盯t a n t a lp 】镐明t t h c 切s l 硌o f 蜘d f b l yt c s t i n ga n dc v a l u a t i 叩 a mm o s t l vp e r f 豳e db yp e r s o n sa c o o r d i n gt or e l c v a n ts t a n d a f d nh a st h cp 嘎d b l e m s o fs u b i e c t i v i t v 。l a r 霉r cw o r l 【l d ,卸dt h eu n c o n 打o l l a b l et e s t i i l ga n dc v a l u a t i o nc y d e b 嬲e d 伽b o 山h e r ca n da b m a di n f b n n a t i o n 妣t yt c s t i n ga n dc v a l u a t i 伽t h e o r y ,s e v e r a l c r i t i c a lt c c h n o l o 画e sa b o u tt h ca u t o m a t i 叩o ft h e 戳虻i l o p e 阳t i n 譬s y s t e mt c s tw e 聆 e x p l o 耐 喇1 0 r d s :s e 伽o p 哪t i n gs y s t 锄;s a f c t y 卸m t ;s o f 蛔a mt e 吼栅t 咖a t i z 鲥衄; s a f c t yt 刚n g 柚dc v a l u a t i o n ;i j d a d a b l ck 哪dm o d u l c ( u 【 d 致谢 本论文的工作是在我的导师翟高寿老师的悉心指导下完成的,在论文完成之 际,谨向我尊敬的导师翟高寿教授表示由衷的感谢! 翟老师以其广博的知识、缜密 的思维和严谨的工作研究作风,在论文选题和整个写作过程中都给了我精心的指 导和帮助,我的论文中凝聚了他大量的心血和汗水。在我两年的硕士研究生学习 生涯中,翟老师从学习上、生活上都给予了我无私的关怀,使我不仅学到了专业 知识,还为我今后的工作乃至人生积累了一笔宝贵的精神财富,使我受益终生。 衷心感谢实验室的各位同学,在课题进行期间,他们给予了我大量技术方面 的指导和帮助,同时对我的论文也提出了很多中肯的意见。感谢计算机学院的全 体老师,通过他们辛勤的教诲,使我的学识和素质都得到了很大的提高。 感谢所有关心和帮助我的朋友和同学,特别是同项目组的曾杰和马妙霞同学 在课题研究等方面给了我很多帮助,也正是我们大家的共同探讨、相互启发、协 同工作,才使课题得以顺利进行,并取得今天的成绩。最后,向所有关心我和帮 助我的人表示最诚挚的谢意。 1 1 课题背景 第一章绪论 1 1 1 信息安全与安全操作系统 伴随计算机技术的飞速发展和普及应用,特别是互联网的广泛使用,电子商 务、电子政务及信息产业将成燎原之势。而我国信息化基础建设在技术和装备上 对国外的依赖性,使信息安全的问题日益突出,并且已提升到国家安全关键组成 部分及关系国家兴亡与国计民生的重要地位。进一步说,信息系统安全是信息安 全的支撑平台和前提保障,没有信息系统的安全就没有信息的安全 在信息系统安全涉及的众多内容中,操作系统、网络系统和数据库管理系统 的安全问题是核心所在运行状态下的计算机系统层次结构参见图1 1 所示。不难 看出,操作系统承担着整个软件系统及用户与硬件之问的桥梁纽带作用。作为计 算机软硬件资源的管理者,操作系统控制着整个计算机系统的运行,它直接和硬 件打交道并为用户提供接口,是计算机软件的运行基础和核心。 作为运行支撑平台组成部分的数据库管理系统和网络系统则是建立在操作系 统之上的,如果没有安全操作系统的支持,就不可能保障数据库管理系统存取控 制的安全可信性,也谈不上相应主机系统乃至整个网络系统的安全可信性。同样 地,对于建立在操作系统甚至数据库管理系统或网络系统等运行支撑平台之上的 编辑、开发环境及计算机应用软件而言,也只有通过安全操作系统才能实现它们 对系统中有关信息的安全存取与处理。 因此,操作系统的安全是整个计算机系统安全的基础,没有操作系统的安全, 就不可能真正解决数据库安全、网络安全和其它各类软件的安全问题。于是,作 为系统软件中最为基础部分的操作系统,其安全问题的解决成为关键中之关键。 换句话说,安全操作系统是整个信息系统安全的基础。 用户 翁黼籀黼黼黼 g 勰霉蛾j 誊蠡删i d 如。”扣溉h 癫盎 鬟l l l l l 豳运行支撑系统 操作系统 计算机硬件及指令系统 图卜1 计算机系统运行时层次结构 f i g 哪! 一l 础骶蛐咖b l 咖啊c t no f m 呻缸rs y s 蛔m 川蛐j 赡 然而令人遗憾的是,长期以来我国广泛采用的主流操作系统都是从国外引进 直接使用的产品。从国外引进的操作系统,其安全性难以令人放心。而其中已被 曝光的胃i n d o 舅s 操作系统曾被设置有后门的事件警示我们:惟有拥有了自主知识 版权的操作系统才可能有真正的信息安全。其间,性能优良且源代码开放的l i n u x 操作系统的推出则为我国发展具有自主版权的安全操作系统提供了契机。鉴于此, 国内诸多有识之士、学者及研究机构就安全操作系统的相关理论及基于l i n u x 的 安全操作系统的开发进行了深入的研究,并在体系结构、安全模型、系统构建、 安全测评等方面取得一定的成果。事实上,安全操作系统已正在成为不仅我国而 且全世界计算机学科研究领域的热点和焦点问题。 1 1 2 操作系统安全所面临的一些主要问题 1 计算机病毒 指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算 机使用,并能自我复制的一组计算机指令代码,计算机病毒具有以下的基本特点: 1 ) 隐蔽性:病毒程序代码驻存在磁盘等介质上,通常无法以操作系统提供的 文件管理方法观察到 2 ) 传染性:当用户利用磁盘片、网络等载体进行数据交换时,病毒程序借机 以用户不容易察觉的方式进行转播。 3 ) 潜伏性:病毒程序感染正常的计算机以后一般不会立即发作,而是潜伏 下来,等到激发条件满足时才产生破坏作用。 4 ) 破坏性:当病毒发作时,通常会在屏幕上输出一些不正常的信息,同时破 坏磁盘上的数据文件和程序。 2 木马 木马程序表面上在执行合法功能,实际上却完成了用户不曾料到的非法功能。 2 受骗者是程序的用户,入侵者是这段程序的开发者。木马程序必须具有以下几项 功能才能成功地入侵计算机系统: 1 ) 入侵者要编写一段程序进行非法操作,程序的行为方式不会引起用户的怀 疑。 2 ) 必须设计出某神策略诱使受骗者接受这段程序。 3 ) 必须使受骗者运行该程序。 4 ) 入侵者必须有某种手段回收由木马为他带来的实际利益。 3 隐蔽通道 隐蔽通道可定义为系统中不受安全策略控制的、违反安全策略的信息泄露路 径。按信息传递的方式和方法区分,隐蔽通道分为存储隐蔽通道和时间隐蔽通道。 存储隐蔽通道通常在系统中通过两个进程利用不受安全策略控制的存储单元传递 信息。前一个进程通过改变存储单元的内容发送信息,后一个进程通过观察存储 单元的变化来接受信息时间隐蔽通道在系统中通过两个进程利用一个不受安全 策略控制的广义存储单元传递信息,前一个进程通过改变广义存储单元的内容发 送信息,后一个进程通过观察广义存储单元的变化接受信息,并用实时时钟这样 的坐标进行测量。 4 天窗 天窗是嵌在操作系统里的一段非法代码,渗透者利用该代码提供的方法侵入 操作而不受检查。天窗可以由专门的命令激活,一般不容易发现。而且,天窗所 嵌入的软件拥有渗透者所没有的特权。通常,天窗设置在操作系统内部,而不在 应用程序中。与木马和隐蔽通道不同,天窗只能利用操作系统的缺陷或者混入系 统的开发队伍中进行安装,因此,开发安全操作系统的常规技术就可以避免天窗, 而不需要专门的技术解决这个问题。 面对操作系统存在的这些问题,当系统遭受入侵的时候,如果用有效的审计 手段将有关信息记录下来,作为事后追查的手段,这样可以使危害降低。总之, 保护操作系统的安全一直是一场智力的斗争,入侵者总是在极力寻找系统存在的 漏洞,设计者总是在想方法把这些漏洞堵住操作系统的设计者永远无法充满自 信地宣布已经找出了系统中的所有漏洞,而入侵者也不会公布他们的发现,当我 们将重要的敏感信息委托给一个大型操作系统时,没有理由不为自己的信息的保 密性感到担忧,尤其是当这些信息对入侵者有足够的价值的时候。 不论如何,防止非法入侵是有可能的,使用适当的技术手段,可以使系统的 3 安全控制有比较好的效果尽管整个计算机仍然有很多漏洞,我们还是可以使该 系统的安全系数大大提高。虽然我们永远不能确信计算机系统是否百分之百的安 全,但我们可以让它达到一个相当高的安全水平,使入侵者的入侵行动变得极端 困难、危险和耗资巨大,以至于最后窃取到的信息的价值低于入侵成功而付出的 代价。 1 1 3 操作系统安全审计机制 操作系统的安全审计是对系统中有关安全的活动进行记录、检查及审核。它 的主要目的就是检测和阻止一些非法用户对计算机系统的入侵。审计作为安全系 统的重要组成部分,在t c s e c l l j 中要求c 2 级以上的安全操作系统必须包含审计功 能,在计算机信息系统安全保护等级划分准则( g b l 7 8 5 9 _ 1 9 9 9 ) 删以及新的c c 安 全标准( g b t 1 8 3 3 6 - 2 0 0 1 ) h 中也有相应的要求。基于l i n u x 开发安全操作系统是 目前安全操作系统领域的一个研究重点。 操作系统的安全性在计算机信息系统的整体安全性中具有至关重要的作用, 目前很多的安全产品采用的操作系统平台是l i n u x 作为各种安全产品的。底座0 现有的l i n u x 系统的安全性是远远不能满足军队、政府、金融等关键行业的保障 需求 l i n u x 是一个缺乏真正安全审计机制的操作系统,它现有的审计机制是通过一 些日志子系统来实现的。与u n i x 可a r e ,s o l a r i e s 等成熟的u n i x 系统所提供的信 息比是很不完整的。l i n u x 无法达到c 1 级以上的安全级别。 安全审计是l i n u x 安全操作系统的重要功能及组成部分,其旨在对系统中的 安全相关活动进行记录、监视及审核,并及时检测和判定非法用户对计算机系统 的渗透或入侵行为。通过与其他安全机制( 强制访问控制、最小特权管理等) 共 同发挥作用,来构建安全操作系统。 1 安全审计的重要作用 安全审计是安全操作系统中必要的一项安全机制,它与系统的其它安全措施 相辅相成、互为补充。但由于安全审计是在传统审计学、信息管理学、计算机安 全、人工智能等学科相互交叉基础上发展的一门新学科,涉及到多方面的知识, 所以一方面安全审计问题广泛面复杂,另一方面安全审计技术的发展又不够充分。 安全审计作为安全操作系统的一个有机组成部分,同时又具有一定的独立性。 一方面,安全审计作为系统其他安全防范及侵害抵制措施的有力补充,检测并调 查那些试图或已经突破系统安全屏障的非法事件,为系统的安全服务:另一方面, 系统安全成为它审计的对象,包括对系统安全管理的审计,这就决定了它必须具 有相对的对立性和某种独特的地位,甚至与系统安全的某种对立性。事实上,安 4 全审计本身就其作用而言,具有两层含义:一是指在某一阶段,对系统安全防护 能力的测试、评估和审核,旨在对系统的安全性能状况做出客观合理的评价,看 其安全控制、管理是否恰当,保证与特定安全策略以及策略的调整协调一致,有 助于做出侵害评估;并尽可能地找出潜藏的安全漏洞,寻求安全系统的改进完善; 二是指贯穿于整个系统的生命周期之中,致力于系统安全的一种持续的审计跟踪 监控过程,其主要目的是及时发现、记录妨碍系统安全的事故、事件,并查明, 进而根据这些信息追究相关责任。 2 安全审计的一般要求 一个安全系统中的安全审计,是对系统中安全相关事件进行记录、分析和再 现的处理系统i 耳j 。因此,对于安全审计的一般要求主要包括: 记录和再现:要求审计系统能够记录系统中所有的安全相关事件,同时,如 果有必要,应该能够再现产生某一系统状态的主要行为; 入侵检测:审计系统应该能够检查出大多数常见的系统入侵的企图,同时经 过适当的设计,应该能够阻止这些入侵行为; 记录入侵行为:审计系统应该记录所有的入侵企图,即使某次入侵已经成功, 这也是进行事后调查取证和系统恢复所必不可少的; 系统本身的安全性:安全审计系统本身的安全性必须保证,其中,一方面包 括基础操作系统和软件的安全性,另一方面包括审计数据的安全性:一般来说, 要保证审计系统本身的安全,必须与系统中其它安全措施如认证、授权、加密措 施等相结合。 1 1 4 安全测评自动化研究的必要性及意义 l i n u x 安全操作系统通常是在已有的l i n u x 操作系统及其内核的基础上通过引 入和加强有关安全存取访问控制机制及审计机制等而构建起来的,所以不同于其 它软件以功能需求、功能设计及功能测试为中心的开发过程,而是基于安全需求、 安全设计及安全测试展开相关构建过程。特别地,鉴于其作为安全信息产品的特 殊性,其安全性能与质量攸关对应单位、部门的信息保密乃至国家及社会经济、 金融和军事等的安全性。因此,l i n u x 安全操作系统的软件测试过程应重点围绕系 统安全性展开。 由于信息系统安全评测具有高度的复杂性和不确定性,目前的评估方法还存 在很多难以解决的共性问题:一是缺乏模型化、形式化描述的评估方法:二是定 性、定量的评估方法如何结合得更加有效;三是缺乏评测工具支持,低层次手工 作业量较大,评估的效率和准确性差。评测的工具不够系统化、规范化和自动化。 国外从7 0 年代就开始了安全操作系统方面的研究,并先后开发了符合美国国 5 防部可信计算机系统评价准则( t c s e c ) b 类及a 类的安全操作系统。但是国内的 此类工作相对起步较晚,也比较落后。1 9 9 9 年我国国家技术监督局颁布了计算 机信息系统安全等级划分准则,有力地促进了我国安全操作系统地发展。 信息系统安全测评是一项费事、需要相关专业知识支持的工作。目前信息系 统安全测评工作大多还处于手动测试阶段,不仅工作量大,而且周期长,更需要 的是评估过程中主观因素比较大,常常导致不同的评估人员,对系统安全风险可 能给出不同的评估结果。依据信息系统安全测评方法,构建面向信息系统安全测 评工作的高度过程化支撑平台该工具为信息系统安全测评工作提供支撑,有利 于评估工作的系统化、规范化和自动化。 1 2 论文工作研究内容与技术路线 鉴于当前流行的操作系统中,l i n u x 具有源代码开放的独特优势,所以安全操 作系统的研究和开发大部分围绕基于l i n u x 的安全操作系统来进行。本论文也基 于l i n u x 系统来进行开发 1 2 1 主要研究内容 为保证安全审计子系统能够审计和覆盖所有的系统安全相关事件,审计点的 确立是系统设计的关键所在。鉴于l i n u x 安全操作系统中,系统调用是用户及用 户程序与操作系统的唯一接口,所以首先应在系统调用总入口处设立审计点和增 加审计控制功能,以用于审计系统中所有使用内核服务的事件同时,考虑到系 统某些特权命令应当属于可审计事件,且一个特权命令通常需使用多个系统调用, 应在被审计特权命令每个可能的出口处增加一个新的系统调用以专门用于对该命 令的审计,从而确保审计过程的完整性和避免安全审计数据的复杂性。 每当发生可审计事件( 如系统调用或特权命令) 时,应在审计点调用审计函 数并向内核安全审计进程发送消息,以完成审计信息的缓冲、存储和归档工作。 其间,循环缓冲的引入主要是为了减少因审计信息写入安全审计日志文件所带来 的时间开销,从而改善系统的性能。 此外,安全审计子系统应提供审计机制的开启与关闭、安全审计事件类型的 增加与删减、安全审计控制参数的设置与修改等灵活多样的选择支持功能,以方 便系统安全审计管理员根据系统特定需求及具体情况确定和实施审计策略,从而 既保证安全审计的合理性,又不致因此造成系统性能的大幅下降从用户角度而 言,安全审计记录的分类及捧序等附带功能往往也是必要的。 6 毫无疑问,安全审计子系统自身的安全性,包括审计数据的可靠性,必须得 到充分和有效的保证。首先,安全审计进程的执行不应受到外界的影响,内核外 的应用程序应严格遵循强制访问控制和最小特权控制等系统存取访问安全控制机 制,保证只有安全审计管理员才能使用与安全审计相关的程序,使所有敏感操作 都在安全审计机制的监督下完成。其次,确保系统配置文件( 通常包括系统和用 户审计标准、安全审计子系统的运行参数、安全审计事件的定义等) 和安全审计 数据的安全保密,使其必须遵循强制访问控制机制,从而使审计信息不会轻易遭 到破坏或篡改,且仅允许安全审计管理员才能查看和修改配置。再次,为防止安 全审计管理员的权利过大和为所欲为( 例如安全审计管理员先关闭安全审计机制, 执行危害系统安全的危险操作后再行开启安全审计机制,或者篡改安全审计数据 等) ,系统应能够无条件监督安全审计管理员的操作行为。 对安全测评自动化的研究,通过分析现有信息系统测评自动化的标准,在系 统化、自动化方面做出了一定的研究,实现了测评自动化的一部分内容。 1 2 2 基本技术路线 基于一个现有非安全的操作系统基础上开发安全操作系统,主要有以下三种 方法:虚拟机法,改进增强法,防真法等1 ) j ,本论文采用了改进增强法。 改进增强法是在现有操作系统的基础上,对其内核和应用程序进行面向安全 策略的分析,然后加入安全机制,经过改造、开发后的安全系统基本上保持了原 有系统的用户接口。设计开发安全操作系统的主要目的是安全性在达到安全目 标的前提下。不应过分地影响其它特性。采用改进增强法开发l i n u x 的安全性时, 由于原有的系统调用的用户接口保持不交,所以,安全性的开发一般不影响l i n u x 系统的兼容性,也能够较好的保持原有系统的运行效率。 l i n u x 安全操作系统的开发过程参见图卜2 所示。首先根据计算机与信息系统 所面临的各种风险和威胁及对应l i n u x 操作系统的版本,明确原有系统已经具备 哪些安全功能和应当增加、开发哪些安全功能,搞清楚基本的安全需求,进而给 出相应的安全策略,并建立适当的安全模型和予以证明。然后,展开安全模型在 对应l i n u x 操作系统中的应用处理及描述。在此基础上,详细设计和具体实现所 有相关安全机制。最后,进行l i n u x 安全操作系统的安全功能分析测试及安全可 信度认证 7 图l - 2 基于l i n 吸相建安全操作系统的开发过程 脚他1 2o p e n 缅喀碍细幽期幽巾m 叫t 印啊睫鲳o f 蛔硼h g 鞠如姆帕l 勤呱 1 3 论文的组织结构 本论文作者在攻读硕士期间,首先学习了安全操作系统及其测评的基本理论, 而后则跟踪了国内外安全操作系统中关子安全审计的实现情况,以及相应的测试 自动化的研究。本论文工作及课题得到国家9 7 3 项目“信息与网络安全体系结构 研究”( 项目编号g 1 9 9 9 0 3 5 8 0 1 ) 之子课题“操作系统安全评测平台的研究”及 北京交通大学校科技基金“安全操作系统测评自动化研究”( 项目编号捌1 6 j o c r 7 0 ) 的支持。 全文围绕安全操作系统的设计与实现,并主要对其中的安全审计系统的详细 设计和实现进行了论述,共分六个部分; 第一章“绪论“,介绍本课题的意义,来源、研究内容和技术路线以及各部分 的组织,即第一章绪论部分。 第二章“安全审计机制设计及关键技术分析”,分析了国内外在这方面的一 些研究现状,对它们进行了一些比较,找到可以实现相关要求的设计思路。然后 对安全操作系统的实现给出一个可行的方案,并阐述了一些用到的核心技术。 第三章。安全审计子系统的原型实现”,对安全操作系统的审计子系统的详细 实现进行了阐述,分别对系统调用级别和网络连接的审计的实现进行了论述,同 时也对审计系统的安全保障机制进行了分析。 第四章“安全操作系统安全测评自动化的研究0 就系统安全测评自动化展开 8 研究,系统介绍了安全测试自动化背景、理论和相关标准。 第五章。安全审计测试自动化平台的构建”,根据测评自动化的标准,在一定 程度上实现了测试自动化,详细地叙述安全审计自动化测试平台的实现方案,并 给出测试结果分析。 第六章“结束语”,对论文的工作和研究成果进行总结和归纳,指出有待完善 之处,另外将对本领域的研究进行展望。 9 第二章安全审计机制设计及关键技术分析 2 1 现有操作系统审计机制分析 现有大多数操作系统都有各自的审计机制,但一般都达不到很高的安全标准。 以下是对一些现有操作系统的审计系统的分析。 2 1 1w i n d a w sn t 的审计系统 n t 4 0 通过了t c s e c 的c 2 级评测。它本身所带的审计子系统默认是关闭的, 审计管理员可以打开并设置审计事件类。事件分为七类,如登录和退出事件,文 件和对象存取事件,安全策略改变事件,系统关闭重启事件,帐号管理事件等。 对每类事件,可以选择审计失败的还是审计成功或是两者都可以嘲 审计数据的存储 系统运行中产生的三类日志:系统日志、应用程序日志和安全日志,可使用 事件查看器浏览和按照条件进行过滤。前两类日志任何用户都可以查看,它们是 系统和应用程序生成的错误警报和其它的一些信息;安全日志则对应审计数据, 它只能由审计管理员查看和管理。审计数据以二进制结构文件形式储存在物理磁 盘上,每条记录包括事件发生时间,事件源,事件号和所属类别,主机名,用户 名和事件本身的详细描述。 客体访问和审计 用户登录到系统时,w i n l o g o n 进程为用户创建访问令牌,包含用户及所属组 的安全标识符( s i d ) ,作为用户的身份标识。文件等客体则含有自主访问控制列 表,标明谁有权访问,还含有系统访问控制列表,标明哪些主体的访问需要被记 录。用户进程访问客体对象时,通过w i n 3 2 子系统向核心请求访问服务,核心的 安全参考监视器将访问令牌和客体的自主访问控制列表进行比较,决定是否拥有 访问权限,同时检查客体的系统访问控制列表,确定本次访问是否落在既定的审 计范围内,如果是就送到审计子系统中,如图2 一l 所示。 1 0 许可请柬ii 授权许可 图2 - l 客体访闯和审计的示意图 脚n m n eo c h e 咐喇e c t _ 溉勰- 叫埘 2 1 2s o l 撕s 的审计系统 现代主流的u n i x 操作系统大多开发了c 2 级以上的审计系统,如s 0 1 a r i s 2 】【 等s 0 1 a r i s 2 6 的审计机制由基本安全模块( b s m ) 提供系统初启时要创建审计 守护进程8 u d i t d ,它读取审计配置,搜集记录审计数据,并在磁盘空间满、审计 关闭等重要事件发生时通知管理员。 a l i d i t f n c h d 口 a u 幽t t o i 【e n a u 凼tt o k e n a u 碰tt o k a l 讳lr w d a u d i t r c c o f d a u d i tf j l e a i i d i t p i k a u d 缸f i i et a i l 盯a u d tt o k 图2 - 2s 0 1 i s 审计文件的结构 f i g u n 2 - 2s n h r i s 蛐曲d 伽h m e n 缸妯砸c t i m 1 1 审计配置文件指定审计文件的存放位置、磁盘水位线、系统审计类和各用户 自己的审计类,系统审计类与用户审计类共同决定对一个用户要审计哪些事件。 审计文件名类似与:t i 舱1 t i m e 2 h o s t n 鲫e 。其中t i 鹏l 是文件创建时间, t i 舱2 是新的记录文件创建的时间,h o s t n 鲫e 是审计系统所在的主机名。这样, 若于审计文件按照时间关系构成一条顺序链。每个审计文件由若于审计记录构成, 首尾是两条特殊的记录,分别标识它的上一个和下一个审计文件,其他审计记录 表示实际的审计事件,它由若干标记t o k e n 组成,每个记录该事件的一个方面, 下面是一些t o k e n 的例子: 公共t 挑 事件号 苴长度 版本 事件时问 主体信息t 址蚰 用户h 用户有效试 审计甜 进程诅 组钮 文件属性t 如i 存取权限 文件生 h 岫号 设备编号 图2 _ 3s o l a r i s 的t o k 曲示倒 脚他粥s o l 砘t 0 蛔锄m 阳 国 这样,o p e n 系统调用就可以由公共t o k e n 、主体t o k e n 、文件属性t o k e n 和 路径t o k e n 合起来表示,其他的类似。 2 1 3 现有u m j ) ( 系统的审计系统 l i n u x 的日志信息由内核产生的、系统服务程序和用户程序产生的、以及网络 上另外的主机转来的。系统日志守护进程s y s l o g d 是各类日志信息的管理者,它 作为启动文件的一部分在开机自动执行。 内核开辟了一个1 6 k 的循环消息缓冲区,通过p r i n t k 向其中写入不同级别的 消息,共有8 个级别,级别写在消息的头部。系统中的另一个守护程序k l o g d 通 过系统调用s y s l o g ( 2 ) 或虚拟文件系统p r o c k i i l s g 读取内核缓冲区,解释内核消 息,并发送给s y s l o g d 。应用程序( 如l o g i n 等) 通过库函数s y s l o g ( 3 ) 直接向 s y s l o g d 发消息,可同时指定级别和消息类型。与内核消息不同的是,它的传递借 助与u n i x 域的套接字d e v l o g ,不涉及内核消息缓冲区。主机之间可以通过 s y s l o g d 传递曰志信息,他们的通信是建立在5 1 4 端口上,使用u d p 协议,这样, 多个主机上的日志信息可以集中在某一台主机上存放。便于日志信息的管理和维 护。 此外,特定的应用程序也可能产生专门的日志信息,如a p a c h eh t t p d 记录和 u l c l 访问信息。v s f t p d 记录的文件传输信息,用户登录的记录文件- t m p 和l a s t l o g 等。它们连同s y s l o g d 分发的消息,都是系统运行状况某一方面的反映。 入侵检测技术是一项相对比较新的技术,很少有操作系统安装了入侵检测工 具,事实上,标准的l i n u x 发布版本也是最近才配备了这种工具尽管入侵检测 系统的历史很短,但发展却很快,目前比较流行的入侵检测系统有s n o r t 、 p o r t s e n t r y ,l i d s 等。 但是,l i n u x 已有的这些日志功能是很不完善的。它们只在各自关心的范围做 记录,不能全面表达系统的活动;内容和格式各异的数据不利于程序的自动分析: 使用简单的文本格式的日志文件所含有的信息量少,存储效率低,且可靠性差, 非常容易被伪造和篡改。可以发现在已有的l i n u x 审计系统中存在的一些主要问 题:审计的信息量不足,安全性较差以及缺乏分析能力要想基于l i n u x 开发安 全操作系统,就需要在l i n u x 核心中重新实现审计功能,设计独立的审计机制, 从系统核心对用户、进程及其它客体行为进行完善的审计,这样才能保障系统的 安全。 2 2 基于u m j ) ( 的安全操作系统设计及关键技术分析 2 2 1u m j ) ( 安全操作系统总体设计 现有l i n u x 操作系统体系结构参图2 4 所示。显然,系统调用接口是用户请 求及用户进程进入l i n u x 系统内核的唯一通路,用户对系统资源中信息的存取都 要通过系统调用才能完成。进一步说,l i n u x 系统具有两个执行态,即核心态和用 户态。运行系统内核中程序的进程处于核心态,运行核外程序的进程处于用户态。 系统保证用户态下的进程只能存取其自身指令和数据,而不能存取内核或其它进 程的指令和数据,并且保证特权指令只能在核心态执行,像中断、异常等在用户 态下不能使用。用户进程可以通过系统调用进入核心态,执行完系统调用后,再 返回用户态。因此,一旦用户进程通过系统调用进入内核,便完全与用户隔离, 从而使内核中的程序可对用户的存取请求进行不受用户干扰的访问控材。简言之, l i n u x 操作系统支持保护域机制。 与此同时,l i n u x 操作系统还采用请求页式虚拟存储管理方式实现了合理有效 的内存存取访问控制及内存保护,从而保证并发进程只能在自己的内存空间中进 行访问和互不相扰。 此外,l i n u x 操作系统还提供帐户、文件系统权限及日志文件等基本安全机制。 用户 s h e l l 命令解释程序 用户程序( 包括实用程序) 毒 库函数 用户层 内核层r 一1r 系统调用接口 文件子系统 进 进程通信 高速埕冲管理 莛 字符设鲁 制进程调度 块设鲁 设鲁驱动程序 委 l 存储管理f 00 i 硬件控制 j 一 硬件屡t :。“1 : t h 获取一个值,并认为该指针指向一个t c p 头,将会得到错误的结果。 因为h 一 t h 实际上是指向的i p 头,与n h 一 i p h 得到的结果相同。 主要注意的是l e n 和d a t a 这两个域。l e n 指定了从d a t a 开始的数据包中的数 据的总长度。从这些就可以知道如何在s k b u f f 数据结构中分剔访问协议头和数 据包中的数据了。 紧跟在s k b 之后的两个参数是指向n e t e v i c e 数据结构的指针,n e l d e v i c e 数据结构被l i n u 】【内核用于描述所有类型的网络接口。这两个参数中的第一个i n , 用于描述数据包到达的接口,毫无疑问,参数o u t 用于描述数据包离开的接口。 必须明白,在通常情况下,这两个参数中将只有一个被提供。例如:参数i n 只用 于n f - 皿_ p r e r o i 砌g 和n l i o c a i ! 玳h 0 0 k ,参数伽t 只用于 n f 诬【d c a lo u t 和n f 砰p o s tr a u n g h l 【。 3 3 2 网络连接的审计实现 首先定义了一个结构体用来记录网络上的连接,该结构体用来记录网络连接 方面的操作。在配置文件中,可以手工设置,那些服务是需要被记录,或者不需 要记录的,默认的情况下是全部都记录一般一个服务进程通常对应一个端口号, 将端口号添加到配置文件中。 s 扛u c ln c ta u d “ c h a r t y p c ; ,连接的类型 3 1 c h 缸s i p ; ,源i p 地址 c h 盯d l p ;,目的i p 地址 i n t s p 0 n ;朦端口号 i n t d p o r t : 目的端口号 c h 越d a 土e ;记录的时间 c h 缸d 鹤c r i p t i ;描述 ; 以下是监控网络输入的数据包的简单示例,主要用来监视建立t i ,连接的操 作。系统实现中大部分都是以这个流程为基础,来实现各自的功能。 u n s i 印c di n tw a t c hi n ( 衄s i 印e di n t l o k n 眦, s 仇l d s kb 硪”s 蛾 c s t s 咖c l n c td | 廊。缸, d m 醴s 虮i dn c t 山:y i o c o u t , i n t ( 吐血洳t r t i ds k - b u 行+ ) ) s t m c ts l t - b u 丘s b = s k b ; s t r i i c tt c p h d r t c p ; ,首先判断是一个自c p 协议的数据包, i f ( s b n h i p h - 肿咖c o l f = i p p r 例吣硎 t u mn fa c a e p r ; t c p = ( s t m dt c p h d r ) ( ( s b - d a t a ) + ( s b n h i p h - ) i h l 4 ) ) ; i f ( t c p s y n = = o ) i e t u mn fa o c e p t d o c p - s y n 用来判断是o c p 连接的三次握手,这个表示服务器接受请求,同意 和客户端建立t c p 连接。这个时候就将连接的信息记录下来, 蛐s i 弘e dc h 缸鲫l f c c i p 【1 6 】= o ) ; n i 印c dc h 缸d c s t i p 【1 6 】= 0 ; m y - n t o a ( s b 一 n h i p h - 豫d d t ;u r c c l p ) ; m y _ n t o a ( s b 一 n 1 1 i p h 一 d a d 出,d 髓t i p ) ; s t n l c t n e t _ 卸d i t 。p = ( s t m d t - a u d i t + ) 蛔a l i ( s i z f ( s t n l c t 北t - _ a u d i t ) ,g f pk e r n e l ) ; t i m c jt i m e p ; t i m e ( t i m c p ) ; p s i p 瑚u r c e i p ; p _ d i p = d 鹳t i p ; p s p 0 n = t c p u r c c ; p d p 叫= t 印 d t ; p - d a t c = a s c t i m e ( g m t i l e ( t i l n e p ) ; p t y l = ”s y nr e i v e ”; w t i t en 咖d i t 劬; 圳【l l r nn f a o c e p t ; 下面是对使用却协议的远程登录到系统的审计流程,如图3 2 图3 吨f t p 协议的审计流翟 l 哺伊r t 3 - 2 a u d n 吨p n o 嘲o f n p p r o “k 对于一些常用的网络协议,由于使用的协议都是通用的,可以将数据包进行 具体的分析,根据需要可以得到比较详细的审计记录。在上面的流程中,首先分 析是t ( = p 协议,然后分析是否为f 1 旧协议,接下来可以具体分析使用的是那一个 命令,例如常用的n p 协议命令,u s t p a s s ,砌玎r s t o r ,u s e r 等。把重要的操作 记录下来。 还有对i c m p 衄t c m c t 控制报文协议) 数据的监控,例如对方使用p i n g 命令扫 描系统所在的主机,就会发送i c m p 报文格式的口数据包。大多数的t c p 口实现 都在内核中直接支持p i n g 服务器,它不以进程方式存在。i c m p 报文不同的类型 和代码代表不同的意义,p i n g 程序的实现使用特定的类型( 8 ) 和代码( 0 ) 。具体 格式如表3 3 。同样我们可以记录其它类型的i c m p 数据包, 表3 - 3i a 巾报文格式 t a b l e3 _ 3p k e tf o r - 8 to fi a 护 o 78 1 51 63 1 类型( o 或8 )代码( o )效验和 标识符序号 发送数据 3 4 审计系统的安全保障机制 审计是安全操作系统的重要组成部分,它监督着系统中各个安全特性的实施。 如果审计系统自身的安全被突破,审计数据的可靠性就无从保障,就不能提供准 确的事后分析和追踪,也就无法估计安全突破对系统造成的影响。在审计系统的 设计中,充分结合了安全操作系统中的安全特性,保证审计的自身安全。审计的 安全包括以下两个方面: ( 1 ) 程序和代码的安全:审计数据的采集、记录、分析部分集成到安全内核, 审计进程的执行不受外界影响,核外的应用程序则严格按照强制访问控制m a c 和 最小特权控制p a c ,保证只有审计管理员才能使用这些程序。 ( 2 ) 系统配置和审计数据的安全:配置文件包括系统和用户审计标准、审计 系统的运行参数、审计事件的定义等,这些文件也必须按照m a c 控制。审计配置 文件的安全级为系统审计级,要确保只有审计管理员才能查看和修改相关的配置。 审计文件则是在运行的过程中生成。此外,最好可以对审计记录能进行加密,首 先要保证即使记录泄露出去,也使别人无法读取。另外,系统应该能够监督审计 管理员,防止其权利过大可以为所欲为。例如,审计管理员关闭审计管理员的权 利。一个可行的方案是,增加一个系统安全管理员角色,赋予他打开审计特权, 面审计管理员只拥有关审计特权,这样,即使审计管理员可以随时关闭审计,却 无法再次打开审计,而且他的关审计动作也在审计文件中被记录。当然,也可以 分配多个审计员角色,可以达到相互制约。以下是在本论文中,对审计安全的一 些实现办法。 3 4 1 审计数据的安全保障 在安全操作系统的设计里,对关键文件的安全保护是十分重要的。只要从根 本上保障这些文件的安全才篦为实现系统的安全打下坚实的基础。本论文在系统 调用的层面上来实现文件的安全。 对审计记录和审计配置文件要实现强制访问控制,强制访问控制用于将系统 中的信息从密级和分类( 或称为范畴集) 两方面进行管理,并保证每个用户只能 够访问那些被标明能够
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 楼梯加班维修申请报告(3篇)
- 乐于助人漫画课件
- 流动资产申请报告(3篇)
- 《一个小时的故事》课件
- Di-sulfo-squarefluor-640-660-free-acid-生命科学试剂-MCE
- Dillenetin-3-4-Dimethoxyquercetin-生命科学试剂-MCE
- 粉尘(可燃性)爆炸应急预案
- 临河区消防安全培训课件
- 城市公共交通智能支付系统2025年市场应用可行性分析
- 带孩子阿姨合同合同(标准版)
- 《酒店客户关系管理 》课件-项目三 酒店客户关系管理制度
- 《基本医疗保险门诊特殊慢性病药品目录(2023 年)》
- 2024年深圳市房屋租赁合同(3篇)
- 餐饮外卖平台食品安全管理制度
- 2024年山东省(枣庄、菏泽、临沂、聊城)中考语文试题含解析
- 云南省大理州州级机关统一遴选公务员真题
- 一建机电实务压力试验总结
- 现代农业课件教学课件
- 房地产 图集-复合配筋先张法预应力混凝土管桩(2018浙G36)
- 辽宁省大连市甘井子区2024-2025学年上学期七年级 月考英语试卷(10月份)
- 地质灾害防治工程勘察规范DB50143-2003
评论
0/150
提交评论