Android Sanallaştırma Çerçevesine (AVF) genel bakış

Android Virtualization Framework (AVF), kod yürütmek için güvenli ve özel yürütme ortamları sağlar. AVF, Android'in uygulama sanal alanı tarafından sunulanlara göre daha güçlü, hatta resmi olarak doğrulanmış yalıtım güvenceleri gerektiren güvenlik odaklı kullanım durumları için idealdir. Android, AVF'yi uygulamak için gereken tüm bileşenlerin referans uygulamasını sağlar. Şu anda AVF yalnızca ARM64 cihazlarında desteklenmektedir. Şekil 1, AVF'nin mimarisini göstermektedir:

AVF mimarisi

Şekil 1. AVF mimarisi

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

apexd ve zipfuse
Ana bilgisayardan içe aktarılan APEX'leri ve APK'ları güvenli bir şekilde bağlar.
yetkiler
Android ve pVM (ana bilgisayar ve konuk) arasında birden fazla dosyanın güvenlik paylaşımı için bir sigorta dosya sistemi.
bağlayıcı
Sanal makineler arası iletişimin birincil araçları.
çapraz vm
Pasla yazılmış bir sanal makine monitörü. crosvm, VM belleği ayırır, sanal CPU iş parçacıkları oluşturur ve sanal aygıtın arka uçlarını uygular.
Genel Çekirdek Görüntüsü (GKI)
Bir Android Ortak Çekirdeği (ACK) kaynak ağacından oluşturulmuş bir GKI çekirdeği içeren ve bir Android aygıtının önyükleme bölümüne flaş olarak yüklenmeye uygun, Google tarafından onaylanmış bir önyükleme görüntüsü. Daha fazla bilgi için Çekirdeğe genel bakış bölümüne bakın.
hipervizör
AVF tarafından kullanılan, pKVM olarak da bilinen sanallaştırma teknolojisi. Hipervizör, Android veya diğer pVM'lerden herhangi birinin güvenliği ihlal edilmiş olsa bile, yürütülen kodun bütünlüğünü ve pVM varlıklarının gizliliğini korur.
Java API'sı
Yalnızca AVF desteği olan cihazlarda bulunan VirtualizationService Java API'leri. Bu API'ler isteğe bağlıdır ve thebootclasspath bir parçası değildir.
mikro droid
Bir pVM'de çalışan, Google tarafından sağlanan bir mini Android işletim sistemi.
Mikrodroid Yöneticisi
pVM içindeki pVM yaşam döngüsünü ve örnek diski yönetir.
Yerel API
Android Native Developers Kit'in (NDK) bir alt kümesi.
korumalı çekirdek tabanlı sanal makine (pKVM)
Bkz. Hipervizör .
pVM üretici yazılımı ( pvmfw )
Bir pVM üzerinde çalışan ilk kod olan pvmfw , yükü doğrular ve VM başına sırrı türetir.
korumalı sanal makine (pVM)

Ana Android işletim sistemi ("ana bilgisayar") ile birlikte çalışan, karşılıklı olarak güvenilmeyen izole yürütme ortamları ("misafirler"). pVM'ler, 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 onları destekleyen tüm cihazlarda standart bir API seti sağlar.

Sanallaştırma Hizmeti

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

Sıradaki ne?

  • AVF ihtiyacını daha iyi anlamak istiyorsanız, Neden AVF? .
  • AVF'nin yalıtılmış derleme için nasıl kullanılabileceği hakkında bilgi edinmek için Kullanım örnekleri bölümüne bakın.
  • AVF referans uygulamasının mimarisi hakkında daha ayrıntılı bir açıklama istiyorsanız, AVF mimarisi bölümüne bakın.
  • Microdroid hakkında bilgi edinmek istiyorsanız, Microdroid'e bakın.
  • AVF'nin güvenliği nasıl ele aldığıyla ilgileniyorsanız, Güvenlik bölümüne bakın.
  • Sanallaştırma hizmetinin rolünü anlamak için bkz . VirtualizationService .