圖片來源: 

微軟

今年8月時,業界就有謠言,微軟為了防範不安全軟體在桌機上執行,Windows企業版可能將加入名為InPrivate Desktop的安全功能,讓管理員啟動可拋棄式沙箱,建立應用程式一次性執行的安全環境,而近日微軟終於揭露該功能,宣布推出Windows Sandbox,「這個輕量化桌面環境,能在隔離環境下,讓使用者安全執行應用程式。」微軟表示。

儘管使用者也能透過VirtualBox、VMware Player等工具建立VM隔離環境,測試下載的應用程式是否安全。不過這次微軟釋出的Windows Sandbox的特色就在於,原生內建在Windows 10專業版、企業版內,不用另外VHD就可執行。根據微軟釋出的資料,要執行Windows Sandbox最基本的硬體規格,至少要搭配4GB記憶、1GB的硬碟空間,以及2核心CPU。

每當Windows Sandbox開始執行時,都會重新建立一個乾淨的作業系統環境,而當應用程式結束運作時,該沙箱環境內所有的資料皆被清空,不會對使用者裝置產生任何影響。同時,為了加速Windows Sandbox的運作效能,微軟也加入虛擬GPU、智慧記憶體管理等功能。

微軟解釋,Windows Sandbox的運作是以自家Hypervisor技術為核心,並且結合硬體虛擬化技術,達到作業系統核心隔離的目的(kernel isolation)。此外,該公司表示,Windows Sandbox亦有整合Windows容器使用的技術,但由於Windows容器是針對伺服器環境所打造,因此微軟亦針對Windows 10環境進行微調。

進一步探究Windows Sandbox的技術原理,其核心是一個輕量虛擬機,依舊需要底層Host作業系統才能開啟。不若其他虛擬化軟體,得要額外下載VHD映像檔掛載,微軟所進行的加強,是讓Windows Sandbox直接利用安裝在本機環境的Windows 10,複製另一份副本使用。在此微軟也整合了快照(Snapshot)及複製(Clone)技術,當使用者開啟Windows Sandbox時,系統會建立該一份快照,儲存至硬碟。使用者下次想要使用Windows Sandbox時,系統直接從硬碟讀取該份快照,配置至記憶體空間執行,不需再重新啟動。

同時,為了讓Windows Sanbox能建立乾淨的桌面環境,微軟的解決方法是建立一套動態基礎映像檔(Dynamic base image)。該公司解釋,這一套作業系統映像檔,與底層Host作業系統連結的檔案不能變更外,其餘檔案都能自由變更。也由於該映像檔大部分內容都與底層Host作業系統共用,才可讓其容量控制在100MB以下,「當Windows Sandbox未安裝時,基礎映像檔的壓縮打包檔大小只有25MB。」

而Windows Sandbox其他的亮點功能,還有智慧記憶體管理、整合式核心排程器(Integrated kernel scheduler),以及支援繪圖虛擬化等。

首先是智慧記憶體管理,微軟表示,雖然靠傳統伺服器虛擬化技術,就能單臺實體機資源劃分為多臺虛擬機器,但是對於桌面環境而言,可能會碰上硬體資源有限的痛點。因此,在Windows Sandbox的設計上,當Host環境需要額外記憶體資源時,可以逕行取回。

再者是作業系統核心排程器。在傳統虛擬化環境下,Hypervisor會控制虛擬機內程序的排程,但是在Windows Sandbox的架構,「我們採用一項新技術,稱為整合式排程器」,讓Host作業系統直接掌控該沙箱的運作。如此作法的優點,可以讓Windows Sandbox如同一般系統程序進行調度。而微軟表示:「此功能的最終目的,要讓沙箱等同一般應用程式,但是兼顧虛擬機的安全性。」

最後,Windows Sandbox也支援繪圖虛擬化功能,透過底層Host作業系統,動態配置繪圖資源給虛擬機,藉以改善該虛擬機內應用程式的效能。

Windows Sandbox不啟動時,其壓縮後的映像檔大小僅占25MB。當中的關鍵就在於,這個動態映像檔和底層Host共用了許多檔案,而該映像檔內多數皆由不可變更(Immutable)的連結檔組成,藉此讓映像檔能大幅瘦身。圖片來源:微軟

微軟表示,Windows Sandbox的最終目的,要讓該沙箱等同一般應用程式,但是兼顧虛擬機的安全性,能在隔離環境下安全執行應用程式。圖片來源:微軟


Advertisement

更多 iThome相關內容