Perangkat komputasi seluler menangani data sensitif pribadi dalam jumlah yang semakin besar. Kehadiran data sensitif tersebut, yang dibantu oleh koneksi yang konstan ke dunia luar, telah menghasilkan peningkatan investasi dari pelaku berbahaya yang tertarik untuk mengeksploitasi kerentanan guna mencapai tujuan mereka.
Sistem operasi, dengan bantuan unit pengelolaan memori (MMU) hardware, memberikan abstraksi yang mengisolasi proses yang tidak terkait satu sama lain. Hanya komponen yang merupakan bagian dari Trusted Computing Base (TCB) yang diizinkan untuk memprogram MMU ini secara langsung.
Model ini telah menjadi dasar penerapan privasi dan keamanan sejak diperkenalkannya sistem operasi mirip Unix. Namun, persyaratan ini menjadi bermasalah karena TCB saat ini terlalu besar: mencakup sebagian besar driver perangkat dan bus, penjadwal kompleks, sistem file, stack jaringan dan protokol, cache, parser dan loader yang dapat dieksekusi, serta soket. Kini menjadi sangat sulit untuk memastikan setiap sudut sistem rumit ini aman.
Kernel Linux memiliki lebih dari 20 juta baris kode dan tingkat perubahan serta penulisan ulangnya sangat menakjubkan. Pertumbuhan ini memberikan bantuan besar bagi Android dan ekosistem kami. Namun, TCB-nya yang besar mempersulit untuk memastikan tidak adanya kerentanan yang dapat dieksploitasi.
Vendor hardware telah mengembangkan solusi, seperti TrustZone Arm, yang memungkinkan prosesor berjalan dalam mode Aman dan memberi tag pada transaksi memori sebagai "aman" atau "tidak aman". Dalam sistem tersebut, data sensitif disimpan di dan hanya tersedia secara langsung untuk dunia yang aman, yang menyediakan layanan ke dunia yang tidak aman sesuai permintaan.
Batasan utama solusi semacam ini adalah domain terlalu kasar: hanya aman dan tidak aman. Seiring semakin banyak kasus penggunaan yang memerlukan isolasi dari sistem operasi, permukaan serangan akan meningkat dan kerentanan kemungkinan akan menyebabkan kompromi seluruh perangkat.
Batasan lain dari solusi saat ini adalah solusi tersebut dirancang untuk dunia yang relatif statis, tempat semua resource kasus penggunaan diperhitungkan dan dialokasikan sebelumnya. Solusi ini tidak cukup baik untuk kasus penggunaan dinamis saat resource dialokasikan sesuai permintaan.
Selain itu, API yang digunakan di luar sistem operasi Android difragmentasi dan membatasi kemampuan kami untuk men-deploy kasus penggunaan pada skala Android, termasuk dasar-dasar seperti Keymint dan Gatekeeper.
Guna mengatasi batasan ini dan memungkinkan Android memberikan fondasi yang kuat bagi kasus penggunaan generasi berikutnya, Android 13 memperkenalkan virtualisasi yang aman sebagai Android Virtualization Framework (AVF).
Sasaran utama AVF adalah menyediakan lingkungan eksekusi yang aman dan pribadi untuk kasus penggunaan generasi berikutnya.