Android Sanallaştırma Çerçevesi'ne (AVF) genel bakış

Android Sanallaştırma Çerçevesi (AVF), kod yürütmek için güvenli ve gizli yürütme ortamları sağlar. AVF, Android'in uygulama korumalı alanının sunduklarından daha güçlü, hatta resmi olarak doğrulanmış yalıtım garantileri gerektiren güvenliğe yönelik kullanım alanları için idealdir. Android, AVF'yi uygulamak için gereken tüm bileşenlerin referans uygulamasını sağlar. AVF yalnızca ARM64 cihazlarda desteklenir. Şekil 1'de AVF'nin mimarisi gösterilmektedir:

AVF mimarisi

Şekil 1. AVF mimarisi.

Şekil 1'deki en önemli terimlerin tanımları aşağıda verilmiştir:

apexd ve zipfuse
Ana makineden içe aktarılan APEX'leri ve APK'ları güvenli bir şekilde monte eder.
authfs
Android ile pVM (ana ve misafir makine) arasında birden fazla dosyayı güvenli bir şekilde paylaşmak için bir füzyon dosya sistemi.
binder
VM'ler arası iletişimin birincil yolu.
crosvm
Rust ile yazılmış bir sanal makine izleyicisi. crosvm, VM belleğini ayırır, sanal CPU iş parçacıkları oluşturur ve sanal cihazın arka uçlarını uygular.
Generic Kernel Image (GKI)
Google tarafından sertifikalandırılmış, Android Ortak Çekirdeği (ACK) kaynak ağacından oluşturulmuş bir GKI çekirdeği içeren ve Android cihazın önyükleme bölümüne yazılmaya uygun bir önyükleme görüntüsü. Daha fazla bilgi için Çekirdeğe genel bakış başlıklı makaleyi inceleyin.
hiper yönetici
AVF tarafından kullanılan sanallaştırma teknolojisi (pKVM olarak da bilinir). Hiper yönetici, ana makine Android veya diğer pVM'lerden herhangi biri saldırıya uğrasa bile yürütülen kodun bütünlüğünü ve pVM'nin öğelerinin gizliliğini korur.
Java API'si
Yalnızca AVF desteği olan cihazlarda bulunan VirtualizationService Java API'leri. Bu API'ler isteğe bağlıdır ve thebootclasspath parametresinin bir parçası değildir.
Microdroid
Google tarafından sağlanan ve pVM'de çalışan mini Android işletim sistemi.
Microdroid Manager
pVM yaşam döngüsünü, pVM'nin içindeki yaşam döngüsünü ve örnek diski yönetir.
Native API
Android Native Developers Kit'in (NDK) bir alt kümesi.
protected kernel-based virtual machine (pKVM)
Hipervizör bölümüne bakın.
pVM donanım yazılımı (pvmfw)
Bir pVM'de çalışan ilk kod, pvmfw yükü doğrular ve VM başına gizli anahtarı türetir.
korumalı sanal makine (pVM)
Hiper yönetici tarafından yönetilen, güvenli olmayan veya alan dünyasında çalışan ve Android ana makine işletim sisteminden yalıtılmış bir sanal makine. Bu sayede, Android ana makinesinin güvenliğinin ihlal edilmesi durumunda bile erişim engellenir.

pVM'ler, Linux tabanlı dağıtımlar da dahil olmak üzere zengin ortamları destekler. pVM kavramı Google'a özel değildir. Yalıtım/bellek erişimi kısıtlamalarını karşılayan iş ortağı tanımlı VM'ler (SoC / OEM) de pVM'lerdir.

VirtualizationService
pVM'lerin yaşam döngüsünü yöneten Android hizmeti.

Sırada ne var?

  • AVF'nin neden gerekli olduğunu daha iyi anlamak için Neden AVF? başlıklı makaleyi inceleyin.
  • AVF'nin izole derleme için nasıl kullanılabileceği hakkında bilgi edinmek için Kullanım alanları bölümüne bakın.
  • AVF referans uygulamasının mimarisi hakkında daha ayrıntılı bir açıklama için AVF mimarisi başlıklı makaleyi inceleyin.
  • Microdroid hakkında bilgi edinmek istiyorsanız Microdroid başlıklı makaleyi inceleyin.
  • AVF'nin güvenliği nasıl ele aldığı hakkında bilgi edinmek istiyorsanız Güvenlik bölümüne bakın.
  • Sanal hizmetin rolünü anlamak için VirtualizationService başlıklı makaleyi inceleyin.
  • AVF'nin kaynak kodu veya tek tek bileşenler hakkında ayrıntılı açıklama için AOSP deposu'na bakın.