




已阅读5页,还剩57页未读, 继续免费阅读
(计算机应用技术专业论文)windows环境下文件防扩散系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 随着计算机和通信技术的发展,企业信息安全问题受到越来越多的关注。企业除了 要抵御来自外界攻击和破坏,同时还要防止来自内部的有意或无意的泄密。仅依靠完善 管理制度很难从根本上杜绝泄密事件的发生,因此必须从技术上为企业内部重要文档提 供安全保障。 文件防扩散系统应运而生,能有效保障企业内部电子文件的安全性。本文在详尽的 需求分析基础上,通过对w i n d o w s 系统下文件向外扩散方式的探讨,给出了w i n d o w s 系统下文件防扩散系统( f n s ) 的设计和实现。该系统包含控制台端和受控端软件,管理 者可通过控制台对企业内所有受控的机器进行统一管理。在装有f n s 系统的企业内部 环境下,文件可自由流通,用户操作不受任何干扰。面当文件由企业内部机器向外传输 时,系统将截获传输中的文件并对其加密后再向外发送,从而保障了文件一旦离开企业, 仅以密文的形式存在,窃取者无法得到所需的明文数据。 系统综合运用a p ih o o k 、网络通信、数据加密和多线程程序设计技术实现了相关功 能。通过文件过滤器驱动对u s b 接口数据进行加密保障了u s b 接口数据的安全性。f n s 实现了加密算法的动态更新,使系统具有更好的可扩展性。运用基于u d p 的s o c k e t 广 播式通信技术实现加密算法的升级,传输过程稳定可靠,网络负载小。论文还详细阐述 了系统开机自运行、受控端隐藏、防杀自保护等功能的实现。 最后,在实验室搭建系统运行环境,对文件防扩散系统进行功能和性能上的测试。 结果表明,f n s 具有良好的工作性能,能够对企业内部数据提供安全保障。 关键词:文件过滤驱动; pif 1 0 0 9 ;套接字通信;系统调用截获 大连理工大学硕士学位论文 t h e d e s i g na n di m p l e m e n to f f i l en o n p r o l i f e r a t i o ns y s t e mi nw i n d o w s e n v i r o n m e n t a b s t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rs c i e n c ea n dc o m m u n i c a t i o nt e c h n o l o g y ,p e o p l ep a y m o r ea t t e n t i o nt ot h ee n t e r p r i s e si n f o r m a t i o ns e e u r i t ) r t h ee n t e r p r i s e so f t e nr e s i s tt h ea r a c k s n o to n l yf r o mt h eo u t s i d e s ,b u ta l s of r o mt h ee n t e r p r i s ei n s i d e i t sd i f f i c u l tt op r e v e n t i n f o r m a t i o nf r o ml e a k i n go n l yd e p e n d0 1 1e o m u m m a t i n gm a n a g e m e n tm e c h a n i s m t h e r e f o r e , w em u s tp r o t e c tt h ei m p o r t a n ti n f o r m a t i o ni n s i d et e c h n i c a l l y f i l en o n p r o l i f e r a t i o ns y s t e me m e r g e sa st h et i m e sr e q u i r e i te a r lc 1 1 s l u gt h es e c u r i t yo f e l e c t r o n i c 丘l ei n s i d et h ee n t e r p r i s ee f f e c t i v e l y a f t e re l a b o r a t er e q u i r e m e n ta n a l y s i sa n da d i s c u s s i o na b o u tt h ew a yi nw h i c hi n f o r m a t i o nd i f f u s e s ,t h i sp a p e rp u t sf o r w a r dt h ed e s i g n a n di m p l e m e n to ft h ef i l en o n p r o l i f e r a t i o ns y s t e m ( s h o af o rr - w s ) u n d e rw i n d o w s 黜 s y s t e mi n c l u d e sac o n t r o l l e ra n du n d e r - c o n t r o lt e r m i n a l s u s i n gt h ec o n t r o l l e rp l a t f o r m , m a n a g e r sc o u l dk e e da l lt h eu n d e r - c o n 仃o lc o m p u t e r si n s i d et h ec o m p a n ya tt h ew h e e l i nt h e e n v k o m e n te q u i p p e dw i t hf n ss y s t e m ,嘲c o u l di r a n s f e rf i l e sf r e e l yw i t h o u ta n y i n t e r f e r e n c e w h e ni tc o m e st ot r a n s f e r r i n gf i l e sf r o mt h ei n s i d et ot h eo u t s i d e ,t h es y s t e m w o u l di n t e r c e p ta n dc a p t u r et h ef i l ew h i c hi si nt h ep r o c e s so f 也a n s f e r r i n ga n dt h e ns e n di t a f t e re n c r y p t i o mu s i n gt h i sw a y ,t h ef i l ee x i s t si nap a t t e r no f c r y p t o g r a p hs ot h a ta n y o n ew h o w i l ls t e a lt h i sf i l ec a nn o tg e tt h ep l a i n t e x to u t s i d et h ec o m p a n y m a k i n gg o o du s eo f t h ek n o w l e d g ea n ds k i l l so fa p ih o o k , n e t w o r kc o m m u n i c a t i o n , d d aa n dm n l t i t h r e a d i n gp r o g r a m , t h es y s t e mr e a l i z et h ec o r r e s p o n d i n gf u n c t i o n a lm o d u l e s b y 戚n gf i l es y s t e mf i l t e rd r i v e rt oc a p t u r et h ed a t at h r o u g hu s bi n t e r f a c e ,w ec o u l dp r o t e c t t h ef i l e sm m s f e r r e d i na d d i t i o n , f n sa c c o m p l i s h e st h ed y n a m i cu p d a t eo fd d at oe n s u r et h e s y s t e m se x p a n s i b i l i t y w i t ht h et e c h n o l o g yo fs o c k e tb r o a d c a s t i n gc o m m u n i c a t i o nb a s e d - o n u d p ,i tc o u l dr e d u c et h en e t w o r k1 0 a da n dm a k et h et r a n s f e rm o r es t a b l e ,r e l i 曲l e 啦sp 印e r a l s oe x p a t i a t e so nt h er e a l i z a t i o no fs o m ef u n c t i o n ss u c ha sa u t o m a t i c - s t a r tw h e nb o o 屯t h e h i d d e no f u n d e r - c o n t r o lt e r m i n a l sa n dg u a r da g a i n s tf r o mb e i n gk i l l e d a tl a s t , w es o tu pa l le n v i r o n m e n ti nt h el a ba n dh a v eaf u n c t i o n a lt e s to ft h ef n s 1 1 l e e x p e r i m e n t a lr e s u l ts h o w st h a tf n s h a sg o o dp e r f o r m a n c ea n di tc o u l dp r o v i d et h es e c u r i t yo f d a t ai n s i d et h ec o m p a n y k e yw o r d s :f i l es y s t e mf i l t e rd r i v e r ;a p ih o o k ;s o c k e tc o m m u n i c a t i o n ;s y s t e mc a l l i n t e r c e p t i i i - 独创性说明 作者郑重声明:本硕士学位论文是我个人在导师指导下进行的研究工 作及取得研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写的研究成果,也不包含为获得大连理 工大学或者其他单位的学位或证书所使用过的材料。与我一同工作的同志 对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。 作者签名: 。触 日期: 2 o i ) 6 ,f ) 、2 , o 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连理工大学硕士、博士学位论文版权使用 规定”,同意大连理工大学保留并向国家有关部门或机构送交学位论文的复印件和电子 版,允许论文被查阅和借阅。本人授权大连理工大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,也可采用影印、缩印或扫描等复制手段保存和汇编学位论 文。 作者签名:粉 导师签名:殓壑墨 r 兰竺i 年竺月_ 三竺日 大连理工大学硕士学位论文 1 绪论 信息时代,企业的正常运作离不开信息资源的支持,如企业的经营计划、知识产权、 客户资源以及各种重要数据等。这些核心的机密数据以电子化形式存储在电脑上,一方 面方便了企业员工对信息的获取、共享和传播,但同时也增加了重要信息泄密的风险。 在信息就是生产力的大竞争环境中,重要电子文档关系着企业的生存与发展,企业的重 要信息一旦被泄露会使企业顿失市场竞争优势,甚至会遭受灭项之灾,因此它们的流失 将会给企业造成无法估计的损失。 美国c s f f b i 连续五年的计算机犯罪与安全调查报告中指出,有超过8 5 的安 全威胁来自组织内部,有1 6 来自内部未授权的存取,各种安全漏洞造成的损失中, 3 0 - 4 0 是由电子文件的泄露造成的,而在f o r t u n e 排名前1 0 0 0 家的公司中,每次电 子文件泄露所造成的损失平均是5 0 万美元。对中国5 0 0 家大型企业作的调查发现国内 的企业对电子文档几乎没有任何防护措施,有保护措施的企业不到3 ,一些机密性的 材料,电子文档轻易的就可以通过电子邮件和移动硬盘泄密到网络外部。如中国千年绝 活“景泰蓝”制瓷技术、“纸中之王”中国宣纸等技术被窃,为企业带来了难以估量的 损失。相反,由于对代号7 x 的可口可乐配方采取了严密的保护措施,可口可乐公司赢 得了超过8 0 0 亿美元无形资产。由此可见,企业要保持健康可持续性发展,信息安全是 基本的保证之一。 很多机构的信息安全保护措施都“防外不防内”,很多公司赖以保障其安全的防火 墙对内部人员的攻击毫无用处。而这种内部攻击中就包括了用户无意的安全威胁。 防火墙或专网,可以防止外部人员非法访问,但不能防止内部人员通过m a i l 或者u 盘将一些敏感文件发送给其他人。通过这种二次传播造成的信息扩散才是电子文档泄密 的主要途径。如何有效地利用计算机文档管理带来的便捷,同时又防止核心机密被恶意 外泄,是企业越来越关注的研究课题。 1 1 课题背景 近年来,企业对于安全的认知程度已经发生了巨大的变化,据中国电子信息产业发 展研究院预测,中国目前有1 4 0 0 万家中小企业,有信息安全需求的占到4 0 5 0 。同 时i d c 的调查也显示出,4 3 的中小企业担心信息安全问题【l 】,名列它们最关心的网络 问题第一位。 据国外信息安全权威专业机构调查统计,泄密的主要途径主要有三种:电子邮件泄 密、移动存储泄密、打印泄密。其中发生概率较多的是移动存储泄密和电子邮件泄密。 w m d o w s 环境下文件防扩散系统的设计与实现 军工产业作为高技术产业群,是我国参与未来国际竞争的重要骨干力量,国家对军 工高科技和产业发展高度重视,寄予厚望。而这一切都离不开先进设计制造技术的支撑。 随着信息技术和计算机网络技术的发展,军工产品的异地协同设计制造渐成趋势。协同 的含义是指“为帮助多人完成同一确定任务而进行协同工作与有效通信”。协同设计 制造,就是一个团队为了共同完成设计任务而进行配合、沟通和协作,并利用网络解决 设计与制造部门的异地协同工作。设计产品通过网络在需要的时间、以需要的方式,跨 部门和跨地域地传递到需要的地点,供需要的人使用。异地协同设计,制造能够充分发挥 集体智慧,提高工作效率,节省开发时间,高效的完成大工作量和高复杂性的产品设计 与制造工作,提高设计工作的效率和质量。然而,通过安全、有效的通信手段传输信息 为企业面临的一个十分重要问题【2 】。设计成果一旦被窃取或破坏,将对国家造成不可估 计的影响和损失。 在协同设计倩4 造系统中,大量的数据是在专用军网上传输,通过设置管理权限、身 份验证、数字签名、密码与口令等安全保密技术,可以有效的防止来自系统外部的入侵, 但是目前存在专网内部电子文件数据被非法复制窃取或“监守自盗”的安全问题。 本课题正是基于这样的背景,对航天部某研究所的军工产品异地协同设计$ u 造过程 中使用的电子文件实施全面的安全防护,在不影响设计制造人员工作的前提下,提供高 度安全的协同设计,制造环境。因此项目针对异地协同设计制造过程中可能出现的内部 安全隐患开展研究,力求从技术角度出发彻底消除内部电子文件泄密的可能性。 除此之外,目前越来越多的企业已经走出重管理轻安全的“盲区”,从“被动式接 受”转变为“主动防范”,信息安全建设成了企业首要任务。一些中小企业也纷纷加入 到这个日益庞大的队伍中来。可以预见的是,信息安全将会被越来越多的企业所重视, 成为企业生存与发展的必修课之一。文件防扩散系统能有效保障内部电子文件的安全 性,在政府军队、制造业、金融机构、知识型企业等都有着广泛应用前景。 1 2 文件防扩散系统的研究现状 为保障敏感信息的安全性,企业采取了一定的措施。但仅仅通过完善文档、源程序、 设计资料等的保密制度,利用法律、法规保护自己的知识产权还是不够的,一定要寻找 技术的手段从根本上防止泄密事件的发生。很多涉密企业采用的方法是将员工使用的涉 密电脑的网络隔离、拆除所有软盘、光盘驱动器,有些甚至连u s b 端口同时封死。这 些办法能够起到一些作用,防止员工拷贝机密文档,然而这种安全保障是在牺牲设备提 供给用户应用便利性的基础之上的。“因噎废食”,并不是最终的解决办法。 大连理工大学硕士学位论文 文件防扩散系统应运而生。它能在不影响用户正常操作本地文件的前提下,最大限 度的为用户提供信息安全保障。系统采用权限管理、文档管理、系统操作日志管理和文 档加密等计算机管理手段,有效地对计算机文档进行集中管理。 近年来,随着互联网的迅猛发展和广泛应用,其带来的种种问题也在不断增多,病 毒泛滥、黑客攻击频繁、侵犯隐私、网络恐怖活动等等。在这种情形下,对敏感电子文 件的保护,各国政府和企业纷纷采取了相应的举措,如制定各种管理策略,推进行业自 律。更重要的是随着信息化进程的进一步深化,企业信息安全管理软件得到进一步发展。 许多公司不断推出自己的产品,力求对企业内部信息的安全性提供有效的技术保障。 网络与信息安全事故的不断发生,促进了国内产业界和学术界对于我国的信息安全 的重视,逐步由“亡羊补牢”式转化为“主动抵御”式。目前国内已有若干防止电子 文件扩散的安全系统,如北大方正开发的a p a b i ,中软集团开发的中软防水墙等安全产 品。兵器工业集团总公司,自然科学基金委员会,国家工商总局都是用了上述某种产品 加强自己的安全性。然而通过仔细分析,目前的这些软件很难为异地协同设计制造平台 提供合适的安全服务。例如北大方正的a p a b i ,该产品只能保证为其软件设计的以c e b 为扩展名的特殊格式的电子文件,其它类型的文件如果要实现安全保护,必须强制转换 成该格式。而协同设计席0 造过程中使用的文件格式如果改变,则根本无法被设计和制造 软件所使用。而且这类安全软件基本采用了本地文件预先加密的设计方案,软件安装时 即加密计算机磁盘中的全部机密文件,当合法用户要使用文件时,软件要先解密对应文 件,再交付给对应的应用程序。然而,协同设计席0 造软件使用的数据往往非常巨大,这 类文件的解密操作可能要花费很长时间,对于协同设计与制造人员来说过长的等待时间 是无法接受的。 除此之外,目前国内外的数据防扩散软件往往还存在以下问题: ( 1 ) 多数软件在客户端执行,用户容易自行关掉或者暂停防扩散软件。 ( 2 ) 只能在用户态执行文件信息的保护措施,用户可以用其他工具进行数据的拷贝 和向外发送。 ( 3 ) 多数软件采用固定的加密算法,安全性不高。 综上,现有的电子文件防扩散安全产品一般仅支持一种或几种特定格式的文件,基 本用来保护规模较小的文档类电子文件,缺乏对协同设计倩0 造中数据模型类电子文件的 有效保护。现有安全产品的防扩散加密策略也会导致大型数据模型文件无法被应用程序 有效使用。因此,开发一款能有效地对异地协同设计的文件实施有效保护的安全控制软 件有着很重要的现实意义。 w i n d o w s 环境下文件防扩散系统的设计与实现 1 3 本文的研究工作 通过对航天部某研究所的需求进行详细分析,结合现有的电子文档保护技术,设计 与实现了w i n d o w s 系统下文件防扩散系统,有效地防止了企业中的核心数据二次传播。 本系统高效地实现了文件在扩散( c a 本机向外发送) 过程中的自动加密。而与一般文 件防扩散系统不同之处在于,计算机磁盘上存储的文件都是非加密文件。市面上大多文 件防扩散系统实施的举措是对磁盘上所有文件进行加密并且保存,即磁盘上存储的文件 均为加密文件。当用户对本地文件进行操作时,也需要经过文件加密和解密的过程。比 如,当一个用户打开某个文件时,系统要对其进行解密,然后显示在前台,当用户对其 进行修改重新保存时,系统又要对其进行加密保存在磁盘空间内。虽然这些系统大都采 取效率比较高的加密解密方法,然后由于本地操作的频繁大量发生,在一定程度上影响 了用户操作的响应时间。 在本系统中,当合法用户在计算机本地磁盘上对文件进行操作时( 如移动文件) ,由 于不会产生文件扩散的影响,安全系统不会对文件进行任何的加密或修改,这样用户在 本机使用a u t o c a d 等设计与软件时不会受到任何的影响,从而做到丝毫不影响用户的 本地操作速度。当计算机通过移动存储设备或通过电子邮件发送文件时,能够自动对操 作的目标文件加密( 包括对电子邮件内容进行加密) 。如果文件的接受方是协同设计制造 环境中的计算机,即装有同样的文件防扩散系统,则文件在接收过程中被自动解密,用 户可正常使用该文件或者正常查看电子邮件内容。 加密解密过程是在后台自动强制执行的,操作人员毫无察觉,并不影响应用程序的 正常运行及文件的正常使用,并有效地确保了机密电子文件只要离开合法的工作环境就 无法正常使用。文件一旦被非法转移到非本企业的电脑上自动损毁,从而将企业中的一 些核心数据牢牢限定在了本企业内部环境中,有效的保证了企业中一些核心数据的安全 性。 本文详细阐述了w i n d o w s 系统下文件防扩散系统的整体设计与部分实现。实现部 分包括两个方面:u s b 接口数据的防扩散和程序的隐藏与防杀。通过分析w i n d o w s 系 统下u s b 接口数据的读写过程,在文件驱动上加一层针对u s b 设备的文件过滤驱动, 截获对u s b 存储设备的读写操作,把加密解密过程嵌入对u s b 数据的读写过程,在不 影响上层应用程序的基础上,实现对通过u s b 接口输入和输出的数据的加密和解密。 由于系统具有开机自动运行且限制用户强制退出或结束的特性,因此需要采用程序( 进 程) 的隐藏与防杀技术,以保障用户不能随意将其结束或删除。值得一提的是,对于加 密算法,企业可以根据自身的需要,选择适当的加密算法,采用可装载模块的方式动态 加载,方便用户对算法的控制,具有一定的安全性和灵活性 大连理工大学硕士学位论文 1 4 论文内容组织 本文来源于航天部某研究所的具体项目,论文内容按照项目的设计、技术路线选择、 功能设计和实现顺序进行组织。首先介绍了课题背景和文件防扩散系统的研究现状。其 次,对系统设计与实现中用到的重要技术和相关知识进行了介绍,包括:动态链接库、 m e s s a g eh o o k 、a p ih o o k 、密码学基础知识和程序隐藏与防杀技术等。通过对企业需求 进行分析,提出w i n d o w s 下文件防扩散系统的整体设计和主要功能模块的设计。本人 的主要工作是参与u s b 接口数据安全控制透明加密解密的实现及系统运行过程中 程序隐藏和防杀的实现。通过分析w i n d o w s 系统下u s b 接口数据的读写过程,通过运 用文件过滤驱动,截获对u s b 存储设备的读写操作从而对传输的数据进行加密解密操 作,实现u s b 数据的自动安全控制并针对系统特性,给出程序隐藏和防杀的实现细 节和关键性问题的分析。文中还给出这两个模块的性能测试和效率测试部分,介绍系统 的测试应用情况。最后,对w i n d o w s 下文件防扩散系统的研究和开发进行了总结并对 后续的开发工作做了展望。 w i n d o w s 环境下文件防扩散系统的设计与实现 2 相关知识介绍 2 1w i n d o w s 驱动简介 2 1 1w i n d o w s 设备驱动 设备驱动程序是连接应用程序、硬件以及操作系统的桥梁,是硬件设备连接到计算 机系统的软件接口。设备驱动程序将不同设备特性和操作系统高层分隔开,隐藏了硬件 设备内部实现的细节。通常,设备驱动程序与设备种类之间是一一对应的关系,如果系 统配置中同类设备出自不同厂家,则认为这些设备是不同的设备,从而对应于不同的设 备驱动程序【4 】。一个驱动程序可以控制指定种类的多个物理设备。在w i n d o w s 操作系统 中有两种基本的驱动程序,如图2 1 所示。 图2 1w i n 3 2 中驱动程序种类 f i g 2 1d r i v e r i nw i n 3 2 w i n d o w s 操作系统支持两种基本模式的驱动程序类型,即用户模式和内核模式 5 1 。 用户模式驱动程序是按用户模式运行的系统级代码,它们不能直接访问硬件,必须依赖 于内核模式驱动程序内核模式驱动程序则由运行于内核模式的系统级代码组成,是作 为w i n d o w s 操作系统执行体部分来运行,被用来直接控制硬件。 2 1 2 文件系统驱动 文件系统驱动是存储管理子系统的一个组成部分它向用户提供非易失性媒介( 磁 盘、磁带等) 信息的存储、转发。文件驱动和w i n d o w s n t 内存管理器、缓存管理器紧密 集成在一起【6 j 。 一6 - 大连理工大学硕士学位论文 文件系统驱动接受打开、仓4 建、读、写、关闭磁盘上文件的操作请求。这些请求一 般是由用户进程产生通过f o 子系统管理器发送到文件系统中去【”。图2 2 描述了一个 本地文件系统是如何给用户线程提供服务的。当一个用户线程发出一个i o 请求, w i n 3 2 子系统调用相应的服务请求去代表这个请求发出者来请求操作。这时,c p u 转换 成核心模式特权级【8 j 。怕管理器构造一个输入,输出请求包0 or e q u e s tp a c k a g e ) i r p 来描 述这个f o 请求,然后用适当的项来调用文件系统驱动。文件系统驱动完成适当的处理 并向f o 管理器返回处理结果,i o 管理器依次向w i n 3 2 子系统返回结果( 这时由内核模 式切换到用户模式) ,w i n 3 2 子系统最终把结果返回给发出请求的进程【9 】。 图2 2 用户请求处理过程 f i g 2 2d i s p o s ep r o c e s so f u s e r sr e q u e s t s 2 1 3w d m 驱动程序 在w i n d o w s2 0 0 0 n t x p 操作系统下,执行于用户态的应用程序代码不能直接访问 硬件,而是通过调用执行于核心态的设备驱动程序提供的各种服务间接地对硬件资源进 行访问。这一机制在确保了系统的安全、稳定性的同时,也使得编写w i n d o w s 操作系 统下的驱动程序也变得更为复杂。为了方便用户编写驱动程序,微软公司提出了 w i n d o w s 驱动程序模型w d m ( w i n d o w sd r i v e rm o d e l ) 的概念【1 0 1 。 w d m 是m i c r o s o f t 力推的驱动程序模式,它重新定义了驱动程序的分层,以适应即 插即用系统。在这种模型中,驱动程序的层或堆栈一起工作,处理输a 输出请求。 w i n d o w s 环境下文件防扩散系统的设计与实现 w i n d o w s 的i o 子系统是基于对象的,对w d m 而言,最重要的对象是驱动程序对象和 设备对象w i n d o w s 的v o 子系统是一个包驱动系统。在该系统中,每个i o 操作可通 过一个i o 请求f l ( i r p ) 描述。n u , ( v or e q u e s tp a c k e t ) 是驱动程序操作的核心,w i n d o w s 操作系统使用i r p 与内核模式驱动程序通信。驱动程序的工作过程就是对i r p 的处理过 程【1 1 】图2 3 描述了w d m 中驱动程序和设备对象的层次结构和关系。 上层过滤器驱动程序 0 。,矽能驱动程冀,。j 上 l 下层过滤器驱动程序。l 上 总线驱动程序 。 翻 2 2h o o k 专题 l 过滤器设备对象9 i d o t l 功能设备对象f 。 f 过滤器设备对象f i d 。 。一 物理设备对象p 。 7 图2 3w d g 中驱动程序和设备对象的层次关系 f i g 2 3l a y e r so f d r i v e r sa n dd e v i c eo b j e c t si nw d m 2 2 1 消息钩子 ( 1 ) 消息钩子的概述 钩子( h o o k ) ,是w i n d o w s 消息处理机制的一个平台,应用程序可以在上面设置子程 以监视指定窗口的某种消息,而且所监视的窗口可以是其它进程所创建的【1 2 l 。当消息到 达后,在目标窗口处理函数之前处理它。钩子实际上是一个处理消息的程序段,通过系 统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先 捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理( 改变) 该消息, 也可以不作处理而继续传递该消息,还可以强制结束消息的传递。对每种类型的钩子由 系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后, 也就是后加入的钩子先获得控制权。 一8 一 大连理工大学硕士学位论文 钩子是w i n d o w s 系统中非常重要的系统接口,用它可以截获并处理送给其它应用 程序的消息,来完成普通应用程序难以实现的功能,比如截获键盘、鼠标的输入,屏幕 取词,操作行为监视等。可见,利用钩子可以实现许多特殊而有用的功甜“。 佗) 消息钩子的类型 钩子按照作用域可以分为局部钩子和全局钩子【1 4 1 。前者只截获本进程内的消息,应 用程序只需要在进程内提供一个回调函数即可;后者要将回调函数封装到动态链接库 内,封装在动态库中的钩子可以供系统调用,进而钩子被纳入系统的消息传递的链表中。 钩子从功能上可以划分为以下几种类型: 键盘钩子和低级键盘钩子可以监视各种键盘消息。 鼠标钩子和低级鼠标钩子可以监视各种鼠标消息。 外壳钩子可以监视各种s h e l l 事件消息,比如启动和关闭应用程序。 日志钩子可以记录从系统消息队列中取出的各种事件消息。 窗口过程钩子监视所有从系统消息队列发往目标窗口的消息。 w i n d o w s 系统提供了以下1 4 种钩子,各个钩子的具体功能如表2 1 所示。 表2 i 钩子类型及功能说明 t a b 2 1d e c l a r a l i o no f h o o k st y p e sa n df u n c t i o n s 钩子类型钩子功能 删c a l l w n d p r o c w hc a l i w n d p r 0 :r e t 硼c b t 髑d 删g 删f o r 阱r 叫n d i d l e 船g 日舢巳s s a g e i f l i _ j o u r n a l p l a y b a c k 珊j o u r n a l r e c o r d 删k e 0 a r d 船k e y b o a r du , _ hm o u s e 朋m a u s el l 删m s g f i l t e r 朋s ! l l 髑s y s l s g f i l t e r 监视传递给目标窗口例程之前的消息 监视己被目标窗口例程处理的消息 接受与计算机操作有关的消息详细信息 调试其他钩子例程 用于当应用程序前台线程空闲时被调用 监视加入到消息队列中的消息 投递先前被w hj o u r n a l r e c o r d 钩子记录的捎息 记录投递系统消息队列的物入消息,这个钩子对于记录宏特别有用 ,监视键盘击打消息 监视低级别的键盘输入事件 监视鼠标消息 监视低级别的鼠标输入事件 监视由对话框消息框菜单或者滚动条输入事件产生的消息 接受对外壳应用程序有用的通知消息 监视由对话框消息框菜单或者滚动条输入事件产生的消息 w i n d o w s 环境下文件防扩散系统的设计与实现 ( 3 ) 钩子的运行原理 本节重点讲述全局钩子的运行原理。应用程序安装了一个全局钩子之后,当系统发 生了该种钩子所能够拦截消息的时候,系统会强制地将带有钩子的d l l 映射到目标进 程内,并且调用其提供的回调函数,此时回调函数先于目标进程得到消息,回调函数可 以首先处理消息,然后再向下传递消息,甚至可以终止消息的传递【1 5 】。每个钩子程序都 包含两部分:钩子服务程序和钩子驱动程序。钩子服务程序负责将钩子程序注入到目标 进程里,钩子驱动程序是钩子程序的主题,即实现要截获a p i 函数的整个过程。钩子的 运行原理如图2 4 所示 钩子服务程序应用程序1应用程序2 弋ij ilj fj i 代码 共享数据段 钩子驱动程序钩子驱动程序钩子驱动程序 数据部分数据部分数据部分 01 fi f w i n d o w s 操作系统 图2 4 钩子运行原理图 f 噜2 4p r i n c i p l eo f h o o k sf u n c t i o n 使用全局钩子首先使用a p i 函数s c t w i n d o w s h o o k e x 0 把一个应用程序定义的钩子 子程安装到钩子链表中。 i - i h o o ks c t w i n d o w s h o o k e x ( i n ti d h o o k , 钩子类型 h o o k p r o cl p f n , 钩子子程的地址指针 h i n s t a n c eh m o d ,应用程序实例的句柄 d w o r dd w t h r e a d l d 钩子子程相关联的线程的标识符 ) : 大连理工大学硕士学位论文 钩子子程是一个应用程序定义的回调函数( c a l l b a c kf u n c t i o n ) ,不能定义成某个类的 成员函数,只能定义为普通的c 函数。用以监视系统或某一特定类型的事件,这些事件 可以是与某一特定线程关联的,也可以是系统中所有线程的事件。钩子子程必须按照以 下的语法: u 屺s u l tc l l b a c kh o o k p r o o ( i n tn c o d e , ,钩子标识码 w p a r a mw p a r a m , 与n c o d c 的设定有关 l p a j 认mi p a r a m与n c o d c 的设定有关 ) : s c t w i n d o w s h o o k e x 函数总是在h o o k 链的开头安装h o o k 子程。当指定类型的h o o k 监视的事件发生时,系统就调用与这个h o o k 关联的h o o k 链的开头的h o o k 子程。每一 个h o o k 链中的h o o k 子程都决定是否把这个事件传递到下一个h o o k 子程。h o o k 子程 、传递事件到下一个h o o k 予程需要调用c a l l n e x t h o o k e x 函数。以执行钩子链表所指的下 一个钩子子程。这个函数成功时返回钩子链中下一个钩子过程的返回值,返回值的类型 依赖于钩子的类型。这个函数的原型如下: l r e s u l tc a l l n c x t h o o k e x ( h h o o kh h k , 当前钩子的句柄 i n tn c o d c 。 钩子过程的事件代码 w p a r a mw p a r a m , 与n c o d c 的设定有关 l p a r a mi p a r a m 与n c o d c 的设定有关 ) : 钩子在使用完之后需要用u n h o o k w i n d o w s h o o k e x 0 卸载,否则会造成麻烦。释放 钩子比较简单,u n h o o k w i n d o w s h o o k e x 0 只有一个参数。函数原型如下: u n h o o k w i n d o w s h o o k e x ( h h o o kh h k ) 。钩子卸载成功返回t r u e ,否则返回f a l s e 。 2 2 2a p ih o o k a p ih o o k 是一种实用的w i n d o w s 系统编程技术,应用领域十分广泛。屏幕取词、 内码转换、屏幕翻译、中文平台、网络防火墙、串口红外通信或i n t c r n g t 通信的监视等, 都涉及到了此项技术。a p ih o o k 简言之,就是钩住a p i ,即让a p i 函数的调用先绕一 个弯路,在它执行实际功能之前,可以先做一些“预处理”,通过这种方式可以监视或 定制某个w i n 3 2a p i 的调用,以实现一些特殊的功能。 w m d o w s 环境下文件防扩散系统的设计与实现 在很多情况下,用户想监视或改变某个应用程序的一些特定的行为,但是那个应用 程序却没有提供相应的接口,而又几乎不可能得到其源代码,怎么办呢? 因为大多数 w i n d o w s 应用程序的行为很大程度上依赖于w i l l 3 2a p i ,所以可以采用h o o kw i l l 3 2a p i 的方式来试图监视和改变应用程序的行为。 w i n d o w s 下应用程序有自己的地址空间,它们只能调用自己地址空间的函数,所以 在挂钩a p i 之前,必须将一个可以代替a p i 执行的函数的执行代码注入到目标进程,然 后再想办法将目标进程对该a p i 的调用改为对注入到目标进程中自定义函数的调用。一 般称这个自定义函数为代理函数。在代理函数中,可以去调用原来的a p i ,也可以做其 它事情。可见,注入代码到目标进程是实现拦截a p i 很重要的一步。比较简单的方法是 把要注入的代码写到d l l 中,然后让目标进程加载这个d l l 。这就是所谓的d l l 注入 技术。一旦程序代码进入了另一个进程的地址空间,就可以毫无限制地做任何事情。 在这个要被注入到目标进程的d l l 中写一个与感兴趣的a p i 函数的签名完全相同 的函数( 代理函数) ,当d l l 执行初始化代码的时候,把目标进程对这个a p i 的调用全部 改为对代理函数的调用,即可实现拦截a p i 函数。对于h o o ka p i 微软并没有提供直接 的接口函数,但有两种方法可以完成该功能。这两种方法分别被称为改引入表式和陷阱 式。改引入表即改可执行文件的i a t 表( 即输入表) ,因为在该表中记录了所有调用a p i 的函数地址,则只需将这些地址改为自己函数的地址即可。陷阱式a p ih o o k 这种方法 是直接跳转,改变a p i 函数的头几个字节,使程序跳转到自己的函数,然后恢复a p i 开头的几个字节,在调用a p i 完成功能后再改回来又能继续h o o k 了。表2 2 列出了两 种方式各自的优缺点1 1 6 | 。 表2 2 p ih o o k 方式比较 t a b 2 2c o m p a r i s o no f t w oa p ih o o kt y p e s 本系统中既应用了消息h o o k 又应用了a p ih o o k ,分别用于在u s b 数据透明加密 模块和系统运行时相关信息隐藏模块具体实现将在后续章节具体描述。 2 3 密码学知识 随着m t e :r i l e t 的飞速发展和计算机技术的广泛应用,信息的安全问题日益突出,以 信息加密技术为核心的信息安全技术也得到了极大的发展。目前的数据加密技术根据密 大连理工大学硕士学位论文 钥的类型可分为公钥加密( 非对称加密) 系统和私钥加密( 对称加密) 系纠1 6 1 。对称加密和 非对称加密系统相比,在加密、解密处理速度、防范能力、数字签名和身份验证等方面 各有长短优劣。 ( 1 ) 公钥加密算法 公钥加密算法【1 ( p u b l i c - k e ya l g o r i t h m ) 又称双钥密码算法,是指加密密钥和解密密 钥为两个不同密钥的密码算法。公钥密码算法不同于单钥密码算法,它使用了一对密钥: 一个用于加密信息,另一个则用于解密信息,通信双方无需事先交换密钥就可进行保密 通信。其中加密密钥不同于解密密钥,加密密钥公之于众,谁都可以用;解密密钥只有 解密人自己知道。这两个密钥之间存在着相互依存关系:即用其中任一个密钥加密的信 息只能用另一个密钥进行解密。若以公钥作为加密密钥,以用户专用密钥( 私钥) 作为解 密密钥,则可实现多个用户加密的信息只能由一个用户解读;反之,以用户私钥作为加 密密钥而以公钥作为解密密钥,则可实现由一个用户加密的信息而多个用户解读。前者 可用于数字加密,后者可用于数字签名。 r s a 公钥密码算法是公钥密码算法的一个典型代表,从提出到现在已近二十年,经 历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。 私钥加密算法 对称密码算法( s y m m e 缸i c a la l g o 枷】m ) 的加密密钥能够从解密密钥中推算出来,反过 来也成立【。在大多数对称算法中,加解密密钥是相同的。这些算法也叫秘密密钥算法 或单密钥算法,它要求发送者和接收者在安全通信之间,商定一个密钥。对称算法依赖 于密钥,泄露密钥就意味着任何人都能对消息进行加解密。只要通信需要保密,密钥就 必须保密。 对称算法可分为两类。一次只对明文中的单个位( 有时对字节) 运算的算法称为序列 算法或序列密码。另一类算法是对明文的一组位进行运算,这些位组称为分组,相应的 算法称为分组算法或分组密码。现代计算机密码算法的典型分组长度为6 4 位、1 2 8 位、 2 5 6 位。d e s 是分组加密算法的典型代表。 由于d e s 算法具有密码使用简单及处理速度快等特点,本文在对u s b 接口数据进 行加密时实现了d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 算法。下面对d e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东佛山市高明区招聘中小学教师61人(第四场编制)模拟试卷及答案详解(历年真题)
- 2025贵州大方县人民医院专项引进高层次急需紧缺人才模拟试卷附答案详解(考试直接用)
- 2025年临沂费县教育和体育局部分事业单位公开招聘教师(7名)考前自测高频考点模拟试题附答案详解(模拟题)
- 2025宝鸡陈仓区朝阳幼儿园招聘考前自测高频考点模拟试题及一套答案详解
- 2025年安徽师范大学专职辅导员招聘12人模拟试卷附答案详解(黄金题型)
- 2025广东湛江市霞山区司法局招聘司法协理员拟聘用人员(第一批)模拟试卷附答案详解(考试直接用)
- 2025年长春市市直事业单位公开招聘高层次人才(4号)(17人)考前自测高频考点模拟试题及答案详解(全优)
- 2025河南郑州大学第三附属医院招聘160名考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025江苏南通市崇川区卫生系统面向毕业生招聘备案制高层次卫生人才15人考前自测高频考点模拟试题附答案详解
- 2025广东佛山市顺德区乐从第一实验学校临聘教师招聘模拟试卷及完整答案详解
- 2025建筑二次结构木工劳务合同范本
- GB/T 46105-2025陆地生态系统碳汇核算指南
- 工程项目质量管理研究-以XX小区为例
- 第一讲-决胜十四五奋发向前行-2025秋形势与政策版本-第二讲-携手周边国家共创美好未来-2025秋形势与政策版本
- 学堂在线 现代生活美学-花香茶之道 章节测试答案
- 2025年川教版(2024)小学信息科技三年级(上册)教学设计及反思(附目录P118)
- 信息组织与信息构建课件
- 应急管理学院成立可行性方案
- 视频监控调取记录表
- 质量控制计划QCP
- 七田真1000图记忆
评论
0/150
提交评论