Что такое Foreshadow?
В частности, Foreshadow атакует функцию Intel Software Guard Extensions (SGX). Она встроена в чипы Intel, что позволяет программам создавать защищенные «анклавы», к которым невозможно получить доступ, даже другими программами на компьютере. Даже если вредоносное ПО было на компьютере, в теории оно не могло получить доступ к защищенному анклаву. Когда были найдены Spectre и Meltdown, исследователи безопасности обнаружили, что защищенная от SGX память в основном невосприимчива к их атакам.
Существуют также две связанные атаки, которые исследователи безопасности называют «Foreshadow - новое поколение» или Foreshadow-NG. Они обеспечивают доступ к информации в режиме управления системой (SMM), ядре операционной системы или гипервизоре виртуальной машины. Теоретически, код, запущенный в системе на одной виртуальной машине, мог считывать информацию, хранящуюся в системе на другой виртуальной машине, хотя эти виртуальные машины должны быть полностью изолированы.
Foreshadow и Foreshadow-NG, также как Spectre и Meltdown, используют ошибки в спекулятивном исполнении. Современные процессоры угадывают код, который, по их мнению, может запускать дальше, и превентивно выполнять его, чтобы сэкономить время. Если программа пытается запустить код, отлично, это уже сделано, и процессор знает результаты. Если нет, процессор может отбросить результаты.
Однако это спекулятивное исполнение оставляет некоторую информацию. Например, в зависимости от того, как долго выполняется спекулятивный процесс выполнения для выполнения определенных типов запросов, программы могут определять, какие данные находятся в области памяти, даже если они не могут получить доступ к этой области памяти. Поскольку вредоносные программы могут использовать эти методы для чтения защищенной памяти, они даже могут получить доступ к данным, хранящимся в кеше L1. Это низкоуровневая память на процессоре, где хранятся защищенные криптографические ключи. Вот почему эти атаки также известны как «L1 Terminal Fault» или L1TF.
Чтобы использовать Foreshadow, злоумышленник просто должен иметь возможность запускать код на вашем компьютере. Код не требует специальных разрешений - это может быть стандартная пользовательская программа без низкоуровневого доступа к системе или даже программного обеспечения, работающего внутри виртуальной машины.
С момента появления Spectre и Meltdown мы видели устойчивый поток атак, которые злоупотребляют функциональными возможностями спекулятивного исполнения. Например, атака Speculative Store Bypass (SSB) затронула процессоры Intel и AMD, а также некоторые процессоры ARM. Об этом было объявлено в мае 2018 года.
Используется ли Foreshadow в повседневной жизни?
Foreshadow был обнаружен исследователями безопасности. У этих исследователей есть доказательство концепции, другими словами, функциональная атака, но сейчас они не выпускают её. Это дает каждому время для создания, выпуска и применения патчей для защиты от атаки.
Так как защитить свой ПК от этой уязвимости?
Обратите внимание, что Foreshadow, который работает только на процессорах Intel, не затрагивает чипы от AMD.
В соответствии с официальными рекомендациями Microsoft по обеспечению безопасности большинству ПК с ОС Windows требуются только обновления операционной системы, чтобы защитить себя от Foreshadow. Просто запустите Центр обновления Windows, чтобы установить последние исправления. Microsoft заявила, что не заметила каких-либо потерь в производительности от установки этих исправлений.
Некоторым ПК также может потребоваться новый микрокод Intel для защиты. Intel говорит, что это те же самые обновления микрокода, которые были выпущены в начале этого года. Вы можете получить новую прошивку, если она доступна для вашего ПК, путем установки последних обновлений UEFI или BIOS с вашего ПК или производителя материнской платы. Вы также можете установить обновления микрокода непосредственно из Microsoft.
Что должны знать системные администраторы
ПК, на которых запущено программное обеспечение гипервизора для виртуальных машин (например, Hyper-V), также нуждаются в обновлениях ПО гипервизора. Например, в дополнение к обновлению Microsoft для Hyper-V, VMWare выпустила обновление для своего программного обеспечения для виртуальных машин.
Системы, использующие Hyper-V или безопасность на основе виртуализации, могут потребовать более радикальных изменений. Это включает отключение гиперпоточности, что замедлит работу компьютера. Большинству людей это не понадобится, но администраторы Windows Server, работающие с Hyper-V на процессорах Intel, должны серьезно подумать о том, чтобы отключить гиперпоточность в системе BIOS, чтобы сохранить их виртуальные машины в безопасности.
Облачные сервисы, такие как Microsoft Azure и Amazon Web Services, также исправляют свои системы для защиты виртуальных машин на общих системах от атак.
Патчи могут быть необходимы и для других операционных систем. Например, Ubuntu выпустила обновления ядра Linux для защиты от этих атак. Apple еще не прокомментировала эту атаку.
В частности, номера CVE, идентифицирующие эти недостатки, - это CVE-2018-3615 для атаки на Intel SGX, CVE-2018-3620 для атаки на операционную систему и режим управления системой и CVE-2018-3646 для атаки на менеджер виртуальной машины.
В своём блоге Intel заявил, что работает над лучшими решениями для повышения производительности при блокировании эксплойтов на основе L1TF. Это решение будет применять защиту только в случае необходимости, повышая производительность. Intel заявляет, что уже предоставил предварительный выпуск микрокода с этой функцией некоторым партнерам и оценивает его выпуск.
Наконец, Intel отмечает, что «L1TF также устраняется изменениями, которые мы делаем на аппаратном уровне». Иными словами, будущие процессоры Intel будут содержать усовершенствования аппаратного обеспечения для лучшей защиты от Spectre, Meltdown, Foreshadow и других спекулятивных атак с использованием меньше потери производительности.