АдминистрированиеНовости

Intel, AMD, ARM, IBM сообщили о новых вариантах атак на Meltdown и Spectre: варианты 3a и 4

В начале мая 2018 года немецкий журнал Heise сообщил, что производители готовятся раскрыть детали о восьми новых процессорных уязвимостях, родственных проблемам Meltdown и Spectre. Журналисты дали этим багам название SpectreNG. К сожалению, сообщение, гласившее, что новые уязвимости затрагивают процессоры Intel, AMD, некоторые процессоры ARM, а также IBM Power 8, Power 9 и System z, оказалось правдой. Сегодня вендоры опубликовали бюллетени безопасности, описывающие детали двух из восьми новых проблем.

Напомню, что баги Meltdown и Spectre были выявлены еще в прошлом году, но широкой публике известно о них стало лишь в начале 2018 года. Суммарно в «набор» Meltdown и Spectre входят три CVE: Meltdown (CVE-2017-5754) а также Spectre (вариант 1 — CVE-2017-5753 и вариант 2 — CVE-2017-5715). Если Meltdown и Spectre вариант 1 в теории можно исправить на уровне ОС, то полное исправление варианта 2 требует сочетания обоих подходов и нуждается в обновлениях прошивки/BIOS/микрокода, из-за чего у вендоров уже возникали многочисленные проблемы и накладки.

Теперь AMDARMIBMIntelMicrosoftRed Hat, VMwareOracleCisco, CERT/CC, US-CERT и другие раскрыли подробности новых уязвимостей. Как оказалось, проблемы, независимо друг от друга, обнаружили специалисты компаний Google и Microsoft. Уязвимостям присвоили идентификаторы вариант 3а (CVE-2018-3640) и вариант 4 (CVE-2018-3639). Дело в том, что согласно классификации специалистов, Spectre делится на вариант 1 (CVE-2017-5753) и вариант 2 (CVE-2017-5715), тогда как проблема  Meltdown (CVE-2017-5754) являлась вариантом 3. Как нетрудно понять, новый вариант 3а является вариацией бага Meltdown, тогда как более опасный вариант 4, так же получивший имя Speculative Store Bypass, – это производная Spectre.

Равно как и оригинальные Meltdown и Spectre, новые баги используют в работе проблемы упреждающего (или спекулятивного, speculative) механизма исполнения инструкций. Разница заключается в том, что Spectre вариант 4 затрагивает другие области данного механизма, в частности данные, хранящиеся в store буфере, внутри кеша процессора.

Специалисты Red Hat даже создали и опубликовали специальное видео, которое объясняет, как уязвимость влияет на современные процессоры.

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

В свою очередь, эксперт компании Google, Янн Хорн (Jann Horn), входивший в группу исследователей, обнаруживших оригинальные Meltdown и Spectre, уже опубликовал proof-of-concept эксплоит для новой уязвимости.

Эксперты предупреждают, что в теории вариант 4 может быть использован и удаленно, в том числе через браузеры, с помощью JavaScript-кода. Впрочем, аналитики Microsoft отмечают, что попыток эксплуатации проблемы до сих пор зафиксировано не было, а современные браузеры должны защищать пользователей от side-channel атак.

Хотя представители Intel пишут, что ранее выпущенных патчей для Meltdown и Spectre должно хватить для защиты от варианта 4, тем не менее, производитель анонсировал выход новых патчей (наряду с Red Hat, Microsoft и другими). Сообщается, что бета-версии исправлений уже направлены OEM-производителям и должны дойти до конечных пользователей в ближайшие недели (в формате обновлений для ПО и BIOS ). Отмечается, что эти «заплатки» будут поставляться отключенными по умолчанию, так как массовой эксплуатации найденных уязвимостей эксперты не ожидают. Решение о включении патчей будут принимать сами пользователи.

Стоит сказать, что новые патчи, равно как и предыдущие исправления, повлияют на производительность уязвимых устройств. Так, Intel сообщает, что возможна деградация производительности на 2-8%, а представители ARM пишут о снижении производительности на 1-2%. Разработчики обещают, что в перспективе планируется снизить эти цифры до меньших значений.