למה כדאי להשתמש ב-AVF?

מכשירים ניידים מטפלים בכמויות גדולות יותר ויותר של מידע אישי רגיש. הנוכחות של נתונים רגישים כאלה, בשילוב עם החיבור המתמיד לעולם החיצוני, הובילה להשקעות מוגברות מצד גורמים זדוניים שמעוניינים לנצל נקודות חולשה כדי לקדם את המטרות שלהם.

מערכות הפעלה, בעזרת יחידות ניהול זיכרון (MMU) בחומרה, מספקות הפשטות שמבודדות תהליכים לא קשורים זה מזה. רק רכיבים שמהווים חלק מבסיס המחשוב המהימן (TCB) יכולים לתכנת ישירות את יחידות ניהול הזיכרון האלה.

המודל הזה הוא הבסיס לאופן שבו פרטיות ואבטחה יושמו מאז ההשקה של מערכות הפעלה דומות ל-Unix. עם זאת, הדרישה הזו הפכה לבעייתית כי ה-TCB של היום גדול מדי: הוא כולל את רוב מנהלי ההתקנים והאוטובוסים, מתזמנים מורכבים, מערכות קבצים, מחסנית רשת ופרוטוקולים, מטמונים, מנתחים ומטענים של קבצים הפעלה ושקעים. קשה מאוד לוודא שכל פינה במערכת המורכבת הזו בטוחה.

ליבת ה-Linux מכילה יותר מ-20 מיליון שורות קוד, וקצב השינויים והכתיבה מחדש שלה מדהים. הגידול הזה עוזר מאוד ל-Android ולסביבה העסקית שלנו. עם זאת, בגלל גודל ה-TCB, קשה לוודא שאין נקודות חולשה שאפשר לנצל.

ספקי חומרה פיתחו פתרונות, כמו TrustZone של Arm, שמאפשרים למעבדים לפעול במצב מאובטח ולתייג עסקאות זיכרון כ'מאובטחות' או כ'לא מאובטחות'. במערכות כאלה, מידע אישי רגיש מאוחסן בעולם המאובטח וזמין לו ישירות בלבד, והוא מספק שירותים לעולם הלא מאובטח לפי דרישה.

המגבלה העיקרית של פתרונות כאלה היא שהדומיינים הם גסים מדי: רק מאובטחים ולא מאובטחים. ככל שמוצגים יותר תרחישי שימוש שדורשים בידוד ממערכת ההפעלה, שטח הפנים של ההתקפה גדל והפרצות עלולות להוביל לפגיעה בכל המכשיר.

מגבלה נוספת של הפתרונות הקיימים היא שהם מיועדים לעולם יציב יחסית, שבו כל המשאבים של תרחישי השימוש מחושבים ומוקצים מראש. הפתרונות האלה לא מתאימים לתרחישי שימוש דינמיים שבהם המשאבים מוקצים לפי דרישה.

בנוסף, ממשקי ה-API שבהם נעשה שימוש מחוץ למערכת ההפעלה Android מפוצלים ומגבילים את היכולת שלנו לפרוס תרחישי שימוש בהיקף של Android, כולל תכונות בסיסיות כמו Keymint ו-Gatekeeper.

כדי לפתור את הבעיות האלה ולאפשר ל-Android לספק בסיס חזק לתרחישי שימוש מהדור הבא, ב-Android 13 מוצגת וירטואליזציה מאובטחת כ-Android Virtualization Framework ‏ (AVF).

המטרה העיקרית של AVF היא לספק סביבת ביצוע מאובטחת ופרטית לתרחישי שימוש מהדור הבא.