Опубликованы подробности уязвимостей Meltdown и Spectre

Опубликованы подробности уязвимостей Meltdown и Spectre

Уязвимости затрагивают процессоры Intel, ARM64 и частично AMD.  

Вчера портал SecurityLab сообщил об уязвимостях, затрагивающих процессоры Intel, ARM64 и частично AMD. Теперь стали доступны подробности об уязвимостях, получивших названия Meltdown (CVE-2017-5754) и Spectre (CVE-2017-5753, CVE-2017-5715).

Как сообщают исследователи из команды Google Project Zero, Meltdown позволяет повысить привилегии на системе и из пространства пользователя прочитать содержимое любой области памяти, в том числе память ядра и чужой памяти в системах паравиртуализации (кроме режима HVM) и контейнерной изоляции. Проэксплуатировать уязвимость может любой пользователь, у которого есть возможность выполнить код на системе.

Проблема затрагивает практически все версии процессоров Intel, начиная с 1995 года (исключение составляют Intel Itanium и Intel Atom до 2013 года), и ARM64 (Cortex-A15/A57/A72/A75).

Как и Meltdown, Spectre позволяет повысить привилегии и получить данные приложения, запущенного другим пользователем. Тем не менее, в отличие от Meltdown, прочитать память ядра с помощью Spectre нельзя. Воспользоваться уязвимостью может любой, у кого есть возможность выполнить код на системе.

Проблема затрагивает процессоры Intel, AMD (только при включенном eBPF в ядре) и ARM64 (Cortex-R7/R8, Cortex-A8/A9/A15/A17/A57/A72/A73/A75).

И Meltdown, и Spectre позволяют пользователю с низкими привилегиями, выполнившему код на уязвимой системе, получить из памяти конфиденциальную информацию с помощью спекулятивного выполнения команд (Speculative Execution). Разница состоит в том, что для атаки Meltdown используется определенная уязвимость повышения привилегий в Intel, тогда как для Spectre – комбинация из спекулятивного выполнения и предсказания переходов (Branch Prediction).

Спекулятивное выполнение команды – выполнение команды заранее, когда неизвестно, нужно ли вообще ее выполнять.

Предсказание переходов (ветвлений) позволяет осуществлять предварительную выборку инструкций и данных из памяти, а также выполнять инструкции, находящиеся после условного перехода, до его фактического выполнения.

Если вам нравится играть в опасную игру, присоединитесь к нам - мы научим вас правилам!

Подписаться