KB4457951: рекомендації Windows щодо захисту від вразливостей стороннього каналу спекулятивного виконання

Застосовується до
Windows Server 2019, all editions Windows 10, version 1809, all editions Windows Server version 1803 Windows Server 2016, all editions Windows 10, version 1803, all editions Windows 10, version 1709, all editions Windows 10, version 1703, all editions Windows 10 Windows Server 2012 R2 Windows RT 8.1 Windows 8.1 Windows Server 2012 Windows Server 2008 R2 Service Pack 1 Windows Server 2008 Service Pack 2 Windows 10, version 1607, all editions Windows 7
Журнал змін
Дата Опис змін
27 жовтня 2023 р. Додано посилання на Mitigation B
17 липня 2023 р. Додано відомості про MMIO

Зведення

Корпорації Майкрософт відомо про нові варіанти класу атак, відомі як вразливості стороннього каналу спекулятивного виконання. Варіанти отримали назви L1 Terminal Fault (L1TF) і Microarchitectural Data Sampling (MDS). Зловмисник, який може успішно використовувати L1TF або MDS, може зчитувати привілейовані дані поза межами довіри.

ОНОВЛЕНО 14 травня 2019 р.: 14 травня 2019 року компанія Intel опублікувала інформацію про новий підклас вразливостей стороннього каналу спекулятивного виконання, відомий як мікроархітектурна вибірка даних. Їм призначено такі CVE:

ОНОВЛЕНО 12 ЛИСТОПАДА 2019 Р. 12 листопада 2019 р. компанія Intel опублікувала технічне консультування щодо® асинхронної аривації транзакцій Intel TSX®, якій присвоєно CVE-2019-11135. Корпорація Майкрософт випустила оновлення, щоб допомогти мінімізувати ризики цієї вразливості. Зверніть увагу на таке:

  • Захист операційних систем увімкнуто за замовчуванням для деяких випусків ОС Windows Server. Докладні відомості див. в статті бази знань Microsoft 4072698 .
  • За замовчуванням захист операційних систем увімкнуто для всіх випусків ОС Windows Client. Докладні відомості див. в статті бази знань Microsoft 4073119 .

Огляд вразливостей

У середовищах, в яких ресурси спільно використовуються, наприклад хостах віртуалізації, зловмисник, який може запустити довільний код на одній віртуальній машині, може отримати доступ до інформації з іншої віртуальної машини або з самого хоста віртуалізації.

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

Клієнтські операційні системи Windows також знаходяться під загрозою, особливо якщо вони використовують ненадійний код, використовують функції безпеки на основі віртуалізації, як-от Credential Guard для Захисника Windows, або використовують Hyper-V для запуску віртуальних машин.

Примітка. Ці вразливості стосуються лише процесорів Intel Core і Intel Xeon.

Огляд засобу захисту від наслідків

Щоб вирішити ці проблеми, корпорація Майкрософт разом з Intel розробляє рекомендації щодо використання програмного забезпечення. Випущено оновлення програмного забезпечення, які допоможуть мінімізувати ризики вразливостей. Для забезпечення всіх доступних засобів захисту можуть знадобитися оновлення, які також можуть містити мікрокоманди від виробників обладнання.

У цій статті описано, як мінімізувати ризики перелічених нижче вразливостей.

  • CVE-2018-3620 | Несправність терміналу L1 – ОС, 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
  • CVE-2022-21123 | Читання спільних буферних даних (SBDR)
  • CVE-2022-21125 | Shared Buffer Data Sampling (SBDS)
  • CVE-2022-21127 | Оновлення вибірки спеціальних буферних даних реєстру (оновлення SRBDS)
  • CVE-2022-21166 | Часткове записування в регістр пристрою (DRPW)

Докладні відомості про вразливості див. в таких рекомендаціях щодо безпеки:

L1TF:ADV180018 | Рекомендації Microsoft щодо пом'якшення наслідків штаму L1TF

МДС:ADV190013 | Рекомендації корпорації Майкрософт щодо мінімізації ризиків від вразливостей вибірки мікроархітектурних даних

MMIO:ADV220002 | Рекомендації корпорації Майкрософт щодо вразливостей застарілих даних процесора Intel MMIO

Уразливість розкриття інформації ядра Windows:CVE-2019-11135 | Уразливість розкриття інформації в ядрі Windows

Визначення дій, необхідних для пом'якшення загрози

Наведені нижче розділи можуть допомогти вам визначити системи, на які впливають вразливості 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 Windows Server 2016 та Windows 10Windows 10 версії 1607. Це мінімально впливає на продуктивність віртуальних машин.

Планувальник ядра не зменшує вектори атак L1TF або MDS проти функцій безпеки, захищених VBS. Докладні відомості див. в розділі Mitigation C і в цій статті блогу віртуалізації:

https://aka.ms/hyperclear

Докладні відомості від Intel про вплив цього засобу див. на сайті Intel:

www.intel.com/securityfirst

Визначення уражених систем і необхідних заходів послаблення ризиків

Блок-схема на рисунку 1 може допомогти вам ідентифікувати уражені системи та визначити правильний набір дій.

Важливо: Якщо ви використовуєте віртуальні машини, вам слід розглянути та застосувати блок-схему до вузлів Hyper-V і кожного гостя віртуальної машини, якого це стосується, окремо, оскільки заходи щодо послаблення ризиків можуть застосовуватися в обох випадках. Зокрема, кроки блок-схеми для хоста Hyper-V забезпечують захист між віртуальними машинами та внутрішньовузловий захист. Однак застосування цих заходів послаблення ризиків лише до хоста Hyper-V недостатньо для забезпечення захисту всередині віртуальної машини. Щоб забезпечити захист на віртуальній машині, потрібно застосувати блок-схему до кожної віртуальної машини з Windows. Зазвичай для цього потрібно перевірити, чи розділи реєстру встановлено на віртуальній машині.

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

Коротке пояснення кожного літерного пом'якшення включено в легенду праворуч. Детальні пояснення щодо кожного послаблення ризику, які містять покрокові інструкції з інсталяції та налаштування, наведено в розділі «Послаблення ризиків».

Блок-схема для ідентифікації систем, на які впливає L1TF, і вибору заходів послаблення ризиків від A до E

Послаблення ризиків

Важливо: У наступному розділі описано пом'якшення наслідків, які слід застосовувати ЛИШЕ за певних умов, визначених блок-схемою на малюнку 1 у попередньому розділі. НЕ застосовуйте ці заходи щодо послаблення ризиків, якщо на блок-схемі не вказано, що необхідно зменшити наслідки.

Окрім оновлень програмного забезпечення та мікрокоманд, для ввімкнення певних засобів захисту також може знадобитися змінити конфігурацію вручну. Ми також рекомендуємо корпоративним клієнтам зареєструватися в розсилці сповіщень системи безпеки, щоб отримувати оповіщення про зміну вмісту. (Див. Сповіщення системи безпеки корпорації Майкрософт.)

Пом'якшення ризику A

Отримання та застосування останніх оновлень Windows

Застосуйте всі доступні оновлення операційної системи Windows, зокрема щомісячні оновлення системи безпеки Windows. Таблицю продуктів, на які впливає проблема, можна переглянути в порадах із безпеки корпорації Майкрософт | ADV 180018 для L1TF, Security Advisory | ADV 190013 для MDS, Security Advisory | ADV220002 для MMIO та вразливості системи безпеки | CVE-2019-11135 : через вразливість до розкриття інформації в ядрі Windows.

Пом'якшення наслідків Б

Отримання та застосування останніх оновлень мікрокоманд або мікропрограм

Крім інсталяції останніх оновлень системи безпеки Windows, може знадобитися оновлення мікрокоманд процесора або мікропрограм. Радимо отримати та застосувати останнє оновлення мікрокоманд від виробника оригінального обладнання, відповідне для вашого пристрою. Докладні відомості про оновлення мікрокоманд і мікропрограм див. в таких посиланнях:

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

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

Пом'якшення ризику В

Чи потрібно вимкнути гіперпотокову перевірку (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 10Windows 10 версії 1607, Windows ServerWindows Server 2016 і новіших систем, які не працюють під керуванням Hyper-V і не використовують функції безпеки, захищені VBS, користувачам не слід вимикати HT.
  • Для Windows 10Windows 10 версії 1607, Windows ServerWindows Server 2016 і новіших систем, що працюють під керуванням Hyper-V із планувальником ядра, але не використовують функції безпеки, захищені VBS, користувачам не слід вимикати HT.
  • Для Windows 10Windows 10 версії 1511, Windows ServerWindows Server 2012 R2 і попередніх систем, що працюють під керуванням Hyper-V, користувачам слід розглянути можливість вимкнення HT, щоб зменшити ризик.

Дії, необхідні для вимкнення HT, відрізняються від виробника оригінального обладнання. Однак зазвичай вони входять до складу BIOS або засобів налаштування та конфігурації мікропрограм.

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

4072698 Windows Server рекомендації щодо захисту від вразливостей стороннього каналу спекулятивного виконання

Якщо можливо, рекомендується відключити HT в BIOS або прошивці, щоб отримати найсильнішу гарантію того, що HT вимкнено.

Примітка. Вимкнення гіперпотокової обробки призведе до скорочення ядер ЦП. Це може вплинути на функції, для роботи яких потрібна мінімальна кількість ядер ЦП. Наприклад, Засіб захисту програм для Захисника Windows (WDAG).

Пом'якшення ризику D

Увімкніть планувальник ядра Hyper-V і встановіть для апаратної кількості потоків віртуальної машини значення 2

Примітка. Ці заходи щодо зниження ризику застосовуються лише до версії Windows Server 2016 і версії Windows 10 до версії 1809. Планувальник ядра ввімкнено за замовчуванням у Windows ServerWindows Server 2019 та Windows 10Windows 10 версії 1809.

Використання планувальника ядра – це двоетапний процес, який вимагає спочатку ввімкнути планувальник на вузлі Hyper-V, а потім настроїти кожну віртуальну машину, щоб скористатися ним, установивши для кількості потоків обладнання на ядро два (2).

Планувальник ядра Hyper-V, який був представлений в Windows ServerWindows Server 2016 і Windows 10Windows 10 версії 1607, є новою альтернативою класичній логіці планувальника. Планувальник ядра забезпечує знижену варіативність продуктивності для робочих навантажень на віртуальних машинах, які виконуються на хості Hyper-V із підтримкою HT.

Докладні відомості про основний планувальник Hyper-V і кроки для його ввімкнення див. у такій статті Windows IT Pro Center:

Загальні відомості про типи планувальників гіпервізорів Hyper-V і їх використання

Щоб увімкнути планувальник ядра Hyper-V на Windows ServerWindows Server 2016 або Windows 10Windows 10, введіть таку команду:

bcdedit /set HypervisorSchedulerType core

Далі вирішіть, чи потрібно налаштувати кількість апаратних потоків даної віртуальної машини на ядро до двох (2). Якщо ви піддасте факту, що віртуальні процесори є гіперпотоковими на гостьовій віртуальній машині, ви увімкнете планувальник у операційній системі віртуальної машини, а також робочі навантаження віртуальних машин використовувати HT для власного планування роботи. Для цього введіть наступну команду PowerShell, у якій <VMName> – це ім'я віртуальної машини:

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. Докладні пояснення щодо зменшення ризиків від розрядів безпечної сторінки див. у наступній статті блогу Security Research & Defense Blog:

Аналіз та пом'якшення наслідків помилки термінала L1 (L1TF)

Список літератури

Рекомендації щодо мінімізації ризиків від вразливостей стороннього каналу спекулятивного виконання в AzureAzure

Застереження щодо інформації третіх осіб

Продукти сторонніх виробників, згадані в цій статті, виготовлено незалежними від корпорації Майкрософт компаніями. Ми не надаємо жодних гарантій (непрямих та інших) щодо продуктивності або надійності цих продуктів.

Ми надаємо контактну інформацію сторонніх виробників, щоб допомогти вам отримати технічну підтримку. Ці відомості можуть змінюватися без попередження. Ми не гарантуємо точність наданої контактної інформації сторонніх виробників.