无论代码审核做的是多么的好,或者验收规格是多高,应用程序始终会有bugs。驱动和文件系统也是这样。Invisible Things实验室的发起人兼CEO Joanna Rutkowsta这样说。
没有人,甚至是谷歌的安全小组,也不能保证发现和修改所有出现在桌面应用程序的漏洞。Rutkowska 在以下的提问采访中说了这样的话。
这也是为什么她和她的团队创建了 Qubes 系统,一个关注安全,基于 Fedora 系统的开源系统,本质上,这个系统是假设 bugs 无处不在。Qubes 能够使用 Xen hypervisor 把应用程序的各个功能点分布在不同的虚拟机上,取代全都运行在一个内核上的老方法。每个功能也许只是获取它需要运行的必要组件,通过这种机制,把一个潜在的漏洞的危害降到***。
什么是Qubes系统?
Joanna Rutkowska:Qubes 是开源的操作系统,为桌面计算机提供高度安全的一种系统。它通过一种划分块的方法来提供安全服务。是基于 Xen 和 Linux 的,但是同样支持 Windows 的应用。
它是怎么使用Xen和Linux的?
Joanna Rutkowska:Qubes 把 Xen 当作一个"块提供者",事实上,Xen非常适合这样的一个角色。Xen hypervisor 仍然是相对报告自由和一个优秀的机制使我们能够让它保持安全(它允许我们把qemu从TCB分离出来)。它也为我们平常的驱动领域提供支持,使我们能够利用沙盒网络和USB堆栈。
上面已经提到,Qubes 独立于底层的管理程序是很重要的一点。在一个发行版本中,我们会介绍管理程序的虚拟层,这个层使其它的一些虚拟服务和 Xen 的交互相对容易些。因此,在未来,我们也许会看到基于特定服务的 Qubes 系统,为了更好的硬件兼容性。
没有贬低Linux的重要性,如果没有自由的Linux系统,就不会有 Qubes。尽管我们也支持 Windows的应用程序模拟,Linux 仍是创建轻量的应用程序和复杂的服务虚拟的首要选择。
你主要是关注什么样的安全问题?
Joanna Rutkowska:我们应该接受桌面程序一直有bug这个事实。没有人,甚至是谷歌的安全小组,也不能保证发现和修改所有出现在桌面应用程序中的bug。各种各样的驱动程序(Wifi、USB等)也一直有bug。各种各样的文件系统也确实有一些bug。
Qubes是怎么样解决这些问题的?
Joanna Rutkowska:不同于以往那些试图增加安全机制到已经臃肿系统中的案例,Qubes 使用不同的方法:它从一系统分很多分隔开来的块(Xen虚拟)出发,这些块代表了用户安全领域和系统服务,然后建立把这些块连接起来的“桥”。
这些“连接桥”是本质上让Qubes变成一个有用的桌面系统,包括这看不见的桌面GUI,在不同的主机间安全的复制黏贴文件,和许多其它的服务。如果很好的利用这些内部的“连接桥”,会在安全方面取得更好的效果,你可以了解更多关于这个功能在一面的文章中。