إغلق الإعلان

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

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

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

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

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

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

الأكثر قراءة اليوم

.