专利名称:存储设备的数据保护方法、数据保护装置及计算机系统的制作方法
技术领域:
本发明涉及数据保护技术领域,具体涉及一种存储设备的数据保护方法、数据保护装置及计算机系统。
背景技术:
存储设备(如计算机硬盘)中数据的安全性问题已经越来越突出。当前环境下,各种电脑病毒以及系统入侵者都可能对硬盘中的数据进行恶意删除或修改,同时,用户还可能因为误操作,导致数据文件的破坏。因此,需要对存储设备中的数据进行保护。
现有技术对存储设备进行数据保护的方案有
1) 采样专门的硬盘保护卡。该方案可以让计算机存储设备中的数据保持在一个固定状态,防止对数据的非法篡改。该方案的缺点是需要购买额外的硬盘保护卡这一硬件设备,从而增加了用户成本。
2) 在计算机操作系统中安装特定的硬盘驱动程序,系统启动后加载该驱动程序,实现对硬盘操作的拦截,保护硬盘已有数据不被实时修改。该方案缺点是需要在^^作系统中安装额外的驱动程序,并且该驱动程序需要针对不同的操作系统进行定制,并且,驱动程序的加载依赖于操作系统, 一旦驱动程序因为病毒或其它原因加载失败,则无法对数据进行保护,并且可能带来其它问题。例如,在操作系统安装系统补丁过程中计算机可能需要重新启动多次,在此过程中可能未加载上述硬盘驱动程序,从而导致系统升级失败,造成蓝屏等严重问题。
发明内容
本发明实施例所要解决的技术问题是提供一种存储设备的数据保护方法、数据保护装置及计算机系统,在不需要增加专门硬件设备以及不依赖于特定操作系统的情况下,实现了对存储设备的数据保护。
为解决上述技术问题,本发明实施例提供了 一种存储设备的数据保护方
法,包括
截获运行在虛拟机管理器之上的客户操作系统发出的对存储设备的写操 作命令;
对所述写操作命令进行分析,获取所述写操作命令对应的所述存储设备上
的写地址;
将所述写地址重定向到所述存储设备中预留的重定向区域中的重定向地 址,并在所述重定向地址对应的存储区域进行写操作,其中,所述重定向区域 与所述存储设备中欲保护数据的存储区域相独立。
优选地,上述方法还包括保存所述写地址与所述重定向地址之间的对应 关系。
优选地,上述方法还包括
截获运行在虚拟机管理器之上的客户操作系统发出的对存储设备的读操 作命令;
对所述读操作命令进行分析,获取所述读操作命令对应的读地址,并通过 搜索所述对应关系判断其中是否存在所述读地址若存在,则从所述对应关系 中获取所述读地址对应的重定向地址,并从该重定向地址对应的存储区域读取 数据;否则,从所述读地址对应的存储区域读取数据。
优选地,上述方法还包括所述写地址包括所述写操作命令对应的起始地 址和将要写入的存储空间的大小;所述读地址包括所述读操作命令对应的起始 地址和将要读取的存储空间的大小。
优选地,上述方法还包括在所述存储设备所属终端关机或重启时,删除 所述对应关系。
本发明实施例还相应地提供了一种保护存储设备数据的数据保护装置,包
括
拦截模块,用于截获运行在虚拟机管理器之上的客户操作系统发出的对存 储设备的写操作命令;
分析模块,用于对所述写操作命令进行分析,获取所述写操作命令对应的写地址;
读写模块,用于将所述写地址重定向到所述存储设备中预留的重定向区域 中的重定向地址,并在所述重定向地址对应的存储区域进行写操作,其中,所 述重定向区域与所述存储设备中欲保护数据的存储区域相独立;
优选地,上述数据保护装置中,还包括
记录模块,用于保存所述写地址与所述重定向地址之间的对应关系。 优选地,上述数据保护装置中,所述拦截模块包括读操作拦截子模块,用 于截获运行在虚拟机管理器之上的客户操作系统发出的对存储设备的读操作
命令;
所述分析模块包括读操作分析子模块,用于所述读操作命令进行分析,获
取所述读操作命令对应的读地址; 所述读写模块包括
搜索子模块,用于搜索所述对应关系,判断其中是否存在所述读地址,并 输出判断结果;
读操作子模块,用于在所述判断结果指示所述对应关系中存在所述读地址 时,从所述对应关系中获取所述读地址对应的重定向地址,并从该重定向地址 对应的存储区域读取数据;否则,从所述读地址对应的存储区域读取数据。
优选地,上述数据保护装置中,所述写地址包括所述写操作命令对应的起 始地址和将要写入的存储空间的大小;所述读地址包括所述读操作命令对应的 起始地址和将要读取的存储空间的大小。
优选地,上述数据保护装置中,所述记录模块包括删除子模块,用于在所 述存储设备所属终端关机或重启时,删除所述对应关系。
本发明还相应地提供了一种计算机系统,包括 硬件平台,所述硬件平台包括CPU和存储设备; 运行在所述硬件平台上的虚拟机管理器;以及,
运行在所述虚拟机监视器上的至少一个客户才喿作系统,其特征在于,所述 计算机系统还包括设置在所述虛拟机管理器中的数据保护装置,所述数据保护 装置包括
拦截模块,用于截获运行在虛拟机管理器之上的客户操作系统发出的对所述存储设备的写操作命令;
分析模块,用于对所述写操作命令进行分析,获取所述写操作命令对应的 写地址;
读写模块,用于将所述写地址重定向到所述存储设备中预留的重定向区域 中的重定向地址,并在所述重定向地址对应的存储区域进行写操作,其中,所 述重定向区域与所述存储设备中欲保护数据的存储区域相独立。
优选地,上述计算机系统还包括记录沖莫块,用于保存所述写地址与所述 重定向地址之间的对应关系。
优选地,上述计算机系统中,所述拦截模块包括读操作拦截子模块,用于 截获运行在虚拟机管理器之上的客户操作系统发出的对所述存储设备的读操 作命令;
所述分析模块包括读操作分析子模块,用于所述读操作命令进行分析,获 取所述读操作命令对应的读地址; 所述读写模块包括
搜索子模块,用于搜索所述对应关系,判断其中是否存在所述读地址,并 输出判断结果;
读操作子模块,用于在所述判断结果指示所述对应关系中存在所述读地址 时,爿t人所述对应关系中获取所述读地址对应的重定向地址,并从该重定向地址 对应的存储区域读取数据;否则,从所述读地址对应的存储区域读取数据。
优选地,上述计算机系统中,所述记录模块包括删除子模块,用于在所述 存储设备所属计算机关机或重启时,删除所述对应关系。
从以上所述可以看出,本发明实施例提供的存储设备的数据保护方法、数 据保护装置及计算机系统,通过截获客户操作系统的用户对存储设备的写操 作,并重定向到预留的重定向区域,从而用户无法对存储设备上的敏感数据进 行任何写操作,保证了存储设备上的数据的安全;并且,本发明实施例通过截 获客户操作系统的用户对硬盘的读操作,并通过搜索所述对应关系,将该读操 作重定向到对应的重定向地址,从而实现了用户对存储设备的读操作,使得数 据保护对于用户来说是透明的,从而不会影响到用户使用存储设备及终端的感 受;最后,本发明实施例还通过在终端关机或重启时,删除当前记录的对应关
8系,以清除用户对存储设备的任何操作,使得终端在每次开机后都能恢复到一 个固定状态。
图1为本发明实施例所述数据保护方法在写操作时的流程图; 图2为本发明实施例所述数据保护方法在读操作时的流程图; 图3为本发明实施例所述计算机系统的结构示意图; 图4为本发明实施例所述数据保护装置的结构示意图。
具体实施例方式
为使本发明实施例要解决的技术问题、技术方案和优点更加清楚,下面将 结合附图及具体实施例进行详细描述。
本发明实施例以计算机中的硬盘数据保护为例进行说明。本实施例中,通 过利用虚拟机技术,在虛拟机管理器(VMM, Virtual Machine Monitor)中设 置一个数据保护装置。当用户通过客户操作系统对硬盘进行读写操作时,通过 该数据保护装置截获相关的读写命令,并重定向到硬盘上预留的特定空闲位置 处,从而保证了硬盘上数据的安全性。
如图l所示,本实施例所述数据保护方法,包括以下步骤
步骤11,数据保护装置截获运行在虚拟机管理器之上的客户操作系统发 出的对石更盘的写操作命令。
步骤12,数据保护装置对所述写操作命令进行分析,获取所述写操作命 令对应的写地址。这里,写地址具体包括写操作的起始扇区号以及将要写入的 扇区数量等信息。
步骤13,数据保护装置将所述写地址重定向到硬盘上重定向区域中的重 定向地址,并在所述重定向地址处进行写操作。
这里,所述重定向区域是在硬盘上预留出的专门用于重定向的存储区域, 该存储区域与硬盘上需要被保护的数据区域是相对独立的,正常情况下,用户 通过客户操作系统无法访问到该存储区域。数据保护装置可以按照各种已有的 或自定义的规则,将所述写地址重定向到特定的重定向地址处,只需要该重定向地址对应的存储空间目前是空闲的即可。
步骤14,数据保护装置保存写地址和该写地址重定向后的重定向地址之 间的对应关系,在对写地址进行重定向之后,还将所述写地址与所述重定向地 址之间的对应关系记录下来。
这样,在以后再次截获到新的写操作时,数据保护装置仍然按照上述步骤 11~13对写操作进行相应处理,并在所述对应关系中增加该新的写操作的对 应关系。
可以看出,本实施例通过上述步骤的处理,由数据保护装置截获客户操作 系统的用户对石更盘的写操作,并重定向到预留的重定向区域,从而用户无法对 硬盘上的敏感数据进行任何写操作,保证了硬盘上的数据的安全。
当用户需要读取^f更盘上的数据时,如图2所示,本实施例所述数据保护方 法还包括有以下步骤
步骤21,数据保护装置截获运行在虚拟机管理器之上的客户操作系统发 出的对存储设备的读操作命令。
步骤22,数据保护装置对所述读操作命令进行分析,获取所述读搡作命 令对应的读地址;这里,所述读地址包括读操作的起始扇区号以及将要读取的 扇区数量。
步骤23,数据保护装置通过搜索所述对应关系判断其中是否存在所述读 地址若存在,则从所述读地址对应的重定向地址处读取数据;否则,从所述 读i也址处读取数据。
由于先前用户可能针对硬盘上的某个位置处进行了数据写操作,实际上, 该写才喿作并没有针对该位置处的数据,而是#1重定向到重定向区域中的某个特 定的重定向地址。因此,如果用户发出读操作命令,希望读取先前写入的数据 时,此时需要4艮据所维护的对应关系,将该读操作重定向到上述重定向地址。 这样,通过上述步骤,实现了用户对硬盘数据的读操作,并且,不会影响到用 户使用计算机的感受,即数据保护装置的所有操作对用户都是透明的。
在网吧或其它公用环境下,通常多个用户使用同一台计算机,硬盘数据和 操作系统被损坏的可能更大。这种情况下,计算机管理员可能希望每次计算机 关机后,用户对硬盘的所有操作都不遗留在计算机中,即每次开机后,整个计
10算机中的硬盘数据保持在某一个固定状态。此时,可以通过数据保护装置在所 述计算机关机或重启时,删除所述对应关系,从而用户对硬盘的所有操作都会 被系统忽略,无法被索引到。这里,删除所述对应关系具体可以按照以下方式
实现1) VMM专门开辟出 一块易失性的随机存取存储器RAM,所述对应关 系保存在该易失性RAM中,这样,在计算机重启或关机时,由于系统掉电, 该易失性RAM中保存的信息自然消失了 ,从而在系统掉电时就自动删除了所 述对应关系;2)所述对应关系保存在硬盘上的某个特定位置上,系统在截获 到计算机关机或重启的命令时,主动对上述特定位置存储的信息进行清空,从 而主动删除了对应关系。
以下通过一个具体应用来进一步"i兌明上述方法。
通常,网吧管理员都希望对计算机中的某些敏感数据(如C盘下的操作 系统文件)进行保护,不希望用户对这些数据进行任何修改。并且,在用户下 机以后,还希望计算机能恢复到一个初始状态,删除用户对计算机硬盘上数据 所做的任何改变。这样,管理员可以对C盘设置数据保护,同时将正常工作 情况下用户无法访问到的硬盘上的某个区域作为重定向区域,该重定向区域与 C盘是相对独立的。
操作系统对硬盘的访问是通过某些端口进行的,例如端口 1F0~1F7,其 中,端口 1F7通常是传输读/写操作命令,1F3-lF5是读/写操作的起始地址, 如起始扇区号,端口 1F2则是将要读/写操作的扇区数量。因此,可以通过对 上述端口进行监听,以截获操作系统发送的对C盘的写才喿作命令。在截获到 对C盘的写才喿作命令后,将写地址重定向到重定向区域中的某个位置(重定 向地址),然后,根据该重定向地址向硬盘控制器发送修改后的写操作命令, 对硬盘进行写操作;同时,在易失性RAM中保存写地址和重定向地址之间的 对应关系。这样,用户对C盘的任何写操作都不会对C盘产生任何影响,该 写操作被转移到重定向区域中,从而也就保证了 C盘的安全。当该用户下机 时,通过重启计算机,这样,易失性RAM中的对应关系都会消失,即无法根 据该对应关系寻址到用户对硬盘所做的任何修改,从而也就删除了用户对硬盘 数据的任何修改。
以上以计算机系统为例说明了本实施例所述的数据保护方法。本技术领域人员完全可以了解到,本实施例还可以应用在对其它终端中的存储设备的数据 保护中。基于上述数据保护方法,本实施例还提供了一种数据保护装置和计算
机系统。其中,所述计算机系统如图3所示,包括 硬件平台,所述硬件平台包括CPU和存储设备; 运行在所述硬件平台上的虚拟机管理器;以及, 运行在所述虚拟机监视器上的至少一个客户操作系统; 以及数据保护装置,该数据保护装置设置在所述虚拟机管理器中。 如图4所示,所述凝:据保护装置具体包括
拦截模块,用于截获运行在虚拟机管理器之上的客户操作系统发出的对存 储设备的写操作命令;
分析模块,用于对所述写操作命令进行分析,获取所述写操作命令对应的 写地址;这里,所述写地址包括写操作的起始扇区号以及将要写入的扇区数量;
读写模块,用于将所述写地址重定向到所述存储设备中预留的重定向区域 中的重定向地址,并在所述重定向地址对应的存储区域进行写操作,其中,所 述重定向区域与所述存储设备中欲保护数据的存储区域相独立;
记录模块,用于保存所述写地址与所述重定向地址之间的对应关系。
优选地,所述拦截模块中可以包括读操作拦截子模块,用于截获运行在虛 拟机管理器之上的客户操作系统发出的对存储设备的读操作命令。
所述分析模块中可以包括读操作分析子模块,用于所述读操作命令进行分 析,获取所述读操作命令对应的读地址。这里,所述读地址包括读操作的起始 扇区号以及将要读取的扇区数量。
所述读写模块中可以包括搜索子模块,用于搜索所述对应关系,判断其 中是否存在所述读地址,并输出判断结果;读操作子才莫块,用于在所述判断结 果指示所述对应关系中存在所述读地址时,从所述对应关系中获取所述读地址 对应的重定向地址,并从该重定向地址对应的存储区域读取数据;否则,从所 述读地址对应的存储区域读取数据。
优选地,所述记录模块中可以包括删除子模块,用于在所述存储设备所属 计算机关机或重启时,删除所述对应关系。
综上所述,本发明实施例所提供的存储设备的数据保护方法、数据保护装置及计算机系统,利用虛拟机技术,无需用户单独购买特定数据保护硬件设备、 不依赖于用户特定操作系统,即可实现对存储设备完整的数据保护。
以上所述仅是本发明的实施方式,应当指出,对于本技术领域的普通技术 人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些 改进和润饰也应一见为本发明的保护范围。
权利要求
1.一种存储设备的数据保护方法,其特征在于,包括截获运行在虚拟机管理器之上的客户操作系统发出的对存储设备的写操作命令;对所述写操作命令进行分析,获取所述写操作命令对应的所述存储设备上的写地址;将所述写地址重定向到所述存储设备中预留的重定向区域中的重定向地址,并在所述重定向地址对应的存储区域进行写操作,其中,所述重定向区域与所述存储设备中欲保护数据的存储区域相独立。
2. 如权利要求1所述的方法,其特征在于,所述方法还包括保存所述 写地址与所述重定向地址之间的对应关系。
3. 如权利要求2所述的方法,其特征在于,所述方法还包括 截获运行在虛拟机管理器之上的客户操作系统发出的对存储设备的读操作命令;对所述读操作命令进行分析,获取所述读操作命令对应的读地址,并通过 搜索所述对应关系判断其中是否存在所述读地址若存在,则从所述对应关系 中获取所述读地址对应的重定向地址,并从该重定向地址对应的存储区域读取 数据;否则,从所述读地址对应的存储区域读取数据。
4. 如权利要求3所述的方法,其特征在于,所述写地址包括所述写操作 命令对应的起始地址和将要写入的存储空间的大小;所述读地址包括所述读操 作命令对应的起始地址和将要读取的存储空间的大小。
5. 如权利要求2所述的方法,其特征在于,所述方法还包括在所述存 储设备所属终端关机或重启时,删除所述对应关系。
6. —种保护存储设备数据的数据保护装置,其特征在于,包括 拦截模块,用于截获运行在虛拟机管理器之上的客户操作系统发出的对存储设备的写操作命令;分析模块,用于对所述写操作命令进行分析,获取所述写操作命令对应的 写地址;读写模块,用于将所述写地址重定向到所述存储设备中预留的重定向区域 中的重定向地址,并在所述重定向地址对应的存储区域进行写操作,其中,所 述重定向区域与所述存储设备中欲保护数据的存储区域相独立。
7. 如权利要求6所述的数据保护装置,其特征在于,还包括 记录模块,用于保存所述写地址与所述重定向地址之间的对应关系。
8. 如权利要求7所述的数据保护装置,其特征在于, 所述拦截模块包括读操作拦截子模块,用于截获运行在虛拟机管理器之上的客户操作系统发出的对存储设备的读操作命令;所述分析模块包括读操作分析子模块,用于所述读操作命令进行分析,获 取所述读操作命令对应的读地址;所述读写模块包括搜索子模块,用于搜索所述对应关系,判断其中是否存在所述读地址,并 输出判断结果;读操作子模块,用于在所述判断结果指示所述对应关系中存在所述读地址 时,从所述对应关系中获取所述读地址对应的重定向地址,并从该重定向地址 对应的存储区域读取数据;否则,从所述读地址对应的存储区域读取数据。
9. 如权利要求8所述的数据保护装置,其特征在于,所述写地址包括所 述写操作命令对应的起始地址和将要写入的存储空间的大小;所述读地址包括所述读操作命令对应的起始地址和将要读取的存储空间的大小。
10. 如权利要求7所述的数据保护装置,其特征在于, 所述记录模块包括删除子模块,用于在所述存储设备所属终端关机或重启时,删除所述对应关系。
11. 一种计算机系统,包括硬件平台,所述硬件平台包括CPU和存储设备; 运行在所述硬件平台上的虛拟机管理器;以及,运行在所述虚拟才几监视器上的至少一个客户操作系统,其特征在于,所述 计算机系统还包括设置在所述虛拟机管理器中的数据保护装置,所述数据保护 装置包括拦截模块,用于截获运行在虛拟机管理器之上的客户操作系统发出的对所述存储设备的写操作命令;分析模块,用于对所述写操作命令进行分析,获取所述写操作命令对应的 写地址;读写模块,用于将所述写地址重定向到所述存储设备中预留的重定向区域 中的重定向地址,并在所述重定向地址对应的存储区域进行写操作,其中,所 述重定向区域与所述存储设备中欲保护数据的存储区域相独立。
12. 如权利要求11所述的计算机系统,其特征在于,记录模块,用于保存所述写地址与所述重定向地址之间的对应关系。
13. 如权利要求12所述的计算机系统,其特征在于, 所述拦截模块包括读操作拦截子模块,用于截获运行在虚拟机管理器之上的客户操作系统发出的对所述存储设备的读操作命令;所述分析模块包括读操作分析子模块,用于所述读操作命令进行分析,获 取所述读操作命令对应的读地址;所述读写模块包括搜索子模块,用于搜索所述对应关系,判断其中是否存在所述读地址,并 输出判断结果;读操作子模块,用于在所述判断结果指示所述对应关系中存在所述读地址 时,从所述对应关系中获取所述读地址对应的重定向地址,并从该重定向地址 对应的存储区域读取数据;否则,从所述读地址对应的存储区域读取数据。
14. 如权利要求12所述的计算机系统,其特征在于, 所述记录模块包括删除子模块,用于在所述存储设备所属计算机关机或重启时,删除所述对应关系。
全文摘要
本发明提供了存储设备的数据保护方法、数据保护装置及计算机系统。所述方法包括截获运行在虚拟机管理器之上的客户操作系统发出的对存储设备的写操作命令;对所述写操作命令进行分析,获取所述写操作命令对应的写地址;将所述写地址重定向到所述存储设备中预留的重定向区域中的重定向地址,并在所述重定向地址对应的存储区域进行写操作,其中,所述重定向区域与所述存储设备中欲保护数据的存储区域相独立。按照本发明,可以在不需要增加专门硬件设备以及不依赖于特定操作系统的情况下,实现对存储设备的数据保护。
文档编号G06F12/14GK101667161SQ20081011930
公开日2010年3月10日 申请日期2008年9月2日 优先权日2008年9月2日
发明者周振生, 刚 彭, 徐晓靖, 飞 汪 申请人:联想(北京)有限公司