应用虚拟技术可以让用户把个人应用虚拟化,而不是整个操作系统虚拟化。如果企业需要使用遗留应用或需要在一个系统中运行相同软件的两个不同版本,可以用到这一技术。VMware 的ThinApp 就是这类应用虚拟化软件的一个例子。
它如何运作?
可以通过多种方法实现应用虚拟化,但是最常见的方法是系统级别的API hooking,目的是拦截对系统注册表和文件访问等的调用。典型的应用虚拟化技术可以为应用创建一个虚拟沙箱,这样应用会认为自己有了单独的注册表,文件系统等。这样同一个产品就可以安装两次,且同时存在,避免了访问系统资源时出现冲突。
我们要担心什么?
很多人认为虚拟化应用的沙箱属性使得它可以免受常规漏洞利用的侵害。事实上,虚拟应用和非虚拟化应用一样容易被利用。例如,笔者见过一些财务部门同时使用2个版本的Adobe,一个旧版,一个新版,目的是为文档格式提供向后兼容性。这些公司不知道一个旧一点的,存在漏洞的虚拟应用版本,如Adobe Reader,其实喝非虚拟化应用版本一样可被人找到漏洞。
如何阻止?
你可以使用相同技术阻止虚拟化应用的漏洞被人利用,如端点安全方案以及可以识别虚拟化应用漏洞的漏洞管理方案。选择这些方案的时候要谨慎选择,因为大多数安全方案都是从漏洞管理的角度出发,而不会扫描虚拟应用的漏洞。虚拟应用其实是独立运行,而且它的安装与常规应用也不一样,那些用于应用漏洞评估的传统方法会忽略这种看不见的威胁。问一问你的终端安全和漏洞管理服务供应商,看他们是否能为虚拟应用提供和非虚拟应用一样的保护和评估;然后再在实验室中模拟情境测试进行求证。