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

Сводка

Обновления Windows от 13 июля 2021 г. и более поздние обновления Windows добавляют средства защиты от CVE-2021-33757.

После установки обновлений Windows от 13 июля 2021 г. или более поздних обновлений Windows шифрование Advanced Encryption 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 г.
Как работает новое поведение?

Существующий метод 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 г. каждые 60 минут в журнале системных событий регистрируется сводное событие 16984.

    Код события 16984

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

    Код события 16985

    Журнал событий Система
    Источник события Directory-Services-SAM
    Идентификатор события 16985
    Уровень Сведения
    Текст сообщения о событии Диспетчер учетных записей безопасности обнаружил использование устаревшего изменения или установленного метода RPC из сетевого клиента. Рассмотрите возможность обновления клиентской операционной системы или приложения для использования последней и более безопасной версии этого метода.
    Подробности:
    Метод RPC: %1
    Адрес клиентской сети: %2
    SID клиента: %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
Имя значения PBKDF2Итерации
Данные значения От 5 000 до максимум 1 000 000
Значение по умолчанию 10 000

Примечание

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

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

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

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

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

Как узнать, было ли согласовано шифрование RC4 или AES?

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

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

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

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

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

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

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

Как используется этот протокол?

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

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

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

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

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

Ссылки

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

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

Заявление об отказе от ответственности за продукцию сторонних производителей

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