В начале года было выявлено несколько вариантов атак, которые базируются на принципе анализа механизма спекулятивного исполнения команд, применяемого во всех современных высокопроизводительных процессорах для ускорения вычислений. Атаки были названы Meltdown и Spectre, и с тех пор найдены многочисленные их вариации — например, CVE-2018-3639, BranchScope, SgxSpectre, MeltdownPrime и SpectrePrime, Spectre 1.1 и 1.2, SpectreRSB и L1TF Foreshadow. Параллельно производители процессоров, ОС и компиляторов разрабатывали аппаратные и программы методы борьбы с подобными видами атак.
Группа специалистов, включающая ряд исследователей, имевших отношение к выявлению первоначальных уязвимостей Meltdown и Spectre, а также связанных с ними атак Foreshadow и BranchScope, опубликовала новый документ, раскрывающий ещё 7 вариаций атак в большом дружном семействе. Некоторые из них закрываются уже существующими методами, но другие для защиты уязвимых систем требуют дополнительных мер.
Исследования подобного рода атак, проводившиеся прежде в этом году, были специфическими случаями по своей сути: например, возможность атаки Spectre удалённо по сети или атаки в духе Meltdown для доступа к защищённым анклавам SGX. Новое исследование более систематично, рассматривает лежащие в основе Meltdown и Spectre механизмы и призвано выявить все способы, при которых спекулятивное исполнение команд может быть использовано злоумышленниками для доступа к закрытой информации.
В новом исследовании, в частности, сообщается о двух новых вариантах Meltdown-подобных атак:
- Meltdown-BR — эксплуатирует механизм MPX (Memory Protection eXtensions) на 64-бит чипах Intel, который призван увеличивать безопасность программ по отношению к доступу к памяти, добавляя проверку доступа по указателям, в частности, для предотвращения атак, использующих переполнение буфера.
- Meltdown-PK — обходит механизм PKU (Memory Protection Keys for Userspace), который обычно применяется для обеспечения защиты страниц памяти без изменения таблицы страниц памяти.
Все подобные атаки основаны на том, что процессор при работе того или иного механизма в определённый момент выдаёт ошибку — она создаёт небольшое окно для анализа между действием, которое приводит к сбою, и реальным отчётом о сбое. Исследователи рассмотрели множество вариантов, когда процессор выдаёт ошибку, но многие из них не приводят к возникновению уязвимостей типа Meltdown.
Точно так же они рассмотрели множество вариаций, подобных Spectre. Всего было выявлено ещё пять новых рабочих вариантов атак — три из них нацелены на механизм PHT (Pattern History Table), а ещё два — на буфер адресов перехода BTB (Branch Target Buffer):
- Spectre-PHT-CA-OP;
- Spectre-PHT-CA-IP;
- Spectre-PHT-SA-OP;
- Spectre-BTB-SA-IP;
- Spectre-BTB-SA-OP.
Процессоры AMD, ARM и Intel затронуты всеми пятью новыми вариантами атак Spectre. С течением времени механизмы борьбы против Meltdown и Spectre наверняка будут совершенствоваться с точки зрения производительности и эффективности, как в области программной, так и аппаратно. Вряд ли на этих вариантах атак закончилась история с уязвимостью механизма спекулятивных вычислений, но системный подход к анализу позволяет надеяться, что самые серьёзные дыры уже обнаружены.
Исследователи сообщили результаты своих выкладок Intel, ARM и AMD, но только две первых компании сейчас признали их справедливость. Вдобавок они протестировали уже существующие заплатки против Spectre и Meltdown для борьбы со новыми угрозами и пришли к выводу, что они не всегда помогают. Потому специалисты представили доклад с описанием собственного набора мер защиты против злополучных дыр.
Впрочем, в официальном заявлении Intel сообщила: «Уязвимости, задокументированные в этой статье, могут быть полностью устранены путём применения существующих технологий борьбы со Spectre и Meltdown, в том числе ранее описанных здесь, а также другими производителями чипов. Защита клиентов по-прежнему является для нас важнейшим приоритетом и мы благодарны командам Технологического университета Граца, Колледж Вильгельма и Марии, Лёвенского католического университета и специалистам из imec-DistriNet и KU Leuven за их продолжающиеся исследования».