KB5004605: 업데이트가 CVE-2021-33757용 MS-SAMR 프로토콜에 AES 암호화 보호 기능을 추가합니다

요약

2021년 7월 13일 Windows 업데이트 및 이후 Windows 업데이트는 CVE-2021-33757에 대한 보호 기능을 추가합니다.

2021년 7월 13일 Windows 업데이트 또는 이후 Windows 업데이트를 설치한 후, AES(Advanced Encryption Standard) 암호화는 AES 암호화가 SAM 서버에서 지원되는 경우 암호 작업에 레거시 MS-SAMR 프로토콜을 사용할 때 Windows 클라이언트에서 선호되는 메서드입니다. AES 암호화가 SAM 서버에서 지원되지 않는 경우 레거시 RC4 암호화로의 대체가 허용됩니다.

CVE-20201-33757의 변경 내용은 MS-SAMR 프로토콜에만 해당되며 다른 인증 프로토콜과는 무관합니다. MS-SAMR 은 RPC를 통한 SMB 및 명명된 파이프를 사용합니다. SMB는 암호화도 지원하나 기본적으로 사용하도록 설정되어 있지 않습니다. 기본적으로 CVE-20201-33757 의 변경 사항은 사용하도록 설정되며 SAM 계층에서 추가 보안 기능을 제공합니다. 지원되는 모든 Windows 버전에서 2021년 7월 13일 Windows 업데이트 또는 이후 Windows 업데이트에 포함된 CVE-20201-33757 에 대한 보호 기능을 설치하는 것 외에 추가 구성 변경이 필요하지 않습니다. 지원되지 않는 Windows 버전은 중단하거나 지원되는 버전으로 업그레이드해야 합니다.

참고: CVE-2021-33757은 MS-SAMR 프로토콜의 특정 API를 사용할 때 전송 중에 암호가 암호화되는 방법만 수정하며, 특히 암호가 미사용 상태로 저장되는 방법은 수정하지 않습니다. Active Directory 및 SAM 데이터베이스(레지스트리)에서 로컬로 암호를 암호화하는 방법에 대한 자세한 내용은 암호 개요를 참조하세요.

추가 정보

2021년 7월 13일 업데이트의 변경 내용
새 동작은 어떻게 작동하나요?

기존 SamrConnect5 메서드는 일반적으로 SAM 클라이언트와 서버 간에 연결을 설정하는 데 사용됩니다.

이제 업데이트된 서버는 SAMPR_REVISION_INFO_V1에 정의된 대로 SamrConnect5() 응답에서 새 비트를 반환합니다.

Value 의미
0x00000010 클라이언트가 수신할 때 이 값이 설정되면 클라이언트가 유선을 통해 전송될 때 암호 버퍼를 암호화하기 위해 SAMPR_ENCRYPTED_PASSWORD_AES 구조와 함께 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 암호화가 사용됩니다.
이벤트 로깅

2021년 7월 13일 업데이트는 시스템 로그에 4개의 새 이벤트를 추가하여 업데이트되지 않은 장치를 식별하고 보안을 개선하는 데 도움을 줍니다.

  • 구성 상태 이벤트 ID 16982 또는 16983은 시작 시 또는 레지스트리 구성 변경 시 로그온됩니다.

    이벤트 ID 16982

    이벤트 로그 시스템
    이벤트 원본 directory-services-sam
    이벤트 ID 16982
    수준 정보
    이벤트 메시지 텍스트 보안 계정 관리자는 이제 레거시 암호 변경을 호출하거나 RPC 메서드를 설정하는 원격 클라이언트에 대한 자세한 이벤트를 기록합니다. 이 설정은 많은 수의 메시지를 생성할 수 있으며 문제 진단을 위해 짧은 시간 동안만 사용해야 합니다.

    이벤트 ID 16983

    이벤트 로그 시스템
    이벤트 원본 directory-services-sam
    이벤트 ID 16983
    수준 정보
    이벤트 메시지 텍스트 보안 계정 관리자는 이제 레거시 암호 변경을 호출하거나 RPC 메서드를 설정하는 원격 클라이언트의 주기적인 요약 이벤트를 기록합니다.
  • 2021년 7월 13일 업데이트를 적용한 후 60분마다 요약 이벤트 16984가 시스템 이벤트 로그에 기록됩니다.

    이벤트 ID 16984

    이벤트 로그 시스템
    이벤트 원본 directory-services-sam
    이벤트 ID 16984
    수준 정보
    이벤트 메시지 텍스트 보안 계정 관리자는 지난 60분 동안 %x 레거시 암호 변경을 감지했거나 RPC 메서드 호출을 설정했습니다.
  • 자세한 이벤트 로깅을 구성한 후 레거시 RPC 메서드를 사용하여 계정 암호를 변경하거나 설정할 때마다 이벤트 ID 16985가 시스템 이벤트 로그에 기록됩니다.

    이벤트 ID 16985

    이벤트 로그 시스템
    이벤트 원본 directory-services-sam
    이벤트 ID 16985
    수준 정보
    이벤트 메시지 텍스트 보안 계정 관리자는 레거시 변경의 사용을 감지했거나 네트워크 클라이언트에서 RPC 메서드를 설정했습니다. 이 메서드의 최신 보안 버전을 사용하려면 클라이언트 운영 체제 또는 애플리케이션을 업그레이드하는 것이 좋습니다.
    세부 정보:
    RPC 메서드: %1
    클라이언트 네트워크 주소: %2
    클라이언트 SID: %3
    사용자 이름: %4

    이벤트 ID 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 세션 키 획득을 참조하세요.

자주 묻는 질문(FAQ)

AES에서 RC4로의 다운그레이드를 유발하는 시나리오는 무엇인가요?

서버 또는 클라이언트가 AES를 지원하지 않는 경우 다운그레이드가 발생합니다.

RC4 암호화 또는 AES 암호화가 협상되었는지 어떻게 알 수 있나요?

업데이트된 서버는 RC4를 사용하는 레거시 메서드를 사용할 때 이벤트를 기록합니다.

서버에 AES 암호화를 요구할 수 있나요? 향후 Windows 업데이트에서는 AES를 사용하여 프로그래밍 방식으로 적용하게 될까요?

현재 사용할 수 있는 적용 모드는 없지만 앞으로 있을 수 있습니다. 정해진 날짜는 없습니다.

타사 클라이언트가 서버에서 지원되는 경우 AES를 협상하기 위해 CVE-2021-33757에 대한 보호를 지원하나요? 이 질문에 대한 답을 얻으려면 Microsoft 지원 또는 타사 지원팀에 문의해야 하나요?

타사 디바이스가 SAMR 프로토콜을 사용하지 않는 경우 이는 중요하지 않습니다. MS-SAMR 프로토콜을 구현하는 타사 공급업체는 이를 구현하도록 선택할 수 있습니다. 궁금한 점이 있으면 타사 공급업체에 문의하세요.

추가로 구성을 변경해야 하나요?

추가 변경은 필요하지 않습니다.

무엇이 이 프로토콜을 사용하나요?

이 프로토콜은 레거시로, 사용 빈도가 매우 낮을 것으로 예상됩니다. 레거시 애플리케이션은 이러한 API를 사용할 수 있습니다. 또한 AD 사용자 및 컴퓨터 MMC와 같은 일부 Active Directory 도구는 SAMR을 사용합니다.

Kerberos 프로토콜 또는 기타 프로토콜을 사용하는 암호 변경이 영향을 받나요?

아니요. 이러한 특정 SAMR API를 사용하는 암호 변경만 영향을 받습니다.

도메인 컨트롤러 성능이 영향을 받을 수 있나요?

예. PBKDF2는 RC4보다 비쌉니다. SamrUnicodeChangePasswordUser4 API를 호출하는 도메인 컨트롤러에서 동시에 많은 암호 변경이 발생하는 경우 LSASS의 CPU 부하에 영향을 줄 수 있습니다. 필요한 경우 클라이언트에서 PBKDF2 반복을 조정할 수 있지만, 보안이 저하될 수 있기 때문에 기본값에서 줄이지 않는 것이 좋습니다.

참조

AES-CBC 및 HMAC-SHA를 사용하는 인증된 암호화

AES 암호 사용

타사 정보 고지 사항

Microsoft는 타사 연락처 정보를 제공하여 기술 지원을 받도록 도와줍니다. 이 연락처 정보는 공지 없이 변경될 수 있습니다. Microsoft는 이 타사 정보의 정확성을 보장하지 않습니다.