Новая уязвимость процессоров Intel позволяет красть пароли непосредственно из кэша чипа. Что это такое, как работает и почему опасно именно для вас?
Проблема касается всех 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 получает любые данные, которые используют ядра процессора.
Исследователи продемонстрировали, как уязвимость позволяет в реальном времени узнавать, какие сайты посещает человек. Также, по их мнению, её легко применить для получения паролей, токенов доступа платёжных систем и ключей шифрования дисков.
Атака работает как на персональных компьютерах, так и на виртуальных машинах в облачных сервисах. Это потенциально серьезная проблема, так как в облачных средах на одном серверном оборудовании работают несколько виртуальных машин разных клиентов.
RIDL
Атака позволяет получить информацию из буферов заполнения, хранения и портов загрузки. Злоумышленники могут запустить вредоносный код через облако или с помощью JavaScript на вредоносном сайте или в рекламных баннерах, и украсть данные из приложений и других процессов, работающих на компьютере пользователя.
Например, исследователи за 24 часа смогли получить доступ к хешу пароля root на Linux, периодически пытаясь аутентифицироваться через SSH — небольшие фрагменты информации извлекались при каждой инициации SSH-соединения.
Fallout
Атака использует уязвимость, при которой получает доступ к недавно записанным данным из буферов хранилища и упрощает проведение других атак. У 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
Новости об уязвимостях в чипах компании не повлияли на стоимость акций Intel. В разговоре с изданием Wired Intel заявила, что её собственные исследователи совместно с партнерами были первыми, кто обнаружил уязвимость в прошлом году и на протяжении года работала с независимыми группами исследователей для определения характера атак и выпуска исправления.
Компания рассказала, что часть процессоров 8-го и 9-го поколения, а также серверные Xeon Scalable 2-го поколения уже содержат аппаратное исправление уязвимости, в новых процессорах Intel уязвимость будет исправлена на аппаратном уровне.
Одновременно с публикацией полного отчета о MDS-уязвимости, компания выпустила обновления прошивки процессоров — патч очищает все данные из буфера каждый раз, когда случается перегрузка данными.
Intel считает, что, как и в случае с Meltdown и Spectre, обновления прошивки будут влиять на производительность процессора. В разговоре с TechCrunch компания заявила, что большинство пользовательских устройств могут потерять в худшем случае 3% производительности, а в центрах обработки данных — до 9%. Но, по словам представителей Intel, это вряд ли будет заметно в большинстве обычных сценариев использования.
Microsoft
Корпорация во вторник выпустила обновления KB4494441 для Windows 10 версии 1809 и KB4500109 для Windows 10 версии 1903 и опубликоваларуководство по защите от новых видов атак. Компания рекомендует установить все доступные обновления для системы, а также получить обновления микрокодов процессоров у производителей устройств, если это возможно. По словам Microsoft, клиенты облачного сервиса Azure уже защищены от MDS.
Компания выпустила исправления для собственной облачной инфраструктуры и затронутых устройств на базе Chrome OS, для Intel-устройств под управлением Android корпорация просит получить обновление у производителей.
Пользователям браузера Chrome также нужно установить обновления браузера и операционной системы. Большинство Android-устройств на базе ARM-процессоров и не подвержены уязвимости MDS.
Apple
Корпорация выпустила исправление macOS Mojave 10.14.5 для всех Mac и MacBook, выпущенных с 2011 года, а также для High Sierra и Sierra. По словам Apple, исправление предотвратит возможные атаки через браузер Safari и другие приложения, а большинство пользователей не ощутит падения производительности.
Устройства на базе iOS и watchOS не подвержены уязвимости.
Amazon
Представитель Amazon заявил, что облачный сервис Amazon Web Services уже обновлен для предотвращения атак, от клиентов не требуется никаких действий.
Linux
В ядре 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.
Источник vc.ru | Автор Евгений Делюкин