Руководство Windows для защиты от уязвимостей бокового канала спекулятивного исполнения

Применимо к: Windows Server 2019, all editionsWindows 10, version 1809, all editionsWindows Server version 1803

Аннотация


Корпорация Майкрософт знает о новых вариантах класса атак, известных как спекулятивные уязвимости бокового каналавыполнения. Варианты называются L1 Терминал неисправности (L1TF) и микроархитектуры выборки данных (MDS). Злоумышленник, который может успешно использовать L1TF или MDS, может считывать привилегированные данные через границы доверия.

ОБНОВЛЕНИЕ 14 мая 2019 г.: 14 мая 2019 года корпорация Intel опубликовала информацию о новом подклассе уязвимостей спекулятивного выполнения, известных как Microarchitectural Data Sampling. Им были назначены следующие CVEs:

ОБНОВЛЕНО 12 НОЯБРЯ 2019 Г.: 12 ноября 2019 года корпорация Intel опубликовала техническую рекомендацию по расширению транзакционной синхронизации Intel® (Intel® TSX) "Уязвимость asynchronous Abort", которая назначена CVE-2019-11135. Корпорация Майкрософт выпустила обновления, чтобы помочь смягчить эту уязвимость. Обратите внимание на следующее:

  • По умолчанию для некоторых выпусков Windows Server OS средства защиты включены для некоторых выпусков Windows Server OS. Для получения дополнительной информации смотрите статью базы знаний Корпорации Майкрософт 4072698.
  • По умолчанию защита операционных систем включена для всех выпусков ОС Windows Client. Дополнительную информацию можно узнать в статье 4073119 базы знаний корпорации Майкрософт.

Обзор уязвимости


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

Рабочие нагрузки серверов, такие как службы удаленного рабочего стола Windows Server (RDS) и более выделенные роли, такие как контроллеры доменов Active Directory, также находятся под угрозой. Злоумышленники, которые могут запускать произвольный код (независимо от его уровня привилегий), могут получить доступ к операционной системе или секретам рабочей нагрузки, таким как ключи шифрования, пароли и другие конфиденциальные данные.

Операционные системы клиентов Windows также находятся под угрозой, особенно если они работают ненадежный код, использовать функции безопасности на основе виртуализации, такие как Windows Defender Credential Guard, или использовать Hyper-V для запуска виртуальных машин.

Примечание: Эти уязвимости влияют только на процессоры Intel Core и процессоры Intel Xeon.

Обзор смягчения последствий

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

В этой статье описывается, как уменьшить следующие уязвимости:

  • CVE-2018-3620 - "Ошибка терминала L1 - OS, SMM"
  • CVE-2018-3646 - "Ошибка терминала L1 - VMM"
  • CVE-2018-11091 - "Микроархитектурные данные выборки некэшнированная память (MDSUM)"
  • CVE-2018-12126 - "Микроархитектурный магазин буферных данных выборки (MSBDS)"
  • CVE-2018-12127 - "Микроархитектурная загрузка портовых данных (MLPDS)"
  • CVE-2018-12130 - "Микроархитектурная выборка буферных данных (MFBDS)"
  • CVE-2019-11135 - "Уязвимость раскрытия информации о ядрах Windows"

Чтобы узнать больше об уязвимостях, смотрите следующие рекомендации по безопасности:

L1TF: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv180018

MDS: https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv190013

Уязвимость раскрытия информации Windows:https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-11135

Определение действий, необходимых для смягчения угрозы


Следующие разделы помогут вам определить системы, на которые влияют уязвимости L1TF и/или MDS, а также помочь вам понять и уменьшить риски.

Потенциальное влияние на производительность

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

Некоторым клиентам, возможно, придется отключить гипер-поток (также известный как одновременная многопоточность или SMT), чтобы полностью устранить риск от L1TF и MDS. Имейте в виду, что отключение гипер-потока может привести к снижению производительности. Эта ситуация распространяется на клиентов, которые используют следующее:

  • Версии Hyper-V, которые раньше, чем Windows Server 2016 или Windows 10 версия 1607 (юбилейное обновление)
  • Функции безопасности на основе виртуализации (VBS), такие как credential Guard и Device Guard
  • Программное обеспечение, позволяющее выполнять недоверчивое код (например, сервер автоматизации сборки или общая среда хостинга IIS)

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

Примечание: Чтобы определить, использует ли система защищенные VBS функции безопасности, выполните следующие действия:

  1. В меню «Пуск» введите MSINFO32. Примечание: Открывается окно системной информации.
  2. В поле «Найдите какую коробку» введите безопасность.
  3. В правом стекле найдите два строки, выбранные в кадре экрана, и проверьте столбец Значение, чтобы увидеть, включена ли безопасность на основе виртуализации и какие виртуализированные службы безопасности работают.

    Окна сведений о системе

Планировщик ядра Hyper-V смягчает векторы атак L1TF и MDS против виртуальных машин Hyper-V, при этом позволяя гиперпотоку оставаться включенными. Основной планировщик доступен начиная с Windows Server 2016 и Версии 1607 windows 1607. Это обеспечивает минимальное влияние на производительность виртуальных машин.

Планировщик ядра не смягчает векторы атак L1TF или MDS на функции безопасности, защищенные VBS. Для получения дополнительной информации, обратитесь к смягчению C и следующие виртуализации блог статьи:

https://aka.ms/hyperclear

Для получения подробной информации от корпорации Intel о воздействии на производительность, перейдите на следующий веб-сайт Intel:

www.intel.com/securityfirst

Выявление затронутых систем и требуемых мер по смягчению последствий

Диаграмма потока на рисунке 1 может помочь определить затронутые системы и определить правильный набор действий.

Важно: Если вы используете виртуальные машины, вы должны рассмотреть и применить диаграмму потока для Hyper-V хостов и каждый пострадавший vM гость индивидуально, потому что смягчение может применяться к обоим. В частности, для хоста Hyper-V шаги диаграммы потока обеспечивают межvМ-защиту и внутрихоствую защиту. Однако применения этих мер к хостам Hyper-V недостаточно для обеспечения защиты внутри-VM. Чтобы обеспечить внутри-VM защиту, необходимо применить диаграмму потока к каждому Windows VM. В большинстве случаев это означает, что ключи реестра установлены в VM.

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

Краткое объяснение каждой буквенной смягчения включено в легенду справа. Подробные разъяснения для каждого смягчения последствий, которые включают пошаговую установку и инструкции по конфигурации, приведены в разделе "Смягчение".

Блок-схема

 

Смягчения последствий


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

В дополнение к обновлениям программного обеспечения и микрокода, для обеспечения определенных средств защиты также могут потребоваться изменения ручной конфигурации. Мы также рекомендуем клиентам Enterprise зарегистрироваться для отправки уведомлений о безопасности, чтобы получать уведомления об изменениях содержимого. (См. Уведомления о технической безопасности корпорации Майкрософт.)

Смягчение A

Получить и применить последние обновления Windows

Применяйте все доступные обновления операционной системы Windows, включая ежемесячные обновления безопасности Windows. Таблица затронутых продуктов можно увидеть в консультации по безопасности Майкрософт ADV 180018 для L1TF, Консультации по безопасности (ru) ADV 190013 для MDS и CVE-2019-11135 для уязвимости раскрытия информации о ядрах Windows.

Смягчение B

Получить и применить последние обновления микрокода или прошивки

В дополнение к установке последних обновлений безопасности Windows, обновление микрокода процессора также требуется. Установка этих обновлений обеспечивается устройством OEM.

Примечание: Если вы используете вложенную виртуализацию (включая запуск контейнеров Hyper-V в гостевом VM), вы должны предоставить новые просветления микрокода гостевому VM. Это может потребовать обновления конфигурации VM до версии 8. Версия 8 включает в себя микрокод просветления по умолчанию. Для получения дополнительной информации и необходимых шагов смотрите следующую статью Microsoft Docs:

Запуск Hyper-V в виртуальной машине с вложенной виртуализацией

Смягчение C

Должен ли я отключить гипер-потоки (HT)?

Уязвимости L1TF и MDS вводят риск того, что конфиденциальность виртуальных машин Hyper-V и секретов, которые поддерживаются Microsoft Virtualization Based Security (VBS), могут быть скомпрометированы с помощью боковой атаки. При включении Hyper-Threading (HT) границы безопасности, обеспечиваемые Hyper-V и VBS, ослабевают.

Планировщик ядра Hyper-V (доступен начиная с Windows Server 2016 и Windows 10 версия 1607) смягчает l1TF и MDS атаки векторы против Hyper-V виртуальных машин, в то же время позволяя Hyper-Threading оставаться включенным. Это обеспечивает минимальное влияние на производительность.

Планировщик ядра Hyper-V не смягчает векторы атак L1TF или MDS на функции безопасности, защищенные VBS. Уязвимости L1TF и MDS вводят риск того, что конфиденциальность секретов VBS может быть скомпрометирована с помощью боковой атаки, когда включена Hyper-Threading (HT), что ослабит границу безопасности, предоставляемую VBS. Даже при таком повышенном риске, VBS по-прежнему обеспечивает ценные преимущества безопасности и смягчает ряд атак с включенным HT. Поэтому мы рекомендуем, чтобы VBS продолжали использоваться в системах с поддержкой HT. Клиенты, которые хотят устранить потенциальный риск уязвимостей L1TF и MDS на конфиденциальность VBS следует рассмотреть возможность отключения HT для уменьшения этого дополнительного риска.

Клиенты, которые хотят устранить риск, что уязвимости L1TF и MDS представляют, будь то конфиденциальность Hyper-V версии, которые раньше, чем Windows Server 2016 или возможности безопасности VBS, должны взвесить решение и рассмотреть вопрос об отключении HT снизить риск. Как правило, это решение может основываться на следующих руководящих принципах:

  • Для Windows 10 версия 1607, Windows Server 2016 и более поздние системы, которые не работают Hyper-V и не используют VBS защищенных функций безопасности, клиенты не должны отключить HT.
  • Для Windows 10 версия 1607, Windows Server 2016 и более поздние системы, которые работают Hyper-V с Core Scheduler, но не используют VBS защищенных функций безопасности, клиенты не должны отключить HT.
  • Для Версии 1511 windows 1511, Windows Server 2012 R2 и более ранних систем, работающих под управлением Hyper-V, клиенты должны рассмотреть возможность отключения HT для снижения риска.

Шаги, необходимые для оттоговать HT, отличаются от OEM до OEM. Тем не менее, они, как правило, являются частью BIOS или прошивки настройки и настройки инструментов.

Корпорация Майкрософт также ввела возможность отключить технологию Hyper-Threading с помощью настройки программного обеспечения, если это трудно или невозможно отключить HT в вашем BIOS или прошивки установки и конфигурации инструментов. Настройка программного обеспечения для отключения HT является вторичной по отношению к вашей настройки BIOS или прошивки и отключена по умолчанию (имеется в виду HT будет следовать вашей BIOS или настройки прошивки). Чтобы узнать больше об этой настройке и как отключить HT, используя его, см.

4072698 Руководство Windows Server для защиты от спекулятивных уязвимостей бокового канала выполнения

По возможности рекомендуется отключить HT в ВАШЕМ BIOS или прошивке для самой сильной гарантии того, что HT отключена.

Примечание: Отключение гиперпотоков уменьшит ядра процессора. Это может повлиять на функции, которые требуют минимальных ядер процессора для работы. Например, Windows Defender Application Guard (WDAG).

Смягчение D

Включить планировщик ядра Hyper-V и установить количество нитей VM на ядро до 2

Примечание: Эти меры по смягчению последствий применяются только к версиям Windows Server 2016 и Windows 10 до версии 1809. Основной планировщик включен по умолчанию на Windows Server 2019 и Windows 10 версии 1809.

Использование основного планировщика представляет собой двухэтапный процесс, который требует, чтобы сначала включить планировщик на хосте Hyper-V, а затем настроить каждый VM, чтобы воспользоваться им, установив их количество аппаратных потоков на ядро до двух (2).

Планировщик ядра Hyper-V, который был представлен в Windows Server 2016 и версии Windows 10 1607, является новой альтернативой классической логике планировщика. Основной планировщик предлагает снижение изменчивости производительности для рабочих нагрузок внутри VMs, которые работают на хосте Hyper-V с поддержкой HT.

Подробное объяснение основного планировщика Hyper-V и шагов, позволяющих включить его, см.

Понимание и использование типов планировщиков hyper-V hypervisor

Чтобы включить планировщик ядра Hyper-V на Windows Server 2016 или Windows 10, введите следующую команду:

bcdedit /set HypervisorSchedulerType core

Затем решите, следует ли настроить данный отсчет аппаратных потоков VM на ядро до двух (2). Если вы подвергаете действию факт что фактически обработчики гипер-threaded к гостевой виртуальной машине, то вы включаете планировщик в системе vM, и также нагрузки VM, использовать HT в их собственном планировании работы. Для этого введите следующую команду PowerShell,в которой есть название виртуальной машины:

Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2

Смягчение E

Включить смягчение для рекомендаций CVE-2017-5715, CVE-2017-5754 и CVE-2019-11135

Примечание: Эти меры по умолчанию включены в операционные системы Windows Server 2019 и Windows.

Для смягчения последствий для рекомендаций CVE-2017-5715, CVE-2017-5754 и CVE-2019-11135 используйте рекомендации в следующих статьях:

4072698 Руководство Windows Server для защиты от спекулятивных уязвимостей бокового канала выполнения

4073119 Руководство для клиентов Windows для ИТ-специалистов для защиты от спекулятивных уязвимостей бокового канала выполнения

 

Примечание: Эти меры по смягчению последствий включают и автоматически позволяют смягчить меры по снижению битов кадров для ядра Windows, а также для смягчения последствий, описанных в CVE-2018-3620. Для подробного объяснения безопасной страницы кадра битов смягчения, см.

Анализ и смягчение неисправности терминала L1 (L1TF)