Не Intel единым: Google обнаружила уязвимости во всех современных процессорах

Автор: , 04.01.2018, 15:58

Вслед за сообщениями о баге в чипах Intel процессорный гигант выпустил официальное заявление, в котором говорится, что проблема затрагивает множество типов устройств, не взирая на производителя CPU и операционную систему. Эту информацию подтверждают специалисты проекта Google Project Zero, которые опубликовали детали двух уязвимостей с кодовыми именами Meltdown и Spectre.

Не Intel единым: Google обнаружила уязвимости во всех современных процессорах

Вслед за сообщениями о баге в чипах Intel процессорный гигант выпустил официальное заявление, в котором говорится, что проблема затрагивает множество типов устройств, не взирая на производителя CPU и операционную систему. Эту информацию подтверждают специалисты проекта Google Project Zero, которые опубликовали детали двух уязвимостей с кодовыми именами Meltdown и Spectre. Корнем всех проблем оказались недоработки механизма спекулятивного выполнения инструкций процессором, но обо всем по порядку.

Meltdown

Не Intel единым: Google обнаружила уязвимости во всех современных процессорах-2

Уязвимость Meltdown, которой подвержены процессоры Intel с архитектурой x86-64 и некоторые чипы ARM64, позволяет пользовательским приложениям считывать содержимое памяти ядра операционной системы, в которой могут храниться логины, пароли и другая закрытая информация. Спекулятивное выполнение позволяет оптимизировать работу чипа за счет предсказания и обработки инструкций до их подтверждения. Таким образом не теряется время на ожидание, а если проверка не пройдена, все изменения аннулируются.

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

Не Intel единым: Google обнаружила уязвимости во всех современных процессорах-3

Чтобы залатать брешь в безопасности, разработчикам пришлось разделить память ядра и пользовательское пространство. Необходимые исправления уже добавлены в ядро Linux 4.15, Microsoft обновила Windows 10 и обещает добавить патч для Windows 7 и Windows 8 в следующий вторник. Apple закрыла уязвимость в macOS High Sierra 10.13.2. Google уже выпустила апдейты для Android и Chrome OS, а на подходе браузер Google Chrome 64 с защитой от атак Meltdown. Исправление подготовила и ARM для подверженных проблеме чипов Cortex-A75, Cortex-A73, Cortex-A72, Cortex-A57, Cortex-A17 и Cortex-A9. Обновления также получают «облачные» сервисы, включая Amazon Web Services, Microsoft Azure и Google Cloud Services.

Новый механизм защиты KPTI сказывается на производительности устройств, потому как процессору придется сбрасывать TLB-буфер быстрой переадресации при каждом переключении между режимом ядра и пользовательским режимом. Замедление составляет в среднем 5-30% и сильно зависит от задачи. Более заметное падение скорости будет в приложениях, которые часто обращаются к ядру (например, для операций с диском и сетью). Зато геймерам беспокоиться не о чем. Intel также заявила, что со временем негативный эффект будет минимизирован. Подробный отчет компании ожидается на следующей неделе, поэтому пока без подробностей.

Spectre

Не Intel единым: Google обнаружила уязвимости во всех современных процессорах-4

Эта уязвимость позволяет обманным путем получить конфиденциальные данные других приложений. Она эксплуатирует особенности спекулятивного выполнения инструкций в большинстве современных процессоров. Под угрозой решения Intel, AMD и ARM. Описанное выше исправление для Meltdown здесь тоже не поможет. На практике воспользоваться Spectre гораздо сложнее (по словам представителей AMD, шансы практически нулевые), но и решения проблемы в настоящий момент не существует. Возможно, для этого понадобится изменить архитектуру всех процессоров. Обновления микрокода чипов и дополнительные уровни безопасности в приложениях позволяют лишь снизить риски.

Как защититься?

Пока единственный способ обезопасить себя — это установка обновлений операционной системы и браузера. Если, конечно, они поддерживаются производителем. По словам представителей Google, даже без патчей им не удалось воспроизвести уязвимость на Android-устройствах с ARM-процессором, но это слабое утешение.

Случаи атак с применением Meltdown и Spectre пока не зарегистрированы.

Источники: Liliputing, Ars Technica, Intel, Google Project Zero

Для тех, кто хочет знать больше:

Поделиться