Компания Intel: в некоторых наших моделях процессоров имеются уязвимости

Компания Intel: в некоторых наших моделях процессоров имеются уязвимости

Потенциально – крупнейшая технокатастрофа в истории.

Специалисты из Google Project Zero (подразделение компании, занимающееся поиском уязвимостей в популярных продуктах) вчера опубликовали информацию о комплексе уязвимостей в современных микропроцессорах.

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

Что за уязвимость?

Все современные процессоры используют технологию спекулятивного исполнения. В целях оптимизации, процессор заранее выполняет команды, результат которых исполняемая программа может затребовать в будущем.

Необходимые для исполнения данные процессор хранит в кэше.

Часть команд при спекулятивном исполнении оказывается не нужной для работы программы. Результаты этих невостребованных команд продолжают висеть в памяти, и, благодаря обнаруженной уязвимости, становятся ключевым элементом, позволяющим считывать данные напрямую из кэша.

Специалисты продемонстрировали два вида атак, позволяющих при помощи анализа времени, затраченного на спекулятивное исполнение команд, идентифицировать и считывать данные, находящиеся в кэше. Для осуществления не требуется обладать правами администратора.

Первый, наиболее серьезный вид атаки, Meltdown, затрагивает только процессоры Intel, но уязвимы к ней все модели, выпущенные за последние 20 лет. Этот вид атаки позволяет получить доступ к памяти ядра.

Потенциальная малварь может получить доступ к памяти ядра даже изнутри виртуальной операционной системы, в чем и скрывается главная опасность.

Вторая атака, Spectre, затрагивает практически все широко используемые процессоры, включая AMD, Intel и ARM. Этот вид атаки позволяет получить доступ к кэшу конкретного приложения, что потенциально может быть не менее опасно. Spectre значительно сложнее в исполнении, так как требует первоначальной идентификации атакуемого процесса.

Насколько опасно?

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

Стоит ли сильно переживать обычному пользователю? Если установить обновления на ноутбук и десктопный компьютер, то не особо. Атака Spectre требует серьезной подготовки, поэтому не является серьезной угрозой для данных среднестатистического пользователя.

Исправления

Крупнейшие хостеры и провайдеры облачных сервисов (Amazon S3 и Microsoft Azure) практически моментально выпустили заплатки, закрывающие уязвимость, но снижающие производительность при выполнении определенных задач (падение от 5% до 30%). Уязвимость заложена в архитектуре процессоров, так что исправить ее можно только на уровне софта, отключая уязвимые функции.

Google уведомила обо всем производителей ПО еще в декабре, а Microsoft уже выпустила патч, закрывающий уязвимости для Windows 7,8 и 10, который автоматически будет установлен на компьютеры 4 января. Уклоняться от установки категорически не рекомендуется, уязвимость в процессорах Intel действительно опасная.

Последняя версия macOS 10.13.2 уже включает в себя необходимые исправления, причем macOS использует идентификаторы процессов (PCID), поэтому может закрыть уязвимость c меньшими потерями для производительности, чем патч KAISER для других операционных систем. В следующей версии macOS Apple сделает еще несколько исправлений, ставящих крест на осуществлении атаки.

Для своих телефонов (Google Pixel, Nexus 6P и 5X) Google также выпустила необходимые патчи. В январе нас ждет обновление браузера Chrome и ChromeOS. По поводу iOS Apple все еще не дала развернутый комментарий.

Последствия

Amazon и Microsoft получили заметный удар по производительности платформ. Компаниям придется более активно наращивать мощности для того, чтобы компенсировать нанесенный ущерб.

Тысячи уязвимых к Meltdown компьютеров до сих пор находятся в открытом доступе. Насколько много данных хакерам удалось увести за время, прошедшее с момента публикации атак, мы узнаем только в будущем.

Для Intel случилась PR-катастрофа. Компания опозорилась дважды.

Во-первых, CEO Intel две недели назад (когда компания уже обладала информацией о существовании уязвимостей) продал максимальное количество собственных акций компании. Сделал он это явно не зря, так как акции сразу после публикации просели почти на 10%. Более крысиного поведения придумать тяжело.

Во-вторых, Intel пыталась сначала отрицать существование уязвимостей, уникальных для процессоров Intel.

Архитектурно уязвимость будет устранена только в следующем поколении процессоров, так что продажи процессоров тоже должны заметно упасть – корпоративные клиенты будут ждать безопасных версий процессоров, которые не снизят производительность ради обеспечения безопасности.

Новая уязвимость в процессорах Intel: чем грозит и как защититься?

Не успела индустрия отойти от прошлогодних Meltdown и Spectre, как перед пользователями встала новая опасность — ZombieLoad. В зоне риска оказались владельцы компьютеров с процессорами Intel. С помощью этой уязвимости злоумышленники могут удалённо красть чужие данные. Рассказываем, как защитить себя от потенциальной опасности.

В компании Intel подтвердили существование уязвимости ZombieLoad и рассказали, что она состоит из четырёх ошибок в микрокоде процессоров. Взлому подвержены все персональные компьютеры и облачные сервера, построены на базе чипов Intel, выпущенных начиная с 2011 года. На устройства с процессорами AMD эта проблема не распространяется.

Суть ZombieLoad заключается в осуществлении атаки на процессор путём подачи большого количества информации, которую тот не способен обработать. Для предотвращения сбоя чип обращается к микрокоду, выполняя перезагрузку. Одна из ошибок позволяет в этот момент получить доступ ко всем данным, которые обрабатывались ядрами процессора. При нормальной же работе у приложений есть доступ только к их собственным данным.

С помощью ZombieLoad злоумышленники могут узнать, какие сайты просматривает пользователь в режиме реального времени, украсть его пароли и токены доступа от платёжных систем и завладеть другой ценной информацией. Однако для этого человеку нужно загрузить на свой компьютер заражённое ПО и запустить его.

Apple, Google, Microsoft, Amazon и другие крупные корпорации уже начали распространение обновлений, защищающих от ZombieLoad. Intel также выпустила соответствующие патчи для всех подверженных уязвимости процессоров. В компании отмечают, что внесённые в микрокод исправления будут очищать буфер процессора при перегрузке, предотвращая тем самым возможность доступа вредоносного ПО к данным других приложений.

Для обеспечения безопасности пользователям macOS следует обновиться до версии 10.14.5, содержащей все нужные исправления. Microsoft также выпустила соответствующий патч для пользователей Windows через Windows Update. Если на вашем компьютере отключена автоматическая установка обновлений, следует включить эту опцию или скачать новую версию микрокода для процессоров Intel со специального сайта Microsoft.

Новая уязвимость затрагивает практически каждый чип Intel, произведённый с 2011 года

Специалисты по информационной безопасности обнаружили новую уязвимость в чипах Intel, которую можно использовать для кражи конфиденциальной информации непосредственно из процессора. Исследователи назвали её «ZombieLoad». ZombieLoad — это атака побочного типа, нацеленная на чипы Intel, позволяющая хакерам эффективно использовать недостаток в их архитектуре для получения произвольных данных, но при этом она не даёт возможности внедрить и выполнить произвольный вредоносный код, таким образом использовать её как единственный инструмент для вторжения и взлома удаленных компьютеров невозможно.

Новая уязвимость в чипах Intel позволяет при помощи заранее внедрённого вредоносного ПО получить все данные, которыми оперирует процессор в реальном времени

Как сообщает Intel, ZombieLoad представляет из себя четыре ошибки в микрокоде их чипов, о которых исследователи сообщили компании всего месяц назад. Уязвимости подвержены практически все компьютеры с чипами Intel, выпущенными начиная с 2011 года. Чипы ARM и AMD данной уязвимости не подвержены.

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

ZombieLoad переводится как «загрузка зомби», что отчасти объясняет механизм уязвимости. В ходе проведения атаки в процессор подается такое количество данных, которое он не может обработать должным образом, заставляя процессор запрашивать помощь у микрокода для предотвращения сбоя. Обычно приложения могут видеть только свои собственные данные, но ошибка, вызванная перегрузкой процессора, позволяет обойти это ограничение. Исследователи заявили, что ZombieLoad в состоянии получить любые данные, используемые ядрами процессора. Intel сообщает, что исправление для микрокода поможет очистить буферы процессора при перегрузке, предотвращая чтение приложениями не предназначенных для них данных.

В видеодемонстрации работы уязвимости исследователи показали, что она может быть использована для того, чтобы узнать, какие веб-сайты посещает человек в режиме реального времени, но её так же легко применить, чтобы получить, например, пароли или токены доступа, используемые пользователями для платёжных систем.

Подобно Meltdown и Spectre, ZombieLoad подвержены не только ПК и ноутбуки, но и облачные серверы. Уязвимость можно использовать на виртуальных машинах, которые должны быть изолированы от других виртуальных систем и их хост-устройств, чтобы потенциально обойти эту изоляцию. Так, Даниэль Грусс (Daniel Gruss), один из исследователей, открывших уязвимость, утверждает, что она может считывать данные из серверных процессоров так же, как и на персональных компьютерах. Это потенциально серьезная проблема в облачных средах, где виртуальные машины разных клиентов работают на одном серверном оборудовании. Хотя об атаках с использованием ZombieLoad никогда не сообщалось публично, исследователи не могут исключить, что они могли иметь место, так как не всегда кража данных оставляет за собой какие-то следы.

Что это значит для обычного пользователя? Нет нужды паниковать. Это далеко не эксплойт или уязвимость нулевого дня, когда злоумышленник может захватить ваш компьютер в одно мгновение. Грусс объясняет, что применить ZombieLoad «легче, чем Spectre», но «труднее, чем Meltdown» — и то и другое требует определенного набора навыков и усилий для использования в атаке. Фактически, для выполнения атаки при помощи ZombieLoad вы должны каким-то образом загрузить зараженное приложение и самостоятельно запустить его, тогда уязвимость поможет злоумышленнику скачать все ваши данные. Тем не менее, есть гораздо более простые способы взломать компьютер и украсть их.

Корпорация Intel уже выпустила микрокод для исправления уязвимых процессоров, включая чипы Intel Xeon, Intel Broadwell, Sandy Bridge, Skylake и Haswell, Intel Kaby Lake, Coffee Lake, Whiskey Lake и Cascade Lake, а также все процессоры Atom и Knights. Другие крупные компании также выпустили исправление уязвимости со своей стороны. Apple, Microsoft и Google для своего браузера также уже выпустили соответствующие патчи.

В интервью для портала TechCrunch Intel заявила, что обновления для микрокода чипов, как и предыдущие патчи, будет влиять на производительность процессоров. Представитель Intel сообщил, что большинство исправленных потребительских устройств могут в худшем случае потерять 3% производительности, и до 9% потери составят для дата-центров. Но, по мнению Intel, это вряд ли будет заметно в большинстве сценариев.

Впрочем, с Intel совершенно не согласны инженеры Apple, которые на специальной странице о методе полной защиты от «Microarchitectural Data Sampling» (официальное название ZombieLoad) утверждают, что для окончательного закрытия уязвимости требуется полностью отключить в процессорах технологию Intel Hyper-Threading, что по тестам специалистов из Apple может понизить производительность пользовательских устройств в ряде задач на 40%.

Ни Intel, ни Даниэль и его команда, не опубликовали код, реализующий уязвимость, поэтому прямой и непосредственной угрозы для обычного пользователя нет. А оперативно выпущенные патчи нивелируют её полностью, но, учитывая, что каждое такое исправление стоит пользователями определенных потерь в производительность, к Intel возникают некоторые вопросы.

ZombieLoad — новая уязвимость в процессорах Intel

Исследователи обнаружили новую уязвимость в системе безопасности процессоров Intel, которая может использоваться для кражи конфиденциальной информации. Уязвимости подвержены не только персональные компьютеры, но и облачные серверы, благодаря чему злоумышленники могут получать информацию с виртуальных машин, расположенных на этом сервере.

На текущий момент нет сведений об атаках с использованием ZombieLoad, однако исследователи не исключают, что они имели место быть.

Apple, Google и Microsoft уже выпустили соответствующие обновления для устранения уязвимости. Важно отметить, что для использования ZombieLoad злоумышленникам необходимо получить возможность запуска кода на компьютере. Проще говоря, атака может быть произведена, если пользователь загрузил вредоносное программное обеспечение, либо если злоумышленник воспользовался другой уязвимостью для удалённой загрузки и выполнения вредоносного кода на устройстве.

По информации TechCrunch, уязвимость затрагивает практически все чипы Intel, выпущенные с 2011 года. Последние два поколения процессоров Intel Core предотвращают возможность использования атак типа Microarchitectural Data Sampling на аппаратном уровне. Для всех остальных процессоров требуется обновление программного обеспечения. Чипы от AMD и ARM не подвержены этой уязвимости.

ZombieLoad является уязвимостью в системе спекулятивного выполнения команд, встроенной в большинство современных процессоров. Эта функция позволяет процессорам заранее выполнять будущие команды, тем самым обеспечивает увеличение скорости работы. Однако, как выяснилось в ходе исследования Spectre и Meltdown, функция оставляет для злоумышленников незащищённые уязвимые места.

Что известно о новой крупной уязвимости в процессорах Intel и как защититься от ZombieLoad и других атак

Проблема касается всех CPU, выпущенных после 2011 года, а инженеры Google и Apple считают, что для полной защиты от атак нужно отключить технологию многопоточности Hyper-Threading, что может снизить производительность на 40%.

Что случилось?

14 мая исследователи совместно с Intel раскрыли в процессорах Intel новый класс уязвимостей Microarchitectural Data Sampling (MDS), основанный на технологии спекулятивного исполнения команд — она позволяет процессору «предсказывать», какие данные понадобятся приложению или ОС, что повышает его производительность. Эта же технология стала основой для ранее обнаруженных атак Meltdown и Spectre.

Если Meltdown и Spectre считывали информацию из кэша самого процессора, новая уязвимость позволяет получить доступ к данным, хранимым во внутренних буферах процессора — буферу заполнения, хранения и портам загрузки, которые процессор использует для ускоренной передачи обрабатываемых данных.

MDS может помочь злоумышленникам получить доступ к данным, к которым недавно обращался процессор, а проблема затрагивает как персональные компьютеры, так и серверы и виртуальные машины. Также отмечается, что часть атак проще реализовать, чем было с Meltdown и Spectre, что делает их ещё опаснее.

Чтобы начать перехватывать данные, которые обрабатывает процессор, преступникам достаточно внедрить вредоносное приложение или, в ряде случаев, запустить JavaScript-код через браузер пользователя. Злоумышленники могут отправлять запросы, по которым CPU передаст пароли, адреса сайтов, хеш-суммы и другие личные данные пользователей в буферы, откуда их «вытащат» MDS-атакой.

Как работают MDS-атаки

Эксперты выделили четыре вида атак — ZombieLoad, Fallout, RIDL (Rogue In-Flight Data Load) и Store-to-Leak Forwarding. Каждому посвящено отдельное исследование с примерами реализации и кодом — при разных условиях процессор обращается к разным буферам, отсюда и количество атак.

Структура процессора, красным выделены уязвимые для MDS участки, синим — кэш, который использовался в Meltdown и Spectre

ZombieLoad

В ходе проведения атаки процессор перегружается данными — чтобы избежать сбоя процессор задействует внутренние буферы, к которым получает доступ злоумышленник. В нормальной ситуации приложения «видят» только собственные данные, но из-за перегрузки процессора ограничение снимается — Zombieload получает любые данные, которые используют ядра процессора.

Исследователи продемонстрировали, как уязвимость позволяет в реальном времени узнавать, какие сайты посещает человек. Также, по их мнению, её легко применить для получения паролей, токенов доступа платёжных систем и ключей шифрования дисков.

Атака работает как на персональных компьютерах, так и на виртуальных машинах в облачных сервисах. Это потенциально серьезная проблема, так как в облачных средах на одном серверном оборудовании работают несколько виртуальных машин разных клиентов.

R >Атака позволяет получить информацию из буферов заполнения, хранения и портов загрузки. Злоумышленники могут запустить вредоносный код через облако или с помощью JavaScript на вредоносном сайте или в рекламных баннерах и украсть данные из приложений и других процессов, работающих на компьютере пользователя.

Например, исследователи за 24 часа смогли получить доступ к хешу пароля root на Linux, периодически пытаясь аутентифицироваться через SSH — небольшие фрагменты информации извлекались при каждой инициации SSH-соединения.

Атака использует уязвимость, при которой получает доступ к недавно записанным данным из буферов хранилища и упрощает проведение других атак. У Fallout две особенности: атака «умеет» выбирать нужный злоумышленникам тип данных, и она может быть проведена на новых процессорах Intel 9-го поколения, в которых на аппаратном уровне исправлена уязвимость Meltdown.

Более того, защита от Meltdown сделала современные чипы более уязвимыми для Fallout, чем более старые линейки процессоров Intel, считают авторы исследования.

Store-to-Leak Forwarding

Атака использует оптимизации CPU для работы с буфером хранения, чтобы обходить механизм рандомизации адресного пространства ядра (KASLR) для мониторинга состояния ОС и помогает в организации утечек данных в сочетании с инструментами Spectre.

Кто подвержен атаке?

Уязвимости подвержены практически все процессоры Intel, выпущенные с 2011 года для ПК, ноутбуков и серверов. У AMD, Apple и других ARM-производителей, по информации исследователей, такой уязвимости нет.

15.05 23:20 AMD официально объявила, что её процессоры не подвержены атакам Fallout и RIDL. «Мы не смогли продемонстрировать работу этих эксплойтов на наших продуктах и не знаем, чтобы это кому-то удалось», говорится в заявлении AMD. Атаки ZombieLoad и Store-to-Leak Forwarding в заявлении компании на сайте не указаны. Возможно, это связано с общим принципом работы RIDL и ZombieLoad и AMD их объединила.

Как производители решают проблему с MDS и что делать пользователям

Компании рекомендуют как можно скорее установить обновления для устройств, но паниковать, по мнению TechCrunch, не стоит: MDS-уязвимость не является эксплойтом или вредоносным приложением, которое может моментально получить доступ к компьютеру. Низкоуровневые атаки требуют определенного набора навыков и усилий для реализации, а Intel и другие компании заявляют, что не обнаружили ни одного случая использования механизмов MDS-атак.

Новости об уязвимостях в чипах компании не повлияли на стоимость акций Intel. В разговоре с изданием Wired Intel заявила, что её собственные исследователи совместно с партнерами были первыми, кто обнаружил уязвимость в прошлом году и на протяжении года работала с независимыми группами исследователей для определения характера атак и выпуска исправления.

Компания рассказала, что часть процессоров 8-го и 9-го поколения, серверные Xeon Scalable 2-го поколения и все следующие процессоры уже содержат аппаратное исправление уязвимости.

Одновременно с публикацией полного отчета о MDS-уязвимости, компания выпустила обновления прошивки для остальных процессоров — патч очищает все данные из буфера каждый раз, когда случается перегрузка данными.

Intel считает, что, как и в случае с Meltdown и Spectre, обновления прошивки будут влиять на производительность процессора. В разговоре с TechCrunch компания заявила, что большинство пользовательских устройств могут потерять в худшем случае 3% производительности, а в центрах обработки данных — до 9%. Но, по словам представителей Intel, это вряд ли будет заметно в большинстве обычных сценариев использования.

Корпорация во вторник 14 мая выпустила обновления KB4494441 для Windows 10 версии 1809 и KB4500109 для Windows 10 версии 1903 и опубликовала руководство по защите от новых видов атак. Компания рекомендует установить все доступные обновления для системы, а также получить обновления микрокодов процессоров у производителей устройств, если это возможно. По словам Microsoft, клиенты облачного сервиса Azure уже защищены от MDS.

Компания выпустила исправления для собственной облачной инфраструктуры и затронутых устройств на базе Chrome OS, для Intel-устройств под управлением Android корпорация просит получить обновление у производителей.

Пользователям браузера Chrome также нужно установить обновления браузера и операционной системы. Большинство Android-устройств на базе ARM-процессоров и не подвержены уязвимости MDS.

Корпорация выпустила исправление macOS Mojave 10.14.5 для всех Mac и MacBook, выпущенных с 2011 года, а также для High Sierra и Sierra. По словам Apple, исправление предотвратит возможные атаки через браузер Safari и другие приложения, а большинство пользователей не ощутит падения производительности.

Устройства на базе iOS и watchOS не подвержены уязвимости.

Представитель Amazon заявил, что облачный сервис Amazon Web Services уже обновлен для предотвращения атак, от клиентов не требуется никаких действий.

В ядре Linux защита от MDS добавлена в обновлении 5.1.2, также обновления получили Ubuntu, FreeBSD, RHEL и NetBSD.

Исследователи и компании считают, что исправление MDS требует отключения Hyper-Threading

Hyper-Threading — это технология Intel, которая «разделяет» физическое ядро процессора на виртуальные ядра — одновременно на одном ядре могут выполняться сразу несколько потоков, например, в приложении параллельно будут выполняться два процесса. Это существенно повышает пропускную способность чипа и позволяет эффективнее распределять нагрузку на процессор.

Но этим пользуется атака ZombieLoad, которая нарушает структуру потоков и получает доступ к данным пользователя — один из потоков под MDS-атакой становится «вредоносным» и получает доступ к памяти второго потока, считывая конфиденциальную информацию и передавая её злоумышленникам.

Исследователи из групп TU Graz и VUSec, которые изучали новую уязвимость процессоров, рекомендуют отключить Hyper-Threading, чтобы обезопасить пользователей от возможных атак. Так, например, поступила Google, отключив технологию многопоточности в Chrome OS 74. Компания заявляет, что для большинства пользователей это снизит риск без заметной потери производительности, и обещает в Chrome OS 75 дополнительные меры защиты.

Apple, Microsoft, IBM Red Hat также рекомендуют отключить Hyper-Threading, чтобы обеспечить полноценную защиту, но не делают этого по умолчанию, так как это влечёт за собой существенное падение производительности процессора.

Так, Apple опубликовала отдельную инструкцию, в которой объясняет необходимость отключить многопоточность для обеспечения полноценной защиты, но предупреждает о падении скорости. Компания провела тестирование, которое показало 40% падение производительности, но, по её словам, фактические результаты зависят от модели устройства и задач.

Сама Intel не рекомендует отключать Hyper-Threading и оставляет решение отключать многопоточность своим партнерам.

Intel может занижать серьезность проблемы

Инженеры Intel утверждают, что злоумышленники, атакующие через уязвимости MDS, получают огромное количество мусорных данных, и им будет сложно найти что-то ценное. Компания присвоила уязвимостям уровень опасности от низкого до среднего, как и в случае с Meltdown и Spectre.

Но исследователи TU Graz и VUSec считают, что злоумышленники могут обманывать процессор, и пропускать через него определенные задачи для получения нужных данных. Например, если запустить атаку во время загрузки ключа шифрования жесткого диска, злоумышленники получат большой шанс перехватить его. Также можно фильтровать и другие данные.

Исследователи из TU Graz, трое из которых работали над атаками Spectre и Meltdown, оценивают атаки MDS менее серьезными, чем Meltdown, но тяжелее, чем Spectre, и не согласны с оценкой Intel.

По словам специалистов VUSec, за найденную MDS-уязвимость Intel хотела предложить награду в $40 тысяч и $80 тысяч бонусом (позже увеличив до $100 тысяч), что исследователи оценили как попытку компании уменьшить публичную сумму вознаграждения — по их словам, в $40 тысяч оцениваются «тривиальные проблемы».

После Spectre и Meltdown компании может быть выгодно списать новую уязвимость как незначительную, заявив, что не заметили её на фоне более серьезных проблем, считает VUSec.

Что известно о новой крупной уязвимости в процессорах Intel и как защититься от ZombieLoad и других атак Материал редакции

Проблема касается всех CPU, выпущенных после 2011 года, а инженеры Google и Apple считают, что для полной защиты от атак нужно отключить технологию многопоточности Hyper-Threading, что может снизить производительность на 40%.

Что случилось

14 мая исследователи совместно с Intel раскрыли в процессорах Intel новый класс уязвимостей Microarchitectural Data Sampling (MDS), основанный на технологии спекулятивного исполнения команд — она позволяет процессору «предсказывать», какие данные понадобятся приложению или ОС, что повышает его производительность. Эта же технология стала основой для ранее обнаруженных атак Meltdown и Spectre.

Если Meltdown и Spectre считывали информацию из кэша самого процессора, новая уязвимость позволяет получить доступ к данным, хранимым во внутренних буферах процессора — буферу заполнения, хранения и портам загрузки, которые процессор использует для ускоренной передачи обрабатываемых данных.

MDS может помочь злоумышленникам получить доступ к данным, к которым недавно обращался процессор, а проблема затрагивает как персональные компьютеры, так и серверы и виртуальные машины. Также отмечается, что часть атак проще реализовать, чем было с Meltdown и Spectre, что делает их ещё опаснее.

Чтобы начать перехватывать данные, которые обрабатывает процессор, преступникам достаточно внедрить вредоносное приложение или, в ряде случаев, запустить JavaScript-код через браузер пользователя. Злоумышленники могут отправлять запросы, по которым CPU передаст пароли, адреса сайтов, хеш-суммы и другие личные данные пользователей в буферы, откуда их «вытащат» MDS-атакой.

Как работают MDS-атаки

Эксперты выделили четыре вида атак — ZombieLoad, Fallout, RIDL (Rogue In-Flight Data Load) и Store-to-Leak Forwarding. Каждому посвящено отдельное исследование с примерами реализации и кодом — при разных условиях процессор обращается к разным буферам, отсюда и количество атак.

ZombieLoad

В ходе проведения атаки процессор перегружается данными — чтобы избежать сбоя процессор задействует внутренние буферы, к которым получает доступ злоумышленник. В нормальной ситуации приложения «видят» только собственные данные, но из-за перегрузки процессора ограничение снимается — Zombieload получает любые данные, которые используют ядра процессора.

Исследователи продемонстрировали, как уязвимость позволяет в реальном времени узнавать, какие сайты посещает человек. Также, по их мнению, её легко применить для получения паролей, токенов доступа платёжных систем и ключей шифрования дисков.

Атака работает как на персональных компьютерах, так и на виртуальных машинах в облачных сервисах. Это потенциально серьезная проблема, так как в облачных средах на одном серверном оборудовании работают несколько виртуальных машин разных клиентов.

Атака позволяет получить информацию из буферов заполнения, хранения и портов загрузки. Злоумышленники могут запустить вредоносный код через облако или с помощью JavaScript на вредоносном сайте или в рекламных баннерах и украсть данные из приложений и других процессов, работающих на компьютере пользователя.

Например, исследователи за 24 часа смогли получить доступ к хешу пароля root на Linux, периодически пытаясь аутентифицироваться через SSH — небольшие фрагменты информации извлекались при каждой инициации SSH-соединения.

Атака использует уязвимость, при которой получает доступ к недавно записанным данным из буферов хранилища и упрощает проведение других атак. У Fallout две особенности: атака «умеет» выбирать нужный злоумышленникам тип данных, и она может быть проведена на новых процессорах Intel 9-го поколения, в которых на аппаратном уровне исправлена уязвимость Meltdown.

Более того, защита от Meltdown сделала современные чипы более уязвимыми для Fallout, чем более старые линейки процессоров Intel, считают авторы исследования.

Store-to-Leak Forwarding

Атака использует оптимизации CPU для работы с буфером хранения, чтобы обходить механизм рандомизации адресного пространства ядра (KASLR) для мониторинга состояния ОС и помогает в организации утечек данных в сочетании с инструментами Spectre.

Кто подвержен атаке

Уязвимости подвержены практически все процессоры Intel, выпущенные с 2011 года для ПК, ноутбуков и серверов. У AMD, Apple и других ARM-производителей, по информации исследователей, такой уязвимости нет.

Как производители решают проблему с MDS и что делать пользователям

Компании рекомендуют как можно скорее установить обновления для устройств, но паниковать, по мнению TechCrunch, не стоит: MDS-уязвимость не является эксплойтом или вредоносным приложением, которое может моментально получить доступ к компьютеру. Низкоуровневые атаки требуют определенного набора навыков и усилий для реализации, а Intel и другие компании заявляют, что не обнаружили ни одного случая использования механизмов MDS-атак.

Новости об уязвимостях в чипах компании не повлияли на стоимость акций Intel. В разговоре с изданием Wired Intel заявила, что её собственные исследователи совместно с партнерами были первыми, кто обнаружил уязвимость в прошлом году и на протяжении года работала с независимыми группами исследователей для определения характера атак и выпуска исправления.

Компания рассказала, что часть процессоров 8-го и 9-го поколения, серверные Xeon Scalable 2-го поколения и все следующие процессоры уже содержат аппаратное исправление уязвимости.

Одновременно с публикацией полного отчета о MDS-уязвимости, компания выпустила обновления прошивки для остальных процессоров — патч очищает все данные из буфера каждый раз, когда случается перегрузка данными.

Intel считает, что, как и в случае с Meltdown и Spectre, обновления прошивки будут влиять на производительность процессора. В разговоре с TechCrunch компания заявила, что большинство пользовательских устройств могут потерять в худшем случае 3% производительности, а в центрах обработки данных — до 9%. Но, по словам представителей Intel, это вряд ли будет заметно в большинстве обычных сценариев использования.

Корпорация во вторник 14 мая выпустила обновления KB4494441 для Windows 10 версии 1809 и KB4500109 для Windows 10 версии 1903 и опубликовала руководство по защите от новых видов атак. Компания рекомендует установить все доступные обновления для системы, а также получить обновления микрокодов процессоров у производителей устройств, если это возможно. По словам Microsoft, клиенты облачного сервиса Azure уже защищены от MDS.

Компания выпустила исправления для собственной облачной инфраструктуры и затронутых устройств на базе Chrome OS, для Intel-устройств под управлением Android корпорация просит получить обновление у производителей.

Пользователям браузера Chrome также нужно установить обновления браузера и операционной системы. Большинство Android-устройств на базе ARM-процессоров и не подвержены уязвимости MDS.

Корпорация выпустила исправление macOS Mojave 10.14.5 для всех Mac и MacBook, выпущенных с 2011 года, а также для High Sierra и Sierra. По словам Apple, исправление предотвратит возможные атаки через браузер Safari и другие приложения, а большинство пользователей не ощутит падения производительности.

Устройства на базе iOS и watchOS не подвержены уязвимости.

Представитель Amazon заявил, что облачный сервис Amazon Web Services уже обновлен для предотвращения атак, от клиентов не требуется никаких действий.

В ядре Linux защита от MDS добавлена в обновлении 5.1.2, также обновления получили Ubuntu, FreeBSD, RHEL и NetBSD.

Исследователи и компании считают, что исправление MDS требует отключения Hyper-Threading

Hyper-Threading — это технология Intel, которая «разделяет» физическое ядро процессора на виртуальные ядра — одновременно на одном ядре могут выполняться сразу несколько потоков, например, в приложении параллельно будут выполняться два процесса. Это существенно повышает пропускную способность чипа и позволяет эффективнее распределять нагрузку на процессор.

Но этим пользуется атака ZombieLoad, которая нарушает структуру потоков и получает доступ к данным пользователя — один из потоков под MDS-атакой становится «вредоносным» и получает доступ к памяти второго потока, считывая конфиденциальную информацию и передавая её злоумышленникам.

Исследователи из групп TU Graz и VUSec, которые изучали новую уязвимость процессоров, рекомендуют отключить Hyper-Threading, чтобы обезопасить пользователей от возможных атак. Так, например, поступила Google, отключив технологию многопоточности в Chrome OS 74. Компания заявляет, что для большинства пользователей это снизит риск без заметной потери производительности, и обещает в Chrome OS 75 дополнительные меры защиты.

Apple, Microsoft, IBM Red Hat также рекомендуют отключить Hyper-Threading, чтобы обеспечить полноценную защиту, но не делают этого по умолчанию, так как это влечёт за собой существенное падение производительности процессора.

Так, Apple опубликовала отдельную инструкцию, в которой объясняет необходимость отключить многопоточность для обеспечения полноценной защиты, но предупреждает о падении скорости. Компания провела тестирование, которое показало 40% падение производительности, но, по её словам, фактические результаты зависят от модели устройства и задач.

Сама Intel не рекомендует отключать Hyper-Threading и оставляет решение отключать многопоточность своим партнерам.

Intel может занижать серьезность проблемы

Инженеры Intel утверждают, что злоумышленники, атакующие через уязвимости MDS, получают огромное количество мусорных данных, и им будет сложно найти что-то ценное. Компания присвоила уязвимостям уровень опасности от низкого до среднего, как и в случае с Meltdown и Spectre.

Но исследователи TU Graz и VUSec считают, что злоумышленники могут обманывать процессор, и пропускать через него определенные задачи для получения нужных данных. Например, если запустить атаку во время загрузки ключа шифрования жесткого диска, злоумышленники получат большой шанс перехватить его. Также можно фильтровать и другие данные.

Исследователи из TU Graz, трое из которых работали над атаками Spectre и Meltdown, оценивают атаки MDS менее серьезными, чем Meltdown, но тяжелее, чем Spectre, и не согласны с оценкой Intel.

По словам специалистов VUSec, за найденную MDS-уязвимость Intel хотела предложить награду в $40 тысяч и $80 тысяч бонусом (позже увеличив до $100 тысяч), что исследователи оценили как попытку компании уменьшить публичную сумму вознаграждения — по их словам, в $40 тысяч оцениваются «тривиальные проблемы».

После Spectre и Meltdown компании может быть выгодно списать новую уязвимость как незначительную, заявив, что не заметили её на фоне более серьезных проблем, считает VUSec.

[Обновлено] Intel признает наличие еще одной уязвимости в своих процессорах

Совместно с исследователями в области безопасности, работающими в нескольких университетах в разных странах, а также со специалистами компаний Cyberus, BitDefender, Qihoo360 и Oracle компания Intel сообщила, что в ее процессорах обнаружена очередная уязвимость, связанная со спекулятивным исполнением команд. Уязвимость затрагивает большинство процессоров Intel, за исключением некоторых процессоров Core 8-го и 9-го поколения, а также процессоров Intel Xeon Scalable 2-го поколения, в которых, по словам Intel, уже приняты меры на аппаратном уровне. В компании рассчитывают, что все ее будущие процессоры будут защищены от этой уязвимости.

Для предыдущих поколений процессоров производитель намерен выпустить обновление микрокода, устраняющее уязвимость. Как утверждается, обновление минимально снижает производительность процессоров.

После установки обновления могут понадобиться дополнительные шаги, в том числе — отключение Hyper-Threading, то есть запрет многопоточного исполнения. Производитель подчеркивает, что само по себе отключение Hyper-Threading не устраняет уязвимость.

Дополнительная информация об уязвимости доступна на сайте Intel.

Информация об уязвимостях появилась вчера вечером, за ночь она обросла подробностями. Но сначала позвольте ответить на несколько вопросов.

Microarchitectural Data Sampling — общее название технологии, на которую опираются уязвимости. Соответствующие атаки называются ZombieLoad, RIDL и Fallout. С помощью RIDL (Rogue In-Flight Data Load), например, можно извлечь важные данные из конвейера CPU. Для этого анализируется поток данных различных внутренних буферов, на основе чего и получается найти нужную информацию. RIDL можно выполнить удаленно через облако, а также и через простой код javascript в браузере — даже на защищенных VM или Secure Enclave. Атака Fallout направлена на считывание буферов данных, подобно Meltdown.

Какие процессоры уязвимы?

Выше мы отметили, что уязвимы все модели с 2011 года по сегодняшний день, а в CPU Core восьмого и девятого поколений уже есть аппаратная защита от ZombieLoad. Но эти сведения не совсем точные. Intel опубликовала список (PDF) всех уязвимых процессоров. И тот же Core i9-9900K на старом степпинге 12 (Intel64 Family 6 Model 158 Stepping 12) аппаратно не защищен, но в новом степпинге 13 (Intel64 Family 6 Model 158 Stepping 13) защита уже имеется. Также эти сведения касаются только атаки ZombieLoad, другим уязвимостям MDS подвержены и новые процессоры Intel.

Судя по всему, новой уязвимости MDS подвержены только процессоры Intel. AMD и другие производители CPU пока не дали комментариев относительно ZombieLoad и RIDL, по поводу уязвимости Fallout они уже высказались:

AMD: «After reviewing the paper and unsuccessfully trying to replicate the issue, AMD believes its products are not vulnerable to the described issue.»

ARM: «After reviewing the paper and working with architecture licensees we are not aware of any Arm-based implementations which are affected by this issue. We thank VU Amsterdam for their research.»

Насколько сильным будет падение производительности?

В случае MDS уязвимости можно закрыть сочетанием программного обновления и обновления микрокода. Влияние на производительность будет, Intel привела собственные тесты:





Влияние на производительность зависит от сценария использования и приложений. Небольшой прирост производительности Xeon Cascade Lake по сравнению с моделями Skylake был «съеден» защитой от уязвимостей Spectre и Meltdown, такую же ситуацию мы наверняка получим и с MDS.

Некоторые разработчики дистрибутивов Linux уже довольно давно рекомендуют пользователям отключать Hyper-Threading: «If you have any untrusted code running in VMs, and need to prevent the risk of data leakage, the only available option at the moment is to disable hyper-threading.» И данная рекомендация наверняка станет еще более актуальной после публикации уязвимостей MDS.

Google на своей Chrome OS решила отключить Hyper-Threading по умолчанию: «To protect users, Chrome OS 74 disables Hyper-Threading by default

Spoiler – новая уязвимость в процессорах Intel, которую трудно исправить

Исследователи безопасности обнаружили новую уязвимость, которая затрагивает все процессоры Intel. Также, как и Spectre и Meltdown, обнаруженные в январе 2018 года, уязвимость Spoiler связана со спекулятивным исполнением команд – техникой, которая используется для повышения производительности процессоров.

Тем не менее, Spoiler затрагивает другую область процессора под названием буфер изменения порядка обращения (Memory Order Buffer). Данная область отвечает за управление операциями в памяти и тесно связана с кэшем.

Ученые из Вустерского политехнического института (Массачусетс, США) и Университета г. Любек (Германия) приводят подробности атаки в документе «Spoiler: Speculative load hazards boost Rowhammer and cache attacks» (перев. «Spoiler: опасные факторы спекулятивной нагрузки усиливают атаки Rowhammer и атаки на кэш»).

Исследователи поясняют, что атаки Spoiler отличаются от Spectre. От них нельзя защититься, используя стандартные меры снижения рисков от Intel, в отличие от Spectre-подобных атак, например SplitSpectre.

Основная причина уязвимости к Spoiler – недостатки реализации спекулятивной адресации, задействованной в проприетарной подсистеме памяти Intel, что приводит к пропуску временной активности из-за конфликта физических адресов. Текущие защитные меры против Spectre не помешают атакам Spoiler.

Аналогичные проблемы имеются также в ядре процессоров ARM и AMD, но они демонстрируют отличное от Intel поведение.

Атаки Spoiler полагаются на «ранее неизвестную утечку на уровне микроархитектуры процессора», которая позволяет раскрывать информацию о физических отображениях страниц в процессах пространства пользователя.

Эксплуатация утечки возможна с помощью ограниченного набора инструкций, которые являются видимыми во всех поколениях процессоров Intel, начиная от Intel Core 1-го поколения. Атаку можно провести даже в виртуальных машинах и изолированных средах.

Исследователи утверждают, что Spoiler позволяет усилить атаки Rowhammer и атаки на кэш, которые позволяют восстановить сопоставление виртуальных и физических адресов. Благодаря Spoiler можно ускорить реверс-инжиниринг в 256 раз и JavaScript-атаки в браузере.

Intel признала обнаружения исследователей 1 декабря 2018 года. Полностью искоренить проблему программными методами будет невозможно. Уязвимость можно устранить аппаратными средствами, но это может привести к снижению производительности процессоров.

Исследователи отмечают, что от атак Spoiler на базе Javascript можно будет защититься с помощью удаления таймеров высокой точности, но удаление всех таймеров может быть нецелесообразным.

Один из авторов исследования, Даниэль (Ахмад) Могими сомневается, что Intel сможет исправить проблему в подсистеме памяти в течение следующих пяти лет:

Я лично считаю, что внести изменения в подсистему памяти очень трудно. Проблему тяжело исправить микрокодом, не потеряв при этом огромной доли производительности.

Я не думаю, что мы увидим патч для атак такого типа в ближайшие пять лет. Возможно, именно поэтому еще не присвоен идентификатор CVE для данной уязвимости.

Представитель Intel заявил, что программное обеспечение можно защитить от атак Spoiler, в то время как модули DRAM с развернутыми мерами снижения рисков Rowhammer по-прежнему должны оставаться защищенными:

Корпорация Intel получила уведомление о новом исследовании. Мы предполагаем, что программное обеспечение может быть защищено от проблем данного типа за счет применения безопасных методов разработки ПО на побочных каналах. Среди данных методов значится предотвращение потоков управления, которые зависят от данных, представляющих интерес. Мы также ожидаем, что модули DRAM, защищенные от Rowhammer, также смогут противостоять новому виду атак. Защита наших клиентов и их данных продолжает оставаться для нас важнейшим приоритетом, и мы высоко ценим вклад сообщества исследователей безопасности.

Нашли опечатку? Выделите и нажмите Ctrl + Enter

Новые уязвимости Intel: подвержены все CPU с Hyper-Threading

За выявленными в прошлом году уязвимостями Spectre и Meltdown, а также последовавшими вариантами Next-Gen, тоже использующими метод атаки по сторонним каналам, теперь последовала ZombieLoad. Принцип атаки ZombieLoad похож на другие ранее выявленные уязвимости, атаке подвержены все процессоры Intel с 2011 года. Восьмое и девятое поколение Core, с другой стороны, уже защищены на аппаратном уровне от ZombieLoad — но не от других атак MDS.

Атака опирается на технологию Microarchitectural Data Sampling (MDS), которая позволяет атакующему получить доступ к памяти и коду программы, которые принадлежат другому приложению. Intel уже опубликовала соответствующую страницу (Microarchitectural Data Sampling Advisory), на которой приведены сведения о четырех признанных уязвимостях.

Уязвимости с кодами CVE и описаниями приведены ниже.

  • CVE-2018-12126 Microarchitectural Store Buffer Data Sampling (MSBDS)
  • CVE-2018-12130 Microarchitectural Fill Buffer Data Sampling (MFBDS)
  • CVE-2018-12127 Microarchitectural Load Port Data Sampling (MLPDS)
  • CVE-2019-11091 Microarchitectural Data Sampling Uncacheable Memory (MDSUM)

Суть атаки методом стороннего канала можно описать довольно просто: даже на простой настольной системе одновременно выполняются несколько сотен, если не тысяч потоков. На сервере с несколькими десятками виртуальных машин одновременно выполняется большое число процессов, каждому из которых выделена своя область памяти и кэши. Когда процессор переключается с одной программы на другую необходимо заменить весь контекст: адресное пространство, очистить кэши и т.д. Однако полная очистка будет слишком сильно влиять на производительность. Последние годы разработчики CPU потратили немало усилий на то, чтобы оптимизировать процесс переключения контекста, обеспечивая параллельную работу большого количества приложений. Но чтобы приложения при этом не могли получить доступ к данным друг друга.

Проблемы в данной сфере были продемонстрированы уязвимостями Spectre, то же самое касается и последних уязвимостей MDS.

По свей видимости, ошибки в реализации Hyper-Threading (HT) позволяют одному процессу получить доступ к данным другого процесса. Единственным способом защиты на данный момент является отключение HT. Впрочем, Intel уже работает с разработчиками операционных системы и hypervisor над выпуском программных патчей, которые смогут закрыть уязвимости вместе с обновлением микрокода. Они должны усилить изоляцию между отдельными процессами. Что, в свою очередь наверняка повлияет на производительность, пусть даже незначительно.

Процессоры Core восьмого и девятого поколений уже имеют аппаратную защиту от уязвимости ZombieLoad, но не от других атак MDS. В случае многих моделей планируется обновление микрокода. Intel опубликовала полный список (PDF) уязвимых процессоров. В результате CPU вплоть до Sandy Bridge должны получить обновления микрокода. За исключением некоторых серверных моделей Sandy Bridge.

На данный момент сложно оценить последствия, к которым приведет обнаружение уязвимости Microarchitectural Data Sampling. Конечно, вряд ли владельцы крупных серверных ферм и VM были рады узнать о еще одном планируемом снижении производительности. С другой стороны, любые уязвимости должны своевременно обнаруживаться и закрываться. Дополнительные подробности можно получить на сайте https://zombieloadattack.com.

Обновление:

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

Microarchitectural Data Sampling — общее название технологии, на которую опираются уязвимости. Соответствующие атаки называются ZombieLoad, RIDL и Fallout. С помощью RIDL (Rogue In-Flight Data Load), например, можно извлечь важные данные из конвейера CPU. Для этого анализируется поток данных различных внутренних буферов, на основе чего и получается найти нужную информацию. RIDL можно выполнить удаленно через облако, а также и через простой код JavaScript в браузере — даже на защищенных VM или Secure Enclave. Атака Fallout направлена на считывание буферов данных, подобно Meltdown.

Какие процессоры уязвимы?

Выше мы отметили, что уязвимы все модели с 2011 года по сегодняшний день, а в CPU Core восьмого и девятого поколений уже есть аппаратная защита от ZombieLoad. Но эти сведения не совсем точные. Intel опубликовала список (PDF) всех уязвимых процессоров. И тот же Core i9-9900K на старом степпинге 12 (Intel64 Family 6 Model 158 Stepping 12) аппаратно не защищен, но в новом степпинге 13 (Intel64 Family 6 Model 158 Stepping 13) защита уже имеется. Также эти сведения касаются только атаки ZombieLoad, другим уязвимостям MDS подвержены и новые процессоры Intel.

Судя по всему, новой уязвимости MDS подвержены только процессоры Intel. AMD и другие производители CPU пока не дали комментариев относительно ZombieLoad и RIDL, по поводу уязвимости Fallout они уже высказались:

AMD: «After reviewing the paper and unsuccessfully trying to replicate the issue, AMD believes its products are not vulnerable to the described issue.»

ARM: «After reviewing the paper and working with architecture licensees we are not aware of any Arm-based implementations which are affected by this issue. We thank VU Amsterdam for their research.»

Насколько сильным будет падение производительности?

В случае MDS уязвимости можно закрыть сочетанием программного обновления и обновления микрокода. Влияние на производительность будет, Intel привела собственные тесты:

Влияние на производительность зависит от сценария использования и приложений. Небольшой прирост производительности Xeon Cascade Lake по сравнению с моделями Skylake был «съеден» защитой от уязвимостей Spectre и Meltdown, такую же ситуацию мы наверняка получим и с MDS.

Некоторые разработчики дистрибутивов Linux уже довольно давно рекомендуют пользователям отключать Hyper-Threading: «If you have any untrusted code running in VMs, and need to prevent the risk of data leakage, the only available option at the moment is to disable hyper-threading.» И данная рекомендация наверняка станет еще более актуальной после публикации уязвимостей MDS.

Google на своей Chrome OS решила отключить Hyper-Threading по умолчанию: «To protect users, Chrome OS 74 disables Hyper-Threading by default.»

Intel придется сражаться еще долго

Появление других уязвимостей, похожих на Spectre и Meltdown, было лишь вопросом времени. Внутренние исследования Intel выявили потенциальные проблемы с Microarchitectural Data Sampling еще до того, как их обнаружили независимые исследователи. Но только помощь последних позволила рассмотреть проблему со всех ракурсов и быстро на нее отреагировать.

Возникает вопрос: когда Intel сможет избавиться от подобных проблем? Похоже, что здесь виноваты фундаментальные принципы разработки архитектур. Другие производители CPU, вроде бы, пока не подвержены MDS, но, как показывает прошлый опыт, их дизайны тоже не безупречны. Будем надеяться, что инженеры смогут лучше защищать процессоры в будущем. Особенно это касается серверного сегмента, где данная тема для Intel стоит весьма остро.

Intel заявила, что не только в её процессорах есть уязвимость Материал редакции

Компания посоветовала пользователям дождаться обновлений от разработчиков операционных систем.

Intel заявила, что уязвимость в безопасности процессоров есть и у других производителей. Компания работает с ними для устранения угрозы. Сообщения об этом появилось на официальном сайте компании.

Продолжение: Microsoft выпустила экстренное обновление Windows из-за уязвимости в процессорах Intel. Компания подтвердила наличие проблем у AMD, где всё отрицают.

Последняя информация о том, что уязвимости вызваны багом или недоработкой и уникальны для продуктов Intel, некорректна. На основе проведённого нами анализа, многие типы компьютерных устройств, включая производителей процессоров и разработчиков операционных систем, подвержены таким уязвимостям.

Intel сотрудничает с AMD, ARM и некоторыми разработчиками операционных систем, чтобы разработать отраслевый подход и как можно быстрее решить проблему.

Детальную информацию об уязвимости в Intel пообещали опубликовать «на следующей неделе» вместе с остальными производителями. Однако компания отметила, что ей «пришлось опубликовать заявление раньше времени из-за некорректных сообщений в СМИ».

Intel не отрицает информацию о том, что патчи разработчиков ОС могут понизить производительность компьютеров. В компании пояснили, что «любая производительность зависит от нагрузки, а для среднего пользователя ПК это [понижение скорости] не должно быть значительным и смягчится со временем».

Компания не рассказала о влиянии патчей на работу серверов, но отметила, что считает свои продукты «самыми безопасными в мире». В Intel посоветовали пользователям проверять все обновления операционной системы и устанавливать все доступные патчи как только они появляются.

3 января СМИ сообщили о том, что разработчикам Windows и Linux пришлось переработать ядра систем, чтобы закрыть уязвимость в процессорах Intel. По информации исследователей и журналистов, обновления понижают производительность компьютеров на 5-30% в зависимости от модели и конкретных задач. Инженер компании AMD (конкурента Intel) сообщил, что чипов компании уязвимость не касается из-за особенностей их архитектуры.

Позже стало известно, что Apple частично закрыла уязвимость в обновлении macOS от 6 декабря, а в Windows над исправлениями работают с ноября. Для Linux обновление ядра уже вышло, а патч системы от Microsoft в основном влияет на производительность 32-битной версии системы.

Новый класс уязвимостей в процессорах Intel

Компания Intel опубликовала сведения о новом классе уязвимостей в своих процессорах — MDS (Microarchitectural Data Sampling). Проблемы напоминают прошлые атаки Spectre и могут служить источником утечки закрытых данных операционной системы и чужих процессов. Утверждается, что проблемы сперва были выявлены сотрудниками и партнёрами Intel в ходе внутреннего аудита, поле чего информацию об аналогичных проблемах в Intel передали независимые исследователи. Процессоры AMD проблеме не подвержены.

На основе выявленных проблем исследователями из Грацского технического университета (Австрия) разработано несколько практических атак по сторонним каналам:

  • ZombieLoad (PDF) — позволяет извлечь конфиденциальную информацию из других процессов, операционной системы, виртуальных машин и защищённых анклавов (TEE, Trusted Execution Environment). Например, продемонстрирована возможность определить историю открытия страниц в приватном режиме просмотра в браузере другого пользователя;
  • RIDL — позволяет организовать утечку информации между различными изолированными областями в процессорах Intel, такими как буферы заполнения, буферы хранения и порты загрузки. Примеры проведения атаки показаны для организации утечек из других процессов, операционной системы, виртуальных машин и защищённых анклавов;
  • Fallout — даёт возможность читать данные, недавно записанные операционной системой и определять раскладку памяти ОС для упрощения проведения других атак.
  • Store-To-Leak Forwarding — эксплуатирует оптимизации CPU по работке с буфером хранения и может применяться для обхода защиты через рандомизацию адресов, мониторинга состояния операционной системы или для организации утечек в комбинации с гаджетами на базе методов Spectre.
  • CVE-2018-12126 — MSBDS (Microarchitectural Store Buffer Data Sampling), восстановление содержимого буферов хранения. Используется в атаке Fallout. Степень опасности определена в 6.5 баллов (CVSS);
  • CVE-2018-12127 — MLPDS (Microarchitectural Load Port Data Sampling), восстановление содержимого портов загрузки. Используется в атаке RIDL. CVSS 6.5;
  • CVE-2018-12130 — MFBDS (Microarchitectural Fill Buffer Data Sampling), восстановление содержимого буферов заполнения. Используется в атаках ZombieLoad и RIDL. CVSS 6.5;
  • CVE-2019-11091 — MDSUM (Microarchitectural Data Sampling Uncacheable Memory), восстановление содержимого областей памяти. Используется в атаке RIDL. CVSS 3.8.

Суть выявленных проблем в возможности применения методов анализа по сторонним каналам к данным в микроархитектурных структурах, к которым приложения напрямую не имеют доступа. Речь о таких низкоуровневых структурах, как буферы заполнения (Line Fill Buffer), буферы хранения (Store Buffer) и порты загрузки (Load Port), которые являются более мелкими составными блоками, чем кэш первого уровня (L1D), кэш загрузки данных (RDCL) или L1TF (L1 Terminal Fault), и соответственно включают меньше информации и обновляются более интенсивно.

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

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

Порты загрузки используются процессором для получения данных из памяти или подсистемы ввода/вывода и предоставления полученной информации в регистры CPU. Из-за особенности реализации данные от старых операций загрузки остаются в портах до их перезаписи новыми данными, что позволяет косвенно определить состояние данных в порте загрузки при помощи манипуляций с исключениями (fault) и инструкциями SSE/AVX/AVX-512, загружающими более 64 бит данных. В подобных условиях операции загрузки спекулятивно засвечивают устаревшие значения данных из внутренних структур в зависимые операции. Похожим образом организуется утечка через буфер хранения, применяемый для ускорения записи в кэш CPU и включающий в себя таблицу адресов, значений и флагов, а также через буфер заполнения, который содержит данные, пока отсутствующие в кэше L1 (cache-miss), на время их загрузки из кэшей других уровней.

Проблема затрагивает модели процессоров Intel, выпускаемые с 2011 года. При этом аппаратно уязвимости уже блокируются начиная с некоторых моделей 8 и 9 поколений Intel Core и 2 поколения Intel Xeon Scalable. Уязвимости уже устранены на уровне прошивок, микрокода и операционных систем. По оценке Intel потеря производительности после активации исправления для большинства пользователей не превышает 3%. При отключении технологии Hyper-Threading снижение производительности может доходить до 9% в тесте SPECint_rate_base, до 11% при активных целочисленных вычислениях и до 19% при выполнении серверных Java-приложений (при включенном HT снижение производительности почти отсутствует). Исправления практически не влияют на производительность операций, связанных с вводом/выводом.

В ядре Linux защита от MDS добавлена в сегодняшних обновлениях 5.1.2, 5.0.16, 4.19.43, 4.14.119 и 4.9.176. Метод защиты строится на очистке содержимого микроархитектурных буферов в момент возвращения из ядра в пространство пользователя или передачи управления гостевой системе, для чего используется инструкция VERW. Для работы зашиты требуется наличие поддержки режима MD_CLEAR, реализованного в свежем обновлении микрокода. Для полной защиты от также рекомендуется отключить Hyper Threading.

Для защиты систем виртуализации, выполняющих вызов команды L1D_FLUSH перед передачей управления другой виртуальной машине, и для защиты анклавов Intel SGX достаточно обновления микрокода. Обновления пакетов уже выпущены для RHEL и Ubuntu, но пока остаются недоступны для Debian, Fedora и SUSE. Исправление для блокирования утечек данных из виртуальных машин также сформировано для гипервизора Xen.

Ссылка на основную публикацию