يوفر هذا المنشور ترجمة للورقة البيضاء لـ Armv8.5-A: امتداد توصيف الذاكرة (MTE) الجديد من ARM. تسعى MTE إلى زيادة أمان التعليمات البرمجية المكتوبة بلغات غير آمنة دون الحاجة إلى تغييرات في التعليمات البرمجية المصدر ، وفي بعض الحالات ، دون الحاجة إلى إعادة الترجمة. إن النشر البسيط لآليات الكشف عن عواقب انتهاكات أمن الذاكرة ومنعها يمكن أن يمنع استغلال فئة كبيرة من الثغرات الأمنية.
![](https://habrastorage.org/webt/ey/co/vd/eycovd3b_lmgwxdw5gxc0inghvg.png)
المقدمة
في عام 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 .
"-" :
![](https://habrastorage.org/webt/1q/b-/2o/1qb-2ow6mk5ghezdlcynlo4-hia.png)
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 .