Android Virtualization Framework (AVF) מספק סביבות ביצוע מאובטחות ופרטיות לביצוע קוד. AVF אידיאלי עבור מקרי שימוש מוכווני אבטחה הדורשים הבטחות בידוד חזקות יותר, אפילו מאומתות רשמית, על פני אלו שמציעות ארגז החול של האפליקציה של אנדרואיד. אנדרואיד מספקת יישום ייחוס של כל הרכיבים הדרושים ליישום AVF. נכון לעכשיו, AVF נתמך רק במכשירי ARM64. איור 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:
להלן ההגדרות למונחים החשובים ביותר מאיור 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