Главная » Хабрахабр » Security Week 26: Обновленный Spectre, теперь со вкусом записи

Security Week 26: Обновленный Spectre, теперь со вкусом записи

Не хочется писать о Spectre, а надо: на прошлой неделе это однозначно самая важная новость. Новые варианты уязвимости Spectre, как и исходные, показаны представителями академического сообщества. Научный сотрудник Массачусетского технологического института Владимир Кирьянский и независимый эксперт Карл Вальдспургер показали две новые модификации Spectre, названные, без затей и логотипов, Spectre 1.1 и Spectre 1.2 (новость, оригинальная научная работа).

В случае Spectre 1. Важные отличия от исходной уязвимости Spectre в обоих случаях заключаются в использовании механизма спекулятивной записи. Spectre 1. 1 атака теоретически позволяет вызвать (тоже спекулятивное) переполнение буфера и прочитать «запрещенный» участок памяти. За обнаружение уязвимости исследователи получили сто тысяч долларов в рамках программы bug bounty компании Intel, и на сегодняшний день это одна из самых крупных выплат. 2 обеспечивает возможность перезаписи доступной только для чтения информации и теоретически позволяет провести атаку типа sanbox escape, обойдя аппаратные системы защиты. Переполнение вызывает операция записи — произведенная в нужное время и в нужном месте, она неизбежно отбрасывается как некорректная, но еще до того открывает возможность чтения области памяти, к которой у атакующего процесса не должно быть доступа. Уязвимости подвержены процессоры Intel, ARM и, вероятно, процессоры AMD.
По словам авторов, одной из ключевых находок исследования как раз является новая концепция «спекулятивного переполнения буфера».

Ключевая иллюстрация идеи: обходим защиту (bounds check) не с помощью операции чтения, как в оригинальном Spectre, а с помощью операции записи.

В этом и заключается сложность аппаратных уязвимостей этого класса: слишком многое должно совпасть, чтобы атака была успешной. Список условий, при которых одна из новых уязвимостей может быть реализована на практике, занимает чуть ли не больше места, чем описание механизма атаки. Самое важное: условия для Spectre 1.x могут быть созданы даже в тех случаях, когда атака Spectre 1. Но когда атака происходит, в худшем случае она позволяет украсть ценную информацию, зачастую без возможности даже пост-фактум понять, что именно произошло. 0 невозможна.

1 с помощью анализа кода или инструментов компиляции не существует. Исследователи утверждают, что способов детектирования уязвимостей типа Spectre 1. Также отмечается, что ответственность за снижение рисков успешной атаки типа Spectre зачастую возлагается на разработчиков ПО. При этом данная уязвимость может быть закрыта на уровне железа. Учитывая, что за 30 лет, прошедшие с первой публичной демонстрации атаки с переполнением буфера, уязвимостей в ПО намного меньше не стало, авторы предрекают атакам на механизм спекулятивного выполнения кода «десятилетия» релевантности.

Осталось реализовать это на практике, что в случае класса уязвимостей, затрагивающих железо, может занять то ли годы, то ли десятилетия. Несмотря на вышесказанное, авторы верят, что комбинация безопасного софта и железа с преимуществами защиты от механизмов speculative execution теоретически возможна. Интересно, не станет ли история Spectre/Meltdown и их производных шагом к какому-то серьезному изменению в практиках разработки программ и аппаратного обеспечения?

Дорогая редакция вообще рекомендует относиться к любым мнениям со здоровым скептицизмом. Disclaimer: Мнения, изложенные в этом дайджесте, могут не всегда совпадать с официальной позицией «Лаборатории Касперского».


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

Явные возможности JavaScript

Ведь язык давно обзавелся огромнейшим комьюнити и имеет удивительно широкий охват промышленной разработки. Начитывая очередную статью про малоизвестные фичи языка JavaScript и втихую пописывая какие-то невменяемые решения в консоли браузера, я часто проговариваю в голове мол ну на проде то ...

Особенности работы в интернациональной команде. Япония

Причины переезда всегда разные, но чаще всего люди просто хотят перемен. Поработать в другой стране это, как говорят сейчас, challenge (вызов) для многих российских специалистов: сможешь ли «найти» себя в новой стране, в новой роли. И хорошо, если они к ...