Под угрозой все. Что такое Meltdown и Spectre и как с ними жить?

Говорят, новое — это хорошо забытое старое. Начало года сполна подтвердило справедливость народной мудрости, но в худшем смысле из возможных. Ведь совсем недавно стало известно о двух опаснейших уязвимостях процессоров за последние двадцать лет. От них не спасёт антивирус, атаку можно провести и на допотопное, и на самое современное железо. «Дыра» в безопасности есть у подавляющего большинства устройств: от десктопов и смартфонов до банкоматов и самолётов. Как жить с этим дальше?

Коротко о главном

Знакомьтесь: Meltdown (CVE-2017-5754). Атака, которая полностью игнорирует защитные механизмы процессора, эксплуатирует контроль за адресными пространствами, реализованный блоком MMU (Memory Management Unit). Краткая суть работы MMU: если при запуске процесса ОС выделила этому самому процессу память, все попытки вылезти за её пределы будут пресекаться. А значит, одновременно запущенные процессы (а стало быть, и приложения) работают параллельно, не мешая друг другу. Различные участки памяти могут иметь разные уровни доступа. Например, приложение получит доступ к памяти, занятой ядром системы даже если соответствующие адреса ему технически доступны. Такая схема успешно применялась не просто годами, а десятилетиями, и ничто не предвещало беды. До недавнего времени.

Как это работает

В истории развития PC была эпоха, когда CPU многократно опережал другие модули в быстродействии, и для увеличения реальной производительности инженеры изобрели так называемый «предсказатель ветвлений». Его основная задача — анализировать уже выполненные инструкции и давать предположения, какие расчёты можно производить не дожидаясь момента, когда будут выполнены условия, приводящие к инициализации данной ветви кода. Если оказывается, что выполненные расчёты не нужны или неверны — процессор просто сбросит уже просчитанные данные. В случае положительного ответа экономится много времени: система может заниматься полезными вычислениями, а не простаивать. Как выяснилось, процессор в ходе работы «по предсказаниям» способен целенаправленно игнорировать MMU. Специально подготовленный код эксплуатирует эту особенность для получения доступа к результатам работы этих самых алгоритмов. Собственно, так и работает Meltdown.

Масштаб проблемы

Не имея доступа к защищённым участкам памяти, уязвимость атакует кэш CPU. В него попадают абсолютно все данные, прошедшие через процессор; кроме того, он не сортирует проходящий через  него код на валидность. Данные получены — данные упали в кэш, а дальше пусть процессор определяет, что с ними делать. Хак же реализован таким образом, что может определить чтение данных по заданному адресу, вычисляя, попал ли тот в кэш по скорости доступа (оперативная память намного медленнее процессорной). Остаётся заставить CPU при помощи специального скрипта, имитирующего запросы по нужным адресам, раскрыть информацию о содержании кэша. Имея на руках правильные данные, не составит труда прочитать всю память ядра системы — а значит, и всю физическую память устройства. Уязвимость затрагивает компьютеры под управлением практически любого продукта Intel (всю линейку Core и Xeon, а также Celeron и Pentium на ядрах семейства Core, процессоры Core 2, Pentium 4-й, 3-й и даже 2-й серий) Новые процессоры ARM на ядре Cortex-A75 (Snapdragon 845, новые Exynos и Kirin, высокопроизводительные модели Mediatek 2018 года). Масштаб проблемы сложно переоценить.

Беда не приходит одна

Казалось бы, владельцам процессоров AMD, на которых Meltdown пока воспроизвести не удалось, пора вздохнуть с облегчением. Однако плохой Санта явно решил, что в этом году никто не уйдёт обиженным, и занёс всем и каждому счастья под названием Spectre (CVE-2017-5753 и CVE-2017-5715). Не вдаваясь в дебри цифр и алгоритмов, Spectre — технически схожая с Meltdown атака — она тоже эксплуатирует аппаратный уровень процессоров, используя непрямые каналы утечки данных. Будучи сложнее в реализации, она распространяется (хоть и с некоторыми оговорками) на все современные процессоры, вне зависимости от платформы и семейства.

Вдвойне сложнее и опаснее

Spectre, в отличие от Meltdown, не подразумевает доступа к памяти атакуемого процесса (как ядра системы, так и пользовательской программы). Они сами выдают все сведения — достаточно «грамотно попросить», а реализуется это благодаря описанному ранее блоку «предсказаний». Выполняя инструкции, похожие на те, что создаёт атакуемая программа, уязвимость позволяет вычислить инструкции «жертвы», сравнив скорости получения переменной из кэша и ОЗУ. Технически метод довольно сложен в исполнении, но и список подверженных атаке устройств внушительнее: это все процессоры Intel, и 64-битные ARM, и почти вся линейка AMD. То есть вообще все CPU, имеющие внеочередной запуск инструкций.

Что делать?

Решение на сегодняшний день одно: установка актуального патча для ОС (пользователи Windows 10 могут наконец-то порадоваться неотключаемому центру обновлений — хотфикс прилетит автоматически). Выпущенные заплатки переносят память ядра в изолированную область, обеспечивая защиту не только разграничением привилегий, но и контролем доступа по адресам. Не отстают и разработчики браузеров, которые выпускают исправления для предотвращения потенциальных атак на JS, являющийся локально выполняющимся кодом.

А вот на антивирусы надеяться не стоит. Будучи проблемой аппаратной, Meltdown и Spectre используют штатное поведение системы, а не перевод её в нестандартные или критические состояния. То есть антивирус будет постоянно реагировать на любой «индусский код», если постараться настроить его на отлов специфичных для этих атак повторяющихся циклов. Немного успокаивает тот факт, что сложность исполнения уязвимости вряд ли сделает её популярной у вирусописателей.

Правда ли, что новые патчи замедляют процессор?

И да, и нет. Для рядового пользователя ничего страшного не произойдёт. С одной стороны, изоляция памяти ядра действительно сказывается на производительности, и в некоторых сценариях потери могут достигать тех самых 20-30%, которыми пестрят панические статьи в Интернете. С другой — большинство таких сценариев в домашних условиях не используется, а в играх и популярных пользовательских приложениях реальная потеря производительности находится на уровне погрешности. Лучше пожертвовать парой процентов FPS, чем, в случае наступления очередной хакерской эпидемии, задним числом разбивать лоб фэйспалмами.

А что насчёт не загружающихся после патча систем на базе процессоров AMD?

Скажем так: если вас коснулась эта напасть, вы уже в курсе происходящего. Для всех остальных — кратко о произошедшем. Некоторые старые процессоры AMD серии FX после получения вышеупомянутого хотфикса перестали корректно запускаться (из-за особенностей архитектуры ядра и совместимости с материнскими платами предыдущих поколений). Но проблема уже решена — Microsoft временно приостановила апдейт проблемных моделей. AMD тоже в курсе происходящего: исправленное обновление выйдет в течение ближайшей недели.

Говорят, под ударом оказались и видеокарты?

Несмотря на разошедшиеся по Интернету сообщения, NVIDIA не признаёт наличие уязвимости Spectre в своих продуктах серий GeForce, Quadro, NVS, Tesla и GRID. Соответствующее исправление драйверов, которое вышло в десятых числах января, устраняет возможные лазейки по запуску Spectre на (!) центральном процессоре компьютера. Никаких подробностей PR-отдел калифорнийской компании не даёт. Впрочем, большинству пользователей беспокоиться не стоит вовсе — архитектура видеоядра значительно отличается от процессорной. Даже если найдётся способ задействовать схожую лазейку, максимум, что получится извлечь из видеокарты, так это хэши, используемые при расчётах криптовалют, или массивы данных из научных проектов. В других случаях подверженные атакам вычислительные блоки обычно хранят графику и шейдеры: какому хакеру они нужны?

Что в итоге?

Всё не настолько плохо, как многие рисуют на волне поднявшегося хайпа. Во-первых, уязвимость, пускай и с опозданием, но найдена, изучена и предана огласке. Так что пусть и через пару поколений процессоров (в грядущих Zen+ и Cannon Lake кардинальных изменений архитектуры ждать не стоит), но от неё и ей подобных индустрия избавится окончательно. Во-вторых, большинство людей, не использующих в повседневной работе уязвимые сценарии (вроде той же виртуализации), с потерей производительности практически не столкнутся. И наконец, сложность исполнения хакерской атаки и предпринятые против Meltdown и Spectre меры сделают её непривлекательной для злоумышленников. Цена атаки будет настолько велика, что она больше подойдёт для взлома крупной корпорации, чем пользовательских устройств. Поэтому просто не забывайте обновлять свою ОС и играйте спокойно.

Нравится51
Комментарии (33)
  • 29
    Такое ощущение вроде кризис пришел в мир железа)
  • 14
    Solstice
    Он везде уже.
  • 15
    Solstice
    Да, производители ничего принципиально нового предложить не могут, что бы стимулировать пользовательский спрос. Вот и приходится прибегать к подобным извращениям. ИМХО
  • 31
    >Как жить с этим дальше?
    Так же, как и жили раньше. Десять лет пользуюсь ПК и горя не знаю ни с какими хакерскими атаками, а тут внезапно находится какая-то уязвимость и заплатка, от которой недурно падает производительность. Мне и в хер не упёрлись эти обновления, как и подавляющему большинству пользователей, которые так же ни с чем подобным не сталкивались. Сидишь так безмятежно, а тут тебе р-р-раз — и замедляют скорость работы ОС. Здорово. Прям заботливые такие, обновление они выкатывают. Хоть спросили бы, нужна ли нам такая «забота».
  • 0
    Жили, жили и усрались.
  • 17
    Отличная статейка. Автору респектос
  • 20
    Не так страшен чёрт, как его малюют.
    Дело в том, что если юзверь - тупой дятел и запускает все экзешники (или любые другие исполняемые файлы) подряд - ему ни один антивирус не поможет, и не важно где и какая дыра.
    Что касается прилетания виря из интернета - тут 2 совета:
    1) Софт. Не качайте софт с левых источников. Складируйте древние утилиты, авось что-нибудь из старого софта да пригодится, всё это весит мало, а работает почти отлично. Весь офф софт от более-менее крупных фирм должен иметь сертификат в свойствах исполняемого файла запуска приложения, заглянуть туда - дело пяти секунд. Если что-нибудь новое - залейте на virustotal или запустите на виртуальной машине без аппаратного ускорения (надёжность не 100% но близко)
    2) Сёрфинг. Пока не выпустили полноценные заплатки для браузера - переходите только по проверенным сайтам. Что-то ищите - делайте это через Firefox, там пока подкрутили движок JS, шанс поймать что-то через эти уязвимости - уменьшен в разы.
  • 9
    ниче обновлять не буду, чяитаю что это сговор интел с майкрософт
  • 4
    бенчмарки реальна медленней работают
    а следовательно назревает проблема оценки и сравнения производительности процессоров
    а еще гипотетически оно делает любой серьезный разгонум по опорной чостоте кукурузным
  • 27
    все просто, переходим на консоли, как продвинутые страны
  • 16
    Натуральный картельный сговор, даже фиговый листочек по типу эппла, и то прикреплять не стали.
  • 8
    как с ними жить?

    Как и 10 лет до этого.
  • 15
    А вот на антивирусы надеяться не стоит

    На них никогда нельзя надеяться, бесполезные вещи.

    По теме: зачем эта костыльная заплатка на пользовательских версиях Windows, зачем этот костыль принудительно устанавливается? Почему при установке Windows не сделать галочку, в которой будет написано "Хочу безопасности побольше" и будут ставиться такие заплатки, не нужные простому пользователю. Пускай на корпоративных и серверных версиях винды ставится всё принудительно. Те у кого нечего воровать о безопасности даже и не задумываются, что за дичь-то?
  • 4
    Много слов, ничего не понятно и лишние отвлекающие картинки. Так что, надо вовремя обновлять антивирус или что? Я не на 10ке, я в порядке?
  • 9
    Cvoxalury
    Проблема везде, она на аппаратном уровне, т.е. почти все процессоры подвержены этому.
  • 8
    Kirill22092
    какой ужас! разработчики поддерживают максимальную защиту своего продукта и не думают о школярах, скачавших говносборки винды с торрента, что бы играть на своих калькулятрах в пираточки.
  • 2
    Спасибо за статью. Как бы не было смешно но:
    "В других случаях подверженные атакам вычислительные блоки обычно хранят графику и шейдеры: какому хакеру они нужны?"

    мб промышленный шпионаж в каком то роде ? :)
  • 6
    пользователи Windows 10 могут наконец-то порадоваться неотключаемому центру обновлений — хотфикс прилетит автоматически)

    Всмысле неотключаемому? На Вин10 нельзя отключить обновления? Правда?

    И да, ПИАР менеджерам Мелкософт в этом полугодии прилетит огромная премия за подобные вбросные статьи.
  • 11
    Пять к одному нас всех снова спасут роутеры. Как было с той дырой в Окнах, что была в 2017-ом.
    И ещё это действительно похоже на охренительно наглый пример запланированного устаревания. Промежуток времени подобрали специфичный, причём все как раз собираются переползать в 4К. Конспиролохию не люблю - но запланированное устаревание - это открытый секрет, а не теория, так что...
  • 1
    Про что написано в тексте? Я вроде всё прочитал, но так и не понял что мне хотят сказать. Как работал комп так и работает. Можете в 2ух словах сказать что это, а то кроме того что возможно падает произовдительность ни чего и нет
  • 4
    С незапамятных времён пользуюсь пиратками винды и горя не знаю.
  • 2
    Я хз зачем вообще что-то обновлять, если ни одного случая использования этих уязвимостей не приводится?)
  • 0
    Что делать тем, кто собирается покупать или обновлять процессор, ведь получается, что все модели в наличии находятся с уязвимостью?
    Сколько нужно ждать, чтобы выпустили проц с аппаратным фиксом по более или менее адекватной цене?
  • 3
    На офф. сайте AMD сказано что воспроизвести атаку Спектра на их CPU смогли лишь специально приглашённая команда, в лабораторных условиях, с доступом ко всей внутренней документации о CPU, и заверила что извне, не имея подобного уровня навыков, и знаний, её повторить не возможно. Но тут в статье пишут что AMD подвержена атакам спектра ...
  • 2
    Вчера понадобилась прога Nero.Среди установочных была старенькая Nero 9.При попытке установить заметил подписания.У меня у одного так?Раньше их не было.
  • 3
    Всё это очень скучно, ведь заштопывая "грубыми нитками /методами" "маленькую дырочку /уязвимость" приведёт к неудобному использованию не только носков, но и процессора в пека. Тем более, что есть ещё те уязвимости которые просто ещё не выявлены. Защитится от всего и навсегда как правило невозможно, поэтому нужно искать компромисс.

    CLEX55 написал:
    Что делать тем, кто собирается покупать или обновлять процессор, ведь получается, что все модели в наличии находятся с уязвимостью?

    Ждём новостей как обстоят дела с ЦП Эверест... В этой новости про него не написано.
  • 0
    А для пиес 4 уже выпустили заплатку?
  • 2
    В общем это тонкий намек от производителей процессоров, что пришло время обновки. Особенно от интел, которые аж кричат, что все устаревшие процессоры нуждаются в замене...
    Даже если и есть на самом деле такая уязвимость, то чем она отличается по сути от тех же вирусов? Та же кража информации или порча железа. Вот только сложность внедрения кода в изменение алгоритмов CPU, дает уверенность, что обычных пользователей это не коснется. Да и смысл от этого? Так что абсолютно не переживаем за наши железяки, а только горько вздыхаем при каждом новом параноидальном обновлении от майков...
  • 1
    сложность исполнения хакерской атаки и предпринятые против Meltdown и Spectre меры сделают её непривлекательной для злоумышленников. Цена атаки будет настолько велика, что она больше подойдёт для взлома крупной корпорации

    ну и нахрена тогда обновляться? Кому мы нужны то:)
  • 4
    Хайп из ничего. Сколько лет пользуюсь ПК, никогда хакеры его не взламывали. Это актуально скорее для гос. структур, а не для обычных юзеров.
  • 2
    Всё пацаны, пересаживаемся с Intel и AMD на эльбрус
  • 2
    MikuHadsune
    Согласен радужная, статья вообще ниочем. Особо я зафейспалмил то что типа антивирусы бессильны чет сделать. Ну до код билиат сам на компе из воздуха появится, запустится и всю инфу сольет через астральные каналы. Причем писал даже не дебил а сказочный д... б - дебилы хотяб не стараются свои идеи в массы нести. Кста заметь - опять статья с ПДА - я уже пару статей оттуда технически почти 100% неграмотных описал - походу опять та же шняга.
    АДМИНЫ!!! Сделайте уже кнопку ЗАМИНУСИТЬ пост.
  • 3
    Всегда играю с вертикалкой (60 FPS), и мне плевать, если в случае чего, FPS в игре со 130 упадет до 110. ))) Да и кому я нужен со своим пустым ПК, и пустыми карманами. )))
B
i
u
Спойлер