Что такое Spectre и Meltdown, чем они опасны и как вообще так получилось.
2018 год начался с громких новостей в мире IT. Был подвергнут серьёзному сомнению один из главных постулатов кибербезопасности — защищённость центрального процессора на уровне «железа». Соли ситуации добавляет тот факт, что про «дыры» производители знали ещё с прошлой осени (CEO Intel вообще «слил» свои акции в ноябре), а достоянием публики уязвимости Meltdown и Spectre стали до выхода хоть каких-то патчей.
Усугубляет происходящее и тот факт, что сильнее всего уязвимостям оказались подвержены самые популярные процессоры от Intel. В меньшей степени им открыт весь остальной потребительский «кремний», включая решения на базе AMD и ARM.
Мы попытались без сложных слов расписать о том, чем грозят Spectre и Meltdown, и как жить в мире, где только что взорвали одну из несущих стен сетевой безопасности.
Суть атак без «ракетной науки»
Начнём с Meltdown. Эта атака полагается на спекулятивные алгоритмы работы с памятью, которые делают ваши «камни» такими быстрыми. Как оказалось, на процессорах Intel можно обмануть блок управления памятью (MMU), который раздаёт виртуальные адреса, прежде чем пустить приложения непосредственно к физической памяти. В идеале, процессор видит, когда приложение пытается «выпрыгнуть» за пределы установленных процессором рамок и пресекает эти попытки. На практике же, процессор попросту игнорирует MMU, пытаясь угнаться за алгоритмами, которые предсказывают поведение приложений и ускоряют работу системы.
Собственно, плохая проверка содержимого команд во время спекулятивных вычислений (десятки инструкций, между прочим) позволяет получить доступ к кэшу, а там и вообще ко всей памяти системы, пользуясь наплевательским отношением самого процессора к своим же протоколам безопасности. Причём эксплойт очень легко реализовать, достаточно пары строк на JavaScript. К счастью, эта дыра действительно актуальна лишь для процессоров Intel и уже закрыта на всех популярных ОС. Странные флуктуации с кэшем замечены и на процессорах AMD и ARM, но там их воспроизвести в масштабах Intel (пока) не удалось.
Spectre куда как серьёзнее. Это полноценная «дыра» в архитектуре вообще всех популярных процессоров. В той или иной степени ей подвержены почти все относительно актуальные «камни» на рынке. Причём софтом она не патчится. Уязвимость, опять же, базируется на спекулятивных алгоритмах вашего CPU, но у неё есть сразу несколько механизмов реализации. Spectre тоже пользуется тем фактом, что в погоне за скоростями процессор не до конца проверяет выполняемые им команды, а потому ему можно подсунуть код, который будет вытаскивать уже упоминавшееся выше содержимое кэша, а далее — всё содержимое памяти.
Если не лезть в дебри, то Spectre — это Meltdown, но масштабируемый практически на все актуальные потребительские процессоры. Катастрофа ли это? В каком-то смысле да. Но практическая реализация атаки настолько сложна, что скорее всего использовать уязвимость будут разве что для взлома ядерных центрифуг где-нибудь в Иране.
Какие процессоры подвержены атакам?
В случае с Meltdown — все Intel Core, Intel Xeon, Intel Celeron и Pentium на базе архитектуры Core. В качестве бонуса под раздачу попадают ARM Cortex-A57/A15/A7/A72.
В случае со Spectre всё очень серьёзно, так как речь идёт о каждом процессоре со спекулятивными алгоритмами. При этом AMD безопаснее прочих (не очень понятно почему).
MIPS и прочая экзотика, ожидаемо, почти не задеты уязвимостями. Так что если хочется абсолютных гарантий — отечественные «Эльбрус» или «Байкал-Т1» к вашим услугам. Вроде как они даже запускают Vice City.
Как вообще так вышло?
Всему виной погоня за производительностью. Для ускорения работы CPU процессоры используют специальные предиктивные алгоритмы, которые на несколько операций вперёд предсказывают поведение вашего софта. В итоге у приложений получается очень эффективно работать с ядром системы, что очень актуально в серверных задачах и при обработке больших данных.
Именно погоня за этим рынком и абсолютная вера в безопасность «кремния» поставили индустрию в такое неловкое положение. При этом нельзя сказать, что проблема грянула как гром среди ясного неба. Некоторые работы на тему уязвимости кэша через спекуляции CPU датируются 2014 годом.
Что испортят патчи?
После обновлений безопасности замедлится работа спекулятивных операций, а потому процессоры станут медленнее для ряда задач. Сильнее всего пострадают дата-центры и сервера, однако внятных бенчмарков пока нет.
Каким образом это отразится на играх?
В случае с ПК-играми упадёт производительность продуктов, защищенных DRM на основе виртуальных машин. На текущем витке борьбы с пиратством это Denuvo. Как показывают недавние тесты, в Assassin’s Creed Origins, защищенной свежей Denuvo с VM Protect, производительность упала на 5 кадров в секунду сразу после установки патча на Meltdown. В остальных играх после обновления FPS либо не поменялся, либо даже немного подрос.
Потребительский софт вообще пострадает мало, так как он почти не «дёргает» ядро системы. Так что выдохнуть могут не только геймеры, но и любители видеомонтажа, подкастинга и прочие рабы цифрового труда.
На первое время станут хуже работать сервера игр. Epic уже рапортует о том, что после заплатки нагрузка на сервера Fortnite выросла втрое. Такое падение вызвано срочным характером патча и дальнейшие обновления безопасности, скорее всего, сгладят ситуацию.
А что игровые консоли? Ведь там тоже процессоры с ПК!
Вопрос интересный и очень спекулятивный. Meltdown прикроют достаточно быстро обновлениями прошивки, а вот со Spectre всё не очевидно. Атаку сложно будет развернуть в силу закрытости консольных ОС и того факта, что Sony и Microsoft выбрали процессоры AMD. Последние, как мы помним, лучше защищены от Spectre.
На тему безопасности Xbox One уже успел высказаться вице-президент игрового направления Microsoft Майк Ибарра. Но, как и всему пиару вокруг Metldown и Spectre, большого значения его словам придавать не стоит.
Mike Ybarra @XboxQwik
FYI: The security architecture of Xbox already mitigates against the recent chip-related security vulnerabilities. #Xbox
Куда интереснее тот факт, что анонсированный буквально на днях взлом Nintendo Switch апеллирует к, якобы, некой неустранимой проблеме чипа Tegra X1. Имеет ли он отношение к Meltdown и Spectre — не очень понятно.
Так для чего же хакеры могут использовать Spectre?
Уязвимости в процессоре интересны не столько для непосредственных атак, сколько для разработки новых методов этих самых атак. У хакера, развернувшего Spectre, открывается богатейший доступ к содержимому памяти, и он может «подсмотреть» огромное количество путей для использования обнаруженных таким образом уязвимостей. Грубо говоря, Spectre открывает доступ к данным такого низкого уровня, что в перспективе это может стать серьёзной проблемой.
Утешает только тот факт, что полноценное использование Spectre требует выдающихся вычислительных возможностей, а потому уязвимость скорее существует «на бумаге» и в виде ряда доказательств концепции. Говоря русским языком, прямых атак на базе Spectre пока не существует, а существующие доказательства концепции лишь подтверждают те или иные опасения.
Кто пострадает сильнее всего?
Дата-центры и прочие узлы обработки большого объёма данных. Как мы уже говорили выше, замедление спекулятивных алгоритмов всерьёз снизит скорость CPU в ряде операций (до 30%). Не просто так акции AMD и Nvidia (GPU для дата-центров) летят вверх уже который день кряду.
Скорее всего множество устройств на Android так и не получит хоть каких-то патчей, так что если вы купили своему коту или маме дешёвый китайский смартфон с Aliexpress, лучше не лезть на сомнительные сайты и не качать что попало.
Игроки, на практике, практически не заметят проблем. Существующие флуктуации производительности укладываются в рамки погрешности драйверов и бенчмарков.
Не очень понятно, как ударят уязвимости по рынку криптовалют. Для не применивших обновления на Meltdown, сомнительные скрипты станут способом воровать пароли от кошельков. Spectre же позволит проводить централизованные атаки на дата-центы и биржи, однако внятного механизма реализации таких атак пока не придумали даже журналисты. На всякий случай эксперты советуют хранить данные в «хардварном кошельке», отдельном от ПК устройстве.
Как жить теперь?
Спокойно и без паники. Meltdown уже закрыта, Spectre очень сложно разворачивать, и если вы не храните коды ядерных ракет в папке «Котики и Мемы», то, фактически, для вас в интернете ничего не поменялось. Риск схватить троян или порноблокер всё ещё заметно выше, чем риск нарваться на изощренные попытки хакеров залезть в ваш процессорный кэш.
Проблема лишь в том, что для полной нейтрализации Spectre придется всерьез пересматривать архитектуры CPU и переписывать ядра операционных систем. Ожидайте эту дыру в будущих процессорах, расписанных в печать ещё до обнаружения уязвимости. Операционные системы тоже будут уязвимы до ближайшего мажорного релиза.
This is fine.
Источник: DTF