نرم افزار حفاظت LVI گوگل عملکردی 14 برابری را نشان داد

پل های زولا از گوگل مطرح برای مجموعه کامپایلر LLVM، یک وصله با اجرای حفاظت SESES (سرکوب اثر جانبی اجرا، که به جلوگیری از حملات به مکانیسم اجرای گمانه‌زنی در پردازنده‌های اینتل، مانند LVI. روش حفاظت در سطح کامپایلر پیاده سازی می شود و بر اساس افزودن دستورالعمل ها توسط کامپایلر هنگام تولید کد ماشین است. LFENCE، که قبل از هر دستور خواندن یا نوشتن حافظه و همچنین قبل از اولین دستورالعمل شاخه در گروه دستورالعمل هایی که بلوک را پایان می دهد درج می شوند.

دستور LFENCE منتظر می ماند تا تمام خواندن های حافظه قبلی انجام شود و پیش گرفتن دستورالعمل های بعدی پس از LFENCE تا زمانی که commit کامل شود غیرفعال می کند. استفاده از LFENCE منجر به کاهش قابل توجهی در عملکرد می شود، بنابراین حفاظت پیشنهاد می شود در موارد شدید برای کدهای به ویژه بحرانی استفاده شود. علاوه بر محافظت کامل، پچ سه پرچم ارائه می دهد که به شما امکان می دهد سطوح خاصی از حفاظت را به طور انتخابی غیرفعال کنید تا تأثیر منفی بر عملکرد را کاهش دهید.

در آزمایش های انجام شده، استفاده از حفاظت SESES برای بسته BoringSSL منجر به کاهش تعداد عملیات در ثانیه انجام شده توسط کتابخانه به میزان 14 برابر شد - عملکرد نسخه محافظت شده کتابخانه به طور متوسط ​​تنها 7.1٪ از نسخه محافظت نشده (تغییر بسته به آزمایش از 4٪ تا 23٪).

برای مقایسه پیشنهاد شده پیش از این، برای GNU Assembler، مکانیزمی که تعویض LFENCE را پس از هر بار عملیات بارگیری حافظه و قبل از برخی دستورالعمل‌های شاخه انجام می‌داد، حدود 5 برابر کاهش عملکرد (22٪ از کد بدون حفاظت) را نشان می‌داد. روش حفاظت نیز می باشد پیشنهادی и اجرا شد توسط مهندسان اینتل، اما نتایج تست عملکرد برای آن هنوز منتشر نشده است. در ابتدا، محققانی که حمله LVI را شناسایی کردند، کاهش 2 تا 19 برابری عملکرد را هنگام اعمال حفاظت کامل پیش‌بینی کردند.

منبع: opennet.ru

اضافه کردن نظر