
حزمة أدوات لـ V0LTpwn (CVE-2019-11157). سيتم نشر الكود قريباً.
V0LTpwn (CVE-2019-11157) هو هجوم أعطال مُتحكَّم فيه برمجيًا على معالجات x86. وهو أول هجوم يُخلّ بسلامة بيئات SGX المعزولة.
تُوفّر جميع معالجات إنتل الحديثة واجهة برمجية للتحكم في فولتية النوى دون إعادة تشغيل النظام. هذه الميزة ليست ضرورية للتشغيل العادي، لكنها تُستخدم من قبل المستخدمين الخبراء لتحسين الأداء. على سبيل المثال، تُستخدم في تطبيق XTU من إنتل ضمن مجتمع رفع تردد التشغيل (overclocking).
في V0LTpwn، نُظهر أن البرمجيات الخبيثة يمكنها استخدام هذه الواجهة لخفض فولتية المعالج إلى عتبة حرجة لم تعد عندها بعض التعليمات تعمل بشكل صحيح. وهذا يعني أن المهاجم قادر على إحداث انقلابات في البتات (bit flips) داخل الحسابات التي تُنفَّذ بهذه التعليمات. نُبيّن في ورقتنا البحثية كيف يمكن للمهاجم التلاعب بالحسابات التشفيرية وحتى تحريف تدفق التحكم في البرامج.
نظرًا لأن الهجوم مُتحكَّم فيه برمجيًا، لا يتطلب المهاجم وصولًا ماديًا إلى الجهاز. غير أن المهاجم يحتاج إلى صلاحيات نظام التشغيل لاستخدام واجهات الفولتية. وهذا يعني أن الثغرة ليست تهديدًا مباشرًا للمستخدمين العاديين. الهدف الرئيسي هو بيئات التنفيذ الموثوقة مثل SGX من إنتل.
SGX هي ميزة أمان تتيح للتطبيقات نشر بيئات معزولة (enclaves) محمية حتى من نظام التشغيل. على سبيل المثال، يمكن استخدام SGX لتشغيل تطبيق (بشكل آمن) في بيئة سحابية غير موثوقة. أظهرت هجمات سابقة مثل Foreshadow أنه يمكن سرقة الأسرار من بيئات SGX المعزولة عبر القنوات الجانبية. وV0LTpwn هو أول هجوم يُظهر كيف يمكن التلاعب بالحسابات داخل بيئات SGX المعزولة.
أبلغنا إنتل بالثغرة عبر عملية إفصاح مسؤولة (responsible disclosure). وقد تعاونت إنتل معنا وبدأت في توزيع التصحيحات على المنصات المتأثرة. لمزيد من التفاصيل، نُحيل إلى المعلومات الرسمية في نشرة إنتل الأمنية (Security Advisory).
نقدّم جميع التفاصيل حول V0LTpwn في ورقتنا البحثية:
https://arxiv.org/abs/1912.04870
سنُصدر مجموعة أدواتنا لإجراء المزيد من الأبحاث قريبًا.
يمكن العثور على المعلومات الرسمية الصادرة عن إنتل في الصفحات التالية: