Обнаружено еще несколько разновидностей потенциальных атак Spectre, которые затрагивают все современные процессоры AMD и Intel с поддержкой кэширования микроопераций. По мнению исследователей, все имеющиеся средства защиты от других разновидностей Spectre не могут защитить от новых угроз, при этом любые средства защиты против новых уязвимостей значительно ударят по производительности процессоров.
Новый виток «чипокалипсиса»
Ученые из Университета Вирджинии и Университета Калифорнии в Сан-Диего обнаружили несколько новых вариантов эксплойта Spectre, который затрагивает все современные процессоры AMD и Intel с поддержкой кэширования микроопераций. Исследователи утверждают, что уже существующие средства защиты от Spectre не могут обезопасить процессоры от потенциальных атак с использованием обнаруженных уязвимостей.
Документ с интригующим названием «Я вижу мертвые микрооперации: утечка секретов через кэши микроопераций Intel/AMD» (I See Dead µops: Leaking Secrets via Intel/AMD Micro-Op Caches), опубликованный исследовательской группой, описывает три новых типа потенциальных атак по типу Spectre с использованием уязвимостей кэшей микроопераций.
Устранение вновь обнаруженных уязвимостей может значительно снизить производительность – даже сильнее, чем исправления, разработанные для предыдущих типов эксплойтов Spectre. По словам исследователей, обнаруживших новые уязвимости, они заранее – до публикации статьи, проинформировали компании AMD и Intel об обнаруженных проблемах, однако до сих пор ими не выпущено ни обновлений микрокода, ни исправлений для операционных систем.
Три новых типа потенциальных атак Spectre
Все современные процессоры AMD и Intel используют механизм кэширования микроопераций – чипы Intel с 2011 г., чипы AMD с 2017 г., и все они могут быть подвержены гипотетической атаке, когда хакеры похищают данные в момент извлечения процессором команд из кэша микроопераций.
В документе описаны три новых типа потенциальных атак. Первый тип – кросс-доменная атака в том же потоке, которая приводит к утечке секретов на границе между ядром и пользовательским пространством.
Второй тип – атака между потоками аппаратной многопоточности SMT (Simultaneous Multithreading), когда утечка секретов с помощью кэша микроопераций происходит через два вычислительных потока, которые работают в одном физическом ядре, но на разных логических ядрах.
Третий тип – так называемая атака временного выполнения, которая может привести к утечке данных за счет предоставления доступа к ним по неправильно указанному пути, даже до момента отправления временной инструкции на исполнение.
Исправления, которые могут стоить слишком дорого
В целом, по мнению ученых, ввиду необходимости защищать от потенциальных атак кеши чрезвычайно низкого уровня, средствам защиты будет очень сложно устранить угрозы без серьезного воздействия на производительность процессоров. В частности, одним из возможных способов устранения уязвимостей, описанных в документе, является очистка кеша микроопераций при пересечении доменов. Но поскольку для этого современным процессорам приходится очищать буфер обратного преобразования инструкций (iTLB), слишком частая очистка обоих неминуемо вызовет серьезное падение производительности – ибо процессор не может продвигаться вперед, пока не заполнится iTLB.
Вторым предложенным способом является разделение кеш-памяти микроопераций на основе привилегий. Это решение также чревато потерей производительности, поскольку по мере увеличения числа защитных доменов подобное разбиение приведет к чрезмерному недоиспользованию кэша микроопераций.
Третий способ заключается в организации мониторинга аномалий на основе счетчика производительности. Помимо ошибок классификации, которыми грешит этот метод, частое зондирование в случае его применения также станет причиной значительного снижения производительности.
Утечки для самых опытных и богатых хакеров
По словам ученых, даже если кто-то захочет использовать обнаруженные ими уязвимости кэша микроопераций, это будет чрезвычайно сложным делом, поскольку вредоносное ПО, создаваемое для таких целей, должно будет для начала обойти многочисленные программные и аппаратные меры безопасности современных систем, и только затем приступить к выполнению очень специфического и нетрадиционного типа атаки.
В этой связи, по мнению исследователей, шансы на возникновение массовых проблем из-за новых уязвимостей Spectre достаточно низки. Опасности, исходящие от новых уязвимостей, могут быть ограничены направленными целевыми атаками со стороны опытных профессионалов с большими ресурсами – например, масштаба государства.