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. Если шифрование AES не поддерживается сервером SAM, будет разрешено восстановление устаревшего шифрования 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)

    Полный список opNums 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 со структурой 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
    Уровень Сведения
    Текст сообщения о событии Диспетчер учетных записей безопасности теперь регистрируется в журнале подробных событий для удаленных клиентов, которые вызывают устаревшие методы изменения пароля или задают методы RPC. Этот параметр может вызвать большое количество сообщений и должен использоваться только в течение короткого периода времени для диагностики проблем.

    Идентификатор события 16983

    Журнал событий Система
    Источник события Directory-Services-SAM
    Идентификатор события 16983
    Уровень Сведения
    Текст сообщения о событии Теперь диспетчер учетных записей безопасности регистрируется в журнале периодических сводных событий для удаленных клиентов, которые вызывают устаревшие методы изменения пароля или задают методы RPC.
  • После применения обновления от 13 июля 2021 г. сводное событие 16984 регистрируется в журнале системных событий каждые 60 минут.

    Идентификатор события 16984

    Журнал событий Система
    Источник события Directory-Services-SAM
    Идентификатор события 16984
    Уровень Сведения
    Текст сообщения о событии За последние 60 минут диспетчер учетных записей безопасности обнаружил %x устаревшую смену пароля или задал вызовы метода RPC.
  • После настройки подробного ведения журнала событий событие с идентификатором 16985 регистрируется в системном журнале событий каждый раз, когда устаревший метод RPC используется для изменения или задания пароля учетной записи.

    Идентификатор события 16985

    Журнал событий Система
    Источник события Directory-Services-SAM
    Идентификатор события 16985
    Уровень Сведения
    Текст сообщения о событии Диспетчер учетных записей безопасности обнаружил использование устаревшего изменения или задать метод RPC из сетевого клиента. Рассмотрите возможность обновления клиентской операционной системы или приложения, чтобы использовать последнюю и более безопасную версию этого метода.
    Подробности:
    Метод RPC: %1
    Сетевой адрес клиента: %2
    Идентификатор безопасности клиента: %3
    Имя пользователя: %4

    Чтобы записать в журнал подробное событие с идентификатором 16985, переключите следующее значение реестра на сервере или контроллере домена.

    Путь HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM
    Тип REG_DWORD
    Имя значения AuditLegacyPasswordRpcMethods
    Данные значения 1 = подробное ведение журнала включено
    0 или нет = подробное ведение журнала отключено. Только события сводки. (По умолчанию)
Настройка итераций PBKDF2 для изменения пароля

Как описано в статье SamrUnicodeChangePasswordUser4 (Opnum 73), при использовании нового метода SamrUnicodeChangePasswordUser4 клиент и сервер будут использовать алгоритм PBKDF2 для получения ключа шифрования и расшифровки из старого пароля в виде обычного текста. Это связано с тем, что старый пароль является единственным общим секретом, который известен как серверу, так и клиенту.

Дополнительные сведения о функции PBKDF2 см. в статье Функция BCryptDeriveKeyPBKDF2 (bcrypt.h).

Если необходимо внести изменения по соображениям производительности и безопасности, можно настроить количество итераций PBKDF2, используемых клиентом для изменения пароля, задав для клиента следующее значение реестра.

Примечание

Уменьшение числа итераций PBKDF2 приведет к снижению безопасности.  Не рекомендуется уменьшать число по умолчанию. Однако рекомендуется использовать максимально возможное количество итераций PBKDF2.

Путь HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM
Тип REG_DWORD
Имя значения PBKDF2Iterations
Данные значения От 5 000 до максимум 1 000 000
Значение по умолчанию 10 000

Примечание

PBKDF2 не используется для операций установки пароля. Для операций установки паролей ключ сеанса SMB является общим секретом между клиентом и сервером и используется в качестве основы для получения ключей шифрования.

Дополнительные сведения см. в разделе Получение ключа сеанса SMB.

Часто задаваемые вопросы

В каких сценариях запускается переход с AES на RC4?

Переход на более раннюю версию происходит, если сервер или клиент не поддерживает AES.

Как определить, согласовано ли шифрование RC4 или шифрование AES?

Обновленные серверы регистрируют события при использовании устаревших методов с RC4.

Можно ли требовать шифрование AES на сервере и будут ли будущие обновления Windows принудительно применять с помощью AES?

В настоящее время режим принудительного применения отсутствует, но он может существовать в будущем. У нас нет даты.

Поддерживают ли сторонние клиенты защиту CVE-2021-33757 для согласования AES при поддержке сервера? Следует ли обратиться в служба поддержки Майкрософт или стороннюю службу поддержки для решения этого вопроса?

Если стороннее устройство не использует протокол SAMR, это не важно. Сторонние поставщики, которые реализуют протокол MS-SAMR, могут реализовать его. По любым вопросам обратитесь к стороннему поставщику.

Нужно ли вносить дополнительные изменения в конфигурацию?

Никаких дополнительных изменений не требуется.

Что использует этот протокол?

Этот протокол является устаревшим, и мы ожидаем, что его использование очень низко. Устаревшие приложения могут использовать эти API. Кроме того, некоторые средства Active Directory, такие как пользователи и компьютеры AD MMC, используют SAMR.

Влияют ли изменения паролей, использующие протокол Kerberos или другие протоколы?

Нет. Затрагиваются только изменения паролей, использующие эти конкретные API SAMR.

Можно ли повлиять на производительность контроллера домена?

Да. PBKDF2 дороже, чем RC4. Если на контроллере домена одновременно происходит много изменений паролей, вызывающих API SamrUnicodeChangePasswordUser4 , может быть затронута загрузка ЦП LSASS. При необходимости можно настроить итерации PBKDF2 на клиентах, однако мы не рекомендуем уменьшать значения по умолчанию, так как это снизит безопасность.

Ссылки

Шифрование с проверкой подлинности с помощью AES-CBC и HMAC-SHA

Использование шифра AES

Заявление об отказе от ответственности со сторонними сведениями

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