微软Windows Sandbox来了! 桌面环境也能建立可抛弃式沙箱

微软
今年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的最终目的,要让该沙箱等同一般应用程序,但是兼顾虚拟机的安全性,能在隔离环境下安全执行应用程序。图片来源:微软
