Стало известно об ещё трёх уязвимостях процессоров Intel, которые могут использоваться вредоносным ПО и виртуальными машинами для похищения секретной информации из компьютерной памяти. Речь, в частности, может идти о паролях, личных и финансовых записях и ключах шифрования. Они могут быть извлечены из других приложений и даже защищённых хранилищ SGX и памяти в режиме SMM (System Management Mode). Уязвимы ПК, настольные системы и серверы.
REUTERS/Mike Blake
Эти уязвимости, связанные с механизмом спекулятивных вычислений, были обнаружены исследователями ещё в январе, и тогда же Intel была проинформирована. В официальном блоге ведущий производитель процессоров для ПК и серверов сообщил, что в сочетании с обновлениями, выпущенными ранее в этом году, новые представленные сегодня заплатки смогут защитить пользователей от очередных уязвимостей. «Нам неизвестны случаи использования любого из этих методов в реальной обстановке для кражи данных, но это ещё раз напоминает о необходимости всем придерживаться основных правил безопасности», — отметила Intel.
Компания назвала этот набор уязвимостей L1TF (L1 Terminal Fault) и отметила, что два варианта атак можно закрыть с помощью уже доступных сейчас обновлений. А третий, который затрагивает лишь часть пользователей, — например, определённые центры обработки данных, — может потребовать дополнительных мер защиты.
Всего упомянуто три варианта атак: CVE-2018-3615 (извлечение данных из памяти анклавов Intel SGX), CVE-2018-3620 (извлечение данных из SMM и областей памяти ядра ОС) и CVE-2018-3646 (утечка данных из виртуальных машин). Уязвимости используют то обстоятельство, что при доступе к памяти по виртуальному адресу, приводящему к исключению (terminal page fault) из-за отсутствия флага Present в таблице страниц памяти (PTE), процессоры Intel спекулятивно рассчитывают физический адрес и загружают данные, если они имеются в L1-кеше. Спекулятивные расчёты производятся до проверки наличия данных в физической памяти и их доступности для чтения. Потом, в случае отсутствия флага Present в PTE операция отбрасывается, но информация оседает в кеше и её можно извлечь по сторонним каналам. Опасность L1TF состоит в том, что можно определить данные по любому физическому адресу (например, атаковать основную ОС из гостевой системы).
Исследователи, выявившие уязвимость, назвали её Foreshadow. «Когда вы смотрите на то, что с помощью Spectre и Meltdown взломать невозможно, то среди немногих областей остаются анклавы Intel Software Guard Extensions (SGX), — сказал Wired участник открытия Foreshadow Даниэль Генкин (Daniel Genkin). — SGX оставался неподвластен Spectre, поэтому наша работа в этом направлении была следующим логическим шагом».
AMD тоже прокомментировала ситуацию, сообщив на странице безопасности, посвящённой Specre-подобным уязвимостям: «Как и в случае с Meltdown, мы полагаем, что наши процессоры из-за архитектуры аппаратной защиты страниц памяти не подвержены новым вариантам атаки спекулятивного исполнения, называемым Foreshadow или Foreshadow-NG. Мы советуем клиентам, работающим с процессорами EPYC в своих центрах обработки данных, в том числе в виртуализированных средах, не устанавливать заплатки программного обеспечения для Foreshadowна свои платформы AMD». Совет этот не будет лишним, ведь подобные обновления безопасности могут снижать производительность систем.
Со времени публикации первоначальной информации о трёх видах уязвимостей CPU, связанных со спекулятивными вычислениями (под общим именем Meltdown и Spectre), был раскрыт целый ряд новых аналогичных вариантов атак — например, CVE-2018-3639, BranchScope, SgxSpectre, MeltdownPrime и SpectrePrime, Spectre 1.1 и 1.2 или SpectreRSB. Исследователи не исключают обнаружения новых видов подобных уязвимостей.
После первоначального обнародования сведений о Spectre и Meltdown Intel расширила свою программу стимулирования выявления уязвимостей и ошибок, открыв её для большего количества исследователей в области безопасности и предложив более крупные денежные вознаграждения.