Компания Google опубликовала отчеты о двух уязвимостях под названиями Meltdown (CVE-2017-5753 и CVE-2017-5715) и Spectre (CVE-2017-5754), которые по оценке компании “затрагивают все процессоры, выпущенные с 1995 года”.

Google сообщает, что эти две уязвимости могут использоваться для “кражи данных, которые в текущее время обрабатываются на компьютере, включая пароли, сохраненные в менеджере паролей или браузере, личные фотографии, сообщения электронной почты, переписку в мессенджерах и даже критически важные документы”.

Более того, тестирования на виртуальных машинах в облачном пространстве позволили перехватить данные других клиентов, использующих тот же сервер.

Данные ошибки безопасности были обнаружены Янном Хорном (Jann Horn), исследователем безопасности из проекта Project Zero.

Первоначально компания Google планировала опубликовать результаты исследований на следующей неделе, но впоследствии решила раскрыть их 3 января по причине “растущих спекуляций в прессе и увеличения риска эксплуатации”.

Аппаратные ошибки нужно исправить программно

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

Хорн описывает эти проблемы как аппаратные ошибки, которым можно устранить патчами прошивки от производителей процессоров и исправлением программного обеспечениями от разработчиков операционной системы и приложений.

Google предупреждает, что уязвимостям подвержена продукция основных производителей процессоров и чипсетов (Intel, AMD, ARM), все основные операционные системы (Windows, Linux, macOS, Android, ChromeOS), провайдеры облачных услуг (Amazon, Google, Microsoft) и разработчики приложений.

Уязвимости обнаружены в технике “спекулятивное исполнение”

Ошибки безопасности обнаружены в технике под названием “спекулятивное исполнение”, которая используется всеми современными процессорами. Это базовая техника оптимизации, которая используют процессоры для выполнения вычислений данных, которые могут быть полезны в будущем.

Цель спекулятивного исполнения — подготовить вычислительные результаты, которые когда-либо понадобятся. Если для приложения не нужны “спекулированные” данные, процессор просто проигнорирует данную технику.

Хорн обнаружил способ использовать спекулятивное исполнение для чтения данных из памяти ЦП, которые не должны быть доступны для приложений пользовательского уровня.

Он обнаружил три уязвимости, которые он объединил в двух типах атак, названных Meltdown (CVE-2017-5753 и CVE-2017-5715) и Spectre (CVE-2017-5754).

Что такое Meltdown и Spectre

Google описывает атаки следующим образом:

Meltdown нарушает основные принципы изоляции между пользовательскими приложениями и операционной системой. Эта атака позволяет программе получать доступ к памяти и таким образом к секретам других программ и операционной системы.

Имя Meltdown (с англ. расплавление) используется, потому что “ошибка расплавляет границы безопасности, которые обычно обеспечиваются аппаратным обеспечением”.

Spectre нарушает изоляцию между различными приложениями. Это позволяет злоумышленнику обманывать надежные и безопасные программы и получать доступ к их секретам. Фактически, проверки безопасности увеличивают поверхность атаки и могут сделать приложения более восприимчивыми к Spectre.

Имя Spectre (с англ. фантом, призрак) выбрано исходя из первопричины — спекулятивного исполнения. Проблемы исправить очень непросто, поэтому она будет преследовать пользователя долгое время.

Google сообщает, что “эксплуатировать Spectre сложнее, чем Meltdown, но исправить уязвимость Spectre тоже будет очень трудно”.

Сложно обнаружить

Google предостерегает, что обнаружить атаки с использованием этих двух методов на данный момент практически невозможно.

Компания сообщает: “Эксплуатация уязвимостей не оставляет следов в традиционных файлах журналов”. Хотя теоретически обнаружить атаки возможно, антивирусные продукты не смогут распознать их на практике.

По этой причине Google не смог установить, использовались ли Meltdown или Spectre в реальных сценариях атак или нет.

На момент раскрытия информации об уязвимостях, большинство разработчиков операционных систем выпустили исправления. Уже доступны патчи для Linux, macOS, Android и Windows. Облачные провайдеры планируют обновить свою инфраструктуру на этой и на следующей неделе.

Большинство процессоров с 1995 года уязвимы

Google считает, что “каждый процессор Intel с реализацией внеочередного исполнения потенциально подвержен уязвимости. Таким образом, уязвимыми для Meltdown являются практически все процессоры с 1995 года (за исключением Intel Itanium и Intel Atom) до 2013 года”.

Meltdown был проверен только против процессоров Intel, AMD и ARM процессоры не тестировались. Тем не менее, доля Intel на рынке стационарных ПК составляет 80%, а на рынках ноутбуков и серверов — 90%. Это означает, что уязвимостям подвержено абсолютное большинство ПК, ноутбуков и серверов.

Влияние Meltdown на мобильные устройства неизвестно, но патчи для Android уже доступны.

Google проверила Spectre против процессоров Intel, AMD и ARM. Атака оказалась успешной в случае с ПК, ноутбуками, облачными серверами и смартфонами. Считается, что атака затрагивает почти все выпущенные в последние годы процессоры.

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

Google раскрыла подробности о новых уязвимостях Meltdown и Spectre процессоров Intel, AMD и ARM