Дата |
Описание на промяната |
---|---|
27 октомври 2023 г. |
Добавени препратки към смекчаване B |
17 юли 2023 г. |
Добавена е информация за MMIO |
Резюме
Microsoft е наясно с новите варианти на класа атаки, известни като уязвимости в страничен канал при спекулативно изпълнение. Вариантите се наричат L1 Terminal Fault (L1TF) и Microarchitectural Data Sampling (MDS).. Атакуващ, който може успешно да използва L1TF или MDS, може да успее да чете привилегировани данни от границите на доверие.
АКТУАЛИЗИРАНО НА 14 май 2019 Г.: На 14 май 2019 г. Intel публикува информация за нов подклас уязвимости в страничен канал при спекулативно изпълнение, известни като Извадка за микроархитектурни данни. На тях са присвоени следните CVEs:
-
CVE-2018-11091 | Извадка за микроархитектурни данни неизтриваема памет (MDSUM)
-
CVE-2018-12126 | Извадка за буферни данни за микроархитектурно хранилище (MSBDS)
-
CVE-2018-12127 | Извадка за буфер за микроархитектурно запълване (MFBDS)
-
CVE-2018-12130 | Вземане на извадки от данни за порт за микроархитектурно натоварване (MLPDS)
АКТУАЛИЗИРАНО НА 12 НОЕМВРИ 2019 Г.: На 12 ноември 2019 г. Intel публикува техническа препоръка относно уязвимостта за асинхронно прекъсване на транзакциите на Intel® TSX,® която е присвоена на CVE-2019-11135. Microsoft пусна актуализации за намаляване на тази уязвимост. Имайте предвид следното:
-
По подразбиране защитата на операционните системи е разрешена за някои издания на ОС на Windows Server. Вижте статията в базата знания на Microsoft 4072698 за повече информация.
-
По подразбиране защитата на операционните системи е разрешена за всички издания на ОС на Windows Client. Вижте статията в базата знания на Microsoft 4073119 за повече информация.
Общ преглед на уязвимостта
В среди, в които се споделят ресурси, като например хостове за виртуализация, атакуващ, който може да изпълнява произволен код на една виртуална машина, може да има достъп до информация от друга виртуална машина или от самия хост за виртуализация.
Работни натоварвания на сървъра, като например услугите за отдалечен работен плот на Windows Server (RDS) и по-специални роли, като например домейнови контролери на Active Directory, също са изложени на риск. Хакерите, които могат да изпълняват произволен код (независимо от нивото на привилегиите му), може да имат достъп до операционната система или тайни на работното натоварване, като например ключове за шифроване, пароли и други конфиденциални данни.
Клиентските операционни системи на Windows също са изложени на риск, особено ако изпълняват ненадежден код, използват функции за защита, базирани на виртуализация, като например Windows Defender Credential Guard, или използват Hyper-V за изпълнение на виртуални машини.
Забележка:Тези уязвимости засягат само процесори Intel Core и процесори Intel Xeon.
Общ преглед на смекчаването
За да разреши тези проблеми, Microsoft работи заедно с Intel за разработване на смекчавания на последствията на софтуера и указания. Актуализации на софтуера за намаляване на уязвимостите са издадени. За да получите всички налични защити, може да се изискват актуализации, които могат да включват микрокод от OEM на устройството.
Тази статия описва как да смекчите следните уязвимости:
-
CVE-2018-3620 | L1 Terminal Fault – ОС, 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 | Извадка от данни за споделен буфер (SBDS)
-
CVE-2022-21127 | Актуализация за вземане на извадки за буферни данни на специален регистър (актуализация на SRBDS)
-
CVE-2022-21166 | Частично записване в регистъра на устройствата (DRPW)
За да научите повече за уязвимостите, вижте следните съвети за защитата:
L1TF: ADV180018 | Указания на Microsoft за предотвратяване на вариант L1TF
MMIO: ADV220002 | Указания на Microsoft за уязвимости в остарели данни на процесор Intel MMIO
Уязвимост при разкриване на информация в ядрото на Windows: CVE-2019-11135 | Уязвимост при разкриване на информация за ядрото на Windows
Определяне на действията, необходими за смекчаване на заплахата
Следващите раздели могат да ви помогнат да идентифицирате системите, които са засегнати от уязвимостите в L1TF и/или MDS, и също така да ви помогнат да разберете и да намалите рисковете.
Потенциално въздействие върху производителността
При тестването Microsoft е видял известно въздействие върху производителността от тези смекчавания в зависимост от конфигурацията на системата и това кои смекчавания са необходими.
Някои клиенти може да се наложи да забранят hyper-threading (известен също като едновременно многоточие или SMT), за да се справите напълно с риска от L1TF и MDS. Имайте предвид, че забраняването на хипер-нишки може да доведе до влошаване на производителността. Тази ситуация се отнася за клиенти, които използват следното:
-
Версии на Hyper-V, които са по-стари от Windows Server 2016 или Windows 10 версия 1607 (актуализация за годишнината)
-
Функции за защита, базирана на виртуализация (VBS), като например Credential Guard и Device Guard
-
Софтуер, който позволява изпълнение на ненадежден код (например сървър за автоматизация на компилация или споделена IIS хостинг среда)
Въздействието може да се различава в зависимост от хардуера и работните натоварвания, които се изпълняват в системата. Най-често използваната системна конфигурация е да има разрешена хипер-нишка. Следователно въздействието върху производителността се поставя на потребителя или администратора, който предприема действието за забраняване на hyper-threading в системата.
Забележка:За да определите дали вашата система използва функции за защита, защитени с VBS, изпълнете следните стъпки:
-
В менюто Старт въведете MSINFO32.
Забележка: Отваря се прозорецът Системна информация . -
В полето Търси въведете защита.
-
В десния екран намерете двата реда, които са избрани на екранната снимка, и проверете в колоната Стойност , за да видите дали е разрешена защитата, базирана на виртуализация , и кои базирани на виртуализация услуги за защита се изпълняват.
Hyper-V core scheduler смекчава Векторите за атака на L1TF и MDS срещу виртуални машини на Hyper-V, като в същото време позволява hyper-threading да останат разрешени. Основният планировчик е наличен от Windows Server 2016 и Windows 10 версия 1607. Това предоставя минимално въздействие върху производителността на виртуалните машини.
Основният планировчик не смекчава векторите на атака на L1TF или MDS срещу функции за защита, защитени с VBS. За повече информация вижте Смекчаване C и следната статия в блога за виртуализация:
За подробна информация от Intel относно въздействието върху производителността отидете на следния уеб сайт на Intel:
Идентифициране на засегнатите системи и необходимите смекчавания
Блоксхемата на фигура 1 може да ви помогне да идентифицирате засегнатите системи и да определите правилния набор от действия.
Важно: Ако използвате виртуални машини, трябва да обмислите и приложите блоксхемата към Hyper-V хостове и всеки засегнат гост на виртуална машина поотделно, тъй като е възможно да се приложат предпазни мерки и за двете. По-конкретно, за Hyper-V хост стъпките на блоксхемата предоставят защити между VM и защити между хостове. Въпреки това прилагането на тези смекчавания само на хоста на Hyper-V не е достатъчно, за да се осигури защита в рамките на VM. За да предоставите защита в рамките на виртуална машина, трябва да приложите блоксхемата към всяка виртуална машина на Windows. В повечето случаи това означава да се уверите, че ключовете от системния регистър са зададени във VM.
Докато навигирате в блоксхемата, ще се натъкнете на сини кръгове с букви, които се нанасят на действие, или серия от действия, които са необходими за намаляване на векторите за атака на L1TF, които са специфични за вашите системни конфигурации. Всяко действие, на което се натъкнете, трябва да бъде приложено. Когато срещнете зелена линия, това показва директен път до края и няма допълнителни стъпки за смекчаване.
Краткото обяснение на всяко буквена смекчаване е включено в легендата отдясно. Подробни обяснения за всяко смекчаване, които включват подробни инструкции за инсталиране и конфигуриране, са дадени в раздела "Смекчавания".
Предпазни мерки
Важно: Следващият раздел описва смекчаванията, които трябва да се приложат САМО при конкретните условия, които са определени от блоксхемата на фигура 1 в предишния раздел. НЕ прилагайте тези смекчавания, освен ако блоксхемата не показва, че е необходимо конкретно смекчаване.
В допълнение към актуализациите на софтуера и микрокода е възможно да са необходими ръчни промени в конфигурацията, за да се разрешат определени защити. Освен това препоръчваме корпоративните клиенти да се регистрират за пощенската програма за известия за защита, за да бъдат предупредени за промени в съдържанието. (Вижте Известия за техническа защита на Microsoft.)
Смекчаване A
Получете и приложете най-новите актуализации за Windows
Приложете всички налични актуализации на операционната система Windows, включително месечните актуализации на защитата на Windows. Можете да видите таблицата на засегнатите продукти в Microsoft Security Advisory | ADV 180018 за L1TF, Съветник за защитата | ADV 190013 за MDS, Съвети за защитата | ADV220002 за MMIO и уязвимост на защитата | CVE-2019-11135 за уязвимост при разкриване на информация в ядрото на Windows.
Смекчаване B
Получаване и прилагане на най-новите актуализации на микрокода или фърмуера
В допълнение към инсталирането на най-новите актуализации на защитата на Windows, може също да се изисква микрокод на процесор или актуализация на фърмуера. Препоръчваме ви да получите и приложите най-новата актуализация на микрокода според случая за вашето устройство от OEM устройството. За повече информация относно актуализациите на микрокод или фърмуер вижте следните препратки:
Бележка: Ако използвате вложена виртуализация (включително изпълняване на контейнери на Hyper-V във 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 core scheduler (наличен от Windows Server 2016 и Windows 10 версия 1607) намалява Векторите за атака на L1TF и MDS срещу виртуални машини на Hyper-V, като все още позволява на Hyper-Threading да останат разрешени. Това предоставя минимално въздействие върху производителността.
Hyper-V core scheduler does not mitigate L1TF or MDS attack vectors against VBS-protected security features. Уязвимостите в 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.
-
За Windows 10 версия 1511, Windows Server 2012 R2 и по-стари системи, които работят с Hyper-V, клиентите трябва да помислите за забраняване на HT за намаляване на риска.
Стъпките, които са необходими, за да забраните HT, се различават от OEM към OEM. Те обаче обикновено са част от BIOS или инструментите за конфигуриране и настройка на фърмуера.
Microsoft също така въведе възможността за забраняване на Hyper-Threading технология чрез софтуерна настройка, ако е трудно или невъзможно да забраните HT във вашия BIOS или в инструментите за настройка и конфигуриране на фърмуера. Настройката на софтуера за забраняване на HT е вторична на вашата настройка на BIOS или фърмуер и е забранена по подразбиране (което означава, че HT ще следва вашия BIOS или настройка на фърмуера). За да научите повече за тази настройка и как да забраните HT, като я използвате, вижте следната статия:
4072698 Указания за Windows Server за защита срещу уязвимости в страничен канал при спекулативно изпълнение
Когато е възможно, се препоръчва да забраните HT във вашия BIOS или фърмуер за най-силната гаранция, че HT е дезактивиран.
Бележка: Забраняването на hyperthreading ще намали ядрата на процесора. Това може да се отрази на функции, които изискват минимални ядра на процесора, за да функционират. Например Windows Defender Application Guard (WDAG).
Смекчаване D
Разрешаване на Hyper-V core scheduler и задаване на броя на нишките на VM хардуера за ядро на 2
Бележка: Тези стъпки за смекчаване се отнасят само за Windows Server 2016 и Windows 10 версии преди версия 1809. Основният планировчик е разрешен по подразбиране в Windows Server 2019 и Windows 10 версия 1809.
Използването на основния планировчик е процес от две стъпки, който изисква първо да разрешите планировчика на Hyper-V хоста и след това да конфигурирате всяка виртуална машина да се възползва от нея, като зададете броя на нишките на хардуера на ядро на две (2).
Hyper-V core scheduler, който е въведен в Windows Server 2016 и Windows 10 версия 1607, е нова алтернатива на класическата логика на планирането. Основният планировчик предлага намалена променливост на производителността за работни натоварвания във виртуални машини, които се изпълняват на Hyper-V хост с разрешен HT.
За подробно обяснение на основния планировчик на Hyper-V и стъпките, за да го разрешите, вижте следната статия на Windows IT Pro Center:
Разбиране и използване на типовете планиране на hyper-V софтуер за хипервизия
За да разрешите Hyper-V core scheduler в Windows Server 2016 или Windows 10, въведете следната команда:
bcdedit /set HypervisorSchedulerType core
След това решете дали да конфигурирате броя на хардуерните нишки на дадена виртуална машина на ядро на две (2). Ако изложите факта, че виртуалните процесори са хипер-нишки на гост виртуална машина, разрешите планировчика в операционната система за виртуална машина, както и VM работни натоварвания, за да използвате 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, използвайте указанията в следните статии:
Бележка: Тези смекчавания включват и автоматично разрешават безопасно намаляване на битовете на рамката на страницата за ядрото на Windows, както и за предпазни мерки, които са описани в CVE-2018-3620. За подробно обяснение на намаляването на битовете за безопасна рамка на страница вижте следната статия в блога за изследване на защитата & защита:
Справочни материали
Указания за намаляване на уязвимостите в страничен канал при спекулативно изпълнение в Azure
Продуктите на трети лица, които са упоменати в тази статия, се произвеждат от фирми, които са независими от Microsoft. Не предоставяме никаква подразбираща се или друга гаранция относно производителността или надеждността на тези продукти.
Предоставяме информация за връзка с трети лица, за да Ви помогнем да намерите техническа поддръжка. Тази информация за връзка може да се промени без предизвестие. Не гарантираме точността на тази информация за връзка с трети лица.