چرا AVF؟

دستگاه‌های محاسباتی همراه به طور فزاینده‌ای حجم بیشتری از داده‌های حساس شخصی را مدیریت می‌کنند. وجود چنین داده‌های حساسی، به همراه اتصال مداوم به دنیای خارج، منجر به افزایش سرمایه‌گذاری‌های عوامل مخرب علاقه‌مند به سوءاستفاده از آسیب‌پذیری‌ها برای پیشبرد اهداف خود شده است.

سیستم‌های عامل، با کمک واحدهای مدیریت حافظه سخت‌افزاری (MMU)، انتزاع‌هایی را ارائه می‌دهند که فرآیندهای نامرتبط را از یکدیگر جدا می‌کنند. فقط اجزایی که بخشی از پایگاه محاسبات قابل اعتماد (TCB) هستند، مجاز به برنامه‌ریزی مستقیم این MMUها هستند.

این مدل، پایه و اساس چگونگی پیاده‌سازی حریم خصوصی و امنیت از زمان معرفی سیستم‌عامل‌های شبه یونیکس بوده است. با این حال، این الزام از آنجا که TCB امروزی بسیار بزرگ است، مشکل‌ساز شده است: این TCB ​​شامل اکثر درایورهای دستگاه و گذرگاه، زمان‌بندهای پیچیده، سیستم‌های فایل، پشته و پروتکل‌های شبکه، حافظه‌های پنهان، تجزیه‌کننده‌ها و لودرهای اجرایی و سوکت‌ها می‌شود. اطمینان از ایمن بودن هر گوشه از این سیستم پیچیده بسیار دشوار شده است.

هسته لینوکس بیش از 20 میلیون خط کد دارد و سرعت تغییرات و بازنویسی‌ها شگفت‌انگیز است. این رشد کمک بزرگی به اندروید و اکوسیستم ما می‌کند. با این حال، TCB بزرگ آن، تضمین عدم وجود آسیب‌پذیری‌های قابل سوءاستفاده را دشوار می‌کند.

فروشندگان سخت‌افزار، راه‌حل‌هایی مانند TrustZone شرکت Arm را توسعه داده‌اند که به پردازنده‌ها اجازه می‌دهد در حالت امن اجرا شوند و تراکنش‌های حافظه را به عنوان «امن» یا «غیرامن» برچسب‌گذاری کنند. در چنین سیستم‌هایی، داده‌های حساس در دنیای امن ذخیره می‌شوند و فقط مستقیماً در دسترس آن قرار می‌گیرند، که این دنیا بنا به تقاضا به دنیای غیرامن خدمات ارائه می‌دهد.

محدودیت اصلی این نوع راه‌حل‌ها این است که دامنه‌ها بیش از حد دانه‌درشت هستند: فقط امن و غیرامن. با معرفی موارد استفاده بیشتری که نیاز به جداسازی از سیستم‌عامل دارند، سطح حمله افزایش می‌یابد و آسیب‌پذیری‌ها احتمالاً منجر به به خطر افتادن کل دستگاه می‌شوند.

یکی دیگر از محدودیت‌های راه‌حل‌های امروزی این است که آن‌ها برای یک دنیای نسبتاً ایستا طراحی شده‌اند که در آن تمام منابع مورد استفاده از قبل محاسبه و تخصیص داده می‌شوند. این راه‌حل‌ها برای موارد استفاده پویا که در آن‌ها منابع بر اساس تقاضا تخصیص داده می‌شوند، به اندازه کافی خوب نیستند.

علاوه بر این، APIهای مورد استفاده در خارج از سیستم عامل اندروید، پراکنده هستند و توانایی ما را برای استقرار موارد استفاده در مقیاس اندروید، از جمله اصول اولیه مانند Keymint و Gatekeeper، محدود می‌کنند.

برای رفع این محدودیت‌ها و توانمندسازی اندروید برای فراهم کردن بستری قوی برای موارد استفاده نسل بعدی، اندروید ۱۳ مجازی‌سازی امن را به عنوان چارچوب مجازی‌سازی اندروید (AVF) معرفی می‌کند.

هدف اصلی AVF فراهم کردن یک محیط اجرایی امن و خصوصی برای موارد استفاده نسل بعدی است.