Mobil bilgi işlem cihazları, giderek daha fazla miktarda kişisel olarak hassas veri işliyor. Bu tür hassas verilerin varlığı ve dış dünyayla sürekli bağlantı, hedeflerine ulaşmak için güvenlik açıklarından yararlanmak isteyen kötü niyetli kişilerin yatırımlarını artırmıştır.
İşletim sistemleri, donanım bellek yönetim birimleri (MMU'lar) sayesinde alakasız işlemleri birbirinden izole eden soyutlamalar sağlar. Yalnızca Güvenilir Bilgisayar Tabanı'nın (TCB) parçası olan bileşenlerin bu MMU'ları doğrudan programlamasına izin verilir.
Bu model, Unix benzeri işletim sistemlerinin kullanıma sunulmasından bu yana gizlilik ve güvenliğin nasıl uygulandığının temelini oluşturmuştur. Ancak bu şart, günümüzün TCB'sinin çok büyük olması nedeniyle sorunlu hale geldi: Çoğu cihaz ve otobüs sürücüsü, karmaşık planlayıcılar, dosya sistemleri, ağ yığını ve protokolleri, önbellekler, yürütülebilir ayrıştırıcılar ve yükleyiciler ve soketler TCB'ye dahildir. Bu karmaşık sistemin her köşesinin güvenli olmasını sağlamak artık çok zor.
Linux çekirdeği 20 milyondan fazla kod satırına sahiptir ve değişikliklerin ve yeniden yazmaların oranı şaşırtıcıdır. Bu artış, Android ve ekosistemimiz için çok faydalı oldu. Ancak büyük TCB'si, istismar edilebilir güvenlik açıklarının bulunmadığından emin olmayı zorlaştırır.
Donanım tedarikçileri, Arm'ın TrustZone gibi işlemcilerin Güvenli modda çalışmasına ve bellek işlemlerini "güvenli" veya "güvenli değil" olarak etiketlemesine olanak tanıyan çözümler geliştirmiştir. Bu tür sistemlerde hassas veriler, güvenli olmayan dünyaya isteğe bağlı olarak hizmet veren güvenli dünyada depolanır ve yalnızca bu dünyadan doğrudan erişilebilir.
Bu tür çözümlerin ana sınırlaması, alanların çok kaba olmasıdır: yalnızca güvenli ve güvenli olmayan. İşletim sisteminden izolasyon gerektiren daha fazla kullanım alanı kullanıma sunulduğunda saldırı alanı artar ve güvenlik açıkları cihazın tamamının güvenliğinin ihlal edilmesine yol açabilir.
Mevcut çözümlerin bir diğer sınırlaması da tüm kullanım alanı kaynaklarının hesaba katıldığı ve önceden ayrıldığı nispeten statik bir dünya için tasarlanmış olmalarıdır. Bu çözümler, kaynakların talep üzerine ayrıldığı dinamik kullanım alanları için yeterli değildir.
Ayrıca, Android işletim sistemi dışında kullanılan API'ler dağınıktır ve Keymint ve Gatekeeper gibi temel öğeler de dahil olmak üzere kullanım alanlarını Android ölçeğinde dağıtmamızı kısıtlar.
Bu sınırlamaları gidermek ve Android'in yeni nesil kullanım alanları için sağlam bir temel sunmasını sağlamak amacıyla Android 13, Android Virtualization Framework (AVF) olarak güvenli sanallaştırmayı kullanıma sunar.
AVF'nin ana hedefi, yeni nesil kullanım alanları için güvenli ve gizli bir yürütme ortamı sağlamaktır.