




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕毕业业设设计计 设设计计题题目目 终终端端数数据据防防泄泄密密系系统统 第 I 页 毕毕业业论论文文 设设计计 原原创创性性声声明明 本人所呈交的毕业论文 设计 是我在导师的指导下进行的研究本人所呈交的毕业论文 设计 是我在导师的指导下进行的研究 工作及取得的研究成果 据我所知 除文中已经注明引用的内容外 本工作及取得的研究成果 据我所知 除文中已经注明引用的内容外 本 论文 设计 不包含其他个人已经发表或撰写过的研究成果 对本论文论文 设计 不包含其他个人已经发表或撰写过的研究成果 对本论文 设计 的研究做出重要贡献的个人和集体 均已在文中作了明确说明 设计 的研究做出重要贡献的个人和集体 均已在文中作了明确说明 并表示谢意 并表示谢意 作作者者签签名名 日日期期 毕毕业业论论文文 设设计计 授授权权使使用用说说明明 本论文 设计 作者完全了解本论文 设计 作者完全了解 学院有关保留 使用毕业论文 设学院有关保留 使用毕业论文 设 计 的规定 学校有权保留论文 设计 并向相关部门送交论文 设计 计 的规定 学校有权保留论文 设计 并向相关部门送交论文 设计 的电子版和纸质版 有权将论文 设计 用于非赢利目的的少量复制并的电子版和纸质版 有权将论文 设计 用于非赢利目的的少量复制并 允许论文 设计 进入学校图书馆被查阅 学校可以公布论文 设计 允许论文 设计 进入学校图书馆被查阅 学校可以公布论文 设计 的全部或部分内容 保密的论文 设计 在解密后适用本规定 的全部或部分内容 保密的论文 设计 在解密后适用本规定 作作者者签签名名 指指导导教教师师签签名名 日日期期 日日期期 第 II 页 注 意 事 项 1 设计 论文 的内容包括 1 封面 按教务处制定的标准封面格式制作 2 原创性声明 3 中文摘要 300 字左右 关键词 4 外文摘要 关键词 5 目次页 附件不统一编入 6 论文主体部分 引言 或绪论 正文 结论 7 参考文献 8 致谢 9 附录 对论文支持必要时 2 论文字数要求 理工类设计 论文 正文字数不少于1 万字 不包括图纸 程序清单 等 文科类论文正文字数不少于1 2 万字 3 附件包括 任务书 开题报告 外文译文 译文原文 复印件 4 文字 图表要求 1 文字通顺 语言流畅 书写字迹工整 打印字体及大小符合要求 无错别字 不准 请他人代写 2 工程设计类题目的图纸 要求部分用尺规绘制 部分用计算机绘制 所有图纸应符 合国家技术标准规范 图表整洁 布局合理 文字注释必须使用工程字书写 不准用 徒手画 3 毕业论文须用 A4 单面打印 论文 50 页以上的双面打印 4 图表应绘制于无格子的页面上 5 软件工程类课题应有程序清单 并提供电子文档 第 III 页 5 装订顺序 1 设计 论文 2 附件 按照任务书 开题报告 外文译文 译文原文 复印件 次序装订 3 其它 目 录 摘要 III ABSTRACT IV 1 引 言 1 1 1 背景 1 1 2 研究现状 1 1 2 1 理论研究现状 1 1 2 2 工程研究现状 3 2 相关知识 5 2 1 WINDOWS操作系统结构 5 2 2 WINDOWS文件系统和文件过滤驱动 6 2 3 驱动开发过程中的重要数据结构 7 2 3 1 驱动对象 7 2 3 2 设备对象 8 2 3 3 请求 8 2 3 4 设备扩展 9 2 3 SFILTER 10 2 4 RC4 算法 11 2 5 复合二进制文档存储结构 11 3 系统设计 13 3 1 系统设计目标 13 3 2 系统设计 13 3 3 系统实现 14 3 3 1 进程识别 14 3 3 2 文件加密标识 15 3 3 4 文件打开处理 16 3 3 5 文件读操作处理 17 第 IV 页 3 3 6 文件写操作处理 17 4 系统测试 19 4 1 测试环境 19 4 2 系统安装 19 4 3 系统测试 20 4 4 结果分析 22 第 V 页 终端数据防泄密系统 摘要 随着计算机与网络的发展 日益迅速 数据的安全性 显得越来越重要 数据加解密系统研究 与应用日益广泛 长期以来 企业大多通过封 USB 接口 断网 拆光驱等 堵 的方式来保护企业机密文档不被泄 露 但这些方式仍然存在极大的安全隐患 因为文件本身 还是以明 文的形式存在 员工通过红外蓝牙 外接移动设备 安装转移接口设 备 拆硬盘等手段就 能轻松将文件带走 因此如何有效保护 机密文 件成了企业管理的一大难题 本文基于 Windows 内核文件过滤技术和 加密算法 设计 并实现一种 终端数据防泄密系统 该系统 能够捕获 拦截应用程序 发给文件系 统的各种操作请求 若是 打开 请求就对文档进行解密 若是 关闭 请求就对文档 进行加密 其他请求则直接放过 不做任何处 理 加解密过程动态进行 不会对用户操作文档产生任何影响 用 户只有在特定的计算机设备上才能打开涉密文件 最后通过 U 盘拷贝和网络传输测试 在安装服务的PC 机上可以正常 打开文档 在未安装服务的PC 机上不能正常打开文档 达到了系统 设计的目的 验证了系统的有效性 关键词 安全文档 文件过滤 透明加密 第 VI 页 Terminal Data Leak Prevention System Abstract With the development of computer and network data security is becoming increasingly important data encryption and decryption system research increasingly widespread For a long time most enterprises through the closure USB blocking the way the interface broken network such as demolition drive to protect confidential business documents not be disclosed But there still exists much hidden security danger this is because the file itself is still plaintext Staff could steal files through Bluetooth external mobile equipment installing transfer interface equipment and uninstalling hard disk How to effectively protect the confidential documents for enterprises has become a big challenge to the company management In this paper we design and implement a terminal data leak prevention system based on the Windows kernel file system filtering technology and RC4 algorithm The system is binding with the windows file system to intercept and distribute a variety of operating system requests Decrypt files when the request is open and encrypt them when the request is close Other requests shall directly pass without any treatment Dynamic encryption and decryption process will not have any influence on the operation of user s documents The user can only open secret files in a specific computer device PC with installed services can open the document but PC without installed services can t achieving our purpose and verifying the effectiveness of the system Keywords security document document filtering transparent encryption 第 1 页 1 引 言 1 1 背景 随着信息技术 的快速发展 网络技术 通信技术 数字多媒体技术 研究 取得了重大突破 信息数字化 改变了人们的生活方式和生产 方式 电子文档 正在逐步 取代传统的纸质文档 办公信息化 无纸化成为低碳 环保 生活发 展的主流趋势 相比于传统的纸质办公文档 电子文档易于存储 易于管理 极大的提高了 人们的工作 效率 然而 电子文档易复制 易传递 易修改的特 性使得文档信息时刻受到潜在的泄密风险 目前 企业机密信息和敏感数据被 泄密事件频频成为互联网上 的热点 2011 年索尼发生两起数据泄密事件 超过一亿用户的信息被窃取 2013 年大 约 1500 万 2500 万的支付宝用户信息 被泄露被用于网络营销 今年杭州市准 备实行机动车限牌 然而在政府还没有发布这一消息之前 已经有一份与新闻 发布会一样的通稿在网上疯传 使杭州机动车4S 店汽车被疯抢 汽车价格飙 升 引起了 民众对政府的不满 使杭州市政府的形象受到严重影响 企业信息泄露 不仅使企业 蒙受直接的经济损失 而且还影响公司的品 牌价值 社会形象 和投资者 之间关系 如果企业的核心技术 知识产权等 信 息泄露 将会给竞争对手以可乘之机 直接关系企业的生存 和发展 个人隐 私信息的泄露 将给个人的工作和家庭生活带来困扰 因此 敏感数据的安 全性问题引起了人们的高度重视 敏感数据 安全管理 防止敏感信息泄露 也 成为信息安全领域 研究的重点 1 2 研究现状 近几年 信息防泄密已成为信息安全领域研究的热点问题之一 从理论 方面的安全模型研究到工程方面的应用都取得了丰厚的研究成果 1 2 1 理论研究现状 一直以来 数据的安全性受到国内外学术界的普遍关注 是信息安全领域的 重点研究方向之一 国际上很多大学和研究机构在数据安全方面做了很多研究 第 2 页 如 Massachusetts Institute of Technology 麻省理工学院 微软亚洲研究 院 剑桥大学 IBM 研究院 1 Namseoul University 首尔大学 2 国内的 有清华大学 3 上海交通大学 复旦大学 北京邮电大学 4 南京大学软件 新技术国家重点实验室 5 等 并在文档加密 数据分发 秘钥管理 访问控制 方面提出了很多新的理论 为数据的安全管理提供了强大的理论支持 1 敏感电子文档安全可信模型 敏感电子文档安全可信模型是一种对被保护的敏感数据对象 通过设置特 定的安全策略 在敏感数据文件生成 存储 传输的过程中实现 自动化保护 以及通过条件访问控制策略防止敏感数据对象的非法复制 泄露和扩散 使得 开放网络环境下敏感数据对象具有自我保护和自我版权侵犯防范能力 目前 大多数的敏感数据可信模型是 通过 DRM Digital Rights Management 技术 实现的 2 敏感电子文档加密 数据加密是保护文档最常 用的方法之一 最原始的 数据加密 方法是手工 设置加密密码 通过传统的加密算法和加密密钥将明文转变 成密文 但 是存 储在硬盘上的文件还 是以明文的形式存在 对于机密文件 保护 仍不能从根 本上起到作用 另外这种手动输入 的密码 需要人为 去记忆 保存 万一密 码遗忘或丢失 不仅影响用户使用数据 还有可能造成 数据泄露 传统的数据加密是在用户态实现的 但如果加密密钥保存不当易造成数 据泄露 后来提出在内核态实现数据加密 数据内核态加密是指在对特定进 程产生的数据在生成 存储 传输等瞬态执行强制性透明加密 无需用户干预 6 这种方式是通过过滤驱动对受保护的敏感数据内容进行相应的参数设置而达到 选择性保护的目的 写入时加密 读取时解密 不影响用户使用 目前虽然对敏感数据加密已经提出了一些理论 但多采用单一透明加解密 技术 代理重加密机制 属性加密机制以及全同态加密技术只在理论上得到证 明 并未在实际中得到应用 3 域密钥管理 开放式网络环境下 越来越多的组织联合起来进行协同工作 资源共享 批 量数据传输等应用都需要建立在认证域基础上 在开放网络环境下 各个用户 属于不同的安全认证域 每个认证域拥有不同的域密钥 域中成员通过域密钥 第 3 页 进行电子文档的共享 只有授权的域成员才能够得到认证域的域密钥而解密获 得数据 因此如何对域密钥进行管理是敏感电子文档安全管理的核心问题 保罗 麦卡沃伊 袁拍 奥尔森 肯普 7 提出一种 用于数据内容分发的 系统和方法 该方法重点采用层次密钥管理方法对电子数据进行加密 利用 子群的水平控制的关键更新影响到整个团队 但需要对敏感数据的内容解密 和加密 在新的成员加入或离开该组 的时候 Wallner 8 提出的逻辑树方案主要通过修改逻辑树结构的方法 使群中每个 成员均可获得从该成员所在节点到根节点的所有秘密值 包括群密钥 的信息 因此适应于用户域变化不太大的情况下 可以达到很好的性能 目前 学者们广泛 研究组密钥管理 多组密钥管理方案 也已经被提出 但 仍然存在一些问题 需要进一步的研究 主要问题如下 1 可扩展性 大多数群密钥管理方案依赖于群中成员的安全信息 而群中成员 的加入或撤退将关系方案的可扩展性 2 安全性 群密钥由所有的域成员共享 群密钥的安全性将关系到敏感信息的 加密 解密以及用户的认证等关键步骤 因此 群密钥必须满足机密性 完 整性和前向保密性 后向保密性以及独立性等安全性 3 高效性 由于群组规模的动态变更 将会影响到生成群密钥的计算代价 群 中成员存储密钥的空间 更新群密钥时占用的带宽以及网络延时 都需要设 计群密钥管理方案时进行考虑 4 电子文档访问控制 访问控制敏感数据的访问 控制策略的定义 防止非法用户或合法用户敏感 数据的未经授权的操作 开放网络环境中每个认证域都管理着本地的电子文档 和用户 当用户跨域访问电子文档时 需要对访问共享电子文档的用户进行统 一的身份认证管理 另外 在进行电子文档共享时需要对电子文档制定一个公 共的访问控制策略 灵活的访问控制和权限管理将关系到数据资源的安全性和 共享程度 1 2 2 工程研究现状 在电子信息 防泄密技术 解决方案上 国外比较著名有美国的 Microsoft RMS Adobe LifeCycle Authentica ARM 韩国的 markany 日本的 Intelligent Wave 等 第 4 页 RMS Right Management Service 防泄密系统是 通过系统与应用程序协作 来保护敏感数据 内容的 尤其是对 Web 内容 文档和电子邮件 的保护 像 Office2003 系列软件 就带有含 DRM 技术的 IRM 服务 然而 为各种各样的应 用支持 微软 IE 浏览器和 Office 系列软件已出版了多个接口 导致许多安全 漏洞和不安全因素 Secure Documents for PDF 系统是美国的 Authentic 公司做的 系统基 于 PDF 格式的 DRM 的电子文档的产品 是最有名的 此系统的核心 核心技术为 采用 RC4 加密算法对数据内容进行加密 使用 Plug in 技术对 PDF 文档进行 文件控制 由 Policy Server 服务器对系统进行 授权分配和管理 韩国的 Markany 系统对创建的文档能够 追溯文档信息以及文档的控制信息 同时 文档被打印时设置水印 具备PC CSHORT Size 设备对象 每个驱动程序都会有一个或多个设备对象 PDEVICE OBJECT DeviceObject 驱动的名字 UNICODE STRING DriverName 第 8 页 快速 I O 分发函数 PFAST IO DISPATCH FastIoDispatch 驱动卸载时的回调函数 PDRIVER UNLOAD DriverUnload 普通分发函数 PDRIVER DISPATCH MajorFunction IRP MJ MAXIMUM FUNCTION 1 DRIVER OBJECT 2 3 2 设备对象 一个驱动程序会创建一个或多个设备对象 每个设备对象都会有一个指针 指向下一个设备对象 多个设备对象链接在一起形成设备链 设备对象 DEVICE OBJECT 结构定义如下 Typedef struct DECLSPEC ALIGN MEMORY ALLOCATION ALIGNMENT DEVICE OB JECT 和驱动对象一样 CSHORT Type CSHORT Size 引用计数 ULONG ReferenceCount 设备所属的驱动对象 struct DRIVER OBJECT DriverObject 指向下一个设备对象 struct DRIVER OBJECT NextDevice DEVICE TYPE DeviceType 设备类型 IRP 栈大小 HAR StackSize 第 9 页 DEVICE OBJECT 2 3 3 请求 IRP IO Request Packet 是Windows驱动开发中与输入输出有关的重要数据结 构 IRP是内核中特有的 在应用程序中是看不到的 在应用程序中 我们只需要 调用内核API便能够实现我们所需要的功能 如当我们调用API ReadFile函数时 就可以读取硬盘中的数据 但是这些操作会发出相应的请求 请求会在内核的I O 管理器中被翻译成IRP数据结构 然后将IRP向下传递 传给对应的设备对象 大部 分请求是以IRP的形式发送的 IRP的数据结构比较复杂 现在简单介绍其中重要的 字段 Typedef struct DECLSPEC ALIGN IRP 类型和大小 CSHORT Type CSHORT Size 内存描述符链表指针 PMDL MdlAddress 也是表示缓冲区的一种方式 PVOID SystemBuffer IO状态 IO STATUS BLOCK IoStatus 栈空间大小 CHAR StackCount 2 3 4 设备扩展 设备扩展 DEVICE EXTENSION 是与设备对象相关的另一种重要的数据结构 它可以用来 存储与一个特定设备 相关的信息 其数据结构如下 typedef struct DEVICE EXTENSION PDEVICE OBJECT DeviceObject PDEVICE OBJECT LowerDeviceObject 第 10 页 PDEVICE OBJECT Pdo IO REMOVE LOCK RemoveLock UNICODE STRING Devname DEVICE EXTENSION PDEVICE EXTENSION 2 3 sfilter Sfilter 是微软在内核驱动开发包 WDK 中提供的传统型文件过滤的例子 这个驱动程序实现了文件过滤驱动的控制设备绑定和卷设备绑定 能够拦截应 用操作系统的 各种请求 但不对请求做任何处理 我们可以打印出sfilter 拦截的所有请求 内核软件开发者在开发与文件系统相关的软件时 一般都是 在 sfilter 的基础上修改 插入新的代码 不过这样导致插入的代码与 sfilter 代码相混杂 不利于代码的维护与移植 较好的方法是将sfilter 编译成一个静态库 可以供任何一个内核模块调用 该静态库只提供文件系统 设备对象绑定 拦截 IRP 但没有做任何事情 以后内核编程者就不用修改 sfilter 本身的代码 可以直接调用sfilter 静态链接库提供的接口 这样驱 动开发者就省去了设备绑定 拦截IRP 等许多复杂事情 提高了开发效率 Sfilter 系统很稳定 在调试内核驱动程序时 一般不会考虑sfilter 程序 出现问题 sfilter 中有一些回调函数 当然 这些回调函数是sfilter 自己没有实 现的 等待基于 sfilter 编写软件的开发者自己来实现 s sfilter 提供一个回 调函数接 口 NTSTATUS OnSfilterDriverEntry IN PDRIVER OBJECT DriverObject IN PUNICODE STRING RegistryPath OUT PUNICODE STRING userNameString OUT PUNICODE STRING syblnkString OUT PULONG extensionSize 第 11 页 这个函数需要驱动开发者自己来实现 实现是时需填写userNameString 以 后会用它作为控制设备的名字 同样还有syblnkString 之后 sfilter 会用 这个字符串作为控制设备的符号链接名 最后是一个extensionsize 用来 作为每个设备的设备扩展的长度 2 4 RC4 算法 考虑到文件系统读写请求的频繁性与随机性 算法的复杂度 实现的难度 加解密速度 以及算法的安全性 本系统采用RC4 加密算法 RC4 算法包括两部分 初始化算法和伪随机子密码生成 假设S box 长度 和密钥长度均为为 n 算法的初始化部分 为 用类 C 伪代码表示 for i 0 i n i s i i j 0 for i 0 i n i j j s i k i 256 swap s i s j 在初始化的过程中 密钥的主要功能是将S box 搅乱 i 确保 S box 的每 个元素都得到处理 j 保证 S box 的搅乱是随机的 而不同的S box 在经过 伪随机子密码生成算法的处理后可以得到不同的子密钥序列 并且 该序列是 随机的 i j 0 while 明文未结束 i n j j s i n swap s i s j sub k s s i s j n 第 12 页 得到的子密码 sub k 用以和明文进行 异或运算 得到密文 解密过程也完全相 同 RC4 加密算法实现简单 加解密速度快 因此用在数据防泄密 系统中是一 个比较好的选择 2 5 复合二进制文档存储结构 Microsoft office 系列软件创建的文档属于 复合文档 复合文档包含一个文 件头 一般大小为 512 字节 用来记录文档的相关信息 本系统将把加密标识 放在文档的头部 所有有必要了解一下复合文档的头部结构 表 2 2 word 文档二进制头部 OffsetSizeContents 08 复合文档文件标识 只要它是一个复合文档 内容都是一样的 816 此文件的唯一标识 不重要 可全部为 0 242 文件格式修订号 一般为 003EH 262 文件格式版本号 一般为 0003H 282 字节顺序规则 FEH FFH 为小端规则 FFH FEH 为大端规则 302 复合文档中扇区 的大小 ssz 322 短扇区大小 sssz 342Reserved 364Reserved 404 用于存放目录总数 444 用于存放扇区配置表 SAT 的扇区总数 484 用于存放目录流的第一个扇区的SID 524Reserved 564 标准流大小 一般为 4kB 小于此值的流即为短流 604 存放短扇区配置表 SSAT 的第一个扇区的 SID 644 存放短扇区配置表的 SSAT 的扇区总数 第 13 页 684 存放主扇区配置表 MSAT 的第一个扇区的 SID 724 存放主扇区配置表的 MSAT 的扇区总数 76436 存放主扇区配置表 MSAT 的第一部分 第 14 页 3 系统设计 3 1 系统设计目标 本次毕业设计是基于Windows内核文件过滤技术和 RC4加密算法 设计 与实 现一种终端数据防泄密系统 该系统在不改变用户操作习惯的基础上实现文件的 存储安全 本系统以Microsoft Office Word为例 实现对 word文档的防泄密保 护 本系统的 主要功能如下 1 所有的 Word文档都是以密文的形式存放在硬盘中 2 打开word文档时系统自动为其解密 保存 word文档时自动对其进行加密 加解密过程对用户是透明的 无需用户干预 3 只有在安装本系统的终端上才能正常打开文档 移动存储设备或通过即时 通讯软件传递文档到其它设备上 该文档将不能正常打开 3 2 系统设计 终端数据防泄密系统 利用Windows内核文件过滤技术 在微软提供的 sfilter基础上添加了数据加密的功能实现 本系统主要考虑四种对文件处理情况 1 当一个普通进程打开一个普通的文档时 不需要对请求做任何处理 文 件可以正常打开 看到的是明文 2 当一个普通进程打开一个机密文档时 不过滤请求 文档不能正常打 开 看到的是密文 3 当一个机密进程 打开一个机密文档时 过滤文件请求 对于读请求对文 件进行解密 对于写请求对文件进行加密 文档可以正常打开 看到的是明文 4 当机密进程打开普通文档时 文件可以正常打开 看到的是明文 系统整体结构如图 3 1 所示 第 15 页 图 3 1 系统设计图 3 3 系统实现 3 3 1 进程识别 操作系统经过加密保护后 所有进程被分为两类 一类是机密进程 另一类是 普通进程 12 所谓机密进程是指用户在机密的操作系统中创建工作文档的进程 这些文档在一定的范围内是机密的 不允许外泄 区分机密进程和非机密进程最常用的方法是根据进程的名字来判断 在Windows 内部对每个进程维护了一个EPROCESS结构 在EPROCESS结构保存有进程的名字 但 微软并没有对外公开这个结构 而且在不同版本的Windows系统中这个结构还不尽 相同 针对此问题 本系统采用如下解决办法 每一个驱动程序都有一个入口函数DriverEntry DriverEntry只能在 System 进程中被执行 System进程在开机时就已经启动 可以确定 在驱动入 口函数中当前进程名为 System 我们虽然不知道EPROCESS结构的具体内容 但 可以在EPROCESS中搜索 System 字符串 若搜到则记下偏移位置 以后从这个位 置取就可以了 第 16 页 PEPROCESS CurrentProcess PsGetCurrentProcess 获取当前进程 for i 0 i 3 4 1024 i if strncmp System PCHAR CurrentProcess I strlen System offset i break 3 3 2 文件加密标识 当安全进程打开一个文档时 如何识别该文档是已经加密的 文档还是未 加密的文档呢 显然必须对已加密的文档设置一个加密标识 以区别加密文档 和普通文档 在对文档进行 操作时 先读取文档的加密标识 如果加密标识存 在 就要对文档进行相应的加密或解密处理 如果加密标识不存在 则不需要 对文档进行加解密操作 一种设置加密标识的方法是 每当系统完成对一个文件加密后 便在该文件 所在的路径下创建一个与该文件具有相同名字的带特定扩展名的文件 称为加 密标识文件 以后操作系统对文件进行操作时 首先在文件所在的路径下搜索 该文件的加密标识文件 如果搜索到了 表明该文件是密文文件 需要对文件 进行相应的处理 如果没有搜索到 则是明文文件 不需要做任何处理 该方 法的缺点是要对加密文件和加密标识文件做同步处理 如生成一个密文文件 对密文文件进行移动 删除操作 就要创建一个加密标识文件 对加密标识文 件也要做 移动 删除操作 一旦同步操作出现问题 就会造成明文 密文识别 错误 技术上实现比较难 另一种设置文件加密标识的方法是 在计算机硬盘上划出一片区域 在该区 域中创建的文件均为机密文件 需要做加密处理 不在该区域创建的文件不做 任何处理 例如我们指定 计算机 D 盘为安全 区域 则存储在 D 盘下的文件全 部为密文文件 在 D 盘以外的文件全部为明文文件 当操作系统对文件进行操 作时 先判断文件是否在指定的安全区域内 如果是则对文件进行相应的处理 这种方法实现简单 但无法满足对更高水平的密文文件系统管理要求 还有一种 方法是将加密标识保存到加密文件的内部 通常在加密文件内部有 第 17 页 三个地方可以添加加密标识 文件头 我们在应用程序最先看到文件内容的地 方 文件尾 二进制文件头 部 复合文档有一个文件头用来记录文件的信息 放在文件头部 比较稳定 因为加密标识的位置是固定的 但是对文件进行操 作时 对给文件添加一个位置偏移量 同时向应用程序隐藏这个位置偏移 技 术实现比较难 放在文件尾部存在很大的风险 因为文件的大小是不固定的 每次文件的大小改变时 文件标识的位置也需要同时改变 很容易造成文件标 识的丢失 例如当文件标识正在改变位置时 突然发生计算机事故 如断电 该文件的加密标识很有可能会丢失 因此系统的稳定性和安全性都不高 本系统采用将文档加密标示存储在 二进制文档的 头部 利用文档头的保留 位来保存加密标示 这样做既不增加文档的大小 又不影响文档的操作 稳定 可靠 在 2 6 节介绍了 word 复合文档的二进制存储结构 发现word 文档头 部偏移量为 34 的十个字节作为保留位 Word 没有使用 因而可以将偏移量为 34 和 35 的两个字节 作为文档加密 标示的存储位置 3 3 4 文件打开处理 开始 是否是文件打 开请求 是否为机密进 程 是否是空文件 添加文件加密标识 请求下发 是 是 是 不过滤请求 否 否 否 图 3 2 IRP 打开请求处理流程 当防泄密系统的过滤驱动检测到机密进程正在试图打开一个文件时 无论是 新建文件还是旧文件 需要对文件的大小进行判断 若文件大小为零 即这个 第 18 页 文件是空文件 则表明这是一个新建的文件 新建的文件必须为加密文件 要 为该文件添加加密标识 这也是唯一 需要添加文件加密标识的地方 3 3 5 文件读操作处理 开始 文件读请求 是否是机密 进程 下发文件读请求 读请求结果返回 数据解密 向上层返回 对请求不做任何处 理 直接下发 是 否 图 3 3 IRP 读请求处理流程 对于读请求的处理比较简单 当系统过滤到机密进程的读文件IRP 请求 先放过本次请求 将读 IRP 请求向下传递 待下层驱动完成该请求 并将该请 求返回时 对读缓冲区进行 RC4 解密 将解密后的请求返回给上层驱动 3 3 6 文件写操作处理 第 19 页 开始 文件写请求 是否是机密 进程 是否是 WRDxxxx t mp文件 从512字节处加密 写请求下发 返回写请求完成 对请求不做处理 是 是 否 否 图 3 4 IRP 写请求处理流程 写请求的处理相对来说比较复杂 当我们用Word 编辑文档 例如 mydocument doc 点击保存时 Word 进程 Winword exe 并不是将数据直接写 入到磁盘上的 mydocument doc 文件中 而是先新建一个名为 WRDxxxx tmp 的临时文件 并将用户要保存的数据写到刚才新建的那个文 件中 数据写入完成后 将文件 mydocument doc 重命名为 WLRxxxx tmp 再将 WRDxxxx tmp 重命名为 mydocument doc 因 而在获得文件写 IRP 请求时 是要过滤对文件 WRDxxxx tmp 的写操作 而不是对 mydocument doc 的写操作 在收到对 WRDxxxx tmp 文件的写 IRP 请求时 首先判断本次写请求是文件 缓冲写请求还是分页写请求 写磁盘操作 如果是文件缓冲写请求 对偏移 量为 0 写长度为 512 字节的写请求 设置加密标示 如果是分页写请求 首 先将本次写请求的缓冲区保存 然后对写请求的缓冲区进行加密 第 20 页 4 系统测试 4 1 测试环境 1 物理环境 PC 机两台 其中 PC 机 A 安装有终端数据防泄密系统 PC 及 B 未安装终端数据防泄密系统 2 软件环境 Windows XP sp3 Microsoft Office 2003 4 2 系统安装 程序编译后会生成 sys文件 将sys文件安装为服务 这里借助第三方工具 Instdrv exe来实现 安装步骤如下 运行Instdrv exe 界面如图4 1所示 图 4 1Instdrv exe 工具 在驱动路径上输入sys文件的路径 支持拖拽获取文件路径 点击 安装 如图4 2 若显示 驱动服务安装成功 则表示操作成功 图 4 2 安装服务 第 21 页 点击 启动 如图4 3 若显示 驱动服务启动成功 则表示操作成功 图 4 3 启动服务 至此 终端数据防泄密系统驱动服务安装完毕 4 3 系统测试 为了验证终端数据防泄密系统能够有效地防止Microsoft Office Word文 档的扩散 分别进行了文件拷贝和文件网络传输这两种文档扩散方式的 测试 1 测试系统能够防止文档 拷贝扩散 在A机器上新建一个 word文档 命名为 test doc 打开test doc 在文档里输入一段文字 保存后关闭 再次打开 test doc文档 文档会正常打开 内容显示正确 如图4 4 所示 图 4 4 A 机器上可以正常打开文档 第 22 页 用U盘将该test doc文档拷贝到 B机器上再次打开该文档 打开后会发 现文档显 示异常 显示的数据均是加密后的密文 如图4 5所示 图 4 5 B 机器上不能正常打开 2 测试系统防止 文档防网络传输扩散 本测试通过 QQ的网络文件传输功能进行 A机器上通过QQ将上述test doc文档发送到B机器上 图 4 6 A 机器发送文件 图 4 7 B 机器接受文件 在B机器上打开test doc文档 结果同上述情况一样 打开后文档出现异 常 显示的全部为加密后的密文 如图4 8所示 第 23 页 图 4 8 B 机器不能正常打开文档 4 4 结果分析 通过上述测试可知 本系统可以实现对word 文档透明加解密操作 系统 操作简单 无需用户的干预 且加解密速度较快 打开word 文档没有明显的 延迟 能有效的防止 word 文档扩散 第 24 页 5 总结与展望 本次毕业设计基于windows内核文件过滤技术和现代密码学RC4加密算法 设计 实现了针对Word文档防扩散的终端数据防泄密系统 该系统能动态的对word文档进 行透明加解密 无需用户的干预 也不影响用户word的正常操作 对个人和企业而 言都有一定的实用性 本次毕业设计使我获益颇多 首先通过这次毕业设计 让我了解了一个新的领 域 windows内核 我们用户都是处在用户层 也是操作系统最高层 我们看到的 应用程序实现的各种功能 如双击word文档就能看见word文档中的内容 看似很 简单 其实在操作系统内部有着一系列复杂的API调用 这个是以前从来没有想到 的 其次通过本次毕业设计让我知道了什么是坚持 什么是一步一个脚印 在整个 开发过程中 涉及到大量windows操作系统底层操作 而关于windows操作系统的源 代码是没有公开的 关于这方面的书籍又很少 其中是中文版的更是寥寥无几 编写windows内核代码涉及对windows内核的操作 windows内核的权限很大 又缺 乏安全检查 调试过程中很容易照成系统蓝屏 在这种艰难的环境下 在老师和同 学的鼓励 帮助 支持下 一个难点一个难点的攻克 最后终于终于完成了毕业设 计任务 由于时间和能力的限制 本次毕业设计只能实现对word文档的防扩散保护 现 实中还有很多其他文档 如pdf excel等 这些文档信息都需要防扩散保护 即使 能实现对word文档的透明加解密 在使用中还会存在各种问题 离真正意义上的使 用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自主创新战略合作协议的重心
- 2025国家电网电力安全事故警示教育考试及答案
- 2026年中考语文热点备考方向 新国潮新中式(含答案)
- 2024河南省偃师市中考数学题库及参考答案详解(综合题)
- 2024自考专业(工商企业管理)真题标准卷附答案详解
- 2024-2025学年度社区工作人员试题附完整答案详解(典优)
- 医师定期考核考试彩蛋押题含答案详解(A卷)
- 2024临床执业医师模考模拟试题及完整答案详解【历年真题】
- 2024年注册公用设备工程师模考模拟试题及参考答案详解【夺分金卷】
- 注册公用设备工程师考前冲刺测试卷含答案详解【黄金题型】
- 临床医学职业生涯规划
- 家居智能化设备安装施工合同
- Unit 2 单元测试卷-2024-2025学年人教版七年级英语上册
- 2025股权技术入股合同
- 钢桁架桥制作施工方案
- 机动车检测与维修工程师考试题附答案
- 2025-2026学年北京版(2024)小学体育与健康一年级全一册教学计划及进度表(第一学期)
- 新《斜视弱视学》期末考试复习题库(含答案)
- 幼儿园数学活动《6和7的认识》课件
- 肠菌移植治疗炎症性肠病专家共识解读课件
- 2025年山西省建设工程专业高级职称评审考试(建筑工程管理)历年参考题库含答案详解(5卷)
评论
0/150
提交评论