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

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

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

  • ZombieLoad (PDF) — позволяет извлечь конфиденциальную информацию из других процессов, операционной системы, виртуальных машин и защищённых анклавов (TEE, Trusted Execution Environment). Например, продемонстрирована возможность определения истории открытия страниц в Tor browser, запущенном в другой виртуальной машине, а также определение используемых в приложениях ключей доступа и паролей;


  • RIDL (PDF) — позволяет организовать утечку информации между различными изолированными областями в процессорах Intel, такими как буферы заполнения, буферы хранения и порты загрузки. Примеры проведения атаки показаны для организации утечек из других процессов, операционной системы, виртуальных машин и защищённых анклавов. Например, показано как узнать содержимое хэша пароля root из /etc/shadow при периодических попытках аутентификации (атака заняла 24 часа);

    Luaj videon

    Кроме того показан пример проведения атаки с использованием JavaScript и WebAssembly при открытии вредоносной страницы в движке SpiderMonkey (в современных полноценных браузерах подобная атака маловероятна из-за ограничения точности таймера и мер для защиты от Spectre);

    Luaj videon
  • Fallout (PDF) — даёт возможность читать данные, недавно записанные операционной системой и определять раскладку памяти ОС для упрощения проведения других атак;
  • Store-To-Leak Forwarding — эксплуатирует оптимизации CPU по работке с буфером хранения и может применяться для обхода механизма рандомизации адресного пространства ядра (KASLR), для мониторинга состояния операционной системы или для организации утечек в комбинации с гаджетами на базе методов Spectre.

Выявленные mangësive:

  • 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.

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

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

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

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

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

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

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

В ядре Linux защита от MDS është shtuar в сегодняшних обновлениях 5.1.2, 5.0.16,
4.19.43, 4.14.119 и 4.9.176. Метод защиты строится на очистке содержимого микроархитектурных буферов в момент возвращения из ядра в пространство пользователя или при передаче управления гостевой системе, для чего используется инструкция VERW. Для работы зашиты требуется наличие поддержки режима MD_CLEAR, реализованного в свежем обновлении микрокода. Для полной защиты также рекомендуется отключить Hyper Threading. Для проверки подверженности системе уязвимости в ядро Linux është shtuar обработчик «/sys/devices/system/cpu/vulnerabilities/mds». Для управления включением различных режимов блокирования уязвимости в ядро добавлен параметр «mds=», который может принимать значения «full», «full,nosmt» (отключение Hyper-Threads), «vmwerv» и «off».

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

Burimi: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster