Как и в любой сверхсложной системе в процессорах Intel полно изъянов. На глобальном уровне это почти незаметно, но детальное изучение микроархитектуры позволяет отыскать лазейки для кражи данных прямо из регистров и буферов процессоров. Именно так найдена новая уязвимость, и придумана атака CrossTalk, которая даёт возможность извлечь секретные данные из соседних ядер многоядерных процессоров.
Новая уязвимость CVE-2020-0543 оказалась сравнительно легко реализуемой и трудной для закрытия. Обнаружена она 21 месяц назад ― в сентябре 2018 года. Снижающий опасность проведения атаки CrossTalk микрокод для уязвимых процессоров компания Intel выпустила только сейчас, хотя большинство новых процессоров уже имеют доработанную микроархитектуру и защищены от CVE-2020-0543 на аппаратном уровне.
Тем не менее, к новой уязвимости остаются чувствительны многие мобильные, настольные и серверные процессоры Intel, со списком которых можно познакомится на этой страничке. Представленный Intel микрокод блокирует ряд уязвимых инструкций, но при этом производительность процессоров ожидаемо будет снижаться. Вероятно, снижение может достигать впечатляющих значений, поскольку Intel предусмотрела возможность отключения защиты.
Обнаружили новую уязвимость исследователи по безопасности из Амстердамского свободного университета (VUSec). Они выяснили, что в процессорах Intel имеется недокументированный буфер для промежуточного хранения данных, к которому совместно обращаются все ядра одного процессора. Тем самым промежуточные данные для кеша и регистров одного ядра могут быть преднамеренно выхвачены эксплоитом, запущенным на другом ядре. Нетрудно понять, что тем самым злоумышленник может извлечь информацию, которая, например, обрабатывается на другом ядре в виртуальной среде.
Наличие промежуточного разделяемого всеми ядрами процессора буфера ― повод для беспокойства безопасников
С помощью разработанного эксплоита исследователи смогли извлечь данные из защищённого анклава Intel SGX и восстановили закрытый ключ ECDSA всего лишь после одной операции с цифровой подписью. Это лишь один пример, но продолжение всё той же старой истории с уязвимостями спекулятивных вычислений. В промежуточный буфер попадает много избыточной информации для буферов и регистров, которая часто отбрасывается, но открывает путь к атакам по побочным каналам.
Источник: 3dnews.ru