چرا AVF؟

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

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

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

هسته Linux بیش‌از ۲۰ میلیون خط کد دارد و نرخ تغییرات و بازنویسی‌ها شگفت‌انگیز است. این رشد کمک بزرگی به Android و بوم‌سازگان ما می‌کند. بااین‌حال، TCB بزرگ آن باعث می‌شود اطمینان از عدم وجود آسیب‌پذیری‌های قابل بهره‌برداری دشوار شود.

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

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

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

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

برای رفع این محدودیت‌ها و فعال کردن Android برای ارائه پایه‌ای قوی برای موارد استفاده نسل بعدی، Android 13 مجازی‌سازی امن را به‌عنوان «چارچوب مجازی‌سازی Android» (AVF) معرفی می‌کند.

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