Исследователи из группы безопасности систем и сетей в Амстердамском свободном университете заявили, что обнаружили ещё одну критическую уязвимость в процессорах Intel. В отличие от Spectre и Meltdown, она не использует особенности реализации спекулятивного исполнения команд, но задействует технологию Hyper-Threading.
Новая атака по сторонним каналам для многопоточных процессоров была назвала TLBleed, так как использует буфер ассоциативной трансляции (TLB) процессора — тип кеша, в котором хранится таблица соответствий для ускорения трансляции адреса виртуальной памяти в адрес физической памяти.
Уязвимость TLBleed работает через Intel Hyper-Threading. Когда эта технология активна, каждое ядро может выполнять несколько потоков — как правило, два одновременно. Эти потоки совместно используют ресурсы внутри ядра, включая кеши памяти и буфер TLB. Когда две программы работают на одном ядре, один из потоков может следить за другим, изучая, как он обращается к различным ресурсам CPU. Из этих наблюдений зловред может определить содержимое закрытых для него разделов памяти, содержащих секретную информацию.
Исследователи говорят, что им удалось использовать TLBleed для извлечения ключей шифрования из другой запущенной программы в 99,8 % тестов на процессоре Intel Skylake Core i7-6700K. Тесты с использованием других типов процессоров Intel тоже имели высокие показатели результативности атак.
Для работы TLBleed нужно вначале установить вредоносное ПО на систему — иначе задействовать уязвимость нельзя. «Без паники: хотя речь идёт о крутой атаке, TLBleed — это всё же не новая Spectre», — сказал исследователь Бен Грас (Ben Gras).
Это не означает, что TLBleed не следует воспринимать всерьёз. На прошлой неделе разработчики операционной системы с открытым исходным кодом OpenBSD отключили функцию многопоточности на процессорах Intel для защиты от этой уязвимости. Руководитель проекта Тео де Раадт (Theo de Raadt) намерен представить исследовательскую работу на конференции Black Hat в августе этого года, в которой покажет, почему они пошли на столь радикальный шаг.
Однако Intel, похоже, не обеспокоена потенциальными угрозами, создаваемыми уязвимостью TLBleed. Компания не запрашивает номер CVE для этой дыры в безопасности и даже отказалась заплатить исследователям награду за выявленную ими ошибку. Intel отметила, что ПО и программные библиотеки вроде Intel Integrated Performance Primitives Cryptography U3.1, написанные с прицелом на постоянное время выполнения и независимые данные кеша, должны быть невосприимчивы к TLBleed. Господин Грас полагает, что процессоры AMD тоже могут быть подвержены подобной уязвимости, потому что поддерживают исполнение нескольких потоков одновременно.