Neden AVF?

Mobil bilgi işlem cihazları giderek daha fazla miktarda kişisel hassas veriyi işliyor. Dış dünyayla sürekli bağlantının da yardımıyla bu tür hassas verilerin varlığı, hedeflerine ulaşmak için güvenlik açıklarından yararlanmak isteyen kötü niyetli aktörlerin yatırımlarının artmasına neden oldu.

İşletim sistemleri, donanım bellek yönetim birimlerinin (MMU'lar) yardımıyla ilgisiz süreçlerin birbirinden izole edilmesini sağlayan soyutlamalar sağlar. Yalnızca TCB'nin parçası olan bileşenlerin bu MMU'ları doğrudan programlamasına izin verilir.

Bu model, Unix benzeri işletim sistemlerinin piyasaya sürülmesinden bu yana gizlilik ve güvenliğin nasıl uygulandığının temelini oluşturdu. Ancak günümüzün TCB'si çok büyük olduğundan bu gereksinim sorunlu hale gelmiştir: çoğu aygıt ve veri yolu sürücüsünü, karmaşık zamanlayıcıyı, dosya sistemlerini, ağ yığınını ve protokollerini, önbellekleri, yürütülebilir ayrıştırıcıları ve yükleyicileri ve yuvaları içerir. Bu karmaşık sistemin her köşesinin güvenli olmasını sağlamak artık çok zorlaştı.

Linux çekirdeğinde 20 milyondan fazla kod satırı bulunur ve değişiklik ve yeniden yazma oranı şaşırtıcıdır. Bu büyüme Android'e ve ekosistemimize çok büyük bir katkı sağlıyor. Ancak büyük TCB'si, istismar edilebilir güvenlik açıklarının bulunmadığından emin olmayı zorlaştırıyor.

Donanım satıcıları, işlemcilerin Güvenli modda çalışmasına ve bellek işlemlerini "güvenli" veya "güvenli olmayan" olarak etiketlemesine olanak tanıyan Arm's TrustZone gibi çözümler geliştirdi. Bu tür sistemlerde hassas veriler, güvenli olmayan dünyaya talep üzerine hizmet sağlayan güvenli dünyada depolanır ve yalnızca doğrudan erişime açıktır.

Bu tür çözümlerin ana sınırlaması, etki alanlarının çok kaba taneli olmasıdır: yalnızca güvenli ve güvenli değildir. İşletim sisteminden izolasyon gerektiren daha fazla kullanım durumu ortaya çıktıkça, saldırı yüzeyi artar ve güvenlik açıklarının tüm cihazın güvenliğinin ihlal edilmesine yol açması muhtemeldir.

Günümüzün çözümlerinin bir diğer sınırlaması da, tüm kullanım senaryosu kaynaklarının önceden hesaba katıldığı ve tahsis edildiği nispeten statik bir dünya için tasarlanmış olmalarıdır. Bu çözümler, kaynakların talep üzerine tahsis edildiği dinamik kullanım durumları için yeterince iyi değildir.

Ayrıca, Android işletim sisteminin dışında kullanılan API'ler parçalıdır ve Keymint ve Gatekeeper gibi temel bilgiler de dahil olmak üzere kullanım örneklerini Android ölçeğinde dağıtma yeteneğimizi kısıtlar.

Bu sınırlamaları gidermek ve Android'in yeni nesil kullanım örnekleri için sağlam bir temel sağlamasını sağlamak amacıyla Android 13, Android Sanallaştırma Çerçevesi (AVF) olarak güvenli sanallaştırmayı sunar.

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