在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倍,記憶體使用只有一半,能夠更好地支援特權應用程式和平臺開發。

熱門新聞

Advertisement