已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
20112011 年全国大学生信息安全竞赛年全国大学生信息安全竞赛 作品报告作品报告 作品名称 作品名称 基于云计算的网络虚拟磁盘系统基于云计算的网络虚拟磁盘系统 组组 长 长 李彤李彤 组组 员 员 尹纪权 罗俊沣 蔡觅尹纪权 罗俊沣 蔡觅 提交日期 提交日期 2011 07 182011 07 18 i 填写说明 1 所有参赛项目必须为一个基本完整的设计 作品报告书旨在能够清晰准确地阐述 或图示 该参赛队的参赛项目 或方案 2 作品报告采用A4纸撰写 除标题外 所有内容必需为宋体 小四号字 1 5倍行 距 3 作品报告中各项目说明文字部分仅供参考 作品报告书撰写完毕后 请删除所有 说明文字 本页不删除 4 作品报告模板里已经列的内容仅供参考 作者也可以多加内容 I 目目 录录 第一章第一章 摘摘 要要 1 第二章第二章 作品介绍作品介绍 2 2 1 背景与意义 2 2 2 特色描述 4 2 3 应用市场分析 5 2 4 相关工作 5 第三章第三章 实现方案实现方案 7 3 1 系统方案与功能 7 3 1 1 系统客户端 代理服务器 云端间交互 8 3 1 2 开发工具 9 3 1 3 开发环境 9 3 1 4 适用的环境 9 3 1 5 软件指标 10 3 2 相关技术与原理 10 3 2 1 访问控制技术 11 3 2 2 Filedisk 文件驱动技术 12 3 2 3 文件过滤驱动技术 AES 透明加密 16 3 2 4 云平台管理技术 17 3 2 5 容灾备份技术 21 3 2 6 DLL 注入技术 22 3 3 客户端实现 24 3 3 1 磁盘管理 24 3 3 2 创建虚拟映像 加载 卸载虚拟磁盘 25 3 3 3 用户空间 27 3 3 4 权限控制 28 3 3 5 权限审批 29 3 4 代理服务端实现 30 3 4 1 用户管理 31 3 4 2 黑名单管理 31 3 4 3 磁盘管理 32 3 5 云端实现 32 3 5 1 云平台搭建 32 3 5 2 通信模块接口实现 35 3 6 软件流程 37 第四章第四章 功能测试功能测试 37 4 1 测试概述 37 4 2 测试方案 38 4 3 测试环境 38 4 4 测试过程 42 4 4 1 客户端测试 42 II 4 4 2 认证服务器测试 错误错误 未定义书签 未定义书签 4 4 3 云端测试 错误错误 未定义书签 未定义书签 第五章第五章 性能测试性能测试 62 5 1 安全性 63 5 2 加密速率与传输速率 65 5 3 易用性 66 第六章第六章 测试总结与分析测试总结与分析 67 第七章第七章 创新性与实用性创新性与实用性 68 7 1 创新性 68 7 2 实用性 69 第八章第八章 总结总结 70 8 1 项目工作总结 70 8 2 后期工作 71 参考文献参考文献 72 第 1 页 共 71 页 第一章第一章 摘摘 要要 随着信息化进程的不断推进 数据资源管理越来越受到企业的重视 但是相关 企业和部门在进行文件管理的过程中 经常会碰到以下几个问题 文件安全缺乏保 障 存在被窃取或者丢失的隐患 海量文件的存储 给服务器造成负担 导致效率 低下 文件存取操作麻烦 管理举步维艰等 相关企业以及政府部门在解决这一问题上 惯用的措施有 使用局域网文件共 享软件如飞鸽传书等 TrueCrypt 数据加密工具 禁用 U 盘等可移动设备 并遵循 联网机器不涉密 涉密机器不联网 原则 但是这样的一系列措施又给业务上带 来了诸多不便 这与业务要求本地数据安全可靠 内部资源共享方便安全等需求自 相矛盾 因而相关部门在实际实施过程中并没有严格按规定进行 从而导致了安全 隐患 所以 解决安全性和数据共享之间的矛盾 在保证用户数据安全 操作简单 使用方便的前提下能实现数据的共享 成了确保业务信息化健康发展的关键所在 在此背景下 本小组开发了一款基于云计算的网络虚拟磁盘系统 该系统采用 云计算的思想 实现了自动负载均衡及透明扩容缩容功能 为了克服公有云无法实 现资源安全隔离的弱点 本系统创新性地通过 Hadoop 云平台构建无缝式的虚拟磁盘 透明加密环境 实现独立存储和数据隔离 该系统采用身份认证 密钥协商 SHA 2散列函数 AES透明加解密 文件指纹 云平台管理 容灾备份和基于权限控制的共享审批等关键技术 集成了本地虚拟磁 盘数据加密 数据远程备份及共享审批等多种功能 保证了用户数据的安全 本作品分为三个组成部分 代理服务器 云端和客户端 其中云端负责文件分 布式存储与管理 客户端供用户对虚拟磁盘进行基本操作 对映像文件进行上传 文件加载 修改等 代理服务器负责身份认证 密钥分发 用户管理等 测试表明 本作品功能较完善 性能良好 通过高效快捷的存储管理机制 能 够有效地对抗强制说出密码的威胁 防止硬件故障造成的损失 将内部故意泄密的 危险降到最低 从而有效保障企业开发 电子政务过程中安全的内部文件共享 第 2 页 共 71 页 关键字 关键字 云计算 虚拟磁盘 透明加密 权限审计 文件共享 第二章第二章 作品介绍作品介绍 2 1 背景与意义背景与意义 文件共享是企业信息化进程中提高生产效率的基石 然而在文件共享的同时 若无法保障文件的安全 造成信息被监听 企业内部主动泄密 存储信息丢失等 会使企业蒙受巨大损失 1 在企业信息化中 实现文件共享的同时 企业内部泄密事件给企业造成损失 在企业信息化中 实现文件共享的同时 企业内部泄密事件给企业造成损失 重大 企业存在安全隐患 重大 企业存在安全隐患 随着企业信息化的发展 文件管理系统越来越多地使用于日常工作 成为不可 或缺的工具和手段 通过企业信息化大大提高了企业生产效率 打破地域之间的阻 碍 同时还会产生大量如客户资料 营销方案 财务报表 研发数据等关乎企业核 心竞争力的机密资料 然而 信息技术本身的双刃剑特性也在广泛应用中不断显现 强大的开放性和互通性催生了商业泄密 网络间谍等众多灰色名词 据美国 FBI 统 计 83 的信息安全事故为内部人员和内外勾结所为 70 的泄密犯罪来自于企业内 部 2011 年 4 月 4 日 一名被美国 Gucci 解雇的华裔网络工程师于曼哈顿刑事法院 过堂 他因为对公司做法感到不忿 以及想要炫耀自己的才能 多番入侵 Gucci 的 计算机系统 干扰网络的运作 关闭服务器及删除内存数据 使得 Gucci 计算机网 络的文件及电邮功能瘫痪将近 24 小时 大部分文件及电邮也被删除 Gucci 对此进 行修复及补救 花费逾 20 万元 同时删除多个服务器 关闭一个内存网络 使员工 无法登陆 网上购物平台也不能运作给企业造成了重大损失 在电子产品业 企业泄密案件更是层出不穷 如苹果产品加工生产基地富士康 的员工泄露 iPad2 设计图 一名即将离职 40 岁女雇员被怀疑泄密三星电子核心数据 包括了三星新技术资料 产品细节 甚至是未来 10 年规划 黑客入侵 PlayStation 游 戏网络平台 窃取了索尼 PS3 与音乐 网络云服务用户登入信息 在地下交易价值 数百亿美元 通过以上事例 我们可以看到企业内部的泄密问题给企业造成了重大的损失 第 3 页 共 71 页 事实上 对于企业来说 它们最关注的不应该是系统有没有遭到了入侵 而应该是 在系统中存放的数据和信息有没有被盗取 有没有被篡改 或者说是不是已经被破 坏掉了 核心数据才是企业最应该关注的地方 所以能够直接接触核心信息的员工 才最有可能给公司带来最大的损害 由此可见 数据安全存储与共享问题不容忽视 2 2 传统的安全防护手段已经难以应对目前的安全威胁 传统的安全防护手段已经难以应对目前的安全威胁 为了保障企业或部门内部的信息安全 目前安全界采用了多种防护手段和技术 包括外网安全系统 如杀毒软件 防火墙 入侵检测等系统 主动型文件和文件夹 加密系统 网络监控与审计系统 文件权限集中管理系统等 然而他们均存在安全 漏洞 防不住内部人员主动泄密 对于内部员工的管理 因为目前办公均为电子化办公 需要使用到大量电子信 息 包括技术资料 客户信息等等关键数据 数量庞大 流转速度又非常迅速 仅 仅通过管理手段与规章约束 可以说根本就无法起到实际性的效果 禁用 U 盘等可 移动设备 遵循联网机器不涉密 涉密机器不联网的原则 又给业务上带来了诸多 不便 这与业务要求本地数据安全可靠 内部资源共享方便安全等需求自相矛盾 因而相关部门在实际实施过程中并没有严格按规定进行 从而导致了安全隐患 同时 信息一旦泄露根本无法追查 在实际的诉讼过程中取证也成为最大的问 题 因为无法取证 或证据效力不够 导致许多企业只能吃哑巴亏 而且信息的泄 露大多数只有在问题出现后才能被发现 许多企业的重要信息早已泄露 但因目前 未被公开使用 所以一直未被知悉 一旦使用 势必造成巨大的经济损失 就相当 于一个又一个未被察觉的定时炸弹 时刻隐藏在企业的周围 3 海量文件存储给服务器造成很大负担 且系统故障容易给企业带来意想不到 海量文件存储给服务器造成很大负担 且系统故障容易给企业带来意想不到 的损失 的损失 在企业内部 公开发布的数据量逐年递增 如客户资料 营销方案 财务报表 研发数据等 这些都会促使 数据之山 越来越高 企业再也不能只管理自己的数 据 未来的成功很大程度上取决于能否从其他组织的数据中提取出价值 海量的存 储数据会给服务器造成很大的负担 降低读写效率 同时 由于意想不到的系统硬件故障 可能给企业带来意想不到的损失 一旦 开始使用多个硬件设施 其中一个会出故障的概率是非常高的 避免数据丢失的常 第 4 页 共 71 页 见做法是复制 通过系统保存数据的冗余副本 在故障发生时 可以使用数据的另 一份副本 然而冗余磁盘阵列的工作方式也会给服务器带来更大的负担 一旦服务器崩溃 后果不堪设想 所以 如何在企业信息化的进程中 如何在实现文件共享提高企业生产率的前所以 如何在企业信息化的进程中 如何在实现文件共享提高企业生产率的前 提下 保障企业文件安全 防止内部泄密以及信息丢失 成为了企业发展的关键问提下 保障企业文件安全 防止内部泄密以及信息丢失 成为了企业发展的关键问 题 题 鉴于以上背景 本作品旨在开发一款基于云平台的分布式文件管理系统 以云 平台为基础 结合虚拟磁盘技术 从文件的信道传输以及存储方式 浏览方式入手 进行透明加解密 同时采用平台分块存储和云平台管理技术达到防灾备份 确保数 据的安全性 从而保障了相关企业或部门业务 开发和电子政务的顺利进行 2 2 特色描述特色描述 作品分为三个组成部分 代理服务器 云端和客户端 其中代理服务器负责身 份认证 密钥分发 云端负责文件分布式存储与管理 客户端供用户对虚拟磁盘进 行基本操作 如文件上传 文件加载等 在实现文件共享的同时 要确保文件的安全性 就必须在文件的上传 加载 存储以及浏览等各环节中都采取必要切实可行的手段 通过对文档内容级的安全保 护 实现机密信息分密级且分权限的内部安全共享机制 本作品的核心设计思想 1 用户注册时通过RSA算法生成自己的公钥和私钥 用户登录时通过代理服务 器进行身份验证 用户与云端交互时通过与代理服务器共同实现三方认证协议 2 通过用户上传映像文件到云端 实现文件的共享 通过严格的权限控制 用 户只可加载自己权限范围内的文件 权限审批结果进行日志记录 方便管理以及追 究责任 3 文件加密后在信道中分块传输至云端 防止恶意的网络监听 截获 确保传 输过程中的安全性 4 文件以密文的形式分块存储在云端 每一个分块都有三个备份 防止信息被 窃取以及数据丢失 5 对用户访问映像文件时拷贝 截屏 另存和打印等行为进行限制 第 5 页 共 71 页 与现有的技术相比 本作品的特色表现为以下几个方面 1 将文件的安全保密和资源共享结合起来 目前国内许多安全软件 在重视本 地数据安全时 忽略了企业内部资源共享的前提 本作品利用云存储的集群应用 网格技术或分布式文件系统等功能 同时通过行为限制等功能 有效地帮助用户解决 日益增长的数据的可访问性 安全性 移动性和成本问题 2 容灾备份 HDFS文件块通过索引表进行管理 不仅能减少寻址时间开销 还能在一个块发生损坏或机器故障时 在其他地方读取另一个副本并复制 通过查 看文件块分配索引表 将新的副本存放在选定的数据结点上 3 高效方便 密钥由服务器生成 加解密在驱动级上实现 速度可观 过程自 动 实时和透明化 加载磁盘后 在客户本地生成新的磁盘 操作简便 界面友好 2 3 应用市场分析应用市场分析 本作品是基于云计算的网络虚拟磁盘系统 采用较为成熟的虚拟磁盘技术 通 过网络共享构建无缝式的虚拟磁盘环境 实现数据多域独立存储和数据隔离 并以 在云端分布式存储的方式 实现了数据便捷 快速 安全共享与权限审核 独具特 色的共享审批功能 在保证用户数据安全 操作简单 使用方便的前提下能提升信 息共享行为的合法性和安全性 适用于 1 国家重要部门 采用有效的机密文档的安全存储与共享措施 保证电子政务 安全无忧 2 行业性强的企事业单位 确保重要资料 源码不外泄 提供便捷安全的开发 环境 同时 本作品数据存储与加解密对用户完全透明 界面友好 用户无需具备过 多的专业知识即可使用 对于用户使用方便 综上所述 本作品具有很好的实用价值和应用前景 2 4 相关工作相关工作 为了保证企业内部信息数据的全面共享 又能提高工作效率 保证其安全 防 止泄密 目前主要有以下五种手段 然而他们都存在一定的缺陷 第 6 页 共 71 页 1 外网安全系统在计算机安全产品中 杀毒软件 防火墙 入侵检测等系统 然而这些系统都是基于外部安全模型的 它们可以有效的防止外部黑客入侵带来的 电子文档泄密风险 但无法阻止内部人员的泄密 当有新的病毒 攻击手段 漏洞 等出现时 企业必须及时升级 软硬件的升级费用 常常也是一笔不小的开支 2 主动型文件和文件夹加密系统 用户主动在保存文件时设置密码或者在文件 保存完毕之后 用第三方软件予以加密 然而在密码传输过程中同样存在泄密问题 且文档创造者可在文件加密处理之前给自己留下拷贝 因而此方法还是防不住内部 人员的主动泄密 3 网络监控与审计系统 企业中计算机管理人员对每一台涉密计算机进行监控 并可根据这些操作制定不同的策略 这种系统的核心便是 监视 控制 审计 而其基本思想在于 堵漏洞 它在一定程度上可以规范计算机用户的网络行为 降 低了内部人员对企业网络发起攻击的风险 然而却将用户带到了一个两难的境地 用户要么为了必要的 正常的工作交流而留一些 口子 从而大大降低系统的可靠 性 要么就堵死所有的 漏洞 以牺牲方便性为代价来换取严格的安全性 并且它 无法保证泄密事件发生后不造成损失 尤其是当泄密人员觉得他泄密本公司的电子 文档后带来的收益比公司开除他带来的收益更大时 该系统变得毫无用处 4 文件权限集中管理系统 它属于一种文件格式转换系统 该系统管理的直接 是电子文档数据本身 可在一定程度上从源头上保证电子文档的安全 然而同样无 法真正防止内部人员的主动泄密 需要更多的投资于服务器和周边子系统 需要庞 大的数据库做后台支持 且不能保护所有的文件 5 强制文件加解密系统 它通过保证电子文档从创建到打开 编辑 浏览 保 存 传输直至删除的整个生命周期中始终处于加密状态 任何人 包括文件的创建 者和合法使用者 始终都接触不到非加密状态的文件 来做到没有人能够带走非加 密文件的安全效果 然而由于涉密文件全部被加密 并且在文件使用过程中安全软 件进行文件的自动加解密 如果软件出错或者在停电等异常情况下 增大了文件损 坏的几率 并且一般文件损坏就无法修复 所以对安全系统自身的稳定性和可靠性 要求极高 当采用实时加密技术时 在大文件的打开或保存时会有一定的延迟现象 与上述工作相比 本作品有自己的独特之处 主要表现为 第 7 页 共 71 页 1 本作品能在实现文件共享的前提下保障文件安全 将内部泄密的可能性降低 到最小 2 本作品将文件分块存储在云平台 具有容灾备份的功能 3 本作品将文件分块传送至云端 通过分布式文件管理系统 实现负载均衡 防止海量数据造成服务器崩溃 4 本作品进行透明式加解密 自动提醒用户加密 操作简单 使用方便 第三章第三章 实现方案实现方案 3 1 系统方案与功能系统方案与功能 系统架构由客户端 云端和代理服务器三方组成 代理服务器负责客户端和云 端交互过程中的身份认证与密钥分发 云端负责对用户上传的映像文件进行分布式 存储与管理 客户端可以供用户进行虚拟磁盘的基本操作 如创建映像文件 上传 映像至云端 从云端加载映像等等 系统架构如图3 1所示 图 3 1 系统框架结构 第 8 页 共 71 页 3 1 1 系统客户端 代理服务器 云端间交互系统客户端 代理服务器 云端间交互 黑黑名名单单管管理理用用户户管管理理 S So oc ck ke et t通通信信 S So oc ck ke et t通通信信 磁磁盘盘管管理理磁磁盘盘虚虚拟拟用用户户空空间间权权限限控控制制 注注册册账账号号用用户户登登录录身身份份验验证证 主主 界界 面面 I In nt te er rn ne et t S SQ QL L 数数据据库库 管管理理 操操作作 访访问问 代代理理服服务务 器器端端 客客户户端端 主主界界面面 访访问问控控制制 身身份份 合合法法 客客 户户 端端 与与 代代 理理 服服 务务 器器 交交 互互 图3 2 客户端与代理服务器交互 客户端与云端交互如图3 3所示 对于企业 每个部门作为一个相对独立的存储 域 对于部门一每个员工来说 他可以通过云终端 客户端 创建自己的用户空间 企业内部 成员之间可以进行方便快捷的文件共享 但对于部门之间的共享行为 需要通过相关部门的负责人进行审批 第 9 页 共 71 页 部部门门间间共共享享 部部门门内内部部交交换换 审审 批批 部门一 部门二部门三 部门四 加加载载 卸卸载载 企 业 内 部 网 络 创创 建建 部门一负责人 云云端端 图 3 3 客户端与云端交互 3 1 2 开发工具开发工具 Microsoft Visual C 6 0 Microsoft SQL Server 2005 Eclipse 3 1 3 开发环境开发环境 VC Java Apache Hadoop 3 1 4 适用的环境适用的环境 操作系统 Windows2000 Windows XP Vista Windows 7 Linux 使用范围 国家重要部门内部文件共享及电子政务 行业性强的企事业单位内部文 件共享及移动办公 教育网内资源共享与存储 特殊情况下的公共网络 该情况可 以通过限制虚拟映像文件的上限为一个较小值来保证系统的性能 第 10 页 共 71 页 3 1 5 软件指标软件指标 3 1 5 1 功能指标功能指标 本系统定位为一款实用 专业的保护计算机使用者隐私安全和数据共享安全的文 件管理系统 制定指标如下 1 系统能够在常见的Windows Linux操作系统环境下正常运行 并且使用本 系统不会对原有的系统造成不利影响 2 能防止由于文件被恶意删除 或者电脑中毒 硬盘崩溃等带来的损失 保 证本地文件安全存储 并能方便安全地实现使用者之间的数据共享 3 服务器端负载自动均衡 服务稳定 云端数据安全可靠 不丢失 4 具有友好美观的界面 方便实用的使用方式和舒服人性化的使用体验 3 1 5 2 性能指标性能指标 登录系统的响应时间 2 5S 映像文件的大小 2M 4G 映像文件在局域网中的传输速度 大于12M s 视带宽而定 加解密速度 不低于40M s 3 2 相关技术与原理相关技术与原理 近年来 云存储技术发展日益成熟 云存储标准可以帮助用户解决日益增长的 数据的可访问性 安全性 移动性和成本问题 还可以帮助明确定义与数据所有权 归档 发现和搜索相关的角色和职责 本系统正是基于此技术 采用云计算的思想 实现了自动负载均衡及透明扩容缩容 为了克服公有云无法实现资源安全隔离的弱 点 本系统通过实现加密过程自动 实时和透明化的本地虚拟磁盘 创新性地通过 网络共享构建无缝式的虚拟磁盘环境 实现独立存储和数据隔离 并结合网络共享 安全需求与云存储标准 设计了独具特色的共享审批功能 该存储系统采用身份认证 密钥协商 SHA 2散列函数 AES透明加解密 文件 指纹 云平台管理 容灾备份和基于权限控制的共享审批等关键技术 集成了本地 虚拟磁盘数据加密 数据远程备份及共享审批等多种功能 保证用户数据的安全 第 11 页 共 71 页 3 2 1 访问控制技术访问控制技术 本作品基于C S模式 通过身份认证技术与密钥协商技术相结合 实现严格的 访问控制机制 3 2 1 1 身份认证技术身份认证技术 客户端程序首先将用户名和密码采用美国国家标准局 ANSI 和国际标准化组 织 ISO 推荐的 SHA 2 哈希函数进行处理 再将处理后的哈希值用服务器公钥加 密发送至服务器 同时 利用下述技术实现用户身份的认证 假定 A 为客户端 B 为服务器 A 将自己的身份传递给 B 但是 B 不能确定此信息是来自 A 还是窃密者 A ID C B 收到后 产生一个随机的消息 用 A 的公钥加密和得到 A ID B R A P A ID B R 并用自己的私钥计算运算即签名 将加 1 A PAB yIDR E B S 2 BA SPAB yIDR DE 密结果和签名结果传送给 A A PAB IDRE BA SPAB IDRDE A 收到消息后用 B 的公钥对签名进行验证 验证原理为 B P BA SPAB IDRDE 判断等式 是否成立 由于只有合法的 B 才拥有 BBA PSPAB IDREDE A PAB IDRE 私钥 因此 A 就可以通过上述等式成立与否确认通信对方是否为 B 如果验证通 B S 过 A 确认通信对方为 B 并对进行解密 解密 A PAB IDRE 再分离出和 A PAB IDRE AB IDR A ID B R A 将求得的用 B 的公钥加密传送给 B 因为只有合法的 A 可以求得 B R B P 从而可以得到正确的 B 只需用自己的私钥解密即可得到 B R B PB RE B S B PB RE B R 将此与原来的对比就可以确认对方是否是意定的通信方 A B R B R 该身份认证技术具备以下特点 实现了通信双方的交互认证 防敌手的假冒攻击 防重放攻击 提供了消息的机密性和完整性保护 3 2 1 2 密钥协商技术密钥协商技术 第 12 页 共 71 页 假设 分别为大素数 且满足 为循环群中的一个二次剩pq21pq q G p Z Z 余子群 即 为的生成元 为安全 hash 函数 假定 2 qp Gii Z Zg q GH 表示初始的参与通信的成员集 且集合中成员的下标构成一个环 即 12 P P P P n 为 为 依此类推 具体的密钥协商过程如下 1 Pn 1 P 0 PPn Step1 每一个参与方选择一个随机数 计算并广播Pi 1 in iq x Z Z mod i x i ygp Step2 接收到所有的后 j y 1 jn ji 随机选取 计算并广播 1 P 1q RG 1 112 mod x zR yp 随机选取 计算并广播 Pn nq RG 1mod n x nnn zR yp 选择一个随机数 计算并广播 其中Pi 21 in iq sZ iiii z 11 mod i x iii zyyp mod i s i gp 11 mod i s iii yyp mod iiiiii sx H zq Step3 接收到所有的后 计算共享密钥 jjjj z 1 jn ji Pi 1 2 1 2 12 1 2 1 1 121 1 mod mod n i i n i i gzpn k gzpn 当为奇数 当为偶数 最后可得 1 22 31 mod nn x xx xxx kgp 该 PGKA 协议由本项目组设计 并发表在 Computer Standards 参数的路径 RTL QUERY REGISTRY TABLE query table 2 注册表查询表 第 13 页 共 71 页 ULONG n devices 最大创建多少个设备 NTSTATUS status 返回的状态 UNICODE STRING device dir name UNICODE STRING 类型的 DEVICE DIR NAME 值 OBJECT ATTRIBUTES object attributes ULONG n 循环时用到的自增变量 USHORT n created devices 已经创建设备的个数 InitializeObjectAttributes status ZwCreateDirectoryObject if NT SUCCESS status return status ZwMakeTemporaryObject dir handle for n 0 n created devices 0 n n devices n 创建磁盘设备 status FileDiskCreateDevice DriverObject n FILE DEVICE DISK if NT SUCCESS status n created devices for n 0 n n devices n 创建光驱设备 status FileDiskCreateDevice DriverObject n FILE DEVICE CD ROM if NT SUCCESS status n created devices 第 14 页 共 71 页 if n created devices 0 ZwClose dir handle return status return STATUS SUCCESS 主函数入口 备份传入路径 查询注册表值 调用ZwCreateDirectoryObject创建 设备目录 重复4次调用FileDiskCreateDevice创建设备 初始化操作函数指针 FileDiskCreateDevice 调用IoCreateDevice创建设备 KeInitializeEvent初始化事件对象 PsCreateSystemThread创建内核线程 入口函数是FileDiskThread 传入的函数参数为 IoCreateDevice返回的设备对象 FileDiskThread 首先调用KeSetPriorityThread更改自身线程的优先级为 LOW REALTIME PRIORITY 然 后开始for 调用KeWaitForSingleObject函数等 待事件对象有信号 如果等到 判断事件类型 有如下几种 1 IRP MJ READ 调用ZwReadFile读取文件 从内核到用户缓冲区 2 IRP MJ WRITE 调用ZwWriteFile写入文件 从用户到内核缓冲区 IRP MJ DEVICE CONTROL 在FileDiskDeviceControl设置事件才会触发 主要有如下两种操作码 1 IOCTL FILE DISK OPEN FILE 调用FileDiskOpenFile 2 IOCTL FILE DISK CLOSE FILE 调用FileDiskCloseFile FileDiskOpenFile 根据用户程序传入的映像文件全路径 调用ZwCreateFile在内 核中打开它 如果文件不存在则再创建它 返回文件句柄 FileDiskCloseFile 调用ZwClose关闭文件 FileDiskCreateClose 仅返回成功 对应Create Close操作 第 15 页 共 71 页 FileDiskReadWrite 将IO包插入队列 然后调用KeSetEvent函数 激活事件对象 对应Read Write操作 FileDiskDeviceControl 用户程序调用DeviceIoControl的响应函数 主要有如下 两种操作 1 IOCTL FILE DISK OPEN FILE 设置好参数 将IO包插入队列 设置对 象为有信号 2 IOCTL FILE DISK CLOSE FILE 将IO包插入队列 设置对象为有信号 其它的操作类型因为输入输出共用一个缓冲区 所以都采用系统默认处理 设 置好需要输出的参数后 就直接从这个函数返回了 如 IOCTL DISK GET DRIVE GEOMETRY IOCTL CDROM GET DRIVE GEO METRY 有4种操作是自定义的 FileDiskReadWrite 函数两种 FileDiskDeviceControl函数两种 对应的操作码分 别是 IRP MJ READ IRP MJ WRITE IOCTL FILE DISK OPEN FILE IOCTL FILE DISK CLOSE FILE这4种 在FileDiskThread中 等待这4种事件发生 如果等到 就 调用相应的函数处理 2 应用层源码分析 mount 调用DefineDosDevice在应用层创建一个指向设备命名空间的符号链接 用 CreateFile打开此链接 然后调用DeviceIoControl 控制码是 IOCTL FILE DISK OPEN FILE 内核程序响应后 执行真正打开源映像文件的操 作 umount 执行关闭映像文件的操作 和上面大致一样 只是多一些步骤 不同的是控制 码改为 第 16 页 共 71 页 IOCTL FILE DISK CLOSE FILE 之后必须发送 FSCTL DISMOUNT VOLUME 3 2 3 文件过滤驱动技术文件过滤驱动技术 AES 透明加密透明加密 传统的加解密软件的几个弊端 每次加解密都需要用户手动输入密钥 过程较为麻烦 密钥遗忘或丢失的风险 一旦密钥丢失 用户文件可能永远无法取回了 密钥管理的困难 该系统在不改变用户使用习惯 计算机文件格式和应用程序的情况下 采取 驱动级透明动态加解密技术 对指定类型的文件进行实时 强制 透明的加解密 即在正常使用时 计算机内存中的文件是以受保护的明文形式存放 但硬盘上保存 的却是加密状态的数据 加解密采用分组长度 128 位的 AES 加密算法 其中 密码学中的高级加密标准 Advanced Encryption Standard AES 又称 Rijndael 加密法 是美国联邦政府采 用的一种区块加密标准 属于对称分组密码体制 由于本系统的加解密是在驱动级上实现的 在每次读写文件时自动使用特定的 密钥进行加解密 对用户完全透明 对于非管理员用户而言 他们甚至完全不需要 知道密钥的存在 驱动级透明加密技术基于 windows 的文件系统 过滤 驱动 IFS 技术 由 于工作在受 windows 保护的内核层 运行速度更快 加解密操作更稳定 本系统在 驱动级上实现文件的加解密操作如下图 3 4 所示 用户进行读写操作后 IO 管理器 根据用户操作生成文件读写操作指针 IRP IRP 传递到驱动程序 执行指定的派遣函 数 在派遣函数中执行加解密操作 加解密操作结束后 得到结果 并将结果返回 给 IO 管理器 第 17 页 共 71 页 图3 4 透明加解密过程 3 2 4 云平台管理技术云平台管理技术 3 2 4 1 云计算简介云计算简介 云计算 Cloud Computing 是分布式处理 Distributed Computing 并行处理 Parallel Computing 和网格计算 Grid Computing 的发展 或者说是这些计算机科学概 念的商业实现 云计算的基本原理是 通过使计算分布在大量的分布式计算机上 而非本地计 算机或远程服务器中 企业数据中心的运行将更与互联网相似 这使得企业能够将 资源切换到需要的应用上 根据需求访问计算机和存储系统 3 2 4 2 MapReduce MapReduce作业 job 是客户端执行的单位 它包括输入数据 MapReduce程序和 配置信息 Hadoop通过把作业分成若干个小任务 task 来工作 其包括两种类型的任 务 map任务和reduce任务 有两种类型的节点控制着作业执行过程 jobtracker和多个tasktracker jobtracker 通过调度任务在tasktracker上运行 来协调所有运行在系统上的作业 Tasktracker运 行任务的同时 把进度报告传送到jobtracker jobtracker则记录着每项任务的整体进展 情况 如果其中一个任务失败 jobtracker可以重新调度任务到另外一个 tasktracker Hadoop把输入数据划分成等长的小数据发送到MapReduce 称为输入分片 第 18 页 共 71 页 input split 或分片 Hadoop为每个分片 split 创建一个map任务 由它来运行用户自 定义的map函数来分析每个分片中的记录 拥有许多分片就意味着处理每个分片的时间与处理整个输入的时间相比是比较 小的 因此 如果我们并行处理每个分片 且分片是小块的数据 那么处理过程将 有一个更好的负载平衡 因为一台速度较快的计算机 将能够比一台速度较慢的机 器在作业过程中处理完更多的数据分片 即使是相同的机器 没有处理的或其他同 时运行的作业也会使负载平衡得以实现 并且在分片变得更细时 负载平衡质量也 会更佳 另一方面 如果分片太小 那么管理分片的总时间和map任务创建的总时间将决 定作业执行的总时间 对于大多数作业 一个理想的分片大小往往是一个HDFS块的 大小 默认是64 MB map任务的执行节点和输入数据的存储节点是同一节点 Hadoop的性能达到最 佳 这就是所谓的data locality optimization 数据局部性优化 3 2 4 3 HDFS HDFS是为以流式数据访问模式存储超大文件而设计的文件系统 在较低配置要 求硬件的集群上运行 HDFS建立在这样一个思想上 一次写入 多次读取模式是最 高效的 一个数据集通常由数据源生成或复制 接着在此基础上进行各种各样的分 析 每个分析至少都会涉及数据集中的大部分数据 甚至全部 因此读取整个数据 集的时间比读取第一条记录的延迟更为重要 HDFS集群有两种节点 以管理者 工作者的模式运行 即一个名称节点 管理 者 和多个数据节点 工作者 名称节点管理文件系统的命名空间 它维护着这个 文件系统树及这个树内所有的文件和索引目录 这些信息以两种形式将文件永久保 存在本地磁盘上 命名空间镜像和编辑日志 名称节点也记录着每个文件的每个块 所在的数据节点 但它并不永久保存块的位置 因为这些信息会在系统启动时由数 据节点重建 第 19 页 共 71 页 图3 5 HDFS结构图 客户端代表用户通过与名称节点和数据节点交互来访问整个文件系统 如图3 5 数据节点是文件系统的工作者 它们存储并提供定位块的服务 被用户或名称节 点调用时 并且定时的向名称节点发送它们存储的块的列表 3 2 4 4 文件读取文件读取 文件以分块的形式存储在云端数据结点上 数据结点中存放文件块索引通过名 称结点获得 因此 云终端与云端进行通信时 终端HDFS开始分布式计算 向名称 结点NameNode请求并获得数据分块位置 终端通过读取FSDataInputStream数据流 从各个数据结点上分别读取数据块并在终端进行合并 最后关闭管道 结束本次读 取 文件读取剖析如图3 6 图3 6 文件读取剖析 第 20 页 共 71 页 3 2 4 5 文件写入文件写入 文件写入与读取基本类似 云终端通过调用Create向NameNode发送请求 然后 通过FSDataOutputStream数据流进行文件写入 数据将分块存储在各个数据结点上 NameNode负责维持整个文件系统的负载均衡以及分块副本数目 文件写入剖析如图 3 7 图3 7 文件写入剖析 在 eclipse 中 实现将本地文件复制到 Hadoop 文件系统 HDFS 并显示进度 1 public class FileCopyWithProgress 2 public static void main String args throws Except ion 3 String localSrc args 0 4 String dst args 1 5 InputStream in new BufferedInputStream new FileI nputStream localSrc 6 7 8 Configuration conf new Configuration 9 FileSystem fs FileSystem get URI create dst co nf 10 OutputStream out fs create new Path dst new Pr ogressable 第 21 页 共 71 页 11 public void progress 12 System out print 13 14 15 16 IOUtils copyBytes in out 4096 true 17 18 3 2 4 6 容崩自检机制容崩自检机制 没有名称节点 文件系统将无法使用 因此 名称节点能够经受故障是非常重 要的 本系统通过在Hadoop上运行一个二级名称节点的机制来保证系统的可靠性与 可用性 对于二级名称节点 其不能作为名称节点使用 这个二级名称节点的重要作用 就是定期的通过编辑日志合并命名空间镜像 以防止编辑日志过大 该节点一般在 其他单独的物理计算机上运行 因为它也需要占用大量CPU和内存来执行合并操作 它会保存合并后的命名空间镜像的副本 在名称节点失效后就可以使用 但是 二级名称节点的状态是比主节点滞后的 所以主节点的数据若全部丢失 损失仍在所难免 在这种情况下 一般把存在NFS上的主名称节点元数据复制到二 级名称节点上并将其作为新的主名称节点运行 3 2 5 容灾备份技术容灾备份技术 HDFS文件块的概念与普通的文件系统中分块的概念基本相同 不过是更大的单 元 默认为64 MB 这样的一个好处是减少寻址时间开销 与单一磁盘上的文件系 统不同的是 HDFS中小于一个块大小的文件不会占据整个块的空间 在分布式文件系统中使用抽象块会带来很多好处 最明显的好处是 一个文件 可以大于网络中任意一个磁盘的容量 文件的分块不需要存储在同一个磁盘上 因 此它们可以利用集群上的任意一个磁盘 云存储最大的问题是数据完整性和保密性 由于本系统采用虚拟磁盘技术 每 个映像文件都是加密后的密文 因而可以保证数据的保密性 另外 对于完整性 由于所有映像文件分块存储在云端 而数据分块副本机制为实现容错 容灾和备份 第 22 页 共 71 页 奠定了基础 图3 8 文件分块存储索引 上图3 8是NameNode上文件分块存储索引 从索引表中 NameNode可以知道哪 些文件块在哪些DataNode上 通过MapReduce对HDFS进行管理 为了恢复损坏的块以及应对磁盘或机器的故障 每个块都将自己的另外两个副 本放在其它数据结点上 并保证副本数目的恒定 这个工作由设立在名称结点上的 监控程序完成 如果一个块发生损坏或机器故障 系统会在其他地方读取另一个副本 并将此 副本复制一份 通过查看文件块分配索引表 根据负载均衡原则 将新的副本存放 在选定的数据结点上 以保证副本的数量回到正常水平 这个过程对用户是完全透 明的 当然 对于非常热门的文件块 我们可以给其设置更高的副本数量以提高集群 的读取负载量 3 2 6 DLL 注入技术注入技术 本系统还为移动办公提供了支持 包括两大版块 一是安全策略的实施 对业 务系统操作进行安全控制 二是操作环境的记录与跟踪审计 其中 安全策略有三 项 保存与打印控制 文字拷贝控制 屏幕拷贝控制 3 2 6 1 页面保存与打印控制页面保存与打印控制 第 23 页 共 71 页 对于业务上的文档 大部分为word文档和pdf文档 因此对这两种主流文档的保 存和打印控制是非常必要的 控制的前提是捕获事件spplicstion SaveAs 该过程主 要通过系统钩子模块完成 钩子实际上是一段用来处理系统消息的程序 通过系统调用 将其挂入到系统 它是Windows的消息处理机制中的一个监视点 在设置钩子的情况下 Windows的消 息传递过程会发生改变 钩子可以在系统中的消息流到达目的窗口过程前监控它们 钩子函数可以监视指定窗口的某种消息 而且所监视的窗口可以是其他进程所创建 的 当消息到达后 钩子机制允许应用程序截获处理窗口消息或特定事件 这时钩 子函数既可以加工处理 改变 该消息 也可以不进行处理而继续传递该消息 还 可以强制结束消息的传递 3 2 6 2 文字拷贝控制文字拷贝控制 文字拷贝主要是实现当用户在操作敏感业务系统时候 需要禁止用户通过拷贝 方式将重要数据保存下来 其关键技术是对剪贴板的监控 如果发现剪贴板在用户 操作过程中发现变化 则说明用户已经实施了拷贝行为 Windows剪贴板是一种开销比较小的IPC InterProcess Communication 进程间通讯 机 制 Windows系统支持剪贴板IPC的基本机制是由系统预留一块全局共享内存 用来 暂存在各进程间需要交换的数据 提供数据的进程创建一个全局内存块 并将要传 送的数据移到或复制到该内存块 接受数据的进程 也可以是提供数据的进程本身 获取此内存块的句柄 并完成对该内存块数据的读取 为了实现上述功能 Windows提供了存放于USER32 dll中的一组API函数 消息和预定义数据格式等 并 通过对这些函数 消息的使用来管理在进程间进行的剪贴板数据交换 系统调用剪贴板的简化步骤为 首先通过调用OpenClipboard函数打开剪贴板 如 果是获取剪贴板的内容则调用GetClipboardData函数 如果是设置剪贴板内容则先通 过调用EmptyClipboard函数清空剪贴板 然后调用SetClipboardData设置剪贴板内容 在获取和设置剪贴板内容的函数的参数中都要有相应的数据格式 3 2 6 3 屏幕拷贝控制屏幕拷贝控制 屏幕拷贝主要通过对用户键盘操作进行控制完成 一方面禁用屏幕拷贝按钮 另外一方面禁止具有屏幕拷贝功能的进程出现 键盘控制主要也通过系统钩子模块 完成 第 24 页 共 71 页 Win32系统会为钩子建立一个钩子链 HookChain 一个钩子链实际上是一个指针 列表 其指针指向钩子的各个处理函数 这些函数是一种特殊的回调函数 钩子链 的运作方式类似于栈 在钩子链中最后安装的钩子放在钩子链的最前面 最先安装 的钩子则放在钩子链的最底层 所以最后加入的钩子优先获得控制权 通过挂接系统键盘钩子 即可完成对屏幕打印键的控制 3 3 客户端实现客户端实现 3 3 1 磁盘管理磁盘管理 用户登录后 客户端的程序接下来要完成的是进行初始化的工作 首先 服务器会依据该用户的用户名对数据库表userFileTable执行一个SQ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学《化学生物学-无机化学》考试备考试题及答案解析
- 2025年大学《融合教育-融合教育课程设计》考试备考题库及答案解析
- 2025年大学《航空安防管理-航空安防法律法规》考试备考试题及答案解析
- 2025年大学《创业管理-商业模式设计》考试备考题库及答案解析
- 2025年大学《储能科学与工程-储能材料》考试备考题库及答案解析
- 中国潜孔钻冲击器行业市场规模及投资前景预测分析报告
- 中国热水管道离心泵行业市场前景预测及投资价值评估分析报告
- 中国熔盐阀行业市场规模及投资前景预测分析报告
- 公司漆器彩绘雕填工岗位设备安全技术规程
- 小学信息技术五年级下册《 第3课 三维模型我来建》教学设计
- 2025下半年榆林神木市公共服务辅助人员招聘(80人)考试笔试备考试题及答案解析
- 腾讯手机行业消费趋势洞察报告(2025年版)
- AIGC艺术设计 课件全套 第1-8章 艺术设计的新语境:AI的介入 -AIGC艺术设计的思考与展望
- 个人所得税APP培训课件
- 卡车基本构造专业知识课件
- 教学成果奖申报技巧课件
- 部编版道德与法治五年级上册【第四单元】全单元课件
- 取、弃土场作业指导书
- 基桩完整性试验检测记录表(低应变法)
- 2023学年安徽省合肥市一六八中学物理高二第一学期期中监测试题含解析
- 居住型公寓设计要求及标准(68页)
评论
0/150
提交评论