Neden AVF?

Mobil bilgi işlem cihazları, giderek daha büyük miktarlarda kişisel olarak hassas verileri işliyor. Bu tür hassas verilerin varlığı ve dış dünyayla sürekli bağlantı, kötü niyetli kişilerin hedeflerine ulaşmak için güvenlik açıklarından yararlanmaya yönelik yatırımlarını artırmasına neden oldu.

İşletim sistemleri, donanım bellek yönetimi birimlerinin (MMU'lar) yardımıyla alakasız süreçleri birbirinden ayıran soyutlamalar sağlar. Bu MMU'ları doğrudan programlamaya yalnızca Trusted Computing Base (TCB) kapsamında olan bileşenler izin verir.

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üzdeki TCB'nin çok büyük olması nedeniyle sorunlu hale gelmiştir. TCB, çoğu cihaz ve veri yolu sürücüsünü, karmaşık planlayıcıları, dosya sistemlerini, ağ yığınını ve protokollerini, önbellekleri, yürütülebilir ayrıştırıcıları ve yükleyicileri ve soketleri içerir. Bu karmaşık sistemin her köşesinin güvenli olmasını sağlamak çok zorlaştı.

Linux çekirdeğinde 20 milyondan fazla kod satırı vardır ve değişiklik ile yeniden yazma oranı şaşırtıcıdır. Bu büyüme, Android ve ekosistemimiz için büyük bir destek kaynağıdır. 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, işlemcilerin güvenli modda çalışmasına ve bellek işlemlerini "güvenli" veya "güvenli olmayan" olarak etiketlemesine olanak tanıyan Arm'ın TrustZone'u gibi çözümler geliştirdi. Bu tür sistemlerde hassas veriler, güvenli dünyada depolanır ve yalnızca doğrudan kullanılabilir. Güvenli dünya, güvenli olmayan dünyaya talep üzerine hizmetler sunar.

Bu tür çözümlerin temel sınırlaması, alanların çok kaba olmasıdır: yalnızca güvenli ve güvenli olmayan. İşletim sisteminden yalıtım gerektiren kullanım alanları arttıkça saldırı yüzeyi de artar ve güvenlik açıkları, cihazın tamamının güvenliğinin ihlal edilmesine yol açabilir.

Günümüz çözümlerinin bir diğer sınırlaması da tüm kullanım alanı kaynaklarının önceden hesaba katıldığı ve ayrıldığı, nispeten statik bir dünya için tasarlanmış olmalarıdır. Bu çözümler, kaynakların isteğe bağlı olarak ayrıldığı dinamik kullanım alanları için yeterli değildir.

Ayrıca, Android işletim sistemi dışında kullanılan API'ler parçalanmış durumdadır ve Keymint ile Gatekeeper gibi temel özellikler de dahil olmak üzere kullanım alanlarını Android ölçeğinde dağıtma olanağımızı kısıtlar.

Bu sınırlamaları gidermek ve Android'in yeni nesil kullanım alanları için sağlam bir temel oluşturmasını sağlamak amacıyla Android 13, Android Virtualization Framework (AVF) olarak güvenli sanallaştırmayı kullanıma sunuyor.

AVF'nin temel amacı, yeni nesil kullanım alanları için güvenli ve özel bir yürütme ortamı sağlamaktır.