(计算机应用技术专业论文)网络数据库系统的安全性研究.pdf_第1页
(计算机应用技术专业论文)网络数据库系统的安全性研究.pdf_第2页
(计算机应用技术专业论文)网络数据库系统的安全性研究.pdf_第3页
(计算机应用技术专业论文)网络数据库系统的安全性研究.pdf_第4页
(计算机应用技术专业论文)网络数据库系统的安全性研究.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

西南交通人学硕_ - = 研究生学位论文第【页 摘要 安全出珊究是一个系统的工程,安全性本身涉及很多方面的内容,网络数据库系统的 安全性研究也不例外,不能仅仅从数据库系统本身出发,需要全面考虑。本文从收集和总 结前人的研究成果出发,研究了网络数据库系统安全性需要解决的相关问题,并从中选择 了一些重要和适合的问题进行研究和解决。 提出了网络数据库系统的安全机带蟠口安全防护框架,力图从机制上提高网络数据库系 统的安全性。讨论了在不更换操作系统和数据库系统的前提下提高数据库安全幽驹途径, 认为要提高数据库系统的安全性必须从存储安全( 包括读写访问) 和传输安全两个方面来 提高。存储安全又分为两个方面来考虑:通过数据库系统对库文件中的记录读写的安全性 和其它程序通过由操作系统来访问数据库相关文件:我们主要从加强本地计算机来讨论传 输安全。 在操作系统方面,实现了在操作系统的核心层通过文件操作过滤来防止其它进程对数 据库系统相关文件的操作,进而将操作权限限定给了数据库,这样首先减少了柬自操作系 统和数据库系统以外的不安全性。在网络传输方面,实现了使用n d i s ( n e t w o r kd r i v e r i n t e r f a c es p e c i f i c a t i o n ,即网络驱动程序接口规范) 中间驱动程序对往来的网络包进 行监控和过滤。由于n d i s 中问层位于硬件驱动之上传输驱动之下,属于网络底层,运行 于系统核心态,具有不容易被旁路等优点,所以在n d i s 中间层进行过滤更具安全性。 本文也介绍了数据库应用设计和应用编程应该注意的安全事宜,介绍了w i n d o w s 操作 系统、m ss o ls e r v e r 数据库系统和网络系统的安全设置问题,还介绍了w i n d o w s 核心编 程和软驱动编写基础知识及安全等级评价相关知识和在我国获得广泛应用的商用数据库 的安全等级。 关键字数据库:网络:安全:文件驱动;n d i s 两南交通大学硕【:研究生学位论文第1 l 页 a b s t r a c t t h es t u d yo fs e c u r i t yisas y s t e mi np r o j e c tw h i c hr e l a t i n gt om a n ya s p e c t so fc o n t e n t i t i sn o tp e r f e c tt om e r e l yf o c u s i n go nt h ed a t e h a s es y s t e mw h e ns t u d yt h en d s ( n e t w o r kd a t a b a s e s e c u r i t y ) i nt h i sp a p e r ,i n f o r m a t i o no ff o r m e ri n v e s t i g a t i o n sw e r ec o l l e c t e da n ds u m m k n a c i z e d a n ds o m ee x i g e n ts e c u r i t yq u e s t i o n sa r ed i s c u s s e da n ds o l v e d t h es e c u r i t ym e c h a n i a n dt h es a f e t yf r a m ea r ep r e s e n t e dt oe n h a n c i n gt h e d sb yt h e m e c h z a l i s m g i v e na nr e p l a c i n gt h eo p e r a t i n gs y s t e ma n dt h ed a t a b a s es y s t e m ,a n do n l ydj s c u s s t h ea p p r o a c ht os t r e n g t h e nt h e 髑,i tc a nb ec o n s i d e r e dt h a t :t oe n h a n c et h en d s ,b 。t ht h e s e c u r i t yo ft h ed a t as t o r a g ea n dt h a to ft h ed a t at r a n s f e ro nt h ei n t e r n e tm u s tb ed e a l w i t h ( c o n s i d e rt h a tt h es t o r a g ei n c l u d ea l lt h ew r i t ea n dr e a d ) i nd e t a i l lt h es t o r a g es e c u r i t y i ss p l i ti n t ot w oa s p e c t s :t h ev i s i tt ot h ed a t af i l e sf r e mt h e 册临a n dt h ev i s i t 协t h e d a t af 【l e sf r o mt h eo p e r a t i n gs y s t e mc a l l s e db yo t h e rp r o g r a m s ;w ed i s c u s st h et r a n s f e rs e c u r i t y m a i n l yf r o ml o c a lc o m p u t e r f o rt h eo p e r a t i n gs y s t e ma s p e c t ,f i l t r a t i n gt h ev i s i tf r o mo t h e rp r o g r a mb yaf i l e s o p e r a t i o nf i l t e ri sr e a l i z e d ,t h ep r n g r s mr u na tt h eo p e r a t i n gs y s t e mk e r n e lm o d e l t h u s ,t h e p o p e d o mo fo p e r a t i n gt h ed a t af i l e si so n l yg i v e nt ot h ed f n $ w i t h o u tp e r m i s s i o no t h e rp r o g r a m s c a nn e v e rr e a do rw r i t et h eg i v e nf i l e s ,s o ,t h ei n s e c u r i t yf r o mo u to ft h ed a t 曲a s es y s t e m a n dt h eo p e r a t i n gs y s t e ma r er e f u s e d f r o mt h et r a n s f e ra s p e c t t h ei n t e r m e d i a t en d i sd r i v e risu s e dt oi n s p e c ta n df i i t r a t et h e r e c e i v e dp a c k e t sa n dt h es e n d i n gp a c k e t s b e c a u s eo ft h ei n t e m e d i a t en d i sd i v e rr u na tk e r n e l m o d e l ,i th a sm a n ys e c u r i t ye x c e l l e n c e :i ti sn o ts oe a s yt ob eb y p a s s e db ya p p l i c a t i o np r o g r a m s , h e r ea l lk i n d sp a c k e t sc a nb er e c e i v e d ,s u c ha si c 归p a c k e t s ,a r p p j 旧p a c k e t s ,e t c s o ,s u r e , i n s p e c ta n df i l t r a t ea tt h ei n t e r m e d i a t en d i sl a y e rh a st o o l es a f e t y i nt h i sp a p e r ,t h es e c u r i t yo ft h ea p p l i c a t i o nd e s i g na n dt h ea p p l i c a t i o np r o g r a mo fd a t a b a s e a r ei n t r o d u c e d 。w h i c hc a nn e v e rb ei g n o r e d a n dm u c hk o o w l e d g eo fw r i t i n gs o f td r i v e r ,h o wt o s e tt h es e c u r i t yo p t i o no ft h ew i n d o w so p e r n t i n gs y s t e ma n do ft h e 粥s o ls e r v e rd a t a b a s es y s t e i n a n do ft h en e t w o r ka r ei n t r o d u c e dt o o a l s o ,t h ek n o w l e d g eo fs e c u r i t yg r a d ea n dt h eg r a d e o ft h ew i d e l yu s e dc o m m e r c i a ld a t 曲a s es y s t e m sa r ei n t r o d u c e d k e y w o r d s :d a t a b a s e ;n e t w o r k :s e c u r i t y :f i j _ ed r i v e r ;n d i s 西南交通大学硕士研究生学位论文第1 页 第l 章绪论 1 1 网络数据库安全性研究的意义 随着计算机与通信技术的飞速发展和广泛应用,人类社会进入了信息社会。计算机和 计算机网络对人类的生产和生活方式产生了深远的影响,整个社会对计算机网络系统的依 赖程度越来越高,如电子银行、交通管控、计算机信息管理等已经成为社会不可缺少的部 分,信息安全关系国计民生。虽然网络社会的今天获得信息的丰富性和容易性是前所没有 的,但是事情总是一分为二二的,并不是存在于计算机网络上的所有信息都是完全开放的, 非公众信息显然需要保密,不然,小贝u 可能个人隐私暴露、帐号密码被盗,大则国家机密 失窃、重要部门功能瘫痪。 随着对计算机操作系统、网络协议以及数据库系统的研究和应用越来越深入和广泛, 网络信息和网络数据库系统的安全瞄趁樾具有战略意义,信息安全保障能力成为综合国 力的一个重要部分。现代社会的信息大多已经无法通过手工记录、维护和查询,而需要通 过数据库来存储和通过网络来查询,这已经成为个不争的事实。今天,政府机构、军事 部门和许多企业公司都将大量信息存储在数据库系统上,作为信息系统安全的重要部分, 数据库安全就显得越来越重要。 虽然信息安全和数据库安全是如此重要,但是目前我国信息化建设中的大量基础设备 包括操作系统产品和数据库产品依靠国外引进,核心技术不得知,无法确保对其进行安 全利用和有效监控,特别是高安全级的安全产品国外对我国实行禁运,使得我国的信息安 全受到威胁。我国目前的数据库系统开发还处于起始阶段,国产数据库的性能还不尽人意, 未能得到广泛应用,在我国的电信、银行等重要部门获得广泛应用的大多数大的数据库系 统使用的都是国外商业数据库产品,这些产品中不能说没有其自己国家的国家利益等考虑 和其它安全漏洞,许多系统中不断发现漏洞本身就说明这些系统中不但存在许多设计缺 陷,还存在情报机构有意埋伏的安全后门的可能。在一些掌握有楱心技术的发达国家的现 有技术条件下,能够在计算机芯片、操作系统、数据库管理系统或应用程序中预先设定从 事情报收集、接受指令激发破坏程序等功能,通过这些功能,可以接收特殊程序,搜集和 发送敏感信息,通过特殊指令在加密操作中将部分明文隐藏在网络协议层中传输等“。 而由于顼有的各种软件系统十分庞大,在没有源代码的情况下,几乎无法通过反汇编对其 所有程序进行跟踪分析。将现有得到广泛应用的数据库进行研究、改进或部分置换后再使 用,也可以增强信息的安全性。同时大力进彳亍数据库的自主开发和研究,将有力地推进国 家信息化建设的进程。 总的来说。我国的网络数据库安全研究起步晚,研究力量分散,与技术先进国家有差 距,特别是在系统安全和安全协议方面的工作与国外差距更大,站在国家利益的高度来看, 国外的安全认证不能完全施心。进行与操作系统结合起来的网络数据库系统安全的理论与 应用研究,具有相当的理论意义和现实意义。 西南交通大学碗t 研究生学位论文第2 页 1 2 国内外的数据库研究和应用分析 1 2 1 国外的研究和应用 数据库系统的安全性属于信息安全的一部分,数据库系统的安全本身不能是孤立的, 其评价和研究都可以溶于计算机信息安全之中。国外对计算机信息安全及数据库安全的研 究起步较早,包括政府部门在内的各种研究机构及公司对此投入了大量的研究,研究成果 和应用都较为丰富。 找们首先看看安全标准,因为如果一项技术标准如果能成为国际标准或行业标准,这 不仅仅证明该技术的研究水平,还可以从中获得巨大的利益。 2 0 世纪8 0 年代,美国国防部根据军用计算枫系统的安全需要,制订了“可信计算机 系统安全评价准则( t c s e c ) ”,其后又相继制订了关于可信网络系统、可信数据库系统的 系列解释( t n i 、t d i ) ,形成了安全信息系统体系结构的最早原则,该原则至今仍被广为 使用。 2 0 世纪9 0 年代初美德法荷等四国又联合提出了“信息技术安全评价准则”近年来美、 加、英、法、德、荷共同提出了“信息技术安全评价通用准则”并将其作为i s o 的国际 标准颁布。第7 章我们将详细介绍国内外各主要标准及其对应关系。 发达国家的数据库理论研究和数据库产品都比较多。 从1 9 8 0 年开始i e e e 计算机安金保密会议每年举行一次,从1 9 8 7 年,f 始国际信息处 理委员会( i f i p ) 成立的专门研究计算机安全的第1l 委员会也每年举行一次国际信息安 全年会。a c m 、d o d 等机构都专门成立了专门研究计算机安全的委员会与研究小组。他f f 研 究的范围非常广泛,包括安全模型、安全策略、安全管理、分布环境安全技术、密码技术、 信息流技术、风险分柝、审计技术、计算机病毒和木马等。在数据库安全的理论研究中, 国外的研究主要包括“”“: 1 安全模型的研究及其实用化。提出了以s e a v i e w 模型、l d v 模型、s w o r d 模型为代 表的关系数据库的安全模型和原型实现。 2 针对数据库技术的发展,对一些非关系模型的数据库系统如面向对象数据库系统、 多媒体数据库系统的安全模型进行了研究。 3 对安全数据库系统中的推理控制问题进行了研究。 4 数据仓库的安全保密问题。 5 对一些专门部门的数据库应用系统进行特殊安全需求分析和实现。 随着数据库安全理论和技术的发展,为了满足对安全数据库系统越来越迫切的需求, 国外各大数据库厂商纷纷推出了各自的安全数据库产品,如o r a c l e 公司的t r u s t e d o r a c e 、i n f o r m i x 公司的i n f o r m i x o n l i n es e c u r e 、s y b a s e 公司的s e c u r e8 q ls e r v e r 等产品。 西南交通人学硕士研究生学位论文第3 贝 1 2 2 国内的研究和应用 由于国内对安全数据库产品的需求不断增加。国内的高校和科研单位对数据库的安全 问题也进行了研究( 参考文献 卜1 6 是其中的一部分) 。但是遗瞄的是国内对数据库安全 的研究无论是在理论上还是在相关实用产品上都落后于国外,主要的原因不但有力量分 散、机制不健全等之外,重要的因素还有对操作系统和核心硬件的研究基础远远不够,许 多安全产品自带有微型操作系统,但这根本不能代替主要的操作系统,系统的大多性能最 终还必须通过操作系统操作硬件来实现,微软的s q ls e r v e r 、i b m 的d b 2 在w i n d o w s 操作 系统上运行比较好,o r a c l 在 n i x l n u x 上处于霸主地位的现实也印证了i 蕾一砚点。国外 几大数据库厂商的低安全级别的数据库产品占据了国内的大部分市场。国内的电信、金融、 电力、保险等行业基本上都采用的是o r a c l e 、s y s b a s e 、i n f o r m i x 三大数据库厂商和i b m 、 微软的低安全级别的数据库产品。而中小型数据库系统中人们最熟悉的也是s q ls e r v e r 、 a c c e s s 、f o x p r o 、e x c e l 等国外产品。 国内对数据库系统的开发基本停留在大学等研究机构的实验室内,其种类较少、应用 范围还较窄、市场份额还很小,很多产品处于免费使用的推广期,但近年也有较快发展。 东北大学软件工程中心的o p e n b a s e ,由予采用与应用相捆绑的方式而得到了一定范围的 应用,但安全等级仅达到t c s e c 的c l 级。人民大学与北京大学合作进行的虱家九知员目, 国产化关系数据库管理系统c o b a s e 9 2 0 达到了t c s e c 标准的b l 级,实现了安全陛枥示强 制存取控制和审计功能,其作为一个小型而性能完备的安全d b m s 基本达到了实用化的程 度,现在正作为一种国产商用数据库在推广中。 从国内数据库安全的研究现状可以看出,在短时间内重新研制出一个性能优良的安全 d b m s 系统难度和工作量都很大,国外的商用数据库还将在较长一段时间内在我国广泛存 在,我们必须研究提高这些数据库的安全性的方法和途径。国内外通行的提高数据库系统 安全| 生的两条技术途径之一是在普通版的d b m s 的基础上推出其安全版的产品,如前述的 t r u s e do r a c l e 、i n f o n n i x - o n li n e s e c u r e 、t r u s t e ds y s b a s es q ls e r v e r 、国内的c ( ) b a s e v 2 0 安全版等;途径之二是在现有商用数据库产品的基础上针对特定应用环境研制多级 安全应用系统。 要从根本上解决安全问题,必须使用自主产权的高安全级别的操作系统和数据库系 统,目前我国对于系统的研究做了比较多的工作,但研究力量分散,没有能得到广泛应用 的成果,还处于起步阶段。但是基于国内的数据库系统的使用现状,我们来看看对提商国 外数据库系统的安全性方面的一些研究: 在现有的已经获得广泛应用的各种商业数据库系统如o r a c l e 、s y b a s e 、i n f o p n i x 、 m ss q ls e r v e r 等基础上,利用原南韵安全特性,将多级安全、数据加密等的设计和实现 技术引入管理信息系统的开发中,开发出专用的多级安全加密应用系统。在这方面进行的 研究与应用主要以国防科技大学的“y i i o a ”与华中理工大学计算机系开发的基于o r a c l e 7 的多级安全加密管理信息系统为代表。华中理工大学研制的基于o r a c e 7 的多级安全加 密管理信息系统针对军事部门的安全要求,综合考虑了系统的实用性、安全陛,实现了一 个外包式的多级安全加密管理信息系统,整个系统主要由安全控制子系统、加密子系统、 西商交通大学碗i ? 研究生学位论业第4 血 文电处理子系统、审计子系- i l 成。也有一些对数据库的安全访问代理的研究,提出了一 些数据库安全访问代理的模型,有一些实现,但是这些研究和应用有待进一步深化和j 还需 要从其它方面来考虑和研究。 在相当一段时间内,我l 虱现有商用数据库系统的使用现状难以改变,且国内对这些数 据库系统的安全性研究远远不够,加强对现有商用数据库的研究十分追切和必要。 1 3 需要解决的问题及本文所做的工作 1 3 1 需要解决的问题 近几年来人们逐渐认谚毪0 仅仅靠数据加密技术保护信息是不够的,必须从系统方面 加强信息的安全性,“系统安全是基础,密码技术是核心”的观点已为越来越多的人们认 同”。同时,网络数据库的安全绝不能只从数据库系统本身的安全来考量,其还涉及计算 机硬件系统安全、操作系统安全、网络传输安全、应用编程安全、使用人员安全等,是一 个多方因素的有机综合体。目前,需要解决的问题很多: l 、安全机制。无论如何计算机系统的安全性部不是绝对的,可攻击的漏洞和缺陷 总是可能存在,必须研究安全机制,从机制上规范和保证数据库的安全,将不安全因素约 束和刚氐至最小。国内在研究安全漏洞方面有较多成果,在机伟嘶究和应用上还不够。 2 、计算机硬件的安全。计算机硬件的安全性是数据存储的安全性的首要保证。我们 这里不仅仅指计算机硬件会出现一般故障,而是觋在我国主要使用发达国家的芯片,按照 发达国家的现有技术,完全可以在芯片中置入信息监控和后门程序,这样的先例早就有过, 必须大力发展国产的硬件技术。如果硬件中置入了后门或者能接受破坏指令的固件无论 软件系统多么安全,都说不上整个系统是安全的。在我国以“龙芯”等为代表的自主芯片 ( 主要是c p u ) 技术已经取得可喜的成就,但是在兼容性等很多方面需要继续努力。 3 、操作系统的安全性。操作系统的安全性也是数据存储的安全性的保证之一。任何 计算机软件系统都是基于操作系统之上的,数据库系统当然也不例外,虽然目前有些数据 库系统和防病毒软件采取有部分自己的微型操作系统,但是其并不能控制更不能取代计算 机原来安装的操作系统。目前我国个 计算机主要使用w i n d o w s 操作系统,大型服务器主 要使用u n i x l i n u x 操作系统研究和提高现有操作系统的安全性十分必要,而开发自主 的操作系统是根本途径。我国的u n i x l i n u x 研究和产品化也取得了较大成就并获得比较 广泛的应用,在安装使用的方便性、路由器等的专用操作系统方面和l i n u x 应用软件的丰 富性等方面还有较长的路。 4 、数据库系统本身的安全性。目前我国广泛使用的数据库系统均是国外产品,其核 心技术保密,安全等级最多只达到了c :级,国外的高安全等级安全产品对我国禁运。开发 国产安全数据库任务艰巨,这和操作系统密不可分。在使用国外数据库产品的同时必须加 大对提高其安全性的方法和途径自q 研究。 5 、网络传输的安全性。网络传输安全的重要性不言而喻。目前,数据库和网络已经 两南交通大学硕研究生学位论文第5 妪 密不可分,数据库是网络的数据库,网络是数据库的9 可络,大量信息通过和必须通过网络 传送已经成为事实。网络的普及带来信息革命的i 铷寸带来了安全性挑战,网络攻击成为一 直困扰数据安全的主因。对网络传输的安全陛的研究必须常抓彳i 懈。 6 、其它软件系统的安全性。随着计算机硬件性能的越来越高,计算机应用软件系统 的功能也越来越强大,代码量越来越庞大,与操作系统的结合也有越来越紧密的趋势,甚 趸很多应用软件具有了部分操作系统的功能,在这些由掌握有核心技术的编程专家编制的 应用鞔件系统中隐藏一些特殊功能根本就刁i 是难事。很多应用软件系统都达到了难于研究 其安全| 生的程度。大力丌发自主软件系统十分必要。对于数据库系统来说应该尽量禁止其 它程序调用操作系统功能访阃数据库系统的数据文件。 7 、数据库应用编程的安全性。即使数据库系统等是安全的,但如果应用编程不考虑 安全性,攻击者就可以通过“合法的”途径,通过正常使用s q l 语句进入数据库系统,进 而对数据库甚至操作系统进行操作。 8 、密码系统的安全性。最古老也是最有效的保密方法仍然是对数据的存储和传输进 行加密。密码系统的强度和性能都相当关键,很明显,技术总在不断更新,对密码系统的 研究绝不能放松,加解密标准无论如何应该使用本国标准和产品。 1 3 2 本文所做的工作 l 、提出了一卟安全机制和安全防护框架,从几个方面来约束对数据库的操作、限制 非法操作,实现本机制后就能极大地提高网络数据库的安全陛。 2 、实现了在w i n d o w s 操作系统中使用驱动程序对数据库文件的所有操作监控和过滤, 可以通过应用程序向驱动程序设置规则、指定监控对象、 旨定允许对监控对缘进行操作的 进程和操作的权限级别。 3 、实现了在n d i s ( n e t w o r kd r i v e ri n t e r f a c es p e c i f i c a t i o n ,即网络驱动程序接 口规范) 中间层对数据库端口传输的往来数据进行监控和过滤,并在n d i s 中间层针对数 据库端口进行加解密,根据不同的数据库,可以由应用程序在驱动中设嚣对应的数据库端 口号,选择监控和过滤方向,设置i p 过滤范围,和设置要过滤的特定的包内容。浚程序 也属二f 驱动程序,也运行在r i n g o 特权级,减少了网络旁路的可能性,提高了数据传输的 安全陛。 4 、总结了数据库应用编程必须注意的安全性相关事项和常见的几种利用数据库应用 编程缺陷的攻击和防护:介绍了核心编程和软驱动的基础知识:给出了w i n d o w s 操作系统, 懈s 札s e r v e r 数据库系统和网络系统的一些安全设置方法;还介绍了国内外安全等级评 价标准及国内外主要商用数据库的安全等级。 1 4 网络数据库的安全机制和安全防护框架 要想保证数据库系统的安全,仅仅靠即时堵住安全漏洞是不够的,因为安全漏洞总 砥南交通人学硬:1 : i f 究生学位论文第6 负 在不断被发现,必须有完善的安全防护机制,只有从机制上保证各方面的安全,才能确保 数据库系统的安全。当然任何系统的安全性都是相对的,没有绝对的安全,但我们的目的 是让其在现有技术下达到最高的安全性。 要使数据库系统具有高安全性从总体上来说可以从两个方面来保证:数据存储和数 据传输,然后我们沿着这两个方面逐级细化。主要是数据存储,我们将数据的读写操作归 于数据存储的范畴。 l i4 1 基于自主软硬件系统的高安全性构架 一些部门的信息需要绝对的机密,要达到最高安全要求,必须使用自主丌发的硬件 系统、操作系统、数据库系统和应用软件系统,必须使用专用的与公用网络断开的网络设 备系统,必须使用高强度的加密,使用多级安全机制,明确划分操作权限等,我们用阁卜l 来描述。 图1 一i 基于自主软硬件系统的安全构架图 1 4 2 基于国外商用软硬件系统的安全构架 对于目前在非要害部门使用的国外商用软硬件系统,这里我们暂不研究其系统本身 的安全性,而是从找到一种有效提高数据库系统的安全性的机制出发,揖们这里主要研究 西南交通大学顾1 :研究生学位论文第7 弛 软件部分。对数据安全来说,大的方面我们划分为数据存储和数据传输。数据存储包含对 数据的读写等内容,但归根结底都是对文件的操作,因为数据主要是以文件形式被保存和 读写的( 内存和高速缓冲中数据安全也是很重要的环,但本文不讨论) 。我们将从3 个 方面来提高数据库系统的安全性:操作系统、数据库系统和网络传输。 首先我们从操作系统出发,在进行了币确的安全没置、明确了操作系统用户权限后, 使用文件驱动程序对文件操作进行过滤,即对数据库库文件、同志文件、各盼文件等的操 作权限限定为数据库进程和指定进程爿能操作。“,其余进程来进行的操作将失败( 如 图1 2 ) 。因为所有文件操作都将经过操作系统来完成,所以能够监视和过滤所有操作。到 了这个时 睫,数据库系统的安全f 生就取决于操作系统本身、数据库系统本身和网络传输的 安全性了,这样做的目的使排除了操作系统和数据库系统之外的软件的不安全因素。经过 过滤后,剩余对数据库相关3 c f 牛- 的接触进程就如图l 一3 所示,操作系统中的s y s t e m 进程 也应该被过滤以防止被其 箍弦赫 絮磊霪一 图卜2 进程过滤示意图图卜3 过虑后数据文件的接触者 它程序调用,但由于文件驱动程序依赖于操作系统,文件驱动可能不能过滤操作系统中隐 藏的后门( 比如可能不显示任何关于隐藏的进程的任俺信息,隐藏进程可直接操作文件和 进行网络传输,甚至可以壹接使用网卡驱动将信息直接注入网络等) 。对于商甩操作系统 如w i n d o w s ,中低安全性要求的用户可以不考虑操作系统本身的后门,即时升级打补丁即 可,但需要检测其它应用程序带来的后门和病毒;对较高要求的单位,还需要对操作系统 本身可能存在后门进行检测,可以在网络传输中进行检测。在操作系统中对保密要求高的 数据文件进行加解密也可以从一定程度上提高数据安全性,但是最好使用数据库系统提供 的数据文件加密功能,在w jn d o w s 2 0 0 0 及以后版本中虽然提供有对文件和文件夹的加密功 能,其使用快速对称加密算法,但是该功能仅仅对n t f s 格式的磁盘系统有效,如果将加 密文件复制到f a t 3 2 等磁盘格式下后加密自动失效。本文对在w i n d o w s 核心态下过滤文 件操作请求进行了实现。 对于存储安全,由于过滤后只有数据库进程才能操作数据库文件,所阻所有的读写 操作实际上都要通过d b m s 来请求操作系统进行,整个系统的数据存储安全就转化为数据 库系统的安全性能。数据库系统方面的安全陛仍然涉及很多内容,我们这里只讨论总体的 g t 带, j ,不详细逐一讨论,由于一般的商用数据库系统的性能和安全胜由该数据库系统决定, 我们主要讨论提高安全性的附加方法。同操作系统一样,数据库系统中,中低安全性要求 酌用户可以不考虑数据库系统本身的后门和漏洞,即时升级打补丁、提高使用方面的安全 性如安全配置和应用编程等即可,但需要检测其它应用程序带来的后门和病毒;对较高要 器 西南交通大学碗。l 研究生学位论殳第8 负 求的单位还需要对数据库系统本身可能存在后门进行检测,可以在操作系统和网络传输 中进行检测。在数据库系统中对保密要求高的数据字段进行加解密也可以从一一定程度上提 高数据安全性。本文第6 章对数据库应用编程的安全胜进行了介绍。 最后我们必须考虑的重点当然是网络传输安全。信息存储的目的是方便查询,当然 这种查询不再是通过人员跑动或者机器搬动来进行,计算机存储的信息的交流大多都是通 过网络传输进行的,这是信息社会的基础。由于英特网连通全球,已经超出了一般个人和 单位的可控制范围,我们应该保证传输数据的安全| 生。如果说操作系统和数据库系统留有 后门的话,在这罩进行检测比较险当。网络的不安全因素可以分为窃听和攻击两个方面, 女a 者以获取信息为目的并力图不引起被窃听者的注意,后者以破坏用户信息或服务为目 的,前者往往更可怕。网络传输安全采用的技术有防火墙、网络代理、数据加密等。本文 对使用n d i s 中间层驱动过滤网络数据包进行了实现,并能对传输数据进行加解密。 综合起来我们可以用图1 4 来示意。 图1 4 基于国外商片j 系统的网络数据庠安全构架图 两南交通大学硕十研究生学位论文鳙9 页 第2 章软驱动程序编程简介 本章内容为方便对驱动编程不熟悉的人员阅读本论文和便于介绍后续内容而做介 绍,其内容可以从其它书籍和资料中总结得到,熟悉的可以不阅读,本章内容只作简单介 绍,需要深入的可以参阅参考文献中的书籍文献 2 0 - - 2 2 、 3 0 、 4 7 - - 4 9 、 5 8 2 等。 2 1 驱动程序栩述 驱动程序分为软件驱动程序( 习惯称为软驱动) 和硬件驱动程序两种,硬件驱动程 序属于最底层,直接对硬件提供支持,软件驱动程序位于硬件直接驱动程序之上,可以看 作是一系列函数的集合,这些函数通过与硬件驱动程序的接口能够对硬件进行操作,通过 与应用程序的接口与应用程序相互通信。本文只讨论w i n d o w s 操作系统的软驱动。本文在 两个地方使用了软驱动程序编程:对数据库文件的各种操作的监控和过滤,在n d i s 中间 层对网络包的过滤。由于驱动程序编程属于系统核心编程,其编写和调试都与一般应用程 序编程有较大区别,其代码质量要求高,编程难度较大,且由于目前进行这方面研究和应 用的人员不多,为了方便不熟悉驱动软编程的人员阅读和便于介绍后续内容,有必要对软 驱动编程进行简要介绍。 驱动程序在任何操作系统下都和系统内核有着密切的关系,尤其在w i n 2 0 0 0 及其以后。 在介绍驱动程序之前,先介绍一下与操作系统密切相关的硬件特权级。w i n d o w s 系统中硬 件特权级分为r i n g o 级和r i n g3 级。 用户的程序在操作系统的用户模式服务程序中运行,运行在最低级r i n g3 级,不能 真接操作硬件,硬件i o 指令必须通过请求操作系统内核来完成。在用户模式中的代码被 严格约束在对系统没有损害的范围内。例如:通过虚拟内存映像,一个程序不能访问其 它栩芋的内存区( 两个程序共同定义的公用内存区除外) 。所以,应用程序错误般不能对 操作系统软件和其它软件构成威胁。 操作系统内核程序运行在内核模式下,运行在最高特权级r i n 9 0 级,它可以执行所有 有效的c 雕指令,包括所有i o 操作,可访问任何程序的内存区。驱动程序是运行在内核 模式下,所以也是运行在r i n 9 0 级最高特权级。我们的不正确的代码将危及到操作系统的 安全,所以对代码的要求很高,特别要注意释放请求的资源和处理内存操作的边界( 原则 上还必须使用不分页的内存) ,以确保它们不会损坏整个操作系统。 软驱动在r i n 9 0 级中的c p u 中断优先级又有3 级,如图表2 1 中软件部分所示。 两南交通大学顿士研究生学位论殳第1 0 页 表2 1w i n 2 0 0 0 的中蝓青求优先级( i 隅i l ) 中断来源l r q l 名字意义 h i c i e s t l e v e l硬件检查和总线错误 p o w e rl e v e l电源失效中断 i p il e v e l 多处理器系统的处理器门铃 硬件 c l o c k 2l e v e l时钟2 中断 c l o c k l 一l e v e l 时钟1 中断 p r o f i l e _ l d l轮廓文件定时器 d i r q l si t 0 设备中断的平台相关的级数 d i s p 狐c hl e v e l线程调度器和延迟调用执行 软件 a f l e v e l异步调用执行 p a s s i v el e v e l正常线程执行 2 1 ,2i o 请求数据包 对于w i n d o w s 操作系统,我们比较熟悉的是消息,常常听说w i n d o w s 系统是消息驱动 的,这样的说法是不准确的,该说法的自i 提是主要对应甩程序来说的,消息是基:于窗口的, 窗口属于非核心态的范畴。对驱动程序_ 柬浼,在w i n 2 0 0 0 及以后的w i n d o w s 版本下,几乎 所有的i o 都是包驱动的,系统为每个工作命令产生一个单独的i 0 擞作,这个命令告诉 驱动程序需要做什么,并目通过i o 子系统跟踪请求的进展,这些命令被封装成为 r p 包 的形式。当每个用户程序请求i 0 操作的时候,u o 从未分页的系统存储器星分配一个i r p 。 i r p 的内容包含了用户请求的文件旬柄和i o 函数,i o 管理器传递这个i r p 到合适的驱 动程序的派遣例程。派遣例程确认i 0 请求的参数,如果参数是有效的,通过i o 管理器 传递i r p 到驱动程序的s t a r ti o 例程。s t a r ti 0 例程使用i r p 的内容去初始化设备的 操作。当操作完成,驱动j 鏊j 芋的d p c f o r l s r 例程将最后的操作状态标记存储到i r p ,然后 返回i r p 到i 0 管理器。i o 管理器使用i r p 中的信息去完成请求,并且发送操作的状态 信息给用户程序。i r p 是一个尺寸可变的结构,它由i r p 头和i o 堆栈两个部分蛐茂。下 面就i r p 头和i 0 堆栈及操作函数做一简介: 2 1 2 1i r p 头 i a + 区域包含各种i o 请求的信息,有些信息可以直接访问驱动程序,其它部分则是 i o 管理器独有的性质。编写驱动程序必须理解这些基本的信息,它们被经常使用到。表 2 2 列出了i r p 头中允许驰引j 程序访问的部分。 表2 2i r p 头中外部可见的部分 l外部可见部分解释 l l 1 0s t a t u sb l f e - kl o s t a t u s 包含i 0 请求鲫状态 i p v o i da s s o c i a t e d l r p s y s t e r r t u f f e r 如果执行缓冲区i o ,这个指针指向系统i 耍堕壅望奎羔曼主竺塑竺兰垡堡苎笙! ! 堕 缓冲区 如粜直接i o ,这个指针指向_ i 户缓冲区 m lm d l a d d r e s s 的存储器描述符表 p v o i du s e r b u f f e r i o 缓冲区的用户空间地址 b o o l e a nc a n c e l 说明i r p 是否被取消 2 1 2 2i o 堆栈 i o 堆栈的主要目的是存储t o 请求的函数代码和参数,通过检查r o 堆栈的 m a j o r f u n c ti o n 部分,驱动程序可以知道需要执行 么操作和怎样解释p a r a m e t e r s 联合, 衰2 3 列出了i 0 堆栈的部分内容。编写过滤驱动必须明白其含义和一些具体定义,其 定义一般在d d k 中的n t d d k h 等头文件中。 表2 3i 0 堆栈的部分内容 部分解释 u c h a rm a j o r f u n c t l o n i r p _ m j _ x x x 函数表示要进行什么样的操作 l x = h a rm i n o r f u n c t i o i l 文件系统和s c s i 驱功程j 孚使用这个参数 f u n j o nf h r 捌f l e t e r s j o r f 锄c t j 函数代码的联合奖型 i r p i j _ r e a d 的参数 s t r u c tr e a du l c n 3l e n g t h u l o n gk e y l a r g e i n t e g e rb y t e o f f s e t i r p 一埘一棵i t e 的参数 s t r l i c t 阶i t et l o n 【gl e n g t h u l o n gk e y l a r g e _ i n t e c , e rb y t e o f f s e t i r p j j _ i 】e v i c e _ c d n t r o l 和 豫已m l i n l e 硪a l i ) e v i c x _ c o n t r o l 的垂 数 l f l i ) k go u t p u t b u f f e r g e n g t h s t i u c td e v i c e i o c o n t r o u l o n gt n p u t b u f f e r l e n g t h u u 硎gi o c o n t r o l c o d e p v o i dt y p e 3 i n p u t b u f f e r 驱动程序可以使用 s t r u c to t h e r s p v o i da r g u m e n t l a r g t m e n t 4 p d e v c e _ o b 3 f t 这个i o 请求的目标设备 d e v i c e o hj e e t p f i l e - o r j b 口f i l e o b j e c t这个i o 请求的文件对象,如果肯的话 2 i 2 3 、操作i r p 我们说驱动程序本身也主要是由一些函数构成,所以我们必须清楚一些十分重要函 西南交通大学倾 研究生学位论文 数。一些i r p 访问函数在i r p 头,其它的是处理特殊的i r p 堆栈函数。下面介绍。r 访问 整个i r p 包的函数和访问i r p 堆栈的函数: 1 、访问整个i r p 包的醯数 i f o 管理器提供多个处理i r p 的函数,表2 4 列出了常用的一些i r p 的函数。 表2 4 处理整个i r p 的函数 函数描述涧用者 i 【) s t a r t p a c k e t 发送i r p 到s t a r ti o 例程d i s p a t c h o c o m p 】e t e r e q u e s t 表示所有的处理完成d p c f o r i s r i o s t a r t n e x t p a c k e t发送r 一个i r p 到s t a r ti o 例程d d c f o r i s r i o c a l1 d ri v e t 发送i r p 给另一个驱动程序d i s p a t c h l o a l l o c a t e i r p请求另外的i r pd i s p a t c h i o f r e e i r p释放驱动程序分配的i r p i oc o m p l e t i o n

温馨提示

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

评论

0/150

提交评论