KB5004605: Aktualizacja dodaje zabezpieczenia szyfrowania AES do protokołu MS-SAMR dla CVE-2021-33757

Podsumowanie

Aktualizacje systemu Windows z 13 lipca 2021 r. i późniejsze aktualizacje systemu Windows dodają ochronę przed luką CVE-2021-33757.

Po zainstalowaniu aktualizacji systemu Windows z 13 lipca 2021 r. lub nowszych aktualizacji systemu Windows, szyfrowanie Advanced Encryption Standard (AES) będzie preferowaną metodą na klientach z systemem Windows podczas używania starszego protokołu MS-SAMR do operacji na hasłach, jeśli szyfrowanie AES jest obsługiwane przez serwer SAM. Jeśli serwer SAM nie obsługuje szyfrowania AES, dozwolony będzie powrót do starszego szyfrowania RC4.

Zmiany w CVE-20201-33757 są specyficzne dla protokołu MS-SAMR i są niezależne od innych protokołów uwierzytelniania. Protokół MS-SAMR używa protokołu SMB przez RPC i potoków nazwanych. Mimo że protokół SMB również obsługuje szyfrowanie, domyślnie nie jest ono włączone. Domyślnie zmiany w CVE-20201-33757 są włączone i zapewniają dodatkowe zabezpieczenia w warstwie SAM. Nie są wymagane żadne dodatkowe zmiany w konfiguracji poza zainstalowaniem ochrony przed luką CVE-20201-33757 zawartej w aktualizacjach systemu Windows z 13 lipca 2021 r. lub nowszych aktualizacjach systemu Windows we wszystkich obsługiwanych wersjach systemu Windows. Nieobsługiwane wersje systemu Windows powinny zostać wycofane lub uaktualnione do obsługiwanej wersji.

Uwaga: CVE-2021-33757 modyfikuje tylko sposób szyfrowania haseł podczas przesyłania w przypadku korzystania z określonych interfejsów API protokołu MS-SAMR, a w szczególności NIE modyfikuj sposobu przechowywania haseł w spoczynku. Aby uzyskać więcej informacji na temat sposobu szyfrowania haseł w spoczynku w usłudze Active Directory i lokalnie w bazie danych SAM (rejestrze), zobacz Omówienie haseł.

Więcej informacji

Zmiany wprowadzone przez aktualizacje z 13 lipca 2021 r.
Jak działa nowe zachowanie?

Istniejąca metoda SamrConnect5 jest zwykle używana do nawiązywania połączenia między klientem i serwerem SAM.

Zaktualizowany serwer zwróci teraz nowy bit w odpowiedzi SamrConnect5() zgodnie z definicją w SAMPR_REVISION_INFO_V1.

Wartość Znaczenie
0x00000010 Po odebraniu przez klienta ustawienie tej wartości oznacza, że klient powinien używać szyfrowania AES ze strukturą SAMPR_ENCRYPTED_PASSWORD_AES do szyfrowania buforów haseł wysyłanych przez sieć. Zobacz Użycie szyfru AES (sekcja 3.2.2.4) i SAMPR_ENCRYPTED_PASSWORD_AES (sekcja 2.2.6.32).

Jeśli zaktualizowany serwer obsługuje AES, klient będzie używał nowych metod i nowych klas informacji do operacji na hasłach. Jeśli serwer nie zwróci tej flagi lub jeśli klient nie zostanie zaktualizowany, klient powróci do poprzednich metod z szyfrowaniem RC4.

W jaki sposób wpływa to na kontroler domeny tylko do odczytu?

Operacje zestawu haseł wymagają zapisywalnego kontrolera domeny (RWDC). Zmiany haseł są przekazywane przez kontroler domeny tylko do odczytu (RODC) do kontrolera RWDC. Wszystkie urządzenia muszą zostać zaktualizowane, aby można było korzystać z AES. Na przykład:

  • Jeśli klient, kontroler RODC lub kontroler RWDC nie został zaktualizowany, zostanie zastosowane szyfrowanie RC4.
  • Jeśli klient, kontroler RODC i funkcja RWDC zostaną zaktualizowane, zostanie zastosowane szyfrowanie AES.
Rejestrowanie zdarzeń

Aktualizacje z 13 lipca 2021 r. dodają cztery nowe zdarzenia do dziennika systemu, aby ułatwić identyfikowanie urządzeń, które nie zostały zaktualizowane, i poprawić bezpieczeństwo.

  • Stan konfiguracji Zdarzenie o identyfikatorze 16982 lub 16983 jest rejestrowane podczas uruchamiania lub po zmianie konfiguracji rejestru.

    Identyfikator zdarzenia: 16982

    Dziennik zdarzeń Systemowy
    Źródło zdarzenia Directory-Services-SAM
    Identyfikator zdarzenia 16982
    Poziom Informacje
    Tekst komunikatu zdarzenia Menedżer kont zabezpieczeń rejestruje teraz pełne zdarzenia dla klientów zdalnych, którzy wywołują starszą zmianę hasła lub ustawiają metody RPC. To ustawienie może powodować wyświetlanie dużej liczby komunikatów i powinno być używane tylko przez krótki czas w celu diagnozowania problemów.

    Identyfikator zdarzenia: 16983

    Dziennik zdarzeń Systemowy
    Źródło zdarzenia Directory-Services-SAM
    Identyfikator zdarzenia 16983
    Poziom Informacje
    Tekst komunikatu zdarzenia Menedżer kont zabezpieczeń rejestruje teraz okresowe zdarzenia podsumowania dla klientów zdalnych, którzy wywołują zmianę starszego hasła lub ustawiają metody RPC.
  • Po zastosowaniu aktualizacji z 13 lipca 2021 r. co 60 minut w dzienniku zdarzeń systemowych jest rejestrowane zdarzenie podsumowania 16984.

    Identyfikator zdarzenia: 16984

    Dziennik zdarzeń Systemowy
    Źródło zdarzenia Directory-Services-SAM
    Identyfikator zdarzenia 16984
    Poziom Informacje
    Tekst komunikatu zdarzenia Menedżer kont zabezpieczeń wykrył %x starszą zmianę hasła lub ustawienia wywołań metody RPC w ciągu ostatnich 60 minut.
  • Po skonfigurowaniu pełnego rejestrowania zdarzeń identyfikator zdarzenia 16985 jest rejestrowany w dzienniku zdarzeń systemowych za każdym razem, gdy do zmiany lub ustawienia hasła konta zostanie użyta starsza metoda RPC.

    Identyfikator zdarzenia: 16985

    Dziennik zdarzeń Systemowy
    Źródło zdarzenia Directory-Services-SAM
    Identyfikator zdarzenia 16985
    Poziom Informacje
    Tekst komunikatu zdarzenia Menedżer konta zabezpieczeń wykrył użycie starszej metody zmiany lub ustawienia RPC z klienta sieciowego. Rozważ uaktualnienie systemu operacyjnego lub aplikacji klienta, aby korzystać z najnowszej i bezpieczniejszej wersji tej metody.
    Szczegóły:
    Metoda RPC: %1
    Adres sieciowy klienta: %2
    SID klienta: %3
    Nazwa użytkownika: %4

    Aby zarejestrować pełne zdarzenie o identyfikatorze 16985, przełącz następującą wartość rejestru na serwerze lub kontrolerze domeny.

    Ścieżka HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM
    Type (Typ) REG_DWORD
    Nazwa wartości AuditLegacyPasswordRpcMethods
    Dane wartości 1 = pełne rejestrowanie jest włączone
    0 lub nie istnieje = pełne rejestrowanie jest wyłączone. Tylko zdarzenia podsumowania. (domyślnie)
Konfigurowanie iteracji PBKDF2 dla zmiany hasła

Zgodnie z opisem w SamrUnicodeChangePasswordUser4 (Opnum 73), gdy używasz nowej metody SamrUnicodeChangePasswordUser4 , klient i serwer używają algorytmu PBKDF2 do uzyskania klucza szyfrowania i odszyfrowywania ze starego hasła w postaci zwykłego tekstu. Jest to spowodowane tym, że stare hasło jest jedynym wspólnym wpisem tajnym znanym zarówno serwerowi, jak i klientowi.

Aby uzyskać więcej informacji o PBKDF2, zobacz BCryptDeriveKeyPBKDF2, funkcja (bcrypt.h).

Jeśli zmiana jest konieczna ze względu na wydajność i bezpieczeństwo, można dostosować liczbę iteracji PBKDF2 używanych przez klienta do zmiany hasła, ustawiając następującą wartość rejestru na kliencie.

Uwaga

Zmniejszenie liczby iteracji PBKDF2 zmniejszy bezpieczeństwo.  Nie zalecamy zmniejszania tej liczby w stosunku do wartości domyślnej. Zalecamy jednak użycie jak największej liczby iteracji PBKDF2.

Ścieżka HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM
Type (Typ) REG_DWORD
Nazwa wartości PBKDF2Iteracje
Dane wartości Od 5 000 do 1 000 000
Wartość domyślna 10 000

Uwaga

PBKDF2 nie jest używany do operacji ustawiania haseł. W przypadku operacji ustawiania haseł klucz sesji SMB jest wspólnym wpisem tajnym między klientem a serwerem i służy jako podstawa do wyprowadzania kluczy szyfrowania.

Aby uzyskać więcej informacji, zobacz Uzyskiwanie klucza sesji SMB.

Często zadawane pytania (FAQ)

Jakie scenariusze powodują obniżenie wersji z AES na RC4?

Obniżanie wersji ma miejsce, gdy serwer lub klient nie obsługuje AES.

Jak mogę sprawdzić, czy wynegocjowano szyfrowanie RC4 lub szyfrowanie AES?

Zaktualizowane serwery będą rejestrować zdarzenia w przypadku użycia starszych metod z RC4.

Czy mogę wymagać szyfrowania AES na serwerze i czy przyszłe aktualizacje systemu Windows będą programowo wymuszać korzystanie z AES?

Obecnie nie jest dostępny tryb wymuszania, ale może być dostępny w przyszłości. Nie mamy daty.

Czy klienci innych firm obsługują zabezpieczenia przed luką CVE-2021-33757 do negocjowania AES, gdy jest obsługiwane przez serwer? Czy mam skontaktować się z pomoc techniczną firmy Microsoft lub zespołem pomocy technicznej innej firmy, aby odpowiedzieć na to pytanie?

Jeśli urządzenie innej firmy nie używa protokołu SAMR, nie jest to ważne. Dostawcy zewnętrzni, którzy implementują protokół MS-SAMR, mogą zdecydować się na implementację tego. W razie pytań skontaktuj się z dostawcą zewnętrznym.

Czy trzeba wprowadzić dodatkowe zmiany w konfiguracji?

Nie są wymagane żadne dodatkowe zmiany.

Co wykorzystuje ten protokół?

Ten protokół jest przestarzały i przewidujemy, że jego użycie będzie bardzo niskie. Starsze aplikacje mogą korzystać z tych interfejsów API. Ponadto niektóre narzędzia usługi Active Directory, takie jak Użytkownicy i komputery usługi AD w konsoli MMC, używają funkcji SAMR.

Czy wpływa to na zmiany haseł korzystających z protokołu Kerberos lub innych protokołów?

Nie. Dotyczy to tylko zmian haseł korzystających z tych określonych interfejsów API SAMR.

Czy może to mieć wpływ na wydajność kontrolera domeny?

Tak. PBKDF2 jest droższy niż RC4. Jeśli w tym samym czasie na kontrolerze domeny wywołującym interfejs API SamrUnicodeChangePasswordUser4 występuje wiele zmian haseł, może to mieć wpływ na obciążenie procesora LSASS. W razie potrzeby można dostroić iteracje PBKDF2 na klientach, jednak nie zalecamy zmniejszania w stosunku do wartości domyślnej, ponieważ obniżyłoby to poziom zabezpieczeń.

Źródła informacji

Uwierzytelnione szyfrowanie za pomocą AES-CBC i HMAC-SHA

Użycie szyfru AES

Zastrzeżenie dotyczące innych firm

Udostępnimy informacje kontaktowe innych firm ułatwiające znajdowanie pomocy technicznej. Niniejsze informacje kontaktowe mogą ulec zmianie bez powiadomienia. Nie gwarantujemy, że podane informacje kontaktowe innych firm są dokładne.