ثغرة أمنية في Linux 6.2 kernel يمكنها تجاوز الحماية من هجوم Spectre v2

تم التعرف على ثغرة أمنية في Linux 6.2 kernel (CVE-2023-1998) التي تعطل الحماية ضد هجمات Specter v2 التي تسمح بالوصول إلى ذاكرة العمليات الأخرى التي تعمل على سلاسل SMT أو Hyper Threading مختلفة ، ولكن على نفس جوهر المعالج المادي. يمكن استخدام الثغرة الأمنية ، من بين أشياء أخرى ، لتنظيم تسرب البيانات بين الأجهزة الافتراضية في الأنظمة السحابية. تؤثر المشكلة على نواة Linux 6.2 فقط وتنتج عن التنفيذ غير الصحيح للتحسينات المصممة لتقليل النفقات العامة عند تطبيق الحماية ضد Specter v2. تم إصلاح الثغرة الأمنية في الفرع التجريبي لنواة Linux 6.3.

في مساحة المستخدم ، للحماية من هجمات Specter ، يمكن للعمليات تعطيل تنفيذ التعليمات التخمينية بشكل انتقائي باستخدام prctl PR_SET_SPECULATION_CTRL أو استخدام تصفية مكالمات النظام المستندة إلى seccomp. وفقًا للباحثين الذين حددوا المشكلة ، فإن التحسين غير الصحيح في النواة 6.2 ترك الأجهزة الافتراضية لمزود خدمة سحابي كبير واحد على الأقل دون حماية مناسبة ، على الرغم من تضمين وضع حجب هجوم Specter-BTI عبر prctl. تظهر الثغرة الأمنية نفسها أيضًا على الخوادم العادية التي تحتوي على نواة 6.2 ، والتي يتم تمهيدها باستخدام الإعداد "spectre_v2 = ibrs".

يتمثل جوهر الثغرة الأمنية في أنه عند اختيار أوضاع حماية IBRS أو eIBRS ، فإن التحسينات جعلت استخدام آلية STIBP (متنبؤات الخيوط الفردية غير المباشرة) ضرورية لمنع التسربات عند استخدام تقنية خيوط المعالجة المتعددة المتزامنة (SMT أو Hyper-Threading) ). في الوقت نفسه ، يوفر وضع eIBRS فقط الحماية ضد التسرب بين الخيوط ، ولكن ليس وضع IBRS ، حيث يتم مسح بت IBRS ، الذي يوفر الحماية ضد التسرب بين النوى المنطقية ، لأسباب تتعلق بالأداء عند عودة التحكم إلى مساحة المستخدم ، مما يجعل خيوط مساحة المستخدم غير محمية من هجمات فئة Specter v2.

المصدر: opennet.ru

إضافة تعليق