网络安全 频道

虚拟机技术可兼顾PC安全性和可用性

    【IT168 专稿】我们能在享有现代计算优势的同时而又不冒安全风险吗?尽管没有较好的答案,但虚拟机(VM)技术可以提高安全性,并提供了一条升级途径,可以实现更安全的计算而又不丢弃我们所期望的可用性。

    一种实现安全性的方法是使用两台PC:一台与互联网连接,用来收发电子邮件及浏览网页(有受到病毒、蠕虫及其他网络攻击的危险);而另一台“关键性的”PC则与互联网断开,用来存储重要文件与应用程序。

    但是维护两台PC的额外成本、空间及麻烦非常多,而且在两个环境之间传输数据也很不方便。设想用电子邮件发送一份在非联网PC上写成的重要文档会多么麻烦。将文件存到一个移动存储设备上,然后再把它转移到一台联网PC上的这种方法很快就会过时。

    再来看看虚拟机。一台VM实际上是一种软件应用,它能模仿硬件平台,以便通常直接运行在硬件平台上的软件(操作系统及应用程序)改为在软件控制下运行。由于VM本身就是一个软件,因此多个虚拟机拷贝可同时在一台计算机上运行。

    利用这种模式,可将一台VM用作联网PC环境,而将另一台VM用作关键PC环境。这两个环境可以共用一个磁盘,只要这个磁盘能被安全分区。至少从理论上说,数据能被很容易地在两个环境间传输。而且依靠可利用的硬件资源,还可运行两个以上的独立环境。

采用虚拟机技术可避免使用两台PC

    尽管这在理论上听起来不错,但是VM环境还必须提供一个窗口管理器,以便用户能在两个环境之间安全切换。

    虚似机高保险内核

    说比做容易。安全与性能常常是相互矛盾的,而这两者VM都需要。虚拟机必须执行本来由硬件完成的大量工作,而且不能危及整个系统的安全。如果VM软件本身过于复杂,则会遇到与当前PC操作系统一样的安全攻击和缺少保证等问题:不是操作系统,而是VM本身被破坏。

    更为严重的是,一些VM以监控模式运行,这意味着它们直接控制计算硬件的所有物理资源(CPU时间、内存与设备等)。因此代码中的漏洞或安全隐患可导致灾难性的后果。更好的方法是把VM以用户模式应用来运行,并使用一个高保险内核来控制硬件和运行虚拟机。

    如果虚拟机以用户模式运行,那么只有当VM本身存在任何漏洞或安全隐患时,在VM应用控制下运行的虚拟PC环境才存在风险。实际上,虚拟机必须具有与其所托管的操作系统一样的安全保证级别。在Windows及Linux情况下,保证级别相对更低。

    并非所有的操作系统都不安全。事实上,有大量多年前开发的操作系统都被独立评估权威机构评定为安全。这些操作系统很多都出自嵌入式软件供应商,对他们而言,安全性与可靠性是首要的。不过,这些操作系统一直未被广泛用于PC领域,因为它们缺少我们所期望的丰富功能,而如果随意增加这些功能,则可能会危及安全。

    安全微核能提供的服务极为有限,其中包括硬件初始化、设备控制、应用调度与应用分割等。而最后一项特性被证明是最重要的。

    通过执行分离策略,内核能保证两个独立的VM环境不互相影响(即所谓的“分离内核”)。具有有限服务和安全特性的分离内核能运行完全虚拟的PC环境,同时又能保持所需的高安全级别。因此在联网PC这边的恶意程序不能窃取资源、破坏或读取数据,或者危害关键PC。

    不仅仅是台式机

    任何具有混合实时或安全要求,并且需要运行原有操作系统软件及应用程序的计算系统,都能从VM技术受益。台式机、服务器、PDA和传统的嵌入式系统,都有可能使用VM。例如,波音公司正在利用分离内核与虚拟化技术的组合,在用于下一代软件无线电的安全、实时本地应用旁运行Linux操作系统与应用程序。

    不幸的是,没有为高安全级别而设计的传统操作系统永远不可能获得这些特性。限制或发现由数百万条代码所组成的软件中的所有安全漏洞是不现实的。相反,一种设计良好且高度安全的分离内核,可能只有几千条代码大小。在一个独立内核控制下以用户模式运行的VM技术,可以通过提供补丁提高安全性。传统全功能操作系统可以驻留在这些VM中。

    尽管可以保护关键的应用程序不受其它不同补丁中其他情况的影响,但是它仍会遇到传统大型操作系统中所固有的相同可靠性与安全性问题。

    随着时间的推移,这些关键应用可被再托管到分离内核上,并在此获得最高可能性的保险。

    VM技术加上分离内核提供了一条升级途径,既能提高安全性而又不牺牲我们所期望的可用性与功能性。

0
相关文章