סקירה כללית של Android Virtualization Framework (AVF).

Android Virtualization Framework (AVF) מספק סביבות ביצוע מאובטחות ופרטיות לביצוע קוד. AVF אידיאלי עבור מקרי שימוש מוכווני אבטחה הדורשים הבטחות בידוד חזקות יותר, אפילו מאומתות רשמית, על פני אלו שמציעות ארגז החול של האפליקציה של אנדרואיד. אנדרואיד מספקת יישום ייחוס של כל הרכיבים הדרושים ליישום AVF. נכון לעכשיו, AVF נתמך רק במכשירי ARM64. איור 1 מציג את הארכיטקטורה של AVF:

ארכיטקטורת AVF

איור 1. ארכיטקטורת AVF

להלן ההגדרות למונחים החשובים ביותר מאיור 1:

apexd ו-zipfuse
מעלה בצורה מאובטחת APEXs ו-APKs שיובאו מהמארח.
autfs
מערכת קבצים לפיוז לשיתוף אבטחה של מספר קבצים בין אנדרואיד ל-pVM (מארח ואורח).
כּוֹרֵך
אמצעי עיקרי לתקשורת בין-VM.
crosvm
צג מכונה וירטואלית כתוב בחלודה. crosvm מקצה זיכרון VM, יוצר שרשורי מעבד וירטואליים ומיישם את הקצה האחורי של המכשיר הווירטואלי.
תמונת ליבה כללית (GKI)
תמונת אתחול מאושרת על ידי גוגל המכילה ליבת GKI הבנויה מעץ מקור Android Common Kernel (ACK) ומתאימה להבהב למחיצת האתחול של מכשיר אנדרואיד. למידע נוסף, עיין בסקירת הליבה .
היפרוויזר
טכנולוגיית הוירטואליזציה המשמשת את AVF, הידועה גם בשם pKVM . ה-Hypervisor שומר על שלמות הקוד המבוצע ועל סודיות הנכסים של ה-pVM, גם אם ה-Android או כל אחד מה-pVMs האחרים נפגעים.
Java API
ממשקי ה-API של Java VirtualizationService, שקיימים רק במכשירים עם תמיכה ב-AVF. ממשקי API אלה הם אופציונליים ואינם חלק מ- thebootclasspath .
מיקרודרואיד
מערכת הפעלה מיני אנדרואיד שסופקה על ידי גוגל הפועלת ב-pVM.
מנהל Microdroid
מנהל את מחזור החיים של pVM, בתוך ה-pVM, ודיסק המופע.
API מקורי
תת-קבוצה של Android Native Developers Kit (NDK).
מכונה וירטואלית מוגנת מבוססת ליבה (pKVM)
ראה Hypervisor .
קושחת pVM ( pvmfw )
הקוד הראשון שרץ על pVM, pvmfw מאמת את המטען ומפיק את הסוד לכל VM.
מכונה וירטואלית מוגנת (pVM)

סביבות ביצוע מבודדות בחוסר אמון הדדי ("אורחים") הפועלת לצד מערכת ההפעלה הראשית של אנדרואיד ("מארח"). pVMs מנוהלים על ידי pKVM.

בהשוואה לסביבות ביצוע מהימנות (TEEs), pVMs מספקות סביבה עשירה יותר, כולל הפצת מיני אנדרואיד בשם Microdroid . ניתן להשתמש ב-pVMs באופן דינמי ולספק סט סטנדרטי של ממשקי API הזמינים בכל המכשירים התומכים בהם.

שירות וירטואליזציה

שירות אנדרואיד שמנהל את מחזור החיים של מכשירי pVM.

מה הלאה?

  • אם אתה רוצה להבין טוב יותר את הצורך ב-AVF, עיין ב- למה AVF? .
  • כדי לקרוא כיצד ניתן להשתמש ב-AVF עבור קומפילציה מבודדת, עיין במקרי שימוש .
  • אם אתה רוצה הסבר מעמיק יותר על ארכיטקטורת יישום ההתייחסות של AVF, עיין בארכיטקטורת AVF .
  • אם אתה רוצה ללמוד על Microdroid, עיין ב- Microdroid .
  • אם אתה מעוניין כיצד AVF מטפל באבטחה, עיין בסעיף אבטחה .
  • כדי להבין את תפקידו של שירות הוירטואליזציה, עיין ב- VirtualizationService .
  • לקוד מקור של AVF או הסבר מעמיק על רכיבים בודדים, עיין במאגר AOSP
,

Android Virtualization Framework (AVF) מספק סביבות ביצוע מאובטחות ופרטיות לביצוע קוד. AVF אידיאלי עבור מקרי שימוש מוכווני אבטחה הדורשים הבטחות בידוד חזקות יותר, אפילו מאומתות רשמית, על פני אלו שמציעות ארגז החול של האפליקציה של אנדרואיד. אנדרואיד מספקת יישום ייחוס של כל הרכיבים הדרושים ליישום AVF. נכון לעכשיו, AVF נתמך רק במכשירי ARM64. איור 1 מציג את הארכיטקטורה של AVF:

ארכיטקטורת AVF

איור 1. ארכיטקטורת AVF

להלן ההגדרות למונחים החשובים ביותר מאיור 1:

apexd ו-zipfuse
מעלה בצורה מאובטחת APEXs ו-APKs שיובאו מהמארח.
autfs
מערכת קבצים לפיוז לשיתוף אבטחה של מספר קבצים בין אנדרואיד ל-pVM (מארח ואורח).
כּוֹרֵך
אמצעי עיקרי לתקשורת בין-VM.
crosvm
צג מכונה וירטואלית כתוב בחלודה. crosvm מקצה זיכרון VM, יוצר שרשורי מעבד וירטואליים ומיישם את הקצה האחורי של המכשיר הווירטואלי.
תמונת ליבה כללית (GKI)
תמונת אתחול מאושרת על ידי גוגל המכילה ליבת GKI הבנויה מעץ מקור Android Common Kernel (ACK) ומתאימה להבהב למחיצת האתחול של מכשיר אנדרואיד. למידע נוסף, עיין בסקירת הליבה .
היפרוויזר
טכנולוגיית הוירטואליזציה המשמשת את AVF, הידועה גם בשם pKVM . ה-Hypervisor שומר על שלמות הקוד המבוצע ועל סודיות הנכסים של ה-pVM, גם אם ה-Android או כל אחד מה-pVMs האחרים נפגעים.
Java API
ממשקי ה-API של Java VirtualizationService, שקיימים רק במכשירים עם תמיכה ב-AVF. ממשקי API אלה הם אופציונליים ואינם חלק מ- thebootclasspath .
מיקרודרואיד
מערכת הפעלה מיני אנדרואיד שסופקה על ידי גוגל הפועלת ב-pVM.
מנהל Microdroid
מנהל את מחזור החיים של pVM, בתוך ה-pVM, ודיסק המופע.
API מקורי
תת-קבוצה של Android Native Developers Kit (NDK).
מכונה וירטואלית מוגנת מבוססת ליבה (pKVM)
ראה Hypervisor .
קושחת pVM ( pvmfw )
הקוד הראשון שרץ על pVM, pvmfw מאמת את המטען ומפיק את הסוד לכל VM.
מכונה וירטואלית מוגנת (pVM)

סביבות ביצוע מבודדות בחוסר אמון הדדי ("אורחים") הפועלת לצד מערכת ההפעלה הראשית של אנדרואיד ("מארח"). pVMs מנוהלים על ידי pKVM.

בהשוואה לסביבות ביצוע מהימנות (TEEs), pVMs מספקות סביבה עשירה יותר, כולל הפצת מיני אנדרואיד בשם Microdroid . ניתן להשתמש ב-pVMs באופן דינמי ולספק סט סטנדרטי של ממשקי API הזמינים בכל המכשירים התומכים בהם.

שירות וירטואליזציה

שירות אנדרואיד שמנהל את מחזור החיים של מכשירי pVM.

מה הלאה?

  • אם אתה רוצה להבין טוב יותר את הצורך ב-AVF, עיין ב- למה AVF? .
  • כדי לקרוא כיצד ניתן להשתמש ב-AVF עבור קומפילציה מבודדת, עיין במקרי שימוש .
  • אם אתה רוצה הסבר מעמיק יותר על ארכיטקטורת יישום ההתייחסות של AVF, עיין בארכיטקטורת AVF .
  • אם אתה רוצה ללמוד על Microdroid, עיין ב- Microdroid .
  • אם אתה מעוניין כיצד AVF מטפל באבטחה, עיין בסעיף אבטחה .
  • כדי להבין את תפקידו של שירות הוירטואליזציה, עיין ב- VirtualizationService .
  • לקוד מקור של AVF או הסבר מעמיק על רכיבים בודדים, עיין במאגר AOSP