اكتشفوا ثغرة أمنية في نظام Linux eBPF الفرعي

مؤخرا اندلعت الأخبار ذلك تم تحديد ثغرة أمنية (CVE-2021-29154) في النظام الفرعي eBPF ، والتي صيسمح لك بتشغيل التتبع وتحليل النظام الفرعي والتحكم في حركة المرور التي تعمل داخل نواة Linux في جهاز ظاهري خاص JIT يسمح للمستخدم المحلي بتشغيل التعليمات البرمجية الخاصة بك على مستوى النواة.

وفقًا للباحثين الذين حددوا الثغرة الأمنية ، فقد تمكنوا من تطوير نموذج أولي عملي لاستغلال لأنظمة 86 بت و 32 بت x64 يمكن استخدامها من قبل مستخدم غير متمتّع.

في الوقت نفسه ، تشير Red Hat إلى أن خطورة المشكلة تعتمد على مدى توفر استدعاء نظام eBPF للمستخدم. على سبيل المثال ، في RHEL ومعظم توزيعات Linux الأخرى في التكوين الافتراضي ، يمكن استغلال الثغرة الأمنية عند تمكين BPF JIT ويكون للمستخدم حقوق CAP_SYS_ADMIN.

تم اكتشاف مشكلة في Linux kernel يمكن إساءة استخدامها
المستخدمين المحليين غير المتميزين لتصعيد الامتيازات.

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

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

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

خاصة ليست هذه هي الثغرة الوحيدة في النظام الفرعي لـ eBPF التي أصبحت معروفة في السنوات الأخيرة ، منذ نهاية شهر مارس ، تم تحديد ثغرتين أخريين في النواة (CVE-2020-27170، CVE-2020-27171)، والتي توفر القدرة على استخدام eBPF لتجاوز الحماية ضد الثغرات الأمنية من فئة Specter ، والتي تسمح بتحديد محتوى ذاكرة kernel ، والتي تؤدي إلى تهيئة الظروف للتنفيذ التخميني لعمليات معينة.

يتطلب هجوم Specter وجود نص برمجي محدد في الكود ذي الامتيازات ، مما يؤدي إلى التنفيذ التخميني للتعليمات. تم العثور على عدة طرق في eBPF لتوليد مثل هذه التعليمات من خلال التلاعب ببرامج BPF المنقولة للتنفيذ.

  • تنتج الثغرة الأمنية CVE-2020-27170 عن التلاعب بمؤشرات في أداة التحقق من BPF ، مما يتسبب في وصول عمليات المضاربة إلى منطقة خارج المخزن المؤقت.
  • ترتبط الثغرة الأمنية CVE-2020-27171 بخطأ خطأ في التدفق الداخلي عند العمل مع المؤشرات ، مما يؤدي إلى وصول تخميني إلى بيانات خارج المخزن المؤقت.

تم إصلاح هذه المشكلات بالفعل في إصدارات kernel 5.11.8 و 5.10.25 و 5.4.107 و 4.19.182 و 4.14.227 وتم تضمينها في تحديثات kernel لمعظم توزيعات Linux. أعد الباحثون نموذجًا أوليًا لاستغلال يسمح للمستخدم غير المتميز باسترداد البيانات من ذاكرة النواة.

أما أحد الحلول التي الاقتراح داخل Red Hat هو:

تخفيف:

لا تؤثر هذه المشكلة على معظم الأنظمة افتراضيًا. يجب أن يقوم المسؤول بتمكين BPF JIT حتى يتأثر.

يمكن تعطيله فورًا باستخدام الأمر:

# echo 0 > /proc/sys/net/core/bpf_jit_enable

أو يمكن تعطيله لجميع عمليات تمهيد النظام اللاحقة عن طريق تعيين قيمة في /etc/sysctl.d/44-bpf -jit-disable

## start file ##
net.core.bpf_jit_enable=0</em>
end file ##

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

من الجدير بالذكر أن المشكلة استمرت حتى الإصدار 5.11.12 (شامل) ولم يتم إصلاحها بعد في معظم التوزيعات ، على الرغم من أن الإصلاح موجود بالفعل. متاح على شكل رقعة.


اترك تعليقك

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

*

*

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