Программная защита от атаки LVI показала снижение производительности в 14 раз

Zola Bridges из компании Google предложил для набора компиляторов LLVM патч с реализацией защиты SESES (Speculative Execution Side Effect Suppression), помогающей блокировать атаки на механизм спекулятивного выполнения в CPU Intel, подобные LVI. Метод защиты реализован на уровне компилятора и основан на добавлении компилятором при генерации машинного кода инструкций LFENCE, которые подставляются перед каждой инструкцией чтения из памяти или записи в память, а также перед первой инструкцией ветвления в группе инструкций, завершающей блок. Похожий метод защиты также предложен инженерами Intel.

Из-за существенного снижения производительности защиту предлагается применять в крайних случаях для особо критичного кода. Помимо полной защиты патч предлагает три флага, позволяющих выборочно отключить определённые уровни защиты для снижения негативного влияния на производительность. В проведённых тестах, применение защиты для пакета BoringSSL, привело к снижению числа выполняемых кодом операций в секунду в 14 раз — производительность собранного с защитой варианта библиотеки в среднем оказалась всего 7.1% от показателей незащищённого варианта (разброс в зависимости от теста от 4% до 23%).

Источник: http://www.opennet.ru/opennews/art.shtml? num=52581

©  OpenNet