Netwrix 1Secure는 데이터와 아이덴티티 전반에 걸쳐 통합된 가시성을 제공합니다 - 14일간 무료로 전체 액세스가 가능합니다.무료 평가판 시작

리소스 센터블로그

Windows Defender Credential Guard를 사용해 특권 자격 증명 보호하기

Windows Defender Credential Guard를 사용해 특권 자격 증명 보호하기

Mar 17, 2023

단 하나의 Active Directory 자격 증명이 손상되면, 기업 전반에 걸쳐 서버, 애플리케이션, 가상화 플랫폼 및 사용자 파일에 대한 무단 액세스로 이어질 수 있습니다. 자격 증명 취약성의 한 가지 이유는 Windows가 자격 증명을 메모리 내 프로세스인 로컬 보안 기관(Local Security Authority, LSA)에 저장하기 때문입니다.

따라서 Windows 계정이 손상되지 않도록 보호하는 보안 전략을 마련하는 것이 중요합니다. 특히 회사의 시스템과 비밀정보에 대한 권한이 높은(관리자급) 권한 계정은 더욱 그렇습니다. 다행히 Microsoft는 Active Directory 도메인에서 자격 증명(credential) 탈취를 예방하는 데 도움이 되는 보안 도구를 제공합니다: Windows Defender Credential Guard. 이 문서에서는 작동 방식에 대해 설명합니다.

Windows Defender Credential Guard 소개

Windows Defender Credential Guard 는 Microsoft가 Windows 10 Enterprise 및 Windows Server 2016에 도입한 보안 기능입니다. Credential Guard는 가상화 기반 보안과 격리된 메모리 관리를 활용하여 도메인 자격 증명에 접근할 수 있는 것은 권한이 있는(특권) 시스템 소프트웨어만이 되도록 보장합니다. 프로세스를 가상화된 환경에서 실행함으로써 사용자 로그인 정보는 나머지 운영 체제와 분리(격리)되며, 도메인 자격 증명은 공격으로부터 보호됩니다. Credential Guard는 NTLM 비밀번호 해시, Kerberos 티켓, 로컬 로그인용 자격 증명 및 Credential Manager의 도메인 자격 증명뿐 아니라 원격 데스크톱 연결도 보호합니다. Credential Guard와 Device Guard를 혼동하지 마세요. Device Guard는 장치에서 승인되지 않은 코드가 실행되는 것을 방지합니다.

하지만 이 기능을 활성화하는 데에는 비용이 따릅니다. Windows Defender를 활성화하면 도메인의 Windows 서버와 디바이스는 NTLMv1, Digest, CredSSP, MS-CHAPv2 같은 레거시 인증 프로토콜을 더 이상 사용할 수 없으며, Kerberos 무제한 위임 및 DES 암호화도 사용할 수 없습니다.

Credential Guard는 Mimikatz에 대해 보호할 수 있나요?

외부 위협 행위자는 LSA에 메모리에 있는 비밀 정보를 질의한 다음 해시 또는 티켓을 손상시켜 엔드포인트에 대한 권한 있는 액세스를 획득할 수 있습니다. Credential Guard는 Pass-The-HashPass-The-Ticket 공격으로부터 조직을 보호하는 데 도움이 됩니다. 이 공격은 측면 이동(lateral movement) 중에 권한을 탈취하고 권한을 상승시키는 데 사용되므로, Windows 플랫폼을 실행하고 최신 인증 프로토콜을 사용하는 모든 엔드포인트와 서버에는 Credential Guard를 활성화해야 합니다.

하지만 안타깝게도 Credential Guard는 격리된 LSA를 질의할 수 없더라도 Mimikatz 같은 도구에 대해 완전히 보호하지는 못합니다. 그 이유는 Mimikatz가 입력되는 자격 증명을 캡처할 수 있기 때문입니다. Mimikatz의 저자는 tweet 에서, 악의적인 행위자가 엔드포인트를 장악하고 기기가 장악된 이후에 권한 있는 사용자가 로그인하면, 그들이 자격 증명을 확보하고 권한을 상승시킬 수 있다고 언급했습니다.

Credential Guard는 또한, 다른 계정의 자격 증명을 훔치려 하지 않고 자신의 자격 증명을 사용해 IT 자산에 접근하는 Windows 내부자(인사이더)를 상대로도 보호할 수 없습니다. 예를 들어, 회사의 IP에 대한 정당한 접근 권한이 있는 불만을 품은 직원이 조직을 떠나기 전에 해당 IP를 복사하는 것을 Credential Guard로 막을 수는 없습니다.

Windows Defender Credential Guard 활성화

사전 요구 사항

Credential Guard는 Windows 하이퍼바이저를 사용하므로, 이를 실행하는 모든 Windows 장치는 다음 요구 사항을 충족해야 합니다:

  • 64비트 CPU
  • 가상화 기반 보안 지원
  • 보안 부팅

또한 Trusted Platform Module (TPM)이 하드웨어에 대한 바인딩을 제공하므로 더 권장됩니다. 버전 1.2와 2.0이 지원되며, 디스크리트 또는 펌웨어 형태 모두 가능합니다.

자격 증명 가드(Credential Guard) 사용 설정

Windows Defender Credential Guard는 레거시 인증 프로토콜에 여전히 의존하는 Windows 장치에서는 실행할 수 없기 때문에 기본적으로 활성화되어 있지 않습니다. 도메인에서 이를 사용하려면 Intune 또는 그룹 정책.

옵션 1: Intune을 사용하여 자격 증명 가드(Credential Guard) 사용 설정

Intune 포털에서 다음으로 이동합니다: Endpoint Security > Account Protection. 그런 다음 정책을 만들고 다음 구성 설정을 선택합니다:

  • 플랫폼: Windows 10 이상
  • 프로필: 계정 보호(미리보기)
Microsoft Endpoint Manager showing creation of an Endpoint security Account protection profile for Windows 10 and later.

그림 1. 계정 보호 프로필 만들기

정책 이름을 지정합니다. 그런 다음 구성 설정 단계에서 Turn on Credential Guard의 값을 Enable with UEFI lock 로 설정합니다. 이렇게 하면 Credential Guard를 원격으로 비활성화할 수 없습니다.

Screenshot of Microsoft Endpoint Manager showing

그림 2. 계정 보호 프로필 구성하기

옵션 2: 그룹 정책을 사용하여 Credential Guard 활성화

또는 Group Policy Manager를 사용하여 Credential Guard를 활성화할 수 있습니다. GPO를 만든 다음 Computer Configuration > Administrative Templates > System > Device Guard로 이동합니다. 그런 다음 Turn on Virtualization Based SecurityEnabled 로 설정합니다(아래 그림 참고).

Group Policy Editor showing

그림 3. 그룹 정책을 사용하여 Credential Guard 사용 설정

활성화 여부 확인

Intune 또는 Group Policy를 사용해 Credential Guard를 활성화하면, 정책에 할당된 모든 컴퓨터에서 Lsalso.exe 프로세스가 실행 중인 것을 확인할 수 있어야 합니다.

Windows Task Manager, Details tab, highlighting the Lsalso.exe process identified as Credential Guard.

그림 4. Credential Guard가 활성화되어 있는지 확인

작동 중인 Credential Guard

Credential Guard가 활성화되어 있지 않으면 해커가 mimikatz를 사용해 현재 LSA 프로세스에 저장된 자격 증명을 조회함으로써, 아래에 표시된 것처럼 해당 컴퓨터에 원격으로 로그인한 계정의 NTLM 해시를 얻을 수 있습니다.

A Mimikatz terminal displays NTLM password hashes, with one highlighted in yellow.

그림 5. Credential Guard가 활성화되어 있지 않으면 mimikatz가 메모리에 저장된 해시를 수집할 수 있습니다.

하지만 Credential Guard가 활성화되면 자격 증명을 저장하기 위해 격리된 LSA 프로세스가 사용됩니다. 따라서 mimikatz로 동일한 서버를 다시 조회하더라도 덤프에서 NTLM 해시를 얻지 못합니다.

A command-line interface showing Mimikatz output with user logon credentials and NTLM hashes.

그림 6. Credential Guard가 활성화되면 mimikatz가 메모리에 저장된 해시를 수집할 수 없습니다.

Credential Guard는 아래에 표시된 것처럼 Pass-the-Ticket 공격에 대해서도 효과적입니다.

A Mimikatz console window showing Kerberos ticket data for user

결론

악의적인 공격자가 도메인 내에서 가로이동(lateral movement)하고 권한을 상승(escalate)하는 데 사용하는 공격 경로(attack vectors)를 제한하는 것은 모든 보안 담당 기관의 최우선 과제여야 합니다. Credential Guard는 가상화 기반 보안(virtualization-based security)과 격리된 메모리 관리(isolated memory management)를 사용해 자격 증명을 공격으로부터 보호함으로써 도움을 줄 수 있습니다.

공유하기

더 알아보기

저자 소개

Asset Not Found

Joe Dibley

보안 연구원

Netwrix의 보안 연구원이며 Netwrix Security Research Team의 일원입니다. Joe는 Active Directory, Windows 및 다양한 엔터프라이즈 소프트웨어 플랫폼과 기술 분야의 전문가로, 새로운 보안 위험, 복잡한 공격 기법, 그리고 이에 대한 대응(완화)과 탐지 방법을 연구합니다.