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:
Ş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 .