Google强化Android虚拟化支持与安全性,推出AVF工具包
在Android 13首次引入的Android虚拟化框架(Android Virtualization Framework,AVF),现在将在更多的Android 14设备上提供。在Android 14中,Google还添加了一套新的工具包,让开发者能够更好地使用AVF及其组件。
Google由于要强化Android设备的安全性,因此在Android 13加入了AVF。AVF是一个在Android设备上执行虚拟机的技术,该架构的主要作用是隔离应用程序与系统之间的数据和操作,AVF让虚拟机成为Android操作系统的核心组件,类似Android利用Linux程序的方式。
AVF提供单向隔离与双向隔离两种隔离等级,单向隔离让Android系统可以控制和检查虚拟机中的内容,最常用于沙盒(Sandboxing)与分离(Separation)技术,使多个操作系统能够在单一设备上运行,并由Android控制和监视其他所有操作系统主机。而双向隔离则是指Android和虚拟机(Isolated VM)彼此完全隔离,隔离的虚拟机将可用于处理或是存储敏感数据,由于Android和虚拟机都无法相互访问,因此需要通过特定信道才能沟通。
在部分情况,AVF成了可替代Android Trustzone的机制,TrustZone是一种在Arm架构处理器上实现的安全技术,提供了安全的执行环境与硬件层级的隔离保护。而Google表示,运用AVF的双向隔离,开发者可以在Android中执行需要隔离,但是不需要提升特权的用例。也就是说,AVF提供的隔离虚拟机可以在不增加系统特权的情况下,对应用程序数据进行安全隔离,这样的隔离机制特别适用于保护敏感数据和执行重要操作。
AVF还具有可移植性的优势,Google提到,虚拟机和其中执行的应用程序,比可信任小程序(Trusted Applet)还更具可移植性,官方举例,具有Linux应用程序负载的Linux虚拟机,能够在所有支持AVF设备上的执行。这代表开发者只需要构建一次应用程序,就能够部署到其他地方,这与移植到Trustzone操作系统相比,借由虚拟机的方式,还可以简单地移植现有Linux应用程序。
在性能方面,AVF设计上讲究高效且灵活,虚拟机可以非常迷你,小至单独的C程序,也可以大到操作系统规模,虚拟机可以根据需求设计成持续或是家歇运行,也能根据整体系统健康状态和资源分配,并遵守Android调度提示和低内存警告,与操作系统良好地协作。
Google在Android 14扩大AVF的可用性,让AVF能够在更多的设备上可用,同时对AVF开了Android系统API,允许特权应用程序使用虚拟机,执行需要隔离的重要工作负载。开发者也可以通过虚拟机管理程序DevEx工具包,关注监控虚拟机的运行,更方便地进行调试。
Google的合作伙伴也可以使用虚拟机管理程序供应商模块,自订Google虚拟机管理程序(pKVM)满足特定需求。AVF在Android 14的运行性能也更好,基于microdroid的虚拟机启动速度是Android 13的2倍,内存使用只有一半,能够更好地支持特权应用程序和平台开发。
页:
[1]