تسمح ثغرتان جديدتان في eBPF بتجاوز الحماية ضد Spectre 4

شعار سبيكتر

مؤخرا اندلعت الأخبار ذلك تم تحديد اثنين من نقاط الضعف في نواة لينكس ذلك يسمح باستخدام النظام الفرعي eBPF لتجاوز الحماية ضد هجوم Specter 4 (SSB ، تجاوز المتجر التخميني). يذكر أنه باستخدام برنامج BPF غير مميز ، يمكن للمهاجم إنشاء ظروف للتنفيذ التخميني لعمليات معينة وتحديد محتوى مناطق عشوائية من ذاكرة kernel.

طريقة هجوم سبيكتر 4 يعتمد على استعادة البيانات المحاصرة في ذاكرة التخزين المؤقت للمعالج بعد التخلص من نتيجة التنفيذ التخميني للعمليات عند معالجة عمليات القراءة والكتابة المتشابكة باستخدام العنونة غير المباشرة.

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

إذا تم اكتشاف تقاطع بين مناطق الذاكرة للكتابة والقراءة بعد حساب الإزاحة ، فسيقوم المعالج ببساطة بتجاهل نتيجة القراءة التي تم الحصول عليها بالفعل وتكرار هذه العملية. تسمح هذه الوظيفة لقراءة التعليمات بالوصول إلى القيمة السابقة في بعض الاتجاهات بينما لا تزال عملية الحفظ معلقة.

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

لاحظ أنه يمكن إساءة استخدام كل موضوع بشكل مستقل عن الآخر ، بالاعتماد على في أخطاء لا تتداخل.

تمت مشاركة PoCs بشكل خاص مع القائمين على صيانة النظام الفرعي BPF لـ المساعدة في تطوير الترتيب.

أول نقطة ضعف CVE-2021-35477: يحدث بسبب خلل في آلية التحقق من صحة برنامج BPF. للحماية من هجوم Specter 4 ، يضيف المدقق تعليمات إضافية بعد عمليات الحفظ التي يحتمل أن تكون مزعجة في الذاكرة ، ويخزن قيمة صفرية لتعويض آثار العملية السابقة.

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

الثغرة الثانية CVE-2021-3455: يرتبط بحقيقة أنه عندما يكتشف مدقق BPF عمليات حفظ يحتمل أن تكون خطرة في الذاكرة، يتم تجاهل المناطق غير المهيأة في مكدس BPF ، وهي عملية الكتابة الأولى التي لا تكون محمية فيها.

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

الحل المتاح يعيد تنفيذ تقنيات التخفيف للاستمرار موصى به من قبل بائعي وحدة المعالجة المركزية ومتوفر في kernel الرئيسي مستودع بوابة.

أخيرًا ، يُذكر أن القائمين على صيانة الأنظمة الفرعية لـ eBPF في النواة حصلوا على وصول إلى نموذج أولي لاستغلال يوضح إمكانية تنفيذ هجمات في الممارسة.

يتم إصلاح المشاكل في شكل تصحيحات ، والتي سيتم تضمينها في تحديث Linux kernel التالي ، لذلك ستبدأ التحديثات الخاصة بالتوزيعات المختلفة في الوصول خلال الأيام القليلة القادمة.

مصدر: https://www.openwall.com/


اترك تعليقك

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

*

*

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