北京邮电大学 黄 强 王芃森 何珊珊
指导老师: 崔宝江
摘 要
当前企业中, 普通计算机中的数据保护往往未受到应有的重视, 不同类型的数据都可能遭到篡改和泄露。 且由于企业的计算机数量多并存在共性, 在计算机管理中亟需一种专门的集中式管理的数据保护和恢复系统。 针对这些问题, 本文研究并独创出了一种快速、 全面的软件相关项分析技术——动态软件快照生成技术, 设计了基于云存储的远程集中式企业数据管理保护机制以及企业计算机两阶段数据保护机制。 并在此基础上, 设计并实现了一种针对四种不同数据类型、 附带多重保护模式、 提供快照备份检测功能的数据保护系统——基于云存储的远程集中式企业数据保护系统。
关键词: 云存储; 数据恢复; 集中式; 快照
Implementation of Remote Centralized Data Protection System For Enterprise Based On Cloud Storage
Abstract
In the current enterprise, ordinary computers are mostly vulnerable such as data corruption and confidential information leakage. Since the enterprise computers have common characteristics , it' s greatly necessary for enterprise computers to have a kind of centralized management data protection and recovery system. In this paper, dynamic software snapshot generation technology was designed and created. This technology is a fast, comprehensive software analysis technique. Besides, remote centralized of enterprise data management protection mechanisms based on cloud storage and two-stage data protection mechanism were designed and implemented. Based on these, a system for four different data types with multiple protected mode was designed and implemented to protect the enterprise information with the way of remote centralized protection, namely Remote Centralized Data Protection System For Enterprise Based On Cloud Storage. The system uses information security technology, based on Hadoop cloud platform, according to the characteristics of enterprise computers management.
Key words:cloud storage; data recovery; centralized management; snapshot
1 引言
当前计算机的使用范围越来越广, 企业的信息化运作更是离不开计算机的支持。 当前企业运作中的数据安全保护, 多以数据库为备份和保护单位, 以局域网隔离来限制内外信息交流。
但是, 容易受到数据篡改或泄露机密信息的普通计算机, 却鲜有专门的防护措施。 在企业的网络安全防范不当或内部人员恶意破坏等情况下, 普通电脑数据的破坏, 不仅会影响到当前的使用者, 更极有可能成为企业信息安全网络中最薄弱的环节。
同时, 企业计算机数量众多, 而且不同的计算机上又拥有软件、 服务、 网站、 数据库等不同类型的数据。 管理者在没有对应的计算机数据管理软件的情况下, 难以兼顾到每台计算机的数据安全, 导致了设置统一的数据备份和安全防范策略耗时费力、 成效低下。
根据以上问题, 我们总结出企业计算机使用的三点安全隐患:
1) 没有对普通计算机进行数据备份和保护。
在企业中, 普通员工使用的计算机数据安全往往被忽视, 在计算机数据遭到篡改后, 使用者只能选择重新下载安装, 甚至放弃恢复数据。
同时, 一些存在于普通计算机上的秘密资料也可能受到木马病毒或社会工程学攻击的破坏, 导致普通计算机上的数据安全成了被忽视的薄弱环节。
2) 没有针对性的数据备份和恢复方式。
在企业中, 不同的计算机承担着不同的工作, 如应用计算机需要运作软件、 服务器终端需要维护系统服务的稳定、 网站服务器需要维护网站网页不被恶意攻击和篡改、 数据库需要定时备份等。 针对性的数据备份和恢复方式, 可以快捷、 有效地对计算机上的数据进行分类管理。
3) 没有集中式管理的数据备份和安全保障系统。
在企业中, 多数计算机以一种有共性的群体形式存在, 但通过人工对每台计算机进行数据安全配置、 备份和恢复, 效率和成效十分低下。 企业缺少一种集中式的管理系统, 以统一调度和管理计算机群的数据安全。
基于上述存在的问题, 本文设计了一种针对企业数据管理特点而定制的远程集中式数据保护系统——基于云存储的远程集中式企业数据保护系统。 将企业内部所有的机器进行权限管理和控制, 由管理员远程集中式统一维护, 通过远程控制来对客户端的数据进行保护, 对软件和服务进行生成快照、 快照检测和文件防篡改, 实现对企业计算机应用和网络系统的保护和恢复, 保护了企业文件和数据的安全, 进而保护了企业计算机应用软件和服务以及企业信息系统的可用性、 完整性。
2 体系结构和机制设计
本文综合运用信息安全技术, 创作了一套远程集中式对企业计算机数据的保护机制, 提供对软件、系统、 数据的安全性和机密性的保护。
2.1 系统架构
基于云存储的远程集中式企业数据保护系统分为三个端: 管理端、 客户端和服务器端; 按照功能模块主要划分为数据管理维护模块、 快照生成模块、 数据保护模块等, 如图1所示。
图1 系统功能模块——结构图
2.1.1 数据管理维护模块
该模块运行在客户端, 是系统操作核心, 远程控制客户端的数据保护行为, 主要功能是向客户端、服务器端发送操作命令, 实现数据的保护和恢复, 拥有四个子模块:
1) 应用系统: 负责管理客户端的应用软件和系统服务快照的生成、 检测、 恢复。
2) 网络系统: 负责管理客户端的IIS网站快照的生成、 检测、 恢复和数据库的备份和恢复。
3) 安全防护: 负责开启或关闭客户端数据保护模块 (文件防篡改功能)。
4) 消息中心: 负责界面显示管理端的各种操作命令和通信行为。
2.1.2 快照生成模块
使用动态软件快照生成算法, 分析生成软件快照和系统快照。 并且在上传备份至服务器之前进行冗余匹配, 用户不需要上传已在服务器端备份过的文件。
快照生成模块分成四个子模块:
1) 应用软件快照生成模块。
2) 系统服务快照生成模块。
3) IIS网站快照生成模块。
4) 数据库备份上传模块。
该模块运行在客户端, 等待并执行管理端的指令。 通过对应用软件、 系统服务、 IIS网站进行分析并生成快照, 并对数据库进行基于日志的增量备份。 客户端在通过摘要匹配后向服务器上传快照数据, 快照的存在可以使客户端在需要时恢复软件、 系统服务、 IIS网站或数据库到快照生成时的状态。
2.1.3 数据保护模块
定时或实时地对客户端计算机中的应用系统和网络系统中的文件与之前所生成的快照内容进行MD5值匹配检测, 检测出发生变化的文件, 仅下载并恢复检测不匹配的文件和注册表, 增加了用户恢复文件的针对性, 极大减少了恢复所需要的网络传输流量和时间。
文件防篡改综合运用远程集中式数据保护机制, 提供对客户端的关键文件防篡改功能。
数据库的备份和恢复针对MySQL数据库, 采用完全备份配合增量备份策略, 提供了对信息系统数据库的备份和恢复。
数据保护模块能够和快照生成模块配合工作, 组合成一套完整的快照生成和快照恢复, 数据库备份和恢复的流程。 快照生成和快照恢复模块是文件防篡改的基础, 通过与快照、 MD5校验、 DLL注入等功能的组合, 实现了文件防篡改, 对关键文件的保护功能模块。
2.2 设计方案
2.2.1 远程集中式数据保护机制
将企业内部所有的客户端计算机进行权限管理和控制, 由管理端集中式管理, 通过远程控制来对客户端的数据进行保护, 统一调度和管理企业计算机群的数据, 安全, 效率高, 客户端计算机不用任何操作。 如图2所示。
图2 系统硬件——物理连接结构图
从数据共享模式上采用增量备份机制, 把服务器、 客户端、 管理端的空间冗余降到最低, 解决了传统网络数据共享机制的弊端, 降低了企业计算机的运行压力。
基于客户端和服务器的安全共享增量备份机制, 内容包括了机器绑定、 注册登录、 增量备份、 权限控制、 AES加密传输(透明加密)、 密钥分配等模块。 其安全共享增量备份机制如图3所示。
图3 安全共享增量备份机制UML时序图
2.2.2 数据快照功能模块
如图4, 管理端远程控制客户端, 控制客户端生成数据快照, 并上传备份到云存储服务器端、 授权客户端获取恢复权限。 在需要时, 管理端对客户端的快照数据进行检测, 如果数据被篡改, 则从服务器端下载数据, 恢复被篡改的内容和安全访问信息。
图4 核心功能流程图一
2.2.3 文件保护功能模块
如图5, 管理端控制客户端开启数据保护功能——文件防篡改, 阻止关键文件的修改、 复制、 删除、 移动等操作, 保护客户端关键文件的数据安全。
图5 核心功能流程图二
2.3 系统特点
系统特点如表1所示。
表1 系统特点
3 算法设计与实现
3.1 快照生成算法
3.1.1 软件快照生成原理
软件快照模块具体分为软件列表、 软件分析、 快照提取、 快照上传等过程。
(1) 软件列表。
软件列表的生成是通过搜索WINDOWS注册表数据库中的SOFTWARE\\ Microsoft\\ Windows\\CurrentVersion\\Uninstall键, 列出系统安装的软件。 表2列出了对该键下的子键存储的软件身份判定的方法。
表2 软件身份判定方法
(2) 软件分析。
通过动态软件快照生成算法, 分析出当前软件的相关文件项和相关注册表项。 该分析算法在关联分析的核心算法基础上, 能够区别分析三种不同形式安装的软件, 得出分析结果 (参见表3)。 该算法具有分析快速、 结果全面的特点。
该分析算法根据注册表中键值的关联关系, 有针对性地搜索软件相关项。 该算法的详细实现流程逻辑如图6所示。
表3 各种系统性能比较
图6 动态软件快照生成算法-流程逻辑图
(3) 快照提取。
在进行相关项分析后, 得出了软件相关的文件路径和注册表路径。 系统对文件的数据内容进行MD5摘要, 并提取存储安全权限的SD串; 系统对注册表的键和键值内容进行提取保存。
在提取完毕后, 客户端生成的快照日志上传到服务器留底。
(4) 快照上传。
在生成快照日志后, 客户端对快照中包含的文件进行上传。上传的步骤是: 上传文件摘要、 冗余匹配、 加密并上传文件数据、添加恢复权限。
图7 软件快照结构
快照上传的具体过程在图3中有详尽描述。 图7为软件快照结构。
3.1.2 系统服务快照生成原理
系统服务快照生成模块的执行流程具体分为API\注册表混合搜索、 快照提取、 快照上传过程。
(1) API\注册表混合搜索。
通过API函数搜索, 枚举出所有的系统服务和驱动信息。
(2) 快照提取。
根据用户选择的模块, 对操作系统模块生成快照日志。 日志包含了文件的MD5摘要和SD串。
在提取完毕后, 客户端生成的快照日志上传到服务器留底。
(3) 快照上传。
同软件快照模块。
3.1.3 IIS网站快照生成原理
IIS网站快照生成模块的过程原理类似系统服务生成快照的过程, 具体分为IIS网站分析、 快照提取、 快照上传等过程。
(1) IIS网站分析。
分析IIS目录下的config配置文件得到相关网站的路径信息。
(2) 快照提取。
根据用户选择的模块, 对操作系统模块的生成快照日志。 日志包含了文件的MD5摘要和SD串。
在提取完毕后, 客户端生成的快照日志上传到服务器留底。
(3) 快照上传。
同软件快照模块。
3.1.4 数据库备份恢复原理——针对MySQL数据库
MySQL备份数据库主要有两个方法, 一个是用MySQLDUMP程序, 另一个是直接拷贝数据库文件,二者各有其优缺点, 参见表4。
表4 MySQL数据库备份方法比较
针对MySQL数据库的备份和恢复, 我们采用的是完全备份配合增量备份。 具体流程如图8所示。
对于数据库数据, 我们采用定期做一次完整的数据库备份,例如: 每周或每月可以做一次“完全”数据库备份。 然后在比较短的周期, 如每天或每两天做一次事务日志备份。 这样平时备份工作负担比较轻, 发生意外时, 可将数据还原到最近一次备份的状态。
当数据库出现问题, 比如系统崩溃数据丢失, 需要恢复数据时, 我们先用最新最近的完全备份文件恢复数据到备份时, 在执行增量备份, 通过事务日志备份更新数据库到最新的时候, 这时可以将数据库中的数据恢复到崩溃发生时的状态。
我们提供了MySQL数据库基于完全数据库备份+增量备份的单个、多个、全部数据库备份和恢复。
图8 MySQL数据库备份恢复机制
3.2 数据保护原理与算法
3.2.1 云恢复原理
云恢复原理应用在“快照检测、 恢复模块”。 快照数据保护模块具体分为快照查看, 快照检测、 快照下载、 快照恢复等过程。 管理端通过“数据管理维护模块”远程查看客户端的快照信息并发送操作命令, 操控客户端执行数据检测和恢复过程。
(1) 快照查看。
列出当前客户端主机生成过的所有快照, 并且能够查看快照的详细内容。 快照内容包括快照的相关文件和相关注册表。
(2) 快照检测。
首先检测连接的客户端主机的快照日志文件与客户端主机的MD5摘要, 确认日志没有被篡改。 若日志被篡改, 则从云端服务器重新下载该客户端主机日志文件。
然后, 提取快照日志中存储文件的MD5摘要和SD串, 将其与当前系统中的相应文件的MD5摘要和SD串进行校验比对, 得出文件的完整性检测结果。
(3) 快照下载。
在对客户端主机快照检测后, 管理端向云端服务器发起请求, 希望下载要恢复的文件到客户端主机。 下载的步骤是: 上传文件摘要、 下载权限判断、 下载文件数据、 获取解密密钥。
快照下载的具体流程在图3中有详尽描述。
(4) 快照恢复。
在文件下载完毕后, 客户端自动进行恢复。 客户端使用获得的解密密钥对文件进行解密并替换被篡改的文件, 同时恢复文件的安全权限SD串。 快照恢复的逻辑流程图见图9。
图9 快照恢复逻辑流程图
3.2.2 文件防篡改原理与算法
文件防篡改模块具体分为DLL注入、 拦截文件操作(复制、 移动、 修改、 删除)、 判断是否为要保护的关键文件、 防篡改文件。
该模块的UML活动图如图10所示。
图10 文件防篡改模块UML活动图
(1) DLL注入。
PE结构的模块(exe/dll/...), 存在IAT表(导入地址表), 保存着该模块使用到的API函数的地址, 在API调用时先跳转到该IAT表中, 查找API的具体的函数地址, 再跳转到具体的地址执行该API。 基于这个原理, 使用修改IAT方式来实现拦截。
本模块采用的DLL注入技术通过修改PE文件的IAT, 改写进程空间中程序的导入地址表, 使之指向替换原API函数的函数地址, 将文件操作的函数重定位到 “文件防篡改模块” 提供的拦截用DLL中, 并进行分析和拦截操作。 文件操作的函数有CopyFile、 MoveFile、 CreateFile、 DeleteFile(用户级——Kernel32.dll)。 参见图11, 图12。
图11 DLL注入前IAT表的地址映射
图12 DLL注入后IAT表的地址映射
(2) 拦截文件操作(复制、 移动、 修改、 删除)拦截。
当文件进行复制、 移动、 修改、 删除操作时, 将被重定位“文件防篡改模块”的函数中, 暂时拦截文件操作, 并提取出当前文件的路径发送给“数据保护模块”主程序进行分析。
(3) 文件分析与拦截。
查询当前被拦截的文件是否在保护的范围内。 若没有, 则对文件操作放行; 若该文件是需要保护的文件, 此文件操作不被允许, 阻止文件操作的进程创建过程。
4 总结
本文充分考虑企业内部对数据安全性的需求, 针对当前的企业计算机使用的安全隐患, 以信息安全规范为基础、 信息安全技术为手段, 综合运用了RSA密钥协商、 挑战应答协议、 RSA公钥算法、 AES加解密算法、 摘要匹配算法、 透明加密技术、 权限控制、 DLL注入技术, 设计开发了基于云存储的远程集中式企业数据保护系统。 对企业内部的计算机进行权限管理和控制, 由管理端集中式维护管理, 通过远程控制来对客户端的数据进行备份和保护, 对软件和服务进行生成快照、 快照检测和文件防篡改, 实现对企业计算机应用系统和网络系统的保护和恢复, 保护了企业文件和数据的安全, 进而保护了企业计算机应用软件和服务以及企业信息系统的可用性、 完整性。
专家点评
作品材料齐全, 文档规范。
作品选题有创意, 特色鲜明。 该作品通过HADOOP云计算平台搭建云储存服务器在云端加密与存储数据。 该系统主要实现了计算机数据远程集中式管理、 智能快照生成与恢复、 文件防篡改和数据海量存储等功能。 该系统综合运用了权限控制、 RSA密钥协商、 挑战应答协议、 RSA公钥算法、 AES加解密算法、 摘要匹配、 透明加密技术来保证企业数据的机密性、 完整性和可用性。
作品完成良好, 答辩思路清楚, 回答问题正确。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。