قد يضيف Android 14 ميزة متقدمة لحماية الذاكرة لحماية جهازك من أخطاء سلامة الذاكرة

click fraud protection

قد يضيف Android 14 ميزة تجريبية جديدة تسمى "الحماية المتقدمة للذاكرة" والتي يمكنها الحماية من أخطاء سلامة الذاكرة على الأجهزة المتوافقة.

لقد كانت سلامة الذاكرة أولوية رئيسية لشركة Google مؤخرًا، حيث تميل أخطاء سلامة الذاكرة إلى أن تكون من أخطر الأخطاء في تطوير البرامج. في الواقع، كانت ثغرات أمان الذاكرة مسؤولة عن غالبية حالات Android الشديدة نقاط الضعف حتى عام 2022، وهو الوقت الذي كتبت فيه Google جزءًا كبيرًا من النسخة الأصلية الجديدة لنظام Android الكود في لغة البرمجة الصدأ بدلاً من C/C++. تعمل Google على دعم وسائل أخرى للتخفيف من ثغرات أمان الذاكرة في Android، أحدها يسمى وضع علامات على الذاكرة. على الأجهزة المدعومة قيد التشغيل أندرويد 14، قد يكون هناك إعداد جديد "لحماية الذاكرة المتقدمة" يمكنه تبديل هذه الميزة.

يعد ملحق وضع علامات الذاكرة (MTE) إحدى ميزات الأجهزة الإلزامية لوحدات المعالجة المركزية Arm v9 التي تحمي من الذاكرة أخطاء تتعلق بالسلامة (مع تكلفة إضافية طفيفة على أداء وقت التشغيل) من خلال توفير معلومات مفصلة حول الذاكرة الانتهاكات. كما يوضح جوجل"على مستوى عالٍ، تقوم MTE بوضع علامات على كل تخصيص/إلغاء تخصيص للذاكرة باستخدام بيانات تعريف إضافية. يقوم بتعيين علامة لموقع الذاكرة، والتي يمكن بعد ذلك ربطها بمؤشرات تشير إلى موقع الذاكرة هذا. في وقت التشغيل، تتحقق وحدة المعالجة المركزية من تطابق المؤشر وعلامات البيانات الوصفية عند كل عملية تحميل وتخزين.

تعمل Google على دعم MTE عبر مجموعة برامج Android لعدة إصدارات الآن. في Android 12، أضاف scudo، مُخصص الكومة في Android، دعمًا لثلاثة أوضاع تشغيل MTE على الأجهزة المتوافقة: الوضع المتزامن، والوضع غير المتزامن، والوضع غير المتماثل. أتاحت Google أيضًا تمكين MTE لعمليات النظام في وقت الإنشاء أو من خلال خصائص النظام و/أو متغيرات البيئة. يمكن للتطبيقات الاشتراك في دعم MTE من خلال الروبوت: memtagMode يصف. عند تمكين MTE للعمليات في Android، تؤدي فئات كاملة من أخطاء أمان الذاكرة، مثل الاستخدام بعد الاستخدام المجاني وتجاوز سعة المخزن المؤقت، إلى حدوث عطل بدلاً من تلف الذاكرة الصامت.

في أندرويد 13، أضافت Google واجهة برمجة التطبيقات (ABI) لمساحة المستخدم لتوصيل وضع التشغيل MTE المطلوب إلى أداة تحميل التشغيل. يمكن استخدام هذا لتمكين MTE على الأجهزة المتوافقة التي لا تأتي مع تمكينها افتراضيًا، أو بدلاً من ذلك يمكن استخدامه لتعطيله على الأجهزة المتوافقة التي تم تمكينه بها تقصير. إن تعيين خاصية النظام ro.arm64.memtag.bootctl_supported على "صحيح" في Android 13 من شأنه أن يخبر النظام بأن أداة تحميل التشغيل يدعم ABI ويقوم أيضًا بتشغيل زر للظهور في قائمة خيارات المطور الذي يسمح للمستخدم بتمكين MTE في اليوم التالي اعادة التشغيل. كان هذا موجهًا إلى المطورين الذين أرادوا اختبار سلوك تطبيقاتهم مع تمكين MTE.

ومع ذلك، في Android 14، قد يتطلب تمكين MTE على الأجهزة المتوافقة الغوص في خيارات المطور. إذا كان الجهاز يتميز بوحدة معالجة مركزية Arm v8.5+ مع دعم MTE، فإن تنفيذ الجهاز يدعم واجهة برمجة التطبيقات (ABI) لتوصيل وضع تشغيل MTE المطلوب إلى أداة تحميل التشغيل، والإصدار الجديد تم ضبط خاصية النظام "ro.arm64.memtag.bootctl_settings_toggle" على "صحيح"، ثم قد تظهر صفحة "حماية متقدمة للذاكرة" جديدة في الإعدادات > الأمان والخصوصية > مزيد من الأمان إعدادات. ويمكن أيضا إطلاق هذه الصفحة من خلال الجديد ACTION_ADVANCED_MEMORY_PROTECTION_SETTINGS عمل نية.

والجدير بالذكر أن مجموعة شرائح Tensor G2 في جوجل بيكسل 7 تستخدم السلسلة أنوية وحدة المعالجة المركزية Arm v8.2، وبالتالي فهي لا تدعم MTE. إذا كانت سلسلة Google Pixel 8 القادمة تستخدم نوى وحدة المعالجة المركزية Arm v9 الجديدة كما تفعل العديد من أجهزة Android الرائدة الأخرى، فستكون لديها أجهزة قادرة على دعم MTE. يبقى أن نرى ما إذا كانت ميزة "حماية الذاكرة المتقدمة" هذه ستصل بالفعل إلى الإصدار المستقر.

شكرا للباحث الأمني @flawedworlddev لمساعدتهم في هذه المادة!