Вариант 4. Не последний.

Уязвимость с неромантическим неофициальным названием “Вариант 4” и официальным названием Speculative Store Bypass (SSB) и идентификатором CVE-2018-3639 была предана огласке 21 мая 2018 года. Новая угроза охватывает все современные процессоры — Intel, AMD, ARM, Power 8/9… Близкой к практическому воплощению эту уязвимость делает то, что до неё можно добраться из пользовательского кода — в частности, из JavaScript-кода, исполняемого из браузера. Как правило, речь идёт о сенситивных данных из соседней вкладки браузера. Предположительно принятые ещё в январе против Spectre (который по этой логике называется Variant 1) контрмеры должны воспрепятствовать эксплуатации уязвимости. Радует, что пока не замечено применения построенных на Variant 4 методов атаки. Впрочем, и специфичные варианты защиты, конечно, тоже будут разработаны и внедрены, как на уровне прикладного ПО, так и в браузерах. Исходя из того, что более ранние исправления уже применены, оценка нынешней угрозы не превышает уровень “умеренной” (moderate).

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

Подробные описания новой схемы старой атаки предоставили в RedHat. Там поясняется, что изолированные в “песочнице” браузера данные всё равно отличаются по степени доверия, и это может быть ключом к решению проблемы на уровне приложений — а, возможно, и компиляторов. Кроме браузеров, ещё одна очевидная мишень для попыток подобных атак — облачные провайдеры. Производители систем виртуализации уже выпустили по этому поводу свои комментария и в ряде случаев даже исправления.

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

Независимо друг от друга уязвимость обнаружили команда Google Project Zero и аналитики из Microsoft. Уже есть достаточно намеков на то, что уязвимостей такого рода может быть существенно больше, чем известно широкой публике сейчас. Слухи об этом семействе появились за пару недель до огласки Variant 4, но паники они не вызвали. Но хочется надеяться, что ущерб от новых находок будет не слишком высок, и они не потребуют переработки архитектуры существующих процессоров. Потому что принципиально новых архитектурных решений пока не предвидится, хотя в Intel и анонсировали выход в ноябре 2018 года процессоров, защищённых от Spectre, Meltdown и, вероятно, нового варианта атаки.


Автор:  Дмитрий Белявский (ТЦИ)

Возврат к списку