دستگاههای محاسباتی سیار با حجم فزایندهای از دادههای حساس شخصی مدیریت میکنند. وجود چنین دادههای حساسی، به کمک ارتباط دائمی با دنیای خارج، منجر به افزایش سرمایهگذاری از سوی بازیگران مخربی شده است که علاقهمند به بهرهبرداری از آسیبپذیریها برای پیشبرد اهداف خود هستند.
سیستم عامل ها با کمک واحدهای مدیریت حافظه سخت افزاری (MMU) انتزاعیاتی را ارائه می کنند که فرآیندهای نامرتبط را از یکدیگر جدا می کند. فقط مؤلفه هایی که بخشی از پایگاه محاسباتی معتمد (TCB) هستند مجاز به برنامه ریزی مستقیم این MMUها هستند.
این مدل پایه و اساس چگونگی پیاده سازی حریم خصوصی و امنیت از زمان معرفی سیستم عامل های شبه یونیکس بوده است. با این حال، این نیاز از این جهت مشکل ساز شده است که TCB امروزی بسیار بزرگ است: شامل اکثر درایورهای دستگاه و اتوبوس، زمانبندی پیچیده، سیستم های فایل، پشته شبکه و پروتکل ها، حافظه پنهان، تجزیه کننده ها و بارگذارهای اجرایی و سوکت ها می شود. اطمینان از ایمن بودن هر گوشه از این سیستم پیچیده بسیار دشوار شده است.
هسته لینوکس بیش از 20 میلیون خط کد دارد و سرعت تغییرات و بازنویسی ها شگفت انگیز است. این رشد کمک بزرگی به اندروید و اکوسیستم ما است. با این حال TCB بزرگ آن اطمینان از عدم وجود آسیب پذیری های قابل بهره برداری را دشوار می کند.
فروشندگان سخت افزار راه حل هایی مانند Arm's TrustZone ایجاد کرده اند که به پردازنده ها اجازه می دهد در حالت امن اجرا شوند و تراکنش های حافظه را به عنوان "امن" یا "غیر امن" برچسب گذاری کنند. در چنین سیستمهایی، دادههای حساس در دنیای امن ذخیره میشوند و فقط مستقیماً در دسترس آن هستند، که خدماتی را در صورت تقاضا به دنیای غیرایمن ارائه میکند.
محدودیت اصلی این نوع راه حل ها این است که دامنه ها بیش از حد درشت هستند: فقط ایمن و غیر ایمن. با معرفی موارد استفاده بیشتر که نیاز به جداسازی از سیستم عامل دارند، سطح حمله افزایش مییابد و آسیبپذیریها احتمالاً منجر به به خطر انداختن کل دستگاه میشوند.
یکی دیگر از محدودیتهای راهحلهای امروزی این است که آنها برای دنیای نسبتاً ثابتی طراحی شدهاند که در آن همه منابع مورد استفاده زودتر از موعد محاسبه و تخصیص داده میشوند. این راه حل ها برای موارد استفاده پویا که در آن منابع بر اساس تقاضا تخصیص داده می شود، به اندازه کافی خوب نیستند.
علاوه بر این، APIهای مورد استفاده خارج از سیستم عامل اندروید تکه تکه هستند و توانایی ما را برای استقرار موارد استفاده در مقیاس Android، از جمله موارد اساسی مانند Keymint و Gatekeeper، محدود می کنند.
برای رفع این محدودیتها و فعال کردن اندروید برای ارائه پایهای قوی برای موارد استفاده نسل بعدی، اندروید 13 مجازیسازی امن را به عنوان چارچوب مجازیسازی اندروید (AVF) معرفی میکند.
هدف اصلی AVF ارائه یک محیط اجرای امن و خصوصی برای موارد استفاده نسل بعدی است.