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

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 23 Mar 2020.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,093
    Likes Received:
    5,249
    Reputations:
    693
    Zola Bridges из компании Google предложил для набора компиляторов LLVM патч с реализацией защиты SESES (Speculative Execution Side Effect Suppression), помогающей блокировать атаки на механизм спекулятивного выполнения в CPU Intel, подобные LVI. Метод защиты реализован на уровне компилятора и основан на добавлении компилятором при генерации машинного кода инструкций LFENCE, которые подставляются перед каждой инструкцией чтения из памяти или записи в память, а также перед первой инструкцией ветвления в группе инструкций, завершающей блок.

    Инструкция LFENCE ожидает фиксации всех предыдущих операций чтения из памяти и запрещает упреждающее выполнение следующих после LFENCE инструкций, до того как фиксация будет завершена. Применение LFENCE приводит к существенному снижению производительности, поэтому защиту предлагается применять в крайних случаях для особо критичного кода. Помимо полной защиты патч предлагает три флага, позволяющих выборочно отключить определённые уровни защиты для снижения негативного влияния на производительность.

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

    Для сравнения, предложенный ранее для GNU Assembler механизм, осуществляющий подстановку LFENCE после каждой операции загрузки из памяти и перед некоторыми инструкциями ветвления, показал снижение производительности примерно в 5 раз (22% от кода без защиты). Метод защиты также предложен и реализован инженерами Intel, но результаты тестирования производительности для него пока не опубликованы. Изначально исследователи, выявившие атаку LVI, прогнозировали снижение производительности при применении полной защиты в 2-19 раз.

     
    Baskin-Robbins likes this.
Loading...