之前曾經介紹過波蘭的 Invisible Things Lab,她們在 2009 年初曾揭露過 Intel Trusted Execution Technology 的安全保護機制缺失。這個月,她們推出了一個新的試驗,Introducing Qubes OSQubes OS 是一個利用 Xen, X, Linux 所開發的作業系統。

基本的架構是將各種不同領域的軟體置入 Xen 虛擬機器中,所謂不同領域 (domain),指的是使用情境 (context)。如你可能有一個工作專用、網路銀行專用、網路小遊戲專用等等不同的領域。在不同的領域中,各個軟體元件都可以被隔開在自己的環境沙箱 (sandbox) 中,包含檔案系統、網路等也是利用 Xen 進行隔離的。也就是 Security by Isolation 的概念,論文中有詳盡介紹。

至於操作介面,則是利用 X Window System 的 client-server 架構,各個不同的領域的軟體 (X Client),將圖形化介面投到共用的 X Server。寄說還做了 Secure copy-and-paste 的機制,進而保護了剪貼簿的內容。設計上,他們做了一個 GUId 來處理圖形化問題,且每個 Domain 都有其 X Server,因此也不用怕有人利用 XQueryKeymap 寫 keylogger 來錄密碼。

由於各個軟體都被鎖在獨立的檔案系統、網路中,只透過網路傳送圖形介面。因此你不用擔心因為在網路遊戲中查看一些網站而中毒,因而影響到你的作業系統穩定性或刪改到工作檔案。

這是一個很有趣的嘗試。

不過顯而易見,系統資源相對會使用更多,例如每個 domain (Xen VM),都會固定佔掉 400M 記憶體 (?),而每個 domain 中,都需要留置一份自己的相關 userland libraries, programs 等。雖然 Qubes 看起來是用 COW 技術,讓系統盡量共享 Domain-0 中的 userland program. 不過若要新增軟體大概還是會佔掉不少空間。

另外則是由於軟體被安裝到不同的 domain 中,自然 menu/launcher 得重新設計,否則無法找到不同 domain 中的軟體。操作性上可能會弱一點。