نظرة عامة على تمديد توصيف الذاكرة (Armv8.5-A)

يوفر هذا المنشور ترجمة للورقة البيضاء لـ Armv8.5-A: امتداد توصيف الذاكرة (MTE) الجديد من ARM. تسعى MTE إلى زيادة أمان التعليمات البرمجية المكتوبة بلغات غير آمنة دون الحاجة إلى تغييرات في التعليمات البرمجية المصدر ، وفي بعض الحالات ، دون الحاجة إلى إعادة الترجمة. إن النشر البسيط لآليات الكشف عن عواقب انتهاكات أمن الذاكرة ومنعها يمكن أن يمنع استغلال فئة كبيرة من الثغرات الأمنية.



المقدمة


في عام 1988 ، تحطمت دودة الإنترنت عشر الشبكة التي كانت لا تزال في مهدها ، وتباطأ الجزء المتبقي بشكل ملحوظ ( دودة موريس ). بعد أكثر من ثلاثين عامًا ، لا تزال فئتان من نقاط الضعف في الذاكرة ذات صلة ومهمة للرمز المكتوب بلغة برمجة تشبه C. وفقًا لعرض BlueHat لعام 2019 ، فإن 70٪ من جميع مشكلات الأمان التي تم حلها في منتجات Microsoft ناتجة عن خروقات أمان الذاكرة. حصلت Google على بيانات مماثلة لنظام Android : أكثر من 75٪ من الثغرات الأمنية هي انتهاكات لأمن الذاكرة. على الرغم من أن العديد من هذه الانتهاكات لم تكن ممكنة في لغات آمنة أكثر حداثة ، إلا أن قاعدة التعليمات البرمجية المكتوبة بلغة C و C ++ واسعة للغاية. ديبيان لينكس وحدهيحتوي على أكثر من نصف مليار خط .


تنقسم انتهاكات أمان الذاكرة إلى فئتين رئيسيتين: الأمان المكاني والأمن المؤقت. عادة ما يكون استغلال الانتهاكات من النوع الأول مخصصًا لما يلي:


  • تسليم حمولة ضارة ؛
  • السيطرة على النظام (في سلسلة مع أنواع أخرى من نقاط الضعف) ؛
  • تنظيم تسرب المعلومات المتميزة.

يحدث انتهاك للأمان المكاني عندما يتجاوز الاستئناف إلى كائن حدوده الحقيقية. على سبيل المثال: تجاوز سعة المخزن المؤقت على المكدس ، والذي قد يسمح بإعادة كتابة عنوان المرسل من الوظيفة ، والذي بدوره يمكن أن يشكل أساسًا للعديد من أنواع الهجمات.


́ , , , , . , , , .


MTE . MTE , . . MTE , . ( ) .



MTE , , . .


MTE , . (legacy) MTE .


MTE . MTE , . MTE MTE , Branch Target Identification (BTI) Pointer Authentication Code (PAC), , , .


MTE


Memory Tagging Extension "-" (lock & key). (lock) . ( ), . ( ) .


16 . (Tag Granule). (lock).


(, , ) , .


, ́ , MTE Top Byte Ignore (TBI) Armv8-A. TBI , . . MTE .


"-" :


MTE , . ( 4), , . , , , , , , .


MTE - . , , 100%.



, Memory Tagging Extension Armv8-A. , :


  • Architectural Details
  • Deploying MTE at Scale
  • Deploying MTE in Hardware
  • Deploying MTE in Software
  • Optimizing for MTE

, Google MTE Android (Arm). /, .


a13xp0p0vومنشوره الممتاز ، CVE-2019-18683: استغلال ثغرة في نظام Linux V4L2 الفرعي ، مما أثار الاهتمام بمحرك MTE .


All Articles