Ringkasan Android Virtualization Framework (AVF)

Android Virtualization Framework (AVF) menyediakan lingkungan eksekusi yang aman dan pribadi untuk mengeksekusi kode. AVF ideal untuk kasus penggunaan yang berorientasi pada keamanan yang memerlukan jaminan isolasi yang lebih kuat, bahkan terverifikasi secara formal, dibandingkan dengan yang ditawarkan oleh sandbox aplikasi Android. Android menyediakan implementasi referensi dari semua komponen yang diperlukan untuk menerapkan AVF. AVF hanya didukung di perangkat ARM64. Gambar 1 menunjukkan arsitektur AVF:

Arsitektur AVF

Gambar 1. Arsitektur AVF.

Berikut adalah definisi untuk istilah paling penting dari gambar 1:

apexd dan zipfuse
Memasang APEX dan APK yang diimpor dari host dengan aman.
authfs
Sistem file FUSE untuk berbagi beberapa file secara aman antara Android dan pVM (host dan guest).
binder
Sarana utama komunikasi antar-VM.
crosvm
Monitor mesin virtual yang ditulis dalam bahasa Rust. crosvm mengalokasikan memori VM, membuat thread CPU virtual, dan mengimplementasikan backend perangkat virtual.
Generic Kernel Image (GKI)
Image boot yang disertifikasi oleh Google yang berisi kernel GKI yang dibangun dari pohon sumber Android Common Kernel (ACK) dan cocok untuk di-flash ke partisi boot perangkat Android. Untuk mengetahui informasi selengkapnya, lihat Ringkasan kernel.
hypervisor
Teknologi virtualisasi yang digunakan oleh AVF, juga dikenal sebagai pKVM. Hypervisor mempertahankan integritas kode yang dieksekusi dan kerahasiaan aset pVM, meskipun jika Android host atau pVM lainnya terganggu.
Java API
VirtualizationService Java API, yang hanya ada di perangkat dengan dukungan AVF. API ini bersifat opsional dan bukan bagian dari thebootclasspath.
Microdroid
Sistem operasi mini-Android yang disediakan Google dan berjalan di pVM.
Microdroid Manager
Mengelola siklus proses pVM, di dalam pVM, dan disk instance.
Native API
Subkumpulan Android Native Developers Kit (NDK).
protected kernel-based virtual machine (pKVM)
Lihat Hypervisor.
Firmware pVM (pvmfw)
Kode pertama yang berjalan di pVM, pvmfw memverifikasi payload dan mendapatkan rahasia per-VM.
protected virtual machine (pVM)
VM yang dikelola oleh hypervisor, berjalan di dunia non-aman atau realm dan diisolasi dari OS host Android sehingga akses dicegah bahkan jika host Android disusupi.

pVM mendukung lingkungan yang kaya, termasuk distribusi berbasis Linux. Konsep pVM tidak eksklusif untuk Google. VM yang ditentukan partner (SoC/OEM) yang memenuhi pembatasan akses memori / isolasi juga merupakan pVM.

VirtualizationService
Layanan Android yang mengelola siklus proses pVM.

Apa selanjutnya?

  • Jika Anda ingin lebih memahami kebutuhan AVF, lihat bagian Mengapa AVF?.
  • Untuk membaca cara AVF dapat digunakan untuk kompilasi terisolasi, lihat Kasus penggunaan.
  • Jika Anda ingin penjelasan yang lebih mendalam tentang arsitektur penerapan referensi AVF, lihat arsitektur AVF.
  • Jika Anda ingin mempelajari Microdroid, lihat Microdroid.
  • Jika Anda tertarik dengan cara AVF menangani keamanan, lihat Keamanan.
  • Untuk memahami peran layanan virtualisasi, lihat VirtualizationService.
  • Untuk kode sumber AVF atau penjelasan mendalam tentang setiap komponen, lihat repositori AOSP