أظهر برنامج حماية LVI من Google نجاحًا في الأداء بلغ 14 ضعفًا

زولا بريدجز من جوجل предложил لمجموعة مترجم LLVM ، تصحيح مع تنفيذ حماية SESES (قمع تأثير جانب التنفيذ التخميني) ، والذي يساعد على منع الهجمات على آلية التنفيذ التخميني في وحدات المعالجة المركزية Intel ، مثل LVI. يتم تنفيذ طريقة الحماية على مستوى المحول البرمجي وتعتمد على الإضافة بواسطة المترجم عند إنشاء كود تعليمات الآلة لفينس، والتي يتم استبدالها قبل كل تعليمة للقراءة من الذاكرة أو الكتابة إلى الذاكرة ، وأيضًا قبل تعليمات الفرع الأول في مجموعة التعليمات التي تنهي الكتلة.

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

في الاختبارات التي تم إجراؤها ، أدى استخدام حماية SESES لحزمة BoringSSL إلى انخفاض في عدد العمليات التي تقوم بها المكتبة في الثانية بمقدار 14 مرة - تبين أن أداء نسخة المكتبة المجمعة مع الحماية كان 7.1٪ فقط. متوسط ​​من مؤشرات الإصدار غير المحمي (النطاق حسب الاختبار من 4٪ إلى 23٪).

وعلى سبيل المقارنة، المقترح في السابق لـ GNU Assembler ، الآلية التي تنفذ استبدال LFENCE بعد كل عملية تحميل ذاكرة وقبل بعض تعليمات الفرع أظهرت انخفاضًا في الأداء بنحو 5 مرات (22٪ من الكود بدون حماية). طريقة الحماية أيضا مقترح и مُنفّذ من قبل مهندسي Intel ، ولكن لم يتم نشر نتائج اختبار الأداء الخاصة بها بعد. في البداية ، توقع الباحثون الذين حددوا هجوم LVI انخفاضًا بمقدار 2 إلى 19 ضعفًا في الأداء عند تطبيق الحماية الكاملة.

المصدر: opennet.ru

إضافة تعليق