FAQ по уязвимости процессоров Meltdown и Spectre

Неплохой материал собранный воедино и изложенный понятным языком о недавно обнаруженных уязвимостях. Какие процессоры подвержены атакам Meltdown и Spectre? Ей подвержены не только процессоры Intel, но и AMD и ARM, но, по предварительным данным, в меньшей мере. В случае с Intel, по грубым оценкам, проблема касается почти всех процессоров, выпущенных примерно с 1995 года — когда компания начала внедрять спекулятивное исполнение команд.

Но если Meltdown можно просто остановить патчем, то со Spectre ситуация сложнее: исследователи предполагают, что для решения проблемы придётся полностью изменять архитектуру всех современных процессоров. Это может привести к тому, что пользователей будут подталкивать к покупке устройств на новом (и, вероятно, более дорогом) поколении процессоров — а предыдущее будет стремительно устаревать и обесцениваться.

Исследователи из Google Project Zero утверждают, что уязвимости Spectre подвержены некоторые чипы как Intel с ARM, так и AMD, а Meltdown пока подтверждён только на чипах Intel. По их словам, все три компании были уведомлены об уязвимости ещё 1 июня 2017 года. Google Project Zero опубликовали результаты своих тестов, проводимых на процессорах Intel Xeon E5-1650, AMD FX-8320, AMD PRO A8-9600 R7 и на ARM Cortex A57 из смартфона Google Nexus 5x.

Apple публично не комментировала проблему, но в версии macOS 10.13.2 (вышла в декабре 2017 года) компания уже закрыла часть уязвимости Meltdown, а ещё часть решения будет внедрена в следующей версии ОС, 10.13.3.

Главный корень проблемы — спекулятивное исполнение команд в современных процессорах, которая позволяет предугадывать, какие команды потребуется исполнить в будущем.

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

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

Полная версия статьи: https://tjournal.ru/64579-faq-po-chipokalipsisu-chto-izvestno-o-masshtabnoy-uyazvimosti-processorov