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ı tarafından sunulanlara göre daha güçlü, resmi olarak doğrulanmış izolasyon güvenceleri gerektiren güvenlik odaklı kullanım alanları için idealdir. Android, AVF'yi uygulamak için gereken tüm bileşenlerin referans uygulamasını sağlar. AVF şu anda yalnızca ARM64 cihazlarda desteklenmektedir. Şekil 1'de AVF'nin mimarisi gösterilmektedir:

AVF mimarisi

Şekil 1. AVF mimarisi

Şekil 1'deki en önemli terimlerin tanımları şunlardır:

apexd ve zipfuse
Ana makineden içe aktarılan APEX'leri ve APK'ları güvenli bir şekilde bağlar.
authfs
Android ile pVM (ana makine ve konuk) arasında birden fazla dosyayı güvenli bir şekilde paylaşmak için bir fuse dosya sistemi.
binder
Sanal makineler arası iletişimin birincil araçları.
crosvm
pasta yazılmış bir sanal makine monitörü. crosvm, sanal makine belleğini ayırır, sanal CPU iş parçacıklarını oluşturur ve sanal cihazın arka uçlarını uygular.
Genel Çekirdek Görüntüsü (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 resmi. Daha fazla bilgi için Çekirdeğe genel bakış başlıklı makaleyi inceleyin.
hypervisor
AVF tarafından kullanılan sanallaştırma teknolojisi, yani pKVM. Ana makine Android'in veya diğer pVM'lerden herhangi birinin güvenliği ihlal edilse bile sanal makine yöneticisi, 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'ün bir parçası değildir.
Microdroid
pVM'de çalışan, Google tarafından sağlanan mini Android OS.
Microdroid Manager
pVM ve örnek disk içindeki pVM yaşam döngüsünü yönetir.
Yerel API
Android Native Developers Kit (NDK) alt kümesi.
korunan çekirdek tabanlı sanal makine (pKVM)
Hipervizör'e göz atın.
pVM donanım yazılımı (pvmfw)
pVM'de çalışan ilk kod olan pvmfw, yükü doğrular ve sanal makine başına gizli anahtarı oluşturur.
korumalı sanal makine (pVM)

Ana Android işletim sistemi ("ana makine") ile birlikte çalışan, karşılıklı güvenilmeyen izole bir yürütme ortamı ("konuk"), pVM'ler tarafından pKVM tarafından yönetilir.

Mevcut güvenilir yürütme ortamlarına (TEE'ler) kıyasla pVM'ler, Microdroid adlı bir mini Android dağıtımı da dahil olmak üzere daha zengin bir ortam sağlar. pVM'ler dinamik olarak kullanılabilir ve bunları destekleyen tüm cihazlarda kullanılabilen standart bir API grubu sağlar.

VirtualizationService

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

Sırada ne var?

  • AVF'ye olan ihtiyacı daha iyi anlamak istiyorsanız Neden AVF? başlıklı makaleyi inceleyin.
  • AVF'nin izole derleme için nasıl kullanılabileceği hakkında bilgi edinmek istiyorsanız Kullanım alanları bölümüne bakın.
  • AVF referans uygulamasının mimarisi hakkında daha ayrıntılı bir açıklama istiyorsanız AVF mimarisine bakın.
  • Mikrodroid hakkında bilgi edinmek istiyorsanız Mikrodroid konusuna bakın.
  • AVF'nin güvenliği nasıl ele aldığını öğrenmek istiyorsanız Güvenlik bölümüne bakın.
  • Sanallaştırma hizmetinin rolünü anlamak için VirtualizationService'e bakın.
  • AVF'nin kaynak kodu veya bileşenler hakkında ayrıntılı açıklama için AOSP deposuna bakın.