Intel опять обновила микрокод всех процессоров



    Первые 192 байта старого недокументированного апдейта с микрокодом для Core i5 M460. Красным подсвечен номер ревизии, жёлтым — дата выпуска, зелёным — размер апдейта (в 4-байтовых словах), синим — подпись процессора

    26 января 2021 года Microsoft выпустила набор обновлений микрокода для процессоров Intel под операционные системы Windows 10 20H2, 2004, 1909 и более старых версий, вплоть до 1507, а также для Windows Server.

    Обычно такие апдейты закрывают возможность эксплуатации серьёзных аппаратных уязвимостей в CPU, таких как Spectre, Meltdown, Microarchitectural Data Sampling (MDS) и Platypus. По традиции, микрокод Intel не документируется. В прошлом специалисты пытались провести реверс-инжиниринг.

    Intel подготовила микрокод и направила разработчикам операционных систем, чтобы закрыть или снизить ущерб от этих уязвимостей. В данном случае апдейт опциональный и «производит откат к обновлениям микрокода, которые закрывают уязвимости Spectre Variant 3a (CVE-2018-3640: "Rogue System Register Read (RSRE)"), Spectre Variant 4 (CVE-2018-3639: "Speculative Store Bypass (SSB)") и L1TF (CVE-2018-3620, CVE-2018-3646: "L1 Terminal Fault")».

    Обновления адресованы для большого списка десктопных, серверных и мобильных процессоров Intel всех семейств, кодовые названия продуктов: 10-е поколение Intel Core, Amber Lake (8-е поколение Intel Core), Apollo Lake, Broadwell, Cascade Lake, Cherry View, Coffee Lake, Comet Lake, Denverton, Gemini Lake, Haswell, Ice Lake, Kaby Lake, Lakefield, Sandy Bridge, Skylake, Valley View, Whiskey Lake. Полный список CPU см. в описании каждого обновления на сайте Microsoft (ссылки ниже).

    Нужно подчеркнуть, что аппаратные уязвимости Spectre и Meltdown присущи всем процессорам Intel. Например, уязвимость Spectre (и смежная Meltdown) эксплуатирует механизм предсказания ветвлений в CPU и позволяет проводить чтение данных через сторонний канал в виде общей иерархии кэш-памяти.



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

    Эти уязвимости присутствуют во всех современных процессорах (кроме RISC и российского «Эльбруса»), потому что предсказание ветвлений стало фундаментальной частью архитектуры современных CPU, от которой невозможно отказаться без значительной потери производительности.

    Первые обновления микрокода Intel выпустила в январе 2018 года для всех операционных систем. Правда, первые версии Линус Торвальдс назвал «абсолютнейшим мусором», Intel попросила их больше устанавливать, а потом перевыпустила.

    Первый патч для Windows 10 тоже пришлось отозвать, а потом перевыпустить.

    С тех пор Intel выпустила ещё несколько обновлений. Все они устанавливаются через операционную систему без перепрошивки BIOS. Например, апдейты для процессоров Intel под Windows 10 выходили также 29 августа 2019 года, 30 января, 25 февраля, 1 сентября и 10 ноября 2020 года.



    Остаётся надеяться, что с новыми апдейтами для Windows 10 всё обойдётся без приключений.

    Список обновлений


    • KB4589212: обновления микрокода Intel для Windows 10, версии 2004 и 20H2, а также Windows Server, версии 2004 и 20H2
    • KB4589211: для Windows 10, версии 1903 и 1909, а также Windows Server, версии 1903 и 1909
    • KB4589208: для Windows 10 1809 и Windows Server 2019
    • KB4589206: для Windows 10 1803
    • KB4589210: для Windows 10 1607 и Windows Server 2016
    • KB4589198: для Windows 10 1507

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

    «Наши модели, наши ментальные модели ошибочны; мы пожертвовали безопасностью ради производительности и сложности, и не знали об этом. Сейчас горькая ирония заключается в том, что для защиты требуется внедрение ещё большей сложности с помощью программных средств, большинство из которых, как мы знаем, являются неполными… Похоже, Spectre получил слишком удачное название, потому что ему суждено ещё долго нас преследовать». — "Spectre is here to stay. An analysis of side-channels and speculative execution", arXiv:1902.05178v1

    Таким образом, подобные апдейты будут выпускаться и дальше по мере обнаружения всё новых и новых вариантов атаки.
    Дата-центр «Миран»
    Решения для аренды и размещения ИТ-инфраструктуры

    Комментарии 7

      +1

      Главное, чтоб в новых ментальных моделях не было боковых уязвимостей…

        0
        Матрица не позволит вам о них узнать.
        0
        Интересно, как у M1 сложится судьба с безопасностью
          0
          Пока эти процессоры не используются на серверах, вряд ли кто-то будет всерьёз искать в них уязвимости. Разве что как было со Spectre, когда уязвимость была найдена сразу у всех, потому что никто до этого не задумывался о таком векторе атаки.
            0
            никто до этого не задумывался о таком векторе атаки

            Или просто мы не знали о таких случаях.

          0
          В официальной репе github.com/intel/Intel-Linux-Processor-Microcode-Data-Files изменений нет — может, это MS только сейчас выкатила ноябрьский релиз?
            +1
            Я сравнил ревизии микрокода, указанные в статьях базы знаний MS с последними, замеченными в дикой природе, которые собирают энтузиасты на github.com/platomav/CPUMicrocodes

            То ли у MS ошибка в версиях микрокодов, то ли это какие-то довольно старые микрокоды, потому что уже есть свежее (например для процессоро с CPUID A0652 у MS микрокод версии E0, а существует уже E2).

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

          Самое читаемое