قدمت نقطة الفحص تقنية أمان الربط الآمن

نقطة تفتيش (مزود عالمي لحلول أمن تكنولوجيا المعلومات) صدر قبل عدة أيام المقدمة من آلية الأمان "الارتباط الآمن"، أن يجعل من الصعب إنشاء مآثر التي تتلاعب في تعريف أو تغيير المؤشرات للمخازن المؤقتة المخصصة عند إجراء مكالمة malloc.

آلية «الربط الآمن» الجديدة لا يمنع تمامًا إمكانية استغلال الثغرات الأمنية ، ولكن مع الحد الأدنى من النفقات العامة يُعقد إنشاء فئات معينة من برمجيات إكسبلويتنظرًا لأنه بالإضافة إلى تجاوز سعة المخزن المؤقت المستغلة ، من الضروري العثور على ثغرة أمنية أخرى تسبب معلومات حول موقع الكومة في الذاكرة.

تم إعداد تصحيحات تنفيذ الارتباط الآمن لـ Glibc (ptmalloc) و uClibc-NG (dlmalloc) و gperftools (tcmalloc) و Google TCMalloc ، بالإضافة إلى اقتراح لتحديث الحماية في Chromium (منذ عام 2012 تم دمج Chromium بالفعل مع حلول لـ نفس المشكلة) تقنية حماية MaskPtr ، لكن حل Checkpoint يُظهر أداءً أفضل).

تمت الموافقة بالفعل على التصحيحات المقترحة للتسليم في إصدار أغسطس من Glibc 3.32 وسيتم تمكين الارتباط الآمن افتراضيًا. في uClibc-NG ، تم تضمين دعم الارتباط الآمن في الإصدار 1.0.33 وتم تمكينه افتراضيًا. في gperftools (tcmalloc القديم) يتم قبول التغييرات ، ولكن سيتم تقديمها كخيار في إصدار مستقبلي.

رفض مطورو TCMalloc قبول التغيير ، جمع نجاح أداء قوي والحاجة إلى إضافة اختبارات متقدمة للتحقق بانتظام من أن كل شيء يعمل بشكل صحيح.

الاختبارات التي أجراها أظهر مهندسو نقاط الفحص أن طريقة الارتباط الآمن لا تؤدي إلى استهلاك إضافي للذاكرة وينخفض ​​الأداء عند إجراء عمليات الكومة في المتوسط ​​بنسبة 0.02٪ فقط ، وفي أسوأ الحالات بنسبة 1.5٪

يؤدي تمكين الارتباط الآمن إلى تنفيذ 2-3 تعليمات إضافية للمجمع مع كل مكالمة مجانية () و3-4 تعليمات عند استدعاء malloc (). بداية التهيئة وتوليد القيمة العشوائية غير مطلوبين.

يمكن استخدام الارتباط الآمن ليس فقط لزيادة الأمان من تطبيقات الكومة المختلفة ، sino أيضًا لإضافة فحوصات سلامة إلى أي بنية بيانات يستخدم قائمة من المؤشرات المرتبطة بشكل فردي الموجودة بجوار المخازن المؤقتة.

الطريقة إنه سهل التنفيذ للغاية ولا يتطلب سوى إضافة وحدة ماكرو وقم بتطبيقه على المؤشرات على الكتلة التالية من الكود (على سبيل المثال ، بالنسبة إلى Glibc ، لم يتم تغيير سوى بضعة أسطر في الكود).

يتمثل جوهر الطريقة في تطبيق بيانات عشوائية من آلية التوزيع العشوائي لعنوان ASLR (mmap_base) لحماية القوائم المرتبطة بشكل فردي مثل Fast-Bins و TCache. قبل تطبيق قيمة المؤشر على العنصر التالي في القائمة ، يتم إجراء فحص محاذاة وتحويل القناع على طول حافة صفحة الذاكرة. يتم استبدال المؤشر بنتيجة العملية "(L >> PAGE_SHIFT) XOR (P)" ، حيث P هي قيمة المؤشر و L هو الموقع في الذاكرة حيث يتم تخزين هذا المؤشر.

عند استخدامها في نظام ASLR (عشوائي لتخطيط مساحة العنوان) ، تحتوي بعض بتات L ذات العنوان الأساسي للكومة على قيم عشوائية تُستخدم كمفتاح لتشفير P (يتم استخلاصها من خلال عملية إزاحة تبلغ 12 بتًا لصفحات 4096 بايت).

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

الطريقة فعالة في الحماية من الهجمات التي تستخدم إعادة تعريف جزئية للمؤشر (تحول منخفض البايت) ، إعادة كتابة كاملة للمؤشرات (إعادة التوجيه إلى رمز المهاجم) وإعادة وضع القائمة في اتجاه غير منحاز.

على سبيل المثال ، تبين أن استخدام الارتباط الآمن في malloc من شأنه أن يمنع استغلال الثغرة الأمنية CVE-2020-6007 التي اكتشفها مؤخرًا نفس الباحثين في الإضاءة الخلفية الذكية لـ Philips Hue Bridge الناتجة عن تجاوز المخزن المؤقت والسماح بالتحكم الجهاز.

مصدر: https://research.checkpoint.com


كن أول من يعلق

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.