一种基于虚拟文件系统的操作系统保护方法

文档序号:6517211阅读:176来源:国知局
专利名称:一种基于虚拟文件系统的操作系统保护方法
技术领域
本发明涉及一种保护操作系统的方法,特别涉及一种通过构建和使用虚拟文件系统来使真正的计算机操作系统得到保护的方法,属于计算机安全技术领域。
背景技术
操作系统作为计算机设备的灵魂,具有不可替代的作用。因此,保障操作系统的安全是计算机安全领域的重要任务之一。但是,由于病毒攻击、误删除文件等多方面的原因,现有的计算机操作系统十分容易被破坏。而操作系统一旦被破坏,恢复工作往往需要专业人员才能进行。广大不熟悉计算机的普通用户对此常常无能为力,只能选择重新安装操作系统,十分麻烦。
鉴于操作系统在整个计算机体系中的极端重要性,以及其容易被攻击、破坏的特点,人们为维护操作系统的安全性作了很多研究工作,并相继研究出了多项能够对操作系统提供保护,从而确保计算机系统的正常运行的技术。
这方面技术中典型的包括申请号为02156518.X的专利申请“在硬盘上实现保护计算机操作系统的方法及其装置”。该方法包括开机启动基本输入输出系统,设置操作系统不正常启动的触发条件,基本输入输出系统引导程序判断操作系统不正常启动的触发条件是否存在,不存在则调用硬盘普通分区里的操作系统,如果不正常触发条件存在则在硬盘里设置操作系统保护区域,由基本输入输出系统引导硬盘保护区里的操作系统的步骤。
申请号为03130660.8的专利申请“一种计算机操作系统的修复方法”中介绍了如下的技术手段a.预先在硬盘的HPA区备份所有与启动计算机有关的信息;b.在硬盘的HPA中设置自检模块,并在计算机的BIOS中增设用以调用自检模块的命令;c.计算机由硬盘引导启动时,由BIOS调用自检模块,并由自检模块判断所有与启动计算机有关的信息是否被破坏,如果是,则对损坏部分进行修复后启动计算机,否则直接启动计算机。
另外,专利号为99805640.5的发明专利“初始化和重新启动操作系统”也提供了保护操作系统的新思路通过生成基准系统配置的配置设置的虚拟映像来起动和重新启动操作系统。例如用一个执行程序,可以将这些设置存储起来并用来快速地按系统的基准配置起动系统。基准配置可以根据系统硬件或软件配置的变化而自动修改。这些改变可以与基准配置信息一起存储。当发生崩溃时,能用该虚拟映像来迅速地恢复系统,而不需要再引导操作系统。
上述方法虽然都可以在一定程度上解决维护操作系统安全的技术问题,但各自都有其局限性。例如“在硬盘上实现保护计算机操作系统的方法及其装置”和“一种计算机操作系统的修复方法”这两项技术就存在操作系统不正常时系统启动时间会较长,会占用较多的硬盘空间的问题。而“初始化和重新启动操作系统”只是解决用虚拟映像来迅速恢复系统的问题,适用范围有限。
当前,以开放源代码为特征的Linux操作系统以其安全、廉价的突出优点,正受到越来越多用户的欢迎。与Windows操作系统不同,Linux操作系统具有良好的可裁减性,而且系统中各组成部分的功能和关联关系都是公开的,便于有关技术人员进行二次开发。Linux操作系统的上述特点势必导致适合于该系统的新的操作系统保护技术。

发明内容
本发明的目的在于针对Linux操作系统的特点,提供一种新的操作系统保护方法。该方法在计算机正常运行时就利用虚拟文件系统替代原有的操作系统进行工作,从而实现隔离和保护原操作系统的目的。
为实现上述的发明目的,本发明采用下述的技术方案一种基于虚拟文件系统的操作系统保护方法,其特征在于将操作系统中的根文件系统和用户数据文件分别存储在不同的磁盘分区内;设置独立的临时分区;在系统启动时,在所述临时分区生成所述根文件系统的镜像和用户数据文件的映射,从而在所述临时分区中形成完整的虚拟文件系统;利用虚拟文件系统执行计算机的所有操作,操作结果在用户确认后写回存放用户数据文件的分区;
计算机关闭时在所述临时分区中清除所述虚拟文件系统。
其中,所述虚拟文件系统的创建过程包括如下的步骤a.在所述临时分区新建根文件系统;b.复制操作系统分区中的动态链接支持库和其它需要读写的文件;c.将所述临时分区的根分区设置为核心根分区,同时将操作系统的根分区只读安装到所述临时分区的根分区的系统目录中;d.在所述临时分区中建立与操作系统分区目录结构相同的目录结构;e.在所述临时分区中制作所述操作系统分区中各种系统环境的符号链接;f.修改系统配置文件,禁止超级用户登录;g.修改安装有用户数据的分区的参数,关闭延迟写功能。
计算机的磁盘按照功能划分为彼此间分离独立的分区,对不同磁盘分区内的数据采用不同的保护措施。
其中,所述虚拟文件系统与操作系统及用户数据之间基于符号链接通讯方法实现无缝连接。
具体地,所述虚拟文件系统中,/bin分区与操作系统中的对应分区之间是链接关系;/etc分区与操作系统中的对应分区之间是复制关系;/boot分区与操作系统中的对应分区之间是链接关系;/dev分区与操作系统中的对应分区之间是复制关系;/lib分区与操作系统中的对应分区之间是链接和复制关系;/sbin分区与操作系统中的对应分区之间是链接关系;/usr分区与操作系统中的对应分区之间是链接关系,/var文件分区与操作系统中的对应分区之间是复制和新建的关系,/mnt分区和/tmp分区是新建的,与操作系统中的对应分区之间没有直接关系,/root分区无效;/home分区位于存放用户数据文件的分区,用于存放用户数据文件。
所述操作系统包括但不限于Linux操作系统。
一种计算机,包括磁盘、内存和BIOS,其特征在于所述计算机的磁盘按照功能划分为彼此间分离独立的分区,操作系统与用户数据分离存储在不同的磁盘分区中;所述计算机的BIOS中内置基于上述方法生成的引导程序。
本发明所提供的操作系统保护方法通过虚拟链接的方式将操作系统和用户数据分别映射到临时分区中,在临时分区中形成完整的虚拟文件系统供用户使用,从而既保证虚拟文件系统在使用过程中的完整性,又实现了对操作系统和用户数据的保护。误操作或者病毒所造成的破坏只影响临时分区内的虚拟文件系统,而不会影响操作系统和用户数据。


下面结合附图和具体实施方式
对本发明作进一步的说明。
图1为一个典型的现有Linux系统的文件系统结构示意图。
图2为高可用根文件系统和受保护的系统文件分区示意图。
图3为虚拟文件系统的创建过程示意图。
图4为虚拟文件系统与实际操作系统的关系示意图。
图5为一个采用了本发明所述操作系统保护方法的计算机的启动过程示意图。
具体实施例方式
与现有技术相比,本发明的一个显著特点就在于该方法所构建的虚拟文件系统在计算机正常运行的过程中,就直接替代原有的操作系统发挥作用,而原有的操作系统则被保护在计算机硬盘中的特定分区内,处于只读状态。这样,使用者对计算机的任何操作都不会对处于保护状态的原有操作系统带来任何影响,而一旦因为使用者的误操作导致正在使用的虚拟文件系统被破坏时,处于保护状态的原有操作系统就会依据自身所有的文件,重新生成新的虚拟文件系统,使计算机恢复正常运行。这就是本发明的基本实现思路。
从理论上分析,现有的各种操作系统如Windows、Unix、Linux等都适用于本发明所述的方法。相比较而言,由于Windows的内核不开放,各系统文件之间的关联关系不是很清楚。因此,在现有环境下,对Windows操作系统采用本发明所述的方法存在一定的困难。但是,对于Unix和Linux操作系统而言,特别是对于Linux操作系统,由于其源代码必须遵循GPL规范,是完全开放的。各系统文件之间的关联关系也是很清楚的。因此,Linux操作系统特别适用于实现本发明。在下文中,就以Linux操作系统为例展开说明。但必须指出的是,本发明所述的方法并不只限于Linux操作系统,对其他的操作系统都能同样适用。
参见图1,该图为一个典型的Linux系统的文件系统结构示意图。该文件系统是单一的文件系统,存放系统中所有的目录结构。在根目录下,分别包括/bin、/etc、/boot、/dev、/home、/lib、/mnt、/root、/sbin、/tmp、/usr、/var等文件夹。通过对该文件系统的研究,本发明人认为,上述Linux的文件系统可以分为两部分,即高可用根文件系统和受保护的系统文件分区。参见图2所示,高可用根文件系统包括如下内容

而受保护的系统文件分区为/usr和/var文件分区。这两个文件分区主要存储具有高共用性的用户文件。对于这两部分文件系统,应该分别采用不同的文件保护策略。
为使上述的各文件系统都得到妥善保护,与现有具有极大随意性的磁盘分区方法不同,在本发明所述的方法中,磁盘分区将遵循以功能性划分的思路,即将计算机的全部磁盘按照“操作系统”、“用户数据”、“临时分区”等严格的功能意义划分为彼此间分离独立的分区,以提高各类型数据的高安全性和利用效率。这样就可以避免现有磁盘分区方法中,在目前的操作系统结构下,数据是被分离存储的,即用户数据分别存储在各软件的子目录下,并以实际链接的方式实现软件和用户数据的关联。在操作系统被破坏的情况时,用户数据也将被一同破坏。而本发明所提供的将操作系统与用户数据分离存储与整合应用的实现思路,可以将用户数据与操作系统分开存储、集中管理,当操作系统进行更新时不必担心用户数据被破坏或无法继续使用。
按照上述磁盘功能分区和数据分离存储的方法,可以对不同磁盘分区内的数据采用不同的保护措施,如设定“操作系统”分区只读等。而对于“临时分区”,则在其中建立一个包含操作系统文件镜像与用户数据映射两方面内容在内的、临时性的虚拟文件系统。这样,用户在实际使用时,所针对的操作对象是虚拟文件系统、操作结果也将在用户确认完成全部操作后再写回“用户数据”分区。该虚拟文件系统在操作系统启动时自动建立、关闭时自动删除,而计算机病毒或用户的误操作对虚拟文件系统造成的破坏不会对操作系统和用户数据造成任何影响。
本发明所建构的虚拟文件系统主要包括两部分,一部分是高可用根文件系统,另一部分是高可用用户数据分区。其中虚拟文件系统中的高可用根文件系统是以图2中所示的高可用根文件系统为基础进行增减的,而高可用用户数据分区即原有的/home文件分区。
具体而言,上述虚拟文件系统的创建过程如图4所示,包括如下的步骤1.在临时分区新建根文件系统;此时,新建有上述根文件系统的临时分区就称为高可用分区。
2.复制操作系统分区中的动态链接支持库和其它需要读写的文件;3.将高可用根文件系统所在的根分区设置为核心的根分区,同时将系统根分区只读安装到高可用系统的根分区的系统目录中;4.在高可用分区中建立与操作系统分区目录结构相同的目录结构;5.在高可用分区中制作系统分区中各种系统环境的符号链接;6.修改系统配置文件,禁止超级用户登录;这里,禁止超级用户登录用于确保系统安全可靠的必要措施。由于不同用户的/home文件分区是不同的。通过上述步骤可以使不同权限级别的用户将在初始阶段即独立的进行各自不同的系统配置过程,从而有效地将不同权限的系统引导分隔开,而且在普通用户的引导模式下也无法改变用户状态或获得超级用户权限。
7.修改安装有用户数据的分区的参数,关闭延迟写功能。
这是确保虚拟文件系统可用性的必要措施之一。
通过上述步骤,如图4所示,建构的虚拟文件系统中的高可用根文件系统包括/bin分区,它与受保护的原操作系统中的对应分区之间是链接关系;/etc分区,它与受保护的原操作系统中的对应分区之间是复制关系;/boot分区,它与受保护的原操作系统中的对应分区之间是链接关系;/dev分区,它与受保护的原操作系统中的对应分区之间是复制关系;/lib分区,它与受保护的原操作系统中的对应分区之间是链接和复制关系;/sbin分区,它与受保护的原操作系统中的对应分区之间是链接关系;/usr分区与原操作系统中的对应分区之间是链接关系,/var文件分区与原操作系统中的对应分区之间是复制和新建的关系;而/mnt分区和/tmp分区则是新建的,与原操作系统中的对应分区之间没有直接关系,/root分区则是无效的。
另外,用户的数据和配置文件存放在/home分区中,不同的用户具有不同的/home分区。它跟高可用分区中的根目录之间是挂装的关系。
众所周知,现有的操作系统体积是越来越大,如一个功能比较齐全的Linux操作系统所占的磁盘空间可以达到4G以上。前已述及,本发明所述的虚拟文件系统在操作系统启动时自动建立、关闭时自动删除。因此,在建构虚拟文件系统的过程中,如果采用从原有操作系统中复制文件的思路,则启动虚拟文件系统的过程无异于安装一个新的操作系统,速度会很慢。为避免这一问题,本发明所提供的方法中,虚拟文件系统中的绝大多数文件都是采用与原有操作系统中文件建立链接的方式,仅有极少的文件需要复制和新建,总量不超过几百K字节。因此,上述建构虚拟文件系统的过程不会明显延长系统的启动时间。
另外,上述操作系统与虚拟文件系统间的符号链接通讯方法既可以保证操作系统与虚拟文件系统之间的无缝连接,又可以通过虚拟文件系统将操作系统隔离在“保护层”之后,防止任何潜在威胁对操作系统的破坏性影响。
本发明所述的方法可以直接应用到计算机系统之中。在该计算机系统中,将磁盘按照上述的方法进行分区,在BIOS或内存芯片中内置基于本发明所述方法生成的引导程序,而其余的硬件组成与现有计算机完全一样。
如图5所示,一个采用了本发明所述操作系统保护方法的计算机的启动过程是这样的1.系统加电自检后BIOS加载系统引导程序;2.系统引导程序提示用户选择不同的系统参数,即选择是否进入保护模式;保护模式即本发明所提供的虚拟文件系统发挥作用时的工作模式3.如果进入,则核心参数中设置HAroot=XXX,否则在核心参数中不设置HAroot参数;4.引导程序加载核心操作系统;5.核心系统初始化,启动init进程;6.init进程根据/etc/inittab中的sysinit配置启动/etc/rc.d/rc.ha;
7.检查核心参数中是否设置HAroot参数;8.如果是,则按照图3所示的步骤创建虚拟文件系统,如果否,则跳过这一步骤;9.启动系统初始化脚本/etc/rc.d/rc.sysinit;10.系统启动成功,进入工作状态。
采用本发明所述操作系统保护方法的计算机具有很好的安全性,使用者无论对操作系统进行任何操作都不会对计算机原有的操作系统造成影响。无论计算机的文件系统因为误操作而受到怎样的破坏,一旦重新启动,计算机又会自动恢复正常。即,一旦计算机正在使用的操作系统文件被破坏,使用者可以直接按Reset键进行重启。重启后,计算机又一切恢复正常。因此,上述计算机具有“一键恢复”的功能,十分适合用作教学用机。
上面虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种基于虚拟文件系统的操作系统保护方法,其特征在于将操作系统中的根文件系统和用户数据文件分别存储在不同的磁盘分区内;设置独立的临时分区;在系统启动时,在所述临时分区生成所述根文件系统的镜像和用户数据文件的映射,从而在所述临时分区中形成完整的虚拟文件系统;利用虚拟文件系统执行计算机的所有操作,操作结果在用户确认后写回存放用户数据文件的分区;计算机关闭时在所述临时分区中清除所述虚拟文件系统。
2.如权利要求1所述的基于虚拟文件系统的操作系统保护方法,其特征在于所述虚拟文件系统的创建过程包括如下的步骤a.在所述临时分区新建根文件系统;b.复制操作系统分区中的动态链接支持库和其它需要读写的文件;c.将所述临时分区的根分区设置为核心根分区,同时将操作系统的根分区只读安装到所述临时分区的根分区的系统目录中;d.在所述临时分区中建立与操作系统分区目录结构相同的目录结构;e.在所述临时分区中制作所述操作系统分区中各种系统环境的符号链接;f.修改系统配置文件,禁止超级用户登录;g.修改安装有用户数据的分区的参数,关闭延迟写功能。
3.如权利要求1所述的基于虚拟文件系统的操作系统保护方法,其特征在于计算机的磁盘按照功能划分为彼此间分离独立的分区,对不同磁盘分区内的数据采用不同的保护措施。
4.如权利要求2所述的基于虚拟文件系统的操作系统保护方法,其特征在于所述虚拟文件系统与操作系统及用户数据之间基于符号链接通讯方法实现无缝连接。
5.如权利要求4所述的基于虚拟文件系统的操作系统保护方法,其特征在于所述虚拟文件系统中,/bin分区与操作系统中的对应分区之间是链接关系;/etc分区与操作系统中的对应分区之间是复制关系;/boot分区与操作系统中的对应分区之间是链接关系;/dev分区与操作系统中的对应分区之间是复制关系;/lib分区与操作系统中的对应分区之间是链接和复制关系;/sbin分区与操作系统中的对应分区之间是链接关系;/usr分区与操作系统中的对应分区之间是链接关系,/var文件分区与操作系统中的对应分区之间是复制和新建的关系,/mnt分区和/tmp分区是新建的,与操作系统中的对应分区之间没有直接关系,/root分区无效;/home分区位于存放用户数据文件的分区,用于存放用户数据文件。
6.如权利要求1所述的基于虚拟文件系统的操作系统保护方法,其特征在于所述操作系统包括但不限于Linux操作系统。
7.一种计算机,包括磁盘、内存和BIOS,其特征在于所述计算机的磁盘按照功能划分为彼此间分离独立的分区,操作系统与用户数据分离存储在不同的磁盘分区中;所述计算机的BIOS中内置基于如权利要求1所述方法生成的引导程序。
全文摘要
本发明公开了一种基于虚拟文件系统的操作系统保护方法。它将操作系统中的根文件系统和用户数据文件分别存储在不同的磁盘分区内;设置独立的临时分区;在系统启动时,在所述临时分区生成所述根文件系统的镜像和用户数据文件的映射,从而在所述临时分区中形成完整的虚拟文件系统;利用虚拟文件系统执行计算机的所有操作,操作结果在用户确认后写回存放用户数据文件的分区;计算机关闭时在所述临时分区中清除所述虚拟文件系统。利用本发明可以使误操作或者病毒所造成的破坏只影响临时分区内的虚拟文件系统,而不会影响操作系统和用户数据。利用本方法还可以实现具有“一键恢复”功能的计算机。
文档编号G06F11/14GK1831701SQ20051001142
公开日2006年9月13日 申请日期2005年3月11日 优先权日2005年3月11日
发明者安泱 申请人:北京共创开源软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1