(计算机应用技术专业论文)基于linux主机身份验证系统的研究与实现.pdf_第1页
(计算机应用技术专业论文)基于linux主机身份验证系统的研究与实现.pdf_第2页
(计算机应用技术专业论文)基于linux主机身份验证系统的研究与实现.pdf_第3页
(计算机应用技术专业论文)基于linux主机身份验证系统的研究与实现.pdf_第4页
(计算机应用技术专业论文)基于linux主机身份验证系统的研究与实现.pdf_第5页
已阅读5页,还剩55页未读 继续免费阅读

(计算机应用技术专业论文)基于linux主机身份验证系统的研究与实现.pdf.pdf 免费下载

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

文档简介

湖北工业大学硕士学位论文 摘要 随着科技和经济的高速发展,信息技术带给人类的影响日益扩大,尤其是网 络的发展使计算机的应用日益普及,同时也使得信息的安全问题日渐突出而且情 况也越来越复杂。 信息安全是为信息系统建立和采取的技术和管理的安全保护,防止信息财产 因偶然或恶意的原因而遭到非授权泄漏、更改、破坏或使信息不可用,即确保信 息的完整性、保密性、可用性。而操作系统的安全性涉及到身份认证、强制访问 控制、敏感信息的多级安全保密、安全审计、基于角色的授权控制、抗否认性认 证、以及重要信息的通信加密与解密等内容,是信息安全的核心。 事实上,国内的计算机用户,包括企业、政府机关、科研机构和个人在内, 并不都具备有足够的专业化信息安全防护知识。因此,增强信息系统本身安全性, 研究信息系统安全增强技术,特别是主机身份的安全验证技术的研究,是国内计 算机用户首先要解决的问题。 通用串行总线( u s b ) 是一种高传输速率的串行接口总线,由于它具有即插 即用、易于扩展和高传输速率的特点,因此现在被广为应用于各种计算机外设、 数字设备以及工业领域之中。 本文以l i n u x 操作系统为主要研究对象,利用计算机外围u s b 接口总线,实 现了一个主机身份验证系统。论文首先分析了l i n u x 启动部分的工作原理和机制, 以及计算机通用串行总线( u s b ) 体系结构和设备驱动程序的特点,在此分析基 础上提出通过修改内核启动部分源代码,改变启动顺序,并结合加载在计算机u s b 接口的硬件加密卡,实施基于策略的强制访问控制,软硬相结合的一个主机身份 验证系统模型,接着详细描述了具体实现该系统的关键部分代码,实现了一个基 于l i n u x 2 6 x 内核的主机身份验证系统。 最后关于对主机身份验证系统需要进一步完善和改进的地方,本文也提出了 一些建议。 关键词:l i n u x ,强制访问控制,主机入侵检测系统,u s b 保密卡 湖北工业大学硕士学位论文 a b s t r a c t a l o n gw i t h t h ed e v e l o p m e n to fs c i e n c ea n de c o n o m y , i n f o r m a t i o nt e c h n o l o g y a f f e c t sp e o p l ei n c r e a s i n g l yt h ed e v e l o p m e n to fi n t e r n e tm a k e st h ea p p l i c a t i o no f c o m p u t e rb e c a m ew i d e s p r e a d b u tt h es e c u r i t yp r o b l e mb e c o m e sm o r ea n dm o r e i m p o r t a n ta tt h es a m et i m e t h ei n f o r m a t i o n s e c u r i t y m e a n st h et e c h n i c a lw h i c hi su s e dt os e c u r et h e i n f o r m a t i o ns y s t e ma n dp r o t e c tt h ei n f o r m a t i o nf r o mc h a n g i n g ,l e a k i n go rd e s t r o y i n g w i t h o u t p r o p e r a u t h o r i z a t i o n t h e o p e r a t i o n gs y s t e ms e c u r i t yi n c l u d i n gi d e n t i t y a u t h e n t i c a i o n ,a c c e s sc o n t r o l ,s e c u r i t ya u d i t ,e n c r y p ta n dd e c r y p t ,r o l eb a s e da c c e s s c o n t r o la n dc t e ,i st h ek e r n e lo fi n f o r m a t i o ns e c u r i t y i nf a c t ,t h ec o m p u t e ru s e r si n c l u d i n gp e r s o nu s e r sa n dc o r p o r a t i o nu s e l sh a v en o t e n o u g hp r o f e s s i o n a lk n o w l e d g et op r o t e c tt h e i ri n f o r m a t i o nt h u s ,r e s e a r c h i n gt h e t e c h n i q u et oe n h a n c et h eo p e r a t i n gs y s t e m ,e s p e c i a l l yt h eh o s tc o m p u t e ri d e n t i t y a u t h e n t i c a t i o ns y s t e mi sc r i t i c a lt or e s o l v et h ep r o b l e m u n i v e r s a ls e r i a lb u s ( u s b ) i sak i n do ft h es e r i a lb u s e sw i t hh i g hs p e e do n t r a n s m i t t i n g a tp r e s e n ti th a sb e e nw i d e l yu s e df o rt h ep e r i p h e r a le q u i p m e n t ,d i g i t a l d e v i c ea n dt h ei n d u s t r i a lf i e l d f o ri th a ss u c ha d v a n t a g e sa sp l u ga n dp l a y 、e a s yt ob e e x p a n d e da n d t h eh i g hs p e e do nt r a n s m i t t i n g t h i sp a p e ra n a l y z e st h ep r i n c i p l ea n dm e c h a n i s mo ft h el i n u xs t a r t u p , a n dt h e c h a r a c t e r so ft h eu s ba r c h i t e c t u r ea n dd e v i c ed r i v e r , t h e nt h r o u g hm o d i f i c a t i o nt h e k e r n e ls o u r c ec o d e ,w i t hh a r d w a r ee n c r p y t i o nc a r d ,a n di m p l e m e n tm a n d a t o r ya c c e s s c o n t r o lb a s e dp o l i c y , ah o s tc o m p u t e ri d e n t i t ya u t h e n t i c a t i o ns y s t e mm o d u l ei sb u i l t , t h eh o s tc o m p u t e ri d e n t i t ya u t h e n t i c a t i o ns y s t e mi si m p l e m e n t e db a s e do nl i n u x2 6 x k e r n e lw i t hd e t a i l e dc o r ec o d e a tl a s t ,t h ep a p e rb r i n g su ps o m ei m p r o v e m e n ti nt h ef o l l o w i n gw o r ko ft h eh o s t c o m p u t e ri d e n t i t ya u t h e n t i c a t i o ns y s t e m k e yw o r d s :l i n u x ,m a c ,h i d s ,u s bs e c r e c yc a r d l i 讯 j l 童工繁火秀 学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导筛指导下,独立进行研究工 作所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个 人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献豹个人鞠集体, 均己在文中以明确方式标明。本声明的法律结果由本人承担。 糍黻储缴:您事嗍:础姗m 学位论文版权使用授权书 本学位涂文作者完全了解学校有关保留、使用学位论文的栅定,即:学校有 权保留劳向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权湖北工业大学可以将本学位论受的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 学位论文作者签名 弱期:“年r 月 指删:午铲鼬 封期:泸解f 阳纱日 忽习 口 if 湖北工业大学硕士学位论文 第1 章引言 1 1 课题来源及目的和意义 当前信息安全的问题已经引起人民的广泛关注,随着防火墙、网络保密机、 网络安全服务器、安全管理中心等网络安全产品的研制和使用,人们可能会问:“它 们的基础( 操作系统) 可靠,并且安全吗”? 操作系统是计算机资源,包括软、 硬件资源的直接管理者,所有应用软件都是通过操作系统来有序组织和调度硬件 来完成的,当然如果操作系统本身安全性都没有得到保障,是不可能解决如数据 库安全、网络安全和其他应用软件安全问题的。所以操作系统的安全是计算机系 统安全的基础。开发和完善操作系统本身的安全,成了提高计算机信息系统安全 性的重要手段,这样我们应对操作系统本身的安全性予以高度的重视。现在应用 最多的操作系统,特别是应用在个人桌面的操作系统w i n d o w s 系列在安全性方面 已经漏洞百出,常常成为一些黑客的攻击对象,同时由于微软不提供w i n d o w s 操 作系统的源代码,象一个“黑盒子”,对它的安全性难以估量和增强,我国的政府、 军队、银行等重要部门迫切需要自主研发的安全操作系统做平台。最近几年来, l i n u x 蓬勃发展,其开放源代码和遵守g p l 协议给我们基于自主,于发安全操作系 统提供了历史机遇: 1 ) 克服了以往国内基于其他操作系统开发安全操作系统缺少源代码程序的困 难,使得我们可以对l i n u x 内核进行安全性增强和开发所需要的各种安全机制,使 得基于l i n u x 资源自主开发高安全级别的操作系统成为了可能。 2 ) 克服了以往国内自主开发安全操作系统存在的版权问题。 3 ) 实行“拿来主义”,减小了我国r r 业,特别是软件业同国外技术的差距甚 至实现超过国外技术的可能。 同时l i n u x 操作系统以其稳定、高效、开放的特点,越来越多的应用到电子政 务和电子商务等各行各业中。如何构建一个安全的l i n u x 操作系统和基于该操作系 统的计算机网络安全是目前计算机安全研究领域的热点 卜“。对用户来说,主机是 各种信息资源共享的主要载体,特别是针对那些处在局域网内部的核心l i n u x 服务 器,根据1 9 9 9 年c s l f b i 的计算机犯罪及安全调查局指出,8 2 的损失是内部 威胁造成的【“,所以防止内部用户的滥用事件才是维护计算机信息系统安全的第一 步,必须为用户提供一种安全可靠,便利快捷的主机身份验证方式。 湖北工业大学硕士学位论文 1 2 国内外在该方向的研究现状 目前,国内外对主机的安全保护主要依赖于操作系统本身的安全特性、防火 墙和i d s ( i n s t r u s i o nd e t e c t i o ns y s t e m ,入侵检测系统) 等。操作系统虽然提供了 一些安全措施,但是它无法阻止对信息的非法访问、恶意破坏、拒绝服务和其他 的复杂攻击;防火墙最大的缺点就是防外不防内,即可以防止来自外部i n t e r n e t 信 息的非法访问、非法连接、端口扫描、信息的分析和窃取等,但不能防止内部用 户利用系统管理用户方面的虚弱性来非法获得超级用户口令、越级访问获得敏感 信息等;i d s 用来检测来自信息系统外部的入侵或内部合法用户滥用或误用职权的 行为,但是它是根据用户的历史行为,基于当前操作,完成对入侵的检测,根据 留下入侵的痕迹为数据恢复和处理提供依据,是一种被动的防御措施。 下面是关于l i n u x 操作系统安全国内外研究的一些情况: 1 ) 上海交通大学尤普元教授带领的9 7 3 课题“信息与网络安全体系结构研究”, 提出了一种可以定制的安全操作系统内核机制,用户可以基于规则,向事件的高 层定义语言来描述安全策略,使操作系统可以支持广泛的安全策略的实现。 2 ) 北京理工大学信息安全与对抗中心胡昌振教授、戴银涛博士领导下自主研 究开发了“金海豚”网络动态防护系统。该系统在主机基入侵检测系统的基础上, 融合智能技术和控制系统技术,形成网络安全主动防御技术体系及一系列产品。 3 ) 浙江大学计算机体系结构研究所史烈副教关于l i n u x 系统下基于系统调用 监控的l i n u x 入侵检测思想的提出和相关模型的设计。 4 ) 南京大学软件新技术国家重点试验室谢俊元教授带领的国家8 6 3 计划项目, 根据目前l i n u x 安去性隐患,提出了l i n u x 操作系统通过采用强制访问控制、审计、 禁止客体重用、入侵监测等策略来改进l i n u x 安全性能。 5 ) 清华大学信息网络工程研究中心李星教授的国家自然科学基金资助的项目 和国家信息关防与网络安全保障持续发展计划项目关于l i n u x 内核防火墙底层结 构( n e t f i l t e r ) 和功能的研究,并如何运用n e t f i l t e r 来进行l i n u x 防火墙功能的扩 充。 6 ) 中国科学院信息安全技术工程研究中心卿汉斯研究员基于l i n u x 安全操作 系统的研究。 7 ) 同济大学( 上海) 赵炯博士个人网站h t t p :w w w o l d l i n u x o r e , 对于l i n u x 早 期内核的工作原理和源代码都做了详尽的说明和注释。 从目前国内外关于研究操作系统安全的状况来看,有以下几个特点【6 “l : 1 ) 研究的载体多为l i n u x ,说明了l i n u x 源代码的开放性带给用户可定制个 湖北工业大学硕士学位论文 性和安全的操作系统的便捷。 2 ) 多基于内核的改造或扩充为主,实现内核级的安全。 3 ) 基于系统调用的入侵检测,即用户登陆后在发生系统调用时候对其进行检 测并对其进行审计,让系统安全管理员判断是否系统调用是否安全;或者通过诱 捕系统直接把攻击者诱导至诱捕系统,并记录下日志。 4 ) 通过扩展内核,动态加载的安全检测模块,系统根据用户的需要和用户权 限动态的将各种模块装入内核或者是从内核中卸载而无需重新编译内核,达到安 全管理计算机信息的目的。 1 3 本文的研究工作及内容组织 本文将l i n u x 操作系统为研究对象、利用i - l i d s ( h o s tl n s t r u s i o nd e t e c t i o n s y s t e m ,主机入侵检测系统) 模型思想和计算机外部硬件设备难以复制的特点, 强制l i n u x 在启动初期访问加载在计算机u s b 接口的保密卡,实施基于策略的强 制访问控制,实现一个基于l i n u x 主机身份验证系统,即利用l i n u x 初始化核心态 和用户态之问的转换接e 1i n i t ( ) 函数在系统调用e x e c v e ( ) 的时候,截获关于用 户管理、调用第一用户进程l n i t 进程等安全敏感操作,重定向到关于主机身份验证 的安全扩展组件进行强制访问控制,强制访问加载在主机外部u s b 接口的u s b 保 密卡。同时,通过p r o b e ( ) 函数中利用i d p r o d u c t 和i d v e n d o r 来对u s b 保密卡进 行唯一指定,实现了一种软硬结合的双因素的主机认证方式( p i n + 硬件卡) ,即使 p i n 或者硬件卡被窃取,用户仍然不会被冒充,一定程度上增强了计算机主机的安 全性。 具体来说,本文将以f e d o r a c o r e 2 ( l i n u x 内核为2 6 1 0 ) 发行版本为实验的 操作系统,通过实施基于策略的强制访问控制加载在计算机u s b 接口的u s b 保密 卡来达到主机身份验证的目的,先分析了l i n u x 启动原理及u s b 设备驱动程序, 重点分析了浚系统要实现涉及的相关原理和技术,最后给出了主机身份验证系统 实现的具体细节。全文的结构安排如下: 第1 章:引言部分。介绍了研究该课题的意义和目的,国内外研究该课题的 现状和研究该课题的创新之处。 第2 章:分析了l i n u x 启动部分源代码、主机入侵检查系统和基于策略的强制 访问控制等软件部分原理。 第3 章:分析了u s b 设备驱动程序和u s b 文件的加密与解密硬件部分原理等。 第4 章:提出了基于策略强制访问控制的l i n u x 主机身份验证系统模型,并给 湖北工业大学硕士学位论文 出了详细的实现过程和部分关键源代码。 第5 章:对该系统的总结和对该系统提出一些完善意见。 1 4 本文研究的创新之处 对比国内外安全操作系统的研究状况和特点【9 _ “l ,身份验证系统通过改造内核 启动部分的i n i t m a i n c 的源代码,在此部分增加身份验证功能程序,强制操作系统 开机进行b 1 0 s 检测之后用户登陆之前主动检测加载在计算机u s b 接口的u s b 保 密卡,通过加载保密卡上根据事先制定安全规则以此进行主机身份审计,并将结 果返回给操作系统,操作系统通过硬件返回的结果来判断是否进行计算机其他硬 件的初始化等下一步的工作。该课题具有如下创新之处: 1 ) 在用户登陆前( 无论是r o o t 用户还是普通用户) 必须通过身份验证,避 免攻击者通过“后门”等黑客程序获得e t c p a s s w d 或者是e t c s h a d o w 文件下的所 有用户名和口令等相关敏感信息; 2 ) 保密卡加载在计算机外围u s b 接口,攻击者无法屏蔽它,达到软硬结合; 3 ) 保密卡防止非法二次复制,即使遗失也难以破解; 4 ) 在开机硬件初始化之前进行检测并写入系统日志,日志信息可靠真实,程 序结构简单,程序编制简单可行,成本较低等优点: 5 ) 系统所涉及代码均需要重新编译整个内核,一些非法用户很难通过移植一 些非法应用程序获得r o o t 用户权限: 4 湖北工业大学硕士学位论文 第2 章主机身份验证系统模型 本章先介绍了关于l i n u x 内核编译的方法和步骤,是实现主机身份验证系统基 础知识,接着主要分析涉及主机身份验证系统模型中相关的系统原理,重点是分 析基于l i n u x 2 6 x 启动过程整体框架、启动过程中各个关键函数功能,基于策略的 强制访问控制,主机入侵检测系统的过程和流程图。其目的就是为了找到适合身 份验证系统身份验证模块的嵌入的时机,访问外围u s b 设备采取的策略和其改进 模型。在每小节后面都说明了该系统要涉及此原理的原因。 2 1 重新编译新内核的l i n u x 2 1 1l j f l u x 内核简介 内核是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、 文件和网络系统,决定着系统的性能和稳定性。我们通常所说的l i n u x ,其灵魂 所在,就是它稳定而强大的核心。而事实上,l i n u x 的定义,也只是这个核心,只 是大家目前使用的系统,在l i n u x 核心之外,还有各种各样的套件( 包括不同的 s h e l l ) 整合一起。 l i n u x 的一个重要的特点就是其源代码的公开性,所有的内核源程序都可以在 u s r s r c l i n u x 下找到,大部分应用软件也都是遵循g p l 而设计的,可以免费获取相 应的最新的源程序代码。通常,更新的内核会支持更多的硬件,具备更好的进程 管理能力,运行速度更快、更稳定,并且一般会修复老版本中发现的许多漏洞等, 经常性地选择升级更新的系统内核是l i n u x 使用者的必要操作内容。通过对内核源 程序了解,我们就可以了解系统是如何工作的,可以了解系统的工作原理,最主 要的就是可以针对各个应用的不同,量体裁衣,定制适合不同应用的操作系统, 通过重新编译内核,相当于自己开发了一个操作系统,而且大部分的工作已经做 好了,你所要做的就是要增加并实现自己需要的功能。正是基于l i n u x 核心源代码 的开放性、稳定性,所以我们课题组选择l i n u x 作为我们主机身份验证系统实现的 载体。那么,如何重新编译l i n u x 内核呢,下面简述其操作步骤和注意事项。 湖北工业大学硕士学位论文 2 1 2 重新编译l in u x 内核 l i n u x 内核版本发布的官方网站是h t t p :w w w k e r n e l o r g 。新版本的内核分两种, 一种是f u l ls o u r c e 版本,另外一种是p a t c h 文件,即补丁。完整的内核版本比较大, 一般是t a r g z 或者是b z 2 文件,二者分别是使用g z i p 或者b z i p 2 进行压缩的文件, 使用时需要解压缩。p a t c h 文件则比较小,一般只有几十k 到几百k ,但是p a t c h 文 件是针对于特定的版本的,你需要找到自己对应的版本才能使用。l i n u x 的开发采 用的是集市模型( b a z a a r ,与c a t h e d r a l 一教堂模型一对应) l - 1 6 】,为了确保这些无序 的开发过程能够有序地进行,l i n u x 采用了双树系统。一个树是稳定树( s t a b l et r e e ) , 另一个树是非稳定树( u n s t a b l et r e e ) 或者开发树( d e v e l o p m e n tt r e e ) 。一些新特性、 实验性改进等都将首先在开发树中进行。如果在开发树中所做的改进也可以应用 于稳定树,那么在开发树中经过测试以后,在稳定树中将进行相同的改进。一旦 开发树经过了足够的发展,开发树就会成为新的稳定树。开发数就体现在源程序 的版本号中;源程序版本号的形式为x y z :对于稳定树来说,y 是偶数;对于丌发 树来说,y 比相应的稳定树大一( 因此,是奇数) 。 在重新编译时,要增加对某部分功能的支持,比如u s b 设备之类,可以把相 应部分编译到内核中( b u i l d ,i n ) ,也可以把该部分编译成模块( m o d u l e ) ,动态凋 用。如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,这样的 优点是方便、速度快,机器一启动,你就可以使用这部分功能了;缺点是会使内 核变得庞大起来。编译内核需要r o o t 权限,下面就是重新编译操作步骤: 1 ) # m a k em r p r o p e r 确保源代码目录下没有不j 下确的o 文件以及文件的互相 依赖: 2 ) # m a k em e n u c o n f i g 在基于文本选单的配置界面下选择内核所需要的配置 项目( 可以选择其他几种配置界面) ; 3 ) # m a k ea l l 编译所选择的配置项; 4 ) # m a k em o d u l e si n s t a l l 如果有些选项是以模块方式安装,那么该命令是生 成相应的模块; 5 ) # m a k ei n s t a l l 安装上一步生成的模块; 在按照上述操作步骤完成后,根据下载的新内核源程序,就重新编译生成了 一个新内核版本的操作系统。 湖北3 - - 业大学硕士学位论文 2 2l i r l i x 启动过程分析 2 2 1l ir h x 启动过程分析 重新编译后的内核( 操作系统) 是如何工作昵,下面以l i n u x 2 6 x 内核在i b m p c 机启动为例,l i n u x 启动过程如下: 1 ) 加电,启动固化在主板r o m 上的b i o s 程序,并由b i o s 加载操作系统核 心代码引导程序; 2 ) 由引导程序加载操作系统内核,并自解压缩; 3 ) 内核初始化,建立基本的l i n u x 核心环境; 4 ) i n i t ( ) 函数调用i n i t 进程,生成i n i t 进程; 5 ) 系统初始化,执行s h e l l 文本命令: 6 ) 多用户环境的建立,生成各终端进程,出现登陆窗口; 当系统加电或者是r e s e t 引脚有效后,对系统硬件配置进行系列的检测,接 着进行硬件初始化,然后加载中断向量至物理内存低1 0 2 4 字节单元,执行i n t1 9 h 软中断调用,根据c m o s 的设置,顺序从引导盘( 一般从硬盘引导) 中搜索标志 为5 5 a a h 的引导扇区,执行i n t l 3 h 软中断调用,从引导扇区读取m b r 至内存的 0 x 7 c 0 0 处,然后指令控制跳转此处,开始执行l i n u x 引导程序l i l o g r u b 。 当引导程序l i l o g r u b 完成引导任务后,l i n u x 中s e t u p ( ) 函数从它们手 中接管了c p u 的控制权,这时系统转入保护模式,开始执行s t a r t u p _ 3 2 ( ) 来初 始化寄存器和解压缩内核模块z l m a g e 或b z l m a g e ,解压后的代码在0 x 1 0 1 0 0 0 0 处 丌始执行,紧接着所有的3 2 位的设置都将完成:i d t ( 中断描述符表) 、g d t ( 全 局描述符表) 和l d t ( 局部描述符表) 将被装入,处理器初始化完毕,设置好内 存页面,最终调用s t a r tk e r n e l ( ) 。s t a r tk e r n e l ( ) 初始化系统内核的各种重要的 数据结构,如调用p r i n t k ( ) 函数在屏幕上显示l i n u x 内核版本号以及编译内核所 使用的g c c 版本号、启用时间等:当系统内核完成自身基本的初始化工作后,调 用函数k e r n e lt h r e a d ( ) 创建第一个内核线程,如果是1 号内核线程,程序控制 该子进程直接去执行i n i t ( ) 函数,i n i t ( ) 函数继续对内核系统进行初始化。i n i t ( ) 函数执行u n l o c kk e r n e l ( ) 后,内核初始化工作已经全部结束。 当内核初始化结束后,系统核心从内核态转为用户态,系统函数l n i t ( ) 调用 e x e c v e ( ) ,此时强制系统函数e x e c v e ( ) 调用我们自己设计的关于主机身份验证 模块,并通过访问的加载在计算机外部的u s b 保密卡协同完成身份验证等工作, 再让l n i t 进程开始执行e t c i n i t 、b i n i n i t 或s b i n i n i t ,根据文件e t c i n i t a b 中每一行 7 湖北工业大学硕士学位论文 的要求分别生成新的进程米完成相应的系统启动与初始化工作,最后由i n i t 进程来 创建终端注册程序g e t t y ,屏幕显示l o g i n 登陆窗口。 2 2 2 启动过程中主要功能函数分析 启动过程中设计的程序具体结构及相关函数说明如下【1 7 - 2 4 l s t a r t u p 一3 2 : i ! s t a r t k e r n e l l 】t o c k k e r n e l | 1 t r a p i n i t i i n i t i r q | :s c h c di n i t | :s o f t i r q i n i t | t i m e i n i t | l c o n s o l e i n i t i # i f d e fc o n f i g m o d u l e s i i n i t _ m o d u l e s | # e n d i f i k m e m c a c h e _ i n i t i s t i l c a l i b r a t e _ d e l a y i m e m i n i t i k m e m _ c a c h es i z e s i n i t k ) g t a b l ec a c h e _ i n i t i f o r k _ i n i t k ) r o c _ c a c h e s i n i t i v f s c a c h e s _ i n i t i b u f f e r i n i t k r a g ec a c h e _ i n i t l s i g n a l s _ i n i t i # i f d e fc o n f i g _ p r o c _ f s 1 1 ) r o c r o o t i n i t j # e n d i f 8 湖北z - 业大学硕士学位论文 悻i fd e f i n e d ( c o n f i g _ s y s v i p c ) i i p c _ i n i t # e n d i f i c h e c k _ b u g s l s m p _ i n i t i r e s t i n i t i k e r n e lt h r e a d l u n l o c k _ k e r n e l i c p u _ i d l e s t a r tk e r n e l ( ) 程序用于初始化系统内核的各个部分,包括: + 设置内存边界,调用p a g i n g _ i n i t ( ) 初始化内存页面; + 初始化陷阱,中断通道和调度; + 对命令行进行语法分析; + 初始化设备驱动程序和磁盘缓冲区: + 校对延迟循环; 最后,系统核心转向m o v e t o u s e r m o d e ( ) ,以便创建初始化进程( i n i t ) 。 此后,进程0 丌始进入无限循环。i n i t 是第一个进程,或者说内核线程,i n i t ( ) 函 数作为核心线程,首先锁定内核( 仅对s m p 机器有效) ,然后调用d ob a s i cs e t u p ( ) 完成外设及其驱动程序的加载和初始化。因为是我们分析的重点部分,故予 以详细介绍,关于i n i t ( ) 线程其工作主要如下: 总线初始化( 比如p c i _ i n i t ( ) ) 网络初始化( 初始化网络数据结构,包括s k _ i n i t ( ) 、s k b _ i n i t ( ) 和p r o t o _ i n i t ( ) 三部分,在p r o t o _ i n i t ( ) 中,将调用p r o t o c o l s 结构中包含的所有协议的初 始化过程,s o c ki n i t ( ) ) 创建b d f l u s h 核心线程( b d f l u s h ( ) 过程常驻核心空间,由核心唤醒来清理 被写过的内存缓冲区,当b d f l u s h ( ) 由k e r n e l t h r e a d ( ) 启动后,它将自己命名 为k f l u s h d ) 创建k u p d a t e 核心线程( k u p d a t e ( ) 过程常驻核心空间,由核心按时调度执 行,将内存缓冲区中的信息更新到磁盘中,更新的内容包括超级块和i n o d e 表) 设置并启动核心调页线程k s w a p d ( 为了防止k s w a p d 启动时将版本信息输出 到其他信息中间,核心线调用k s w a p d _ s e t u p ( ) 设置k s w a p d 运行所要求的环境, 然后再创建k s w a p d 核心线程) 创建事件管理核心线程( s t a r t _ c o n t e x tt h r e a d ( ) 函数启动c o n t e x t _ t h r e a d ( ) 湖北工业大学硕士学位论文 过程,并重命名为k e v e n t d ) 设备初始化( 包括并口p a r p o r t _ i n i t ( ) 、字符设备c h r d e v i n i t ( ) 、块设各 b l k d e v i n i t ( ) 、s c s l 设备s c s i d e v i n i t ( ) 、网络设备n e t d e v i n i t ( ) 、磁盘初始 化及分区检查等等,d e v i c e ( ) ) _ s e t u p t 执行文件格式设置( b i n f m t _ s e t u p ( ) ) 启动任何使用i n i t c a l l 标识的函数( 方便核心开发者添加启动函数, d o i n i t c a l l s ( ) ) 文件系统初始化( f i l e s y s t e m _ s e t u p ( ) ) 安装r o o t 文件系统( m o u n tr o o t ( ) ) 完成这些初始化后,i n i t ( ) 线程到此结束,其结构如下图所示: i i n i t i l o c k _ k e r n e l i d o _ b a s i c _ s e t u p i m t r r _ i n i t l s y s c t l _ i n i t i p c i _ i n i t i s o c k i n i t i s t a r t _ c o n t e x t _ t h r e a d i d o _ i n i t _ c a l l s i ( + c a l l ( ) ) k s w a p d i n i t p r e p a r e _ n a m e s p a c e l f r e e _ i n i t m e m i u n l o c k _ k e m e l 2 3 基于策略的强制访问控制 计算机信息系统可信计算基,源于英文t r u s t e dc o m p u t i n gb a s e ,缩写为t c b , 它是计算机系统内保护装置的总体,包括硬件、固件、软件和负责执行安全策略 的组合体。它建立了一个基本的保护环境并提供一个可信计算系统所要求的附加 用户服务,对外部主体能够直接或间接访问的所有资源( 例如:主体、存储客体和 输入输出资源) 实施强制访问控制【4 2 ”。为这些主体及客体指定敏感标记,这些 标记是等级分类和非等级类别的组合,它们是实施强制访问控制的依据。计算机 信息系统可信计算基支持两种或两种以上成分组成的安全级。计算机信息系统可 1 0 湖北工业大学硕士学位论文 信计算基外部的所有主体对客体的直接或间接的访问应满足:仅当主体安全级中的 等级分类高于或等于客体安全级中的等级分类,且主体安全级中的非等级类别包 含了客体安全级中的全部非等级类别,主体才能读客体;仅当主体安全级中的等 级分类低于或等于客体安全级中的等级分类,且主体安全级中的非等级类别包含 了客体安全级中的非等级类别,主体才能写一个客体。计算机信息系统可信计算 基使用身份和鉴别数据,鉴别用户的身份,保证用户创建的计算机信息系统可信 计算基外部主体的安全级和授权受该用户的安全级和授权的控制。 在强制访问控制系统中,系统给主体和客体分配了不同的安全属性,用户不 能改变自身或任何客体的安全属性,即不允许单个用户确定访问权限,只有系统 管理员可确定用户和用户组的访问权限。系统通过比较客体和主体的安全属性来 决定主体是否可访问客体。此外,强制访问控制不允许一个进程生成共享文件, 从而防止进程通过共享文件将信息从一个进程传送到另个进程。m a c ( m a n d a t o r ya c c e s sc o n t r o l ,强制访问控制) 可通过使用敏感标记对所有用户和 资源强制执行安全策略,如图2 1 所示: 主体( 用户,进程) 被分配一个安全等级,客体( 文件,数据) 也被分配一 个安全等级,访问控制执行时对主体和客体的安全级别进行比较。 文件:作战计划 安全级肌最高 图2 1 强制访问示意图 文件:电话薄 安全级别:秘密 用一个例子来说明强制访问控制规则的应用,如w e b 服务以“秘密”的安全 级别运行。假如w e b 服务器被攻击,攻击者在目标系统中以“秘密”的安全级别 进行操作,他将不能访问系统中安全级为“机密”及“高密”的数据。强制访问 控制进行了很强的等级划分,但灵活性不高,所以经常用于保护等级要求很高的 领域。 同样,在该身份验证系统中,引入基于策略的强制访问控制,通过一套规则、 约束集或安全逻辑建立a c d ( a c c e s sc o n t r o ld a t a b a s e ,访问控制数据库) ,通过比 较主体与客体的安全属性来决定是否允许主体访问客体,当计算机通过b i o s 自检 后,用户( 主体) 不是按照操作系统原有启动去进行硬件初始化、操作系统自身 环境的建立等工作,而是通过修改后的启动顺利被强制访问加载在计算机外部的 u s b 保密卡( 客体) ,安全策略属性则由系统管理员写入到u s b 保密卡中,它不 湖北工业大学硕士学位论文 能被其他任何用户修改。 2 。4 主机入侵检测系统 入侵检测是监视计算机网络和系统以发现违反安全策略事件的过程,用于检 测任何破坏或企图破坏系统的保密性、完整性或可用性的行为,它从系统内部或 各种网络资源中收集信息,从中分析可能的入侵或攻击。一个入侵检测系统主要 由数据采集模块、入侵分析引擎模块、应急处理模块、管理配置模块和相关的辅 助模块组成f 2 8 。2 9 j 。数据采集模块的功能是为入侵分析引擎模块提供分析用的数据, 一般的有操作系统的审计同志、应用程序运行日志和网络数据包等。入侵分析引 擎模块的功能是依据辅助模块提供的信息如攻击模式,并按照一定算法对收集到 的数据进行分析,从中判断是否有入侵行为出现和产生入侵报警。该模块是入侵 检测系统的核心模块。管理配置模块,顾名思义,它的功能是为其它的模块提供 配置服务,是i d s 系统中的模块与用户的接口。应急措施模块的功能在发生入侵 后,预先为系统提供紧急的措施,例如关闭主机、网络服务、中断网绍连接、启 动备份系统等。辅助模块的功能是协助入侵分析引擎模块工作,为它提供相应的 信息,例如攻击模式、网络安全事实和网络安全策略等。 图2 2 给出了一个简单的入侵检测系统。图中的系统是一个广泛的概念,可能 是工作站、网段、服务器、防火墙、w e b 服务器、企业网等。 图2 2 入侵检测系统 具体来说,入侵检测系统的主要功能有: 1 ) 检测并分析用户和系统的活动; 2 ) 核查系统配置和漏洞; 3 ) 评估系统关键资源和数据文件的完整性: 湖北工业大学硕士学位论文 4 ) 识别已知的攻击行为; 5 ) 统计分析异常行为: 6 ) 操作系统r 志管理,并识别违反安全策略的用户活动; 对于入侵检测系统的分类有多种方式。按信息来源的不同,可分为基于主机 的入侵检测系统( h i d s ) 和基于网络的入侵检测系统( n i d s ) 1 3 0 - 3 2 l 。 本文中主要研究的对象主机身份验证系统,它是基于主机的入侵检测系统模 型改进的,主机入侵检测系统是应用于分析计算机主机产生的数据源,来判断主 机可能遭受的非法入侵或攻击,其中主机数据源的种类很多,包括操作系统事件 ( 内核、基本安全模块) 以及应用程序同志( 系统同志、关系数据库、w e b 服务 器) 。主机身份验证系统将身份验证系统模块做为主机从内核态向用户态时的一个 主机数据源桑作系统事件,通过事先制定的a c d 来完成基于策略的强制访问 控制,并根据对应规则给予警报或者拒绝访问,是一种实时的、主动的关于主机 安全的防御措施。 湖北工业大学硕士学位论文 第3 章u s b 保密卡原理分析 本章首先是介绍了常见保密卡的类型,说明身份验证系统选择基于u s b 接口 保密卡的原因,接着重点分析了u s b 总线设备的体系结构和关于u s b 保密卡( 设 备) 驱动程序的整体框架和几个重要的接口函数。为主机身份验证系统硬件实现 提供理论依据。 3 1u s b 保密卡介绍 目前硬件加密卡都是运行于操作系统之上,即为所谓的加密狗,加密狗的加 密功能是由软硬件共同完成的,与以前仅仅采用存储器的早期的加密狗相比,而 现在采用的是以低功耗单片机和存储器( e e p r o m 或f l a s h ) 为核心芯片,开发 者可以将自己的程序算法和加密算法移植到单片机中,单片机的采用可以使主机 存储程序与加密卡之问的通信方式按需设计1 3 3 1 ,而且在单片机内部还可以设计比 较复杂的逻辑加密算法,特别是采用了一些反解密技术,如数据交换随机噪声技 术,它能有效对抗逻辑分析仪以及各种调试工具的攻击;再如迷宫技术,在程序 出入口之间包含大量的判断跳转语句,动态改变执行顺序,来提高加密狗的反跟 踪能

温馨提示

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

评论

0/150

提交评论