KB5004605: оновлення додає захист шифруванням AES до протоколу MS-SAMR для CVE-2021-33757

Зведення

Оновлення Windows від 13 липня 2021 р. та пізніші оновлення Windows додають захист для CVE-2021-33757.

Після інсталяції оновлень Windows від 13 липня 2021 р. або пізніших оновлень Windows рекомендовано використовувати вдосконалене шифрування Standard шифрування (AES) у клієнтах Windows під час використання застарілого протоколу MS-SAMR для операцій із паролями, якщо шифрування AES підтримується сервером SAM. Якщо сервер SAM не підтримує шифрування AES, буде дозволено повернутися до застарілого шифрування RC4.

Зміни CVE-20201-33757 стосуються протоколу MS-SAMR і не залежать від інших протоколів автентифікації. MS-SAMR використовує протокол SMB через RPC та іменовані канали. Хоча протокол SMB також підтримує шифрування, його не ввімкнуто за замовчуванням. За замовчуванням зміни в CVE-20201-33757 увімкнені та забезпечують додаткову безпеку на рівні SAM. Додаткові зміни конфігурації не потрібні, окрім інсталяції захисту для CVE-20201-33757 , включеного в оновлення Windows від 13 липня 2021 р. або пізніші оновлення Windows для всіх підтримуваних версій Windows. Підтримку непідтримуваних версій Windows слід припинити або оновити до підтримуваної версії.

ПриміткаCVE-2021-33757 змінює спосіб шифрування паролів під час передачі лише під час використання певних API протоколу MS-SAMR і, зокрема, НЕ змінює спосіб зберігання паролів. Докладні відомості про те, як шифруються паролі, збережені в Active Directory та локально в базі даних (реєстрі) SAM, див. в розділі "Огляд паролів".

Додаткові відомості

Зміни, внесені в оновленнях від 13 липня 2021 р.
  • Шаблон змінення пароля
    Оновлення змінюють шаблон зміни пароля протоколу, додаючи новий метод зміни пароля , який використовуватиме AES.

    Старий метод з RC4 Новий метод із функцією AES
    SamrUnicodeChangePasswordUser2 (OpNum 55) SamrUnicodeChangePasswordUser4 (OpNum 73)

    Повний список OpNum MS-SAMR див. у статті "Події обробки повідомлень і правила послідовності".

  • Шаблон для встановлення паролів
    Оновлення змінюють шаблон встановлення паролів протоколу шляхом додавання двох нових класів інформації про користувача до методу SamrSetInformationUser2 (Opnum 58). Ось як можна настроїти відомості про пароль:

    Старий метод з RC4 Новий метод із функцією AES
    SamrSetInformationUser2 (Opnum 58) разом із UserInternal4InformationNew містить зашифрований пароль користувача за допомогою RC4. SamrSetInformationUser2 (Opnum 58) разом із UserInternal8Information, який містить зашифрований пароль користувача за допомогою AES.
    SamrSetInformationUser2 (Opnum 58) разом із UserInternal5InformationNew містить зашифрований пароль користувача з RC4 та всіма іншими атрибутами користувача. SamrSetInformationUser2 (Opnum 58) разом із UserInternal7Information , який містить зашифрований пароль з AES та всіма іншими атрибутами користувача.
Як працює нова поведінка?

Наявний метод SamrConnect5 зазвичай використовується для встановлення з'єднання між клієнтом SAM і сервером.

Оновлений сервер тепер повертатиме новий біт у відповіді SamrConnect5(), як визначено у SAMPR_REVISION_INFO_V1.

Value (Значення) Значення
0x00000010 При отриманні клієнтом це значення, при встановленні, вказує на те, що клієнт повинен використовувати AES Encryption зі структурою SAMPR_ENCRYPTED_PASSWORD_AES для шифрування буферів паролів при відправці по дроту. Дивись Використання шифрів AES (розділ 3.2.2.4) та SAMPR_ENCRYPTED_PASSWORD_AES (розділ 2.2.6.32).

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

Як це впливає на контролер домену лише для читання?

Для операцій із встановленням паролів потрібен записуваний контролер домену (RWDC). Змінені паролі пересилаються контролером домену лише для читання (RODC) до RWDC. Усі пристрої мають бути оновлені для використання AES. Наприклад:

  • Якщо клієнт, RODC або RWDC не оновлюється, буде використовуватися шифрування RC4.
  • Якщо клієнт, RODC і RWDC оновлені, буде використовуватися шифрування AES.
Журналювання подій

В оновленнях від 13 липня 2021 р. до системного журналу додано чотири нові події, що допомагає визначити неоновлені пристрої та допомагає підвищити безпеку.

  • Стан конфігурації Подія з ідентифікатором 16982 або 16983 реєструється під час запуску або зміни конфігурації реєстру.

    Ідентифікатор події 16982

    Журнал подій Система
    Джерело події Directory-Services-SAM
    Ідентифікатор події 16982
    Level (Рівень) Відомості
    Текстове повідомлення події Диспетчер облікових записів безпеки тепер записує докладні події для віддалених клієнтів, які викликають зміну застарілого пароля або встановлюють методи RPC. Цей параметр може викликати велику кількість повідомлень, і його слід використовувати лише протягом короткого періоду часу, щоб діагностувати проблеми.

    Ідентифікатор події 16983

    Журнал подій Система
    Джерело події Directory-Services-SAM
    Ідентифікатор події 16983
    Level (Рівень) Відомості
    Текстове повідомлення події Диспетчер облікових записів безпеки тепер записує періодичні зведені події для віддалених клієнтів, які викликають зміну застарілого пароля або встановлюють методи RPC.
  • Після застосування оновлення від 13 липня 2021 року зведена подія 16984 реєструється в системному журналі подій кожні 60 хвилин.

    Ідентифікатор події 16984

    Журнал подій Система
    Джерело події Directory-Services-SAM
    Ідентифікатор події 16984
    Level (Рівень) Відомості
    Текстове повідомлення події Диспетчер облікових записів безпеки виявив %x викликів зі зміною застарілого пароля або настройками методу RPC за останні 60 хвилин.
  • Після налаштування докладного журналювання подій ідентифікатор події 16985 реєструються в системному журналі подій щоразу, коли застарілий метод RPC використовується для змінення або встановлення пароля облікового запису.

    Ідентифікатор події 16985

    Журнал подій Система
    Джерело події Directory-Services-SAM
    Ідентифікатор події 16985
    Level (Рівень) Відомості
    Текстове повідомлення події Диспетчер облікових записів безпеки виявив використання застарілої зміни або встановленого методу віддаленого виклику від мережевого клієнта. Радимо оновити клієнтську операційну систему або програму, щоб використовувати найновішу та безпечнішу версію цього методу.
    Докладно:
    Метод RPC: %1
    Адреса клієнтської мережі: %2
    SID клієнта: %3
    Ім'я користувача: %4

    Щоб записати докладний журнал події з ідентифікатором 16985, увімкніть перемикач реєстру на контролері сервера або домену.

    Шлях HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM
    Тип REG_DWORD
    Ім'я значення AuditLegacyPasswordRpcMethods
    Дані значення 1 = докладне журналювання ввімкнуто
    0 or not present = докладне журналювання вимкнуто. Лише зведені події. (За замовчуванням)
Настроювання повторів PBKDF2 для змінення пароля

Як описано в SamrUnicodeChangePasswordUser4 (Opnum 73), під час використання нового методу SamrUnicodeChangePasswordUser4 клієнт і сервер використовуватимуть алгоритм PBKDF2, щоб отримати ключ шифрування та дешифрування зі старого пароля з відкритим текстом. Це пов'язано з тим, що старий пароль - це єдина загальна таємниця, яка відома як серверу, так і клієнту.

Докладні відомості про PBKDF2 див. в статті про функцію BCryptDeriveKeyPBKDF2 (bcrypt.h).

Якщо потрібно змінити пароль із міркувань продуктивності та безпеки, можна настроїти кількість ітерацій PBKDF2, що використовуються клієнтом для змінення пароля, установивши на клієнті таке значення реєстру:

Примітка.

Зменшення кількості ітерацій PBKDF2 знизить рівень безпеки.  Радимо не зменшувати число за замовчуванням. Проте ми радимо використовувати якнайбільше можливих ітерацій PBKDF2.

Шлях HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM
Тип REG_DWORD
Ім'я значення Ітерації PBKDF2
Дані значення від 5000 до максимум 1000000;
Значення за замовчуванням 10 000

Примітка.

PBKDF2 не використовується для операцій із встановленням паролів. Для операцій із встановленням паролів ключ сеансу SMB – це спільний секрет між клієнтом і сервером, який слугує основою для створення ключів шифрування.

Докладні відомості див. в статті "Отримання ключа сеансу SMB".

Запитання й відповіді

Які сценарії спровокують зниження рейтингу з AES до RC4?

Пониження версії відбувається, коли сервер або клієнт не підтримує стандарт AES.

Як я можу визначити, чи було узгоджено шифрування RC4 чи шифрування AES?

Оновлені сервери реєструватимуть події, якщо використовуються застарілі методи з RC4.

Чи можна вимагати шифрування AES на сервері, і чи застосовуватиметься шифрування AES програмно в майбутніх оновленнях Windows?

Наразі режим примусового застосування недоступний, але він може з'явитися в майбутньому. У нас немає дати.

Чи підтримують сторонні клієнти захист для CVE-2021-33757, щоб домовитися про AES, якщо сервер підтримує? Чи потрібно звертатися до служби підтримки Microsoft або сторонньої служби підтримки, щоб отримати відповіді на це запитання?

Якщо сторонній пристрій не використовує протокол SAMR, то це не важливо. Сторонні постачальники, які впроваджують протокол MS-SAMR, можуть вирішити реалізувати цю програму. Із будь-якими запитаннями звертайтеся до стороннього постачальника.

Чи потрібно вносити додаткові зміни до конфігурації?

Додаткові зміни не потрібні.

Для чого використовується цей протокол?

Цей протокол застарілий, і ми очікуємо, що його використання буде дуже низьким. Ці API можуть використовувати застарілі програми. Крім того, деякі засоби Active Directory, наприклад "Користувачі AD" і "Комп'ютери" використовують SAMR.

Чи впливає це на змінення паролів із використанням протоколу Kerberos або інших протоколів?

Ні. Це стосується лише змін паролів, які використовують ці конкретні API SAMR.

Чи можна вплинути на продуктивність контролера домену?

Так. PBKDF2 коштує дорожче, ніж RC4. Якщо одночасно відбувається багато змін паролів на контролері домену, який викликає API SamrUnicodeChangePasswordUser4 , це може вплинути на навантаження на ЦП LSASS. За потреби можна налаштувати ітерації PBKDF2 на клієнтах, проте ми не рекомендуємо зменшувати значення за замовчуванням, оскільки це знизить безпеку.

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

Автентифіковане шифрування за допомогою AES-CBC та HMAC-SHA

Використання шифрів AES

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

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