گوگل و شرکت سازندهی تراشهی ARM برای مقابله با آسیبپذیریهای امنیت حافظه در اندروید، یک ویژگی سختافزاری جدید به نام memory tagging extension (MTE) منتشر کردهاند. این ویژگی امکان شناسایی اشکالهای امنیتی حافظه با سربار کم را فراهم میکند و با توجه به اینکه مسائل امنیت حافظه در C و C++ رایج هستند، با برخی از بزرگترین مسائل امنیتی در اندروید مقابله میکند.
علیرغم تلاشهای بسیار زیاد، گوگل تشریح میکند که این نوع اشکالها بیش از نیمی از آسیبپذیریهای امنیتی با شدت بالا در اندروید ۹ را تشکیل میدهند. از آن گذشته، آنها بهسختی میتوانند مشکلات قابلیت اطمینان مانند خرابیها را تشخیص دهند. MTE باید تشخیص اشکالهای امنیت حافظه را بهینهتر کند. همچنین میتواند در یک حالت دقیق اجرا شود تا اطلاعات دقیقتری دربارهی نقض حافظه ارائه دهد و یا در یک حالت غیردقیق اجرا شود تا سربار پردازنده را کاهش دهد و حالت همیشه در حال استفاده را فعال کند.
بهگفتهی گوگل، MTE نسخهای از AddressSanitizer(ASan)/Hardware-assisted AddressSanitizer (HWASan) ارائه میدهد که استفاده از آن برای آزمایش در محیطهای آزمایشگاهی آسانتر است و قادر است تنها در زمان اندکی اشکالهای بیشتری را با هزینههای پایینتر پیدا کند و درنتیجه پیچیدگی فرآیند توسعه را کاهش دهد.
گوگل تشریح میکند که در بسیاری موارد، MTE امکان آزمایش امنیت حافظه را با استفاده از باینری ارسالشده برای تولید فراهم میکند. گزارشهای اشکال تولیدشده توسط MTE همانند گزارشهای ASAN و HWASAN دقیق و عملی خواهد بود. میتوان از MTE بهعنوان یک سازوکار برای آزمایش سناریوهای نرمافزاری پیچیده در تولید استفاده کرد. توسعهدهندگان برنامه و ORMs قادر خواهند بود تا بهطور انتخابی MTE را برای بخشیهایی از پشتهی نرمافزاری روشن کنند و گزارشهای اشکال از طریق سازوکارهایی مانند کنسول گوگل پلی در دسترس خواهد بود.
بهگفتهی گوگل، میتوان از MTE بهعنوان یک راهکار مقابلهای امنیتی قدرتمند برای بسیاری از کلاسهای اشکال امنیت حافظه در بستر اندروید و برنامهها استفاده کرد. در اکثر موارد، MTE باید شانس ۹۰ درصدی یا بالاتری برای شناسایی دسترسی نامعتبر به حافظه و جلوگیری از بهرهبرداری داشته باشد. گوگل بیان میکند که با پیادهسازی این راهکارهای محافظتی و اطمینان از اینکه مهاجمان نمیتوانند بهطور مکرر برای بهره برداری از مؤلفههای مهم امنیتی تلاش کنند، میتوان بهطور چشمگیری خطرات ناشی از مسائل امنیت حافظه را برای کاربران کاهش داد.
انتظار میرود که MTE رایجترین کلاسهای اشکال امنیت حافظه را شناسایی کند و به وصله کردن آنها و جلوگیری از بهرهبرداری کمک کند. همچنین انتظار میرود که MTE از نظر سربار، سهولت استقرار و مقیاس بهبود یابد. گوگل با همکاری شرکای ARM متعهد شده است که در سراسر پشتهی نرمافزاری اندروید از MTE پشتیبانی کند تا پشتیبانی از MTE را آزمایش کند. این شرکت پژوهشی قصد دارد MTE را بهطور گستردهتر در نرمافزار اندروید و زیستبوم سختافزاری پیادهسازی کند و حتی این ویژگی را بهعنوان یک نیاز اساسی برای مجموعهی خاصی از دستگاههای اندرویدی در نظر میگیرد.
منبع