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

Android Sanallaştırma Çerçevesi (AVF), kodun yürütülmesi 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ış izolasyon 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. AVF şu anda yalnızca ARM64 cihazlarda 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.
yetkilendirmeler
Android ile pVM (ana bilgisayar ve konuk) arasında birden fazla dosyanın güvenlik paylaşımına yönelik bir sigorta dosya sistemi.
bağlayıcı
VM'ler arası iletişimin birincil araçları.
çaprazvm
Pasla yazılmış bir sanal makine monitörü. crosvm, VM belleğini 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)
Google tarafından onaylanmış, Android Ortak Çekirdek (ACK) kaynak ağacından oluşturulmuş bir GKI çekirdeği içeren ve bir Android cihazının önyükleme bölümüne flashlanmaya uygun bir önyükleme görüntüsü. Daha fazla bilgi için Çekirdeğe genel bakış konusuna bakın.
hipervizör
AVF tarafından kullanılan sanallaştırma teknolojisi, pKVM olarak da bilinir. Hipervizör, Android veya diğer pVM'lerden herhangi biri tehlikeye girse bile, yürütülen kodun bütünlüğünü ve pVM varlıklarının gizliliğini korur.
Java API'si
Yalnızca AVF desteğine sahip cihazlarda bulunan VirtualizationService Java API'leri. Bu API'ler isteğe bağlıdır ve thebootclasspath parçası değildir.
Mikrodroid
Google tarafından sağlanan ve pVM'de çalışan bir mini Android işletim sistemi.
Mikrodroid Yöneticisi
pVM'nin ve örnek diskin içindeki pVM yaşam döngüsünü yönetir.
Yerel API
Android Yerel Geliştiriciler Kitinin (NDK) bir alt kümesi.
korumalı çekirdek tabanlı sanal makine (pKVM)
Bkz. Hipervizör .
pVM ürün 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ıyla (TEE'ler) karşılaştırıldığında pVM'ler, Microdroid adı verilen 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ğlayabilir.

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? bölümüne bakın. .
  • AVF'nin yalıtılmış derleme için nasıl kullanılabileceği hakkında bilgi edinmek için Kullanım durumları bölümüne bakın.
  • AVF referans uygulamasının mimarisine ilişkin daha ayrıntılı bir açıklama istiyorsanız AVF mimarisine 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 VirtualizationService'e bakın.
  • AVF'nin kaynak kodu veya tek tek bileşenler hakkında ayrıntılı açıklama için AOSP deposuna bakın
,

Android Sanallaştırma Çerçevesi (AVF), kodun yürütülmesi 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ış izolasyon 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. AVF şu anda yalnızca ARM64 cihazlarda 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.
yetkilendirmeler
Android ile pVM (ana bilgisayar ve konuk) arasında birden fazla dosyanın güvenlik paylaşımına yönelik bir sigorta dosya sistemi.
bağlayıcı
VM'ler arası iletişimin birincil araçları.
çaprazvm
Pasla yazılmış bir sanal makine monitörü. crosvm, VM belleğini 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)
Google tarafından onaylanmış, Android Ortak Çekirdek (ACK) kaynak ağacından oluşturulmuş bir GKI çekirdeği içeren ve bir Android cihazının önyükleme bölümüne flashlanmaya uygun bir önyükleme görüntüsü. Daha fazla bilgi için Çekirdeğe genel bakış konusuna bakın.
hipervizör
AVF tarafından kullanılan sanallaştırma teknolojisi, pKVM olarak da bilinir. Hipervizör, Android veya diğer pVM'lerden herhangi biri tehlikeye girse bile, yürütülen kodun bütünlüğünü ve pVM varlıklarının gizliliğini korur.
Java API'si
Yalnızca AVF desteğine sahip cihazlarda bulunan VirtualizationService Java API'leri. Bu API'ler isteğe bağlıdır ve thebootclasspath parçası değildir.
Mikrodroid
Google tarafından sağlanan ve pVM'de çalışan bir mini Android işletim sistemi.
Mikrodroid Yöneticisi
pVM'nin ve örnek diskin içindeki pVM yaşam döngüsünü yönetir.
Yerel API
Android Yerel Geliştiriciler Kitinin (NDK) bir alt kümesi.
korumalı çekirdek tabanlı sanal makine (pKVM)
Bkz. Hipervizör .
pVM ürün 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ıyla (TEE'ler) karşılaştırıldığında pVM'ler, Microdroid adı verilen 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ğlayabilir.

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? bölümüne bakın. .
  • AVF'nin yalıtılmış derleme için nasıl kullanılabileceği hakkında bilgi edinmek için Kullanım durumları bölümüne bakın.
  • AVF referans uygulamasının mimarisine ilişkin daha ayrıntılı bir açıklama istiyorsanız AVF mimarisine 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 VirtualizationService'e bakın.
  • AVF'nin kaynak kodu veya tek tek bileşenler hakkında ayrıntılı açıklama için AOSP deposuna bakın