추가된 LSA 보호 구성
이 문서는 자격 증명을 손상시킬 수 있는 코드 삽입을 방지하기 위해 현지 보안 기관(LSA) 프로세스에 대한 추가 보호를 구성하는 방법을 설명합니다.
LSASS(로컬 보안 기관 서버 서비스) 프로세스를 포함하는 LSA는 사용자의 로컬 및 원격 로그인에 대한 유효성을 검사하고 로컬 보안 정책을 적용합니다. Windows 8.1 이상부터 보호되지 않는 프로세스에 의한 읽기 메모리 및 코드 주입을 방지하기 위해 LSA에 대한 보호가 추가되었습니다. 이 기능을 통해 LSA에서 저장 및 관리하는 자격 증명에 대한 보안이 강화됩니다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 등록 키 비활성화는 아무런 효과가 없으므로 UEFI 잠금 및 보안 부팅을 사용해야 추가 보호가 제공됩니다.
플러그 인 또는 드라이버에 대한 보호된 프로세스 요구 사항
LSA 플러그 인 또는 드라이버에서 보호된 프로세스를 로드하려면 다음 조건을 충족해야 합니다.
서명 확인
보호 모드에서는 LSA로 로드되는 모든 플러그 인이 Microsoft 서명으로 디지털 서명되어야 합니다. 서명되지 않거나 Microsoft 서명이 아닌 다른 방식으로 서명된 플러그 인은 LSA로 로드되지 않습니다. 플러그 인에는 스마트 카드 드라이버, 암호화 플러그인, 암호 필터 등이 있습니다.
- 스마트 카드 드라이버와 같은 드라이버인 LSA 플러그 인은 WHQL 인증을 사용하여 서명해야 합니다. 자세한 내용은 WHQL 릴리스 서명을 참조하세요.
- WHQL 인증 프로세스가 없는 LSA 플러그 인은 LSA용 파일 서명 서비스를 사용하여 서명해야 합니다.
Microsoft SDL(Security Development Lifecycle) 프로세스 지침 준수
- 모든 플러그 인은 적용 가능한 SDL 프로세스 지침을 준수해야 합니다. 자세한 내용은 Microsoft 보안 개발 수명 주기(SDL) – 프로세스 지침을 참조하세요.
- 플러그 인이 Microsoft 서명으로 올바르게 서명된 경우에도 SDL 프로세스를 준수하지 않으면 플러그 인이 로드되지 않을 수 있습니다.
권장 사례
기능을 광범위하게 배포하기 전에 다음 목록을 사용하여 LSA 보호가 활성화되는지 철저하게 테스트합니다.
- 조직에서 사용하는 모든 LSA 플러그 인 및 드라이버를 확인합니다. 여기에는 스마트 카드 드라이버 및 암호화 플러그 인과 같은 타사 드라이버 또는 플러그 인, 암호 필터나 암호 변경 알림을 적용하는 데 사용되는 내부에서 개발한 모든 소프트웨어가 포함됩니다.
- LSA 보호 상태에서 로드에 실패하지 않도록 모든 LSA 플러그 인이 Microsoft 인증서로 디지털 서명되어 있는지 확인합니다.
- 올바르게 서명된 모든 플러그 인을 LSA로 로드할 수 있으며 이러한 플러그 인이 정상적으로 작동하는지 확인합니다.
- 감사 로그를 사용하여 보호된 프로세스로 실행되지 않은 LSA 플러그 인 및 드라이버를 확인합니다.
LSA 보호 사용 제한 사항
추가된 LSA 보호를 사용하는 경우 사용자 지정 LSA 플러그 인을 디버깅할 수 없습니다. 보호된 프로세스인 경우 디버거를 LSASS에 연결할 수 없습니다. 일반적으로 실행 중인 보호된 프로세스를 디버깅하는 방법은 지원되지 않습니다.
보호된 프로세스로 로드되지 않는 LSA 플러그 인 및 드라이버에 대한 감사
LSA 보호를 활성화하기 전에 감사 모드를 사용하여 LSA 보호 모드에서 로드되지 않는 LSA 플러그인 및 드라이버를 확인합니다. 감사 모드에서 시스템은 LSA 보호가 활성화된 경우 LSA에서 로드되지 않는 모든 플러그인 및 드라이버를 식별하는 이벤트 로그를 생성합니다. 플러그 인 또는 드라이버를 실제로 차단하지 않고 메시지가 기록됩니다.
이 섹션에 설명된 이벤트는 애플리케이션 및 서비스 로그>Microsoft>Windows>CodeIntegrity 아래의 운영 로그에 있는 이벤트 뷰어에 위치합니다. 이러한 이벤트를 통해 서명 때문에 로드되지 않은 LSA 플러그 인 및 드라이버를 확인할 수 있습니다. 이러한 이벤트를 관리하려면 wevtutil 명령줄 도구를 사용하면 됩니다. 이 도구에 대한 자세한 내용은 Wevtutil을 참조하세요.
Important
디바이스에서 스마트 앱 컨트롤을 활성화하면 감사 이벤트가 생성되지 않습니다. 스마트 앱 컨트롤의 사용 상태를 확인하거나 변경하려면 Windows 보안 애플리케이션을 열고 앱& 및 브라우저 컨트롤 페이지로 이동합니다. 스마트 앱 제어 설정을 선택하여 사용 상태를 확인하고 추가된 LSA 보호를 감사하려는 경우 구성을 끄기로 변경합니다.
참고 항목
추가된 LSA 보호에 대한 감사 모드는 Windows 11 버전 22H2 이상을 실행하는 디바이스에서 기본적으로 사용하도록 설정됩니다. 디바이스가 이 빌드 이상을 실행하는 경우 추가된 LSA 보호를 감사하는 데 다른 작업이 필요하지 않습니다.
단일 컴퓨터에서 LSASS.exe에 대한 감사 모드 활성화
- 레지스트리 편집기(RegEdit.exe)를 열고 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\LSASS.exe에 있는 레지스트리 키로 이동합니다.
- 레지스트리 키 값을 AuditLevel=dword:00000008로 설정합니다.
- 컴퓨터를 다시 시작합니다.
이러한 단계를 수행한 후 이벤트 3065 및 이벤트 3066의 결과를 분석합니다. 이벤트 뷰어에서 애플리케이션 및 서비스 로그>Microsoft>Windows>CodeIntegrity의 운영 로그에서 이러한 이벤트를 확인합니다.
- 이벤트 3065는 코드 무결성 검사에서 프로세스(일반적으로 LSASS.exe)가 공유 섹션에 대한 보안 요구 사항을 충족하지 않는 드라이버를 로드하려고 시도한 것으로 확인되었음을 기록합니다. 그러나 현재 설정된 시스템 정책으로 인해 이미지는 로드가 허용됩니다.
- 이벤트 3066는 코드 무결성 검사에서 프로세스(일반적으로 LSASS.exe)가 Microsoft 서명 수준 요구 사항을 충족하지 않는 드라이버를 로드하려고 시도한 것으로 확인되었음을 기록합니다. 그러나 현재 설정된 시스템 정책으로 인해 이미지는 로드가 허용됩니다.
플러그 인 또는 드라이버에 공유 섹션이 포함된 경우 이벤트 3066은 이벤트 3065와 함께 기록됩니다. 공유 섹션을 제거하면 플러그 인이 Microsoft 서명 수준 요구 사항을 충족하지 않는 경우를 제외하고는 두 이벤트 모두 발생하지 않습니다.
Important
이러한 작업 이벤트는 커널 디버거가 연결되고 시스템에서 사용되는 경우에는 생성되지 않습니다.
여러 컴퓨터에서 LSASS.exe 감사 모드 사용
도메인의 여러 컴퓨터에 감사 모드를 사용하도록 설정하려면 그룹 정책 클라이언트 쪽 확장 레지스트리를 사용하여 LSASS.exe 감사 수준 레지스트리 값을 배포하면 됩니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\LSASS.exe 레지스트리 키를 수정해야 합니다.
- 실행 대화 상자에 gpmc.msc를 입력하거나 시작 메뉴에서 그룹 정책 관리 콘솔(GPMC)을 선택하여 그룹 정책 관리 콘솔을 엽니다.
- 도메인 수준에서 연결되거나 컴퓨터 계정을 포함하는 조직 구성 단위에 연결된 새 GPO(그룹 정책 개체)를 만듭니다. 또는 이미 배포된 GPO를 선택합니다.
- 새 GPO를 마우스 오른쪽 단추로 클릭하고 편집을 선택하여 그룹 정책 관리 편집기를 엽니다.
- 컴퓨터 구성>기본 설정>Windows 설정을 확장합니다.
- 레지스트리를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 레지스트리 항목을 선택합니다. 새 레지스트리 속성 대화 상자가 나타납니다.
- Hive 목록에서 HKEY_LOCAL_MACHINE을 선택합니다.
- 키 경로 목록에서 SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\LSASS.exe를 찾습니다.
- 값 이름 상자에 AuditLevel을 입력합니다.
- 값 형식 상자에서 REG_DWORD를 선택합니다.
- 값 데이터 상자에 00000008을 입력합니다.
- 확인을 선택합니다.
참고 항목
GPO를 적용하려면 도메인의 모든 도메인 컨트롤러에 GPO 변경 내용을 복제해야 합니다.
여러 컴퓨터에서 추가 LSA 보호를 추가하려면 그룹 정책 클라이언트 쪽 확장 레지스트리를 사용하여 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa를 수정합니다. 자세한 내용은 이 문서 뒷부분에 있는 추가된 LSA 자격 증명 보호 구성을 참조하세요.
LSASS.exe 로드에 실패한 플러그 인 및 드라이버 식별
LSA 보호를 사용하는 경우 LSA로 로드하지 못한 모든 플러그 인 및 드라이버를 식별하는 이벤트 로그가 생성됩니다. 추가된 LSA 보호를 옵트인한 후 이벤트 로그를 사용하여 LSA 보호 모드에서 로드하지 못한 LSA 플러그 인 및 드라이버를 식별할 수 있습니다.
이벤트 뷰어 애플리케이션 및 서비스 로그>소프트웨어>윈도우>코드 무결성>운영에서 다음 이벤트를 확인합니다:
- 이벤트 3033는 코드 무결성 검사에서 프로세스(일반적으로 LSASS.exe)가 Microsoft 서명 수준 요구 사항을 충족하지 않는 드라이버를 로드하려고 시도한 것으로 확인되었음을 기록합니다.
- 이벤트 3063는 코드 무결성 검사에서 프로세스(일반적으로 LSASS.exe)가 공유 섹션에 대한 보안 요구 사항을 충족하지 않는 드라이버를 로드하려고 시도한 것으로 확인되었음을 기록합니다.
공유 섹션은 일반적으로 인스턴스 데이터가 같은 보안 컨텍스트를 사용하는 다른 프로세스와 상호 작용하도록 허용하는 프로그래밍 방법으로 인해 생성되는데, 이는 보안 취약성을 야기할 수 있다.
추가된 LSA 자격 증명 보호 사용 및 구성
이 섹션의 절차를 사용하여 Windows 8.1 이상 또는 Windows Server 2012 R2 이상을 실행하는 디바이스에 대해 추가된 LSA 보호를 구성할 수 있습니다.
보안 부팅 및 UEFI를 사용하는 디바이스
보안 부팅 또는 UEFI를 사용하는 x86 기반 또는 x64 기반 디바이스에서 LSA 보호를 사용하도록 설정하는 경우 레지스트리 키 또는 정책을 사용하여 UEFI 펌웨어에 UEFI 변수를 저장할 수 있습니다. UEFI 잠금을 사용하도록 설정하면 LSASS가 보호된 프로세스로 실행되고 이 설정은 펌웨어의 UEFI 변수에 저장됩니다.
설정이 펌웨어에 저장되면 레지스트리를 수정하거나 정책에 따라 추가된 LSA 보호를 구성하도록 UEFI 변수를 삭제하거나 변경할 수 없습니다. UEFI 변수는 LSA 보호 UEFI 변수 제거에 제시된 지침을 사용하여 재설정해야 합니다.
UEFI 잠금 없이 사용하도록 설정된 경우 LSASS는 보호된 프로세스로 실행되며 이 설정은 UEFI 변수에 저장되지 않습니다. 이 설정은 Windows 11 버전 22H2 이상이 새로 설치된 디바이스에 기본적으로 적용됩니다.
UEFI를 지원하지 않거나 보안 부팅을 사용하지 않도록 설정된 x86 기반 또는 x64 기반 디바이스에서는 LSA 보호에 대한 구성을 펌웨어에 저장할 수 없습니다. 이러한 디바이스는 레지스트리 키의 존재에만 의존합니다. 이 시나리오에서는 디바이스에 대한 원격 액세스를 사용하여 LSA 보호를 사용하지 않도록 설정할 수 있습니다. 디바이스가 다시 부팅될 때까지 LSA 보호 비활성화는 적용되지 않습니다.
자동 활성화
Windows 11 버전 22H2 이상을 실행하는 클라이언트 디바이스의 경우 다음 조건을 충족하는 경우 기본적으로 추가된 LSA 보호가 사용하도록 설정됩니다.
- 디바이스에 이전 릴리스에서 업그레이드되지 않은 Windows 11 버전 22H2 이상이 새로 설치되어 있습니다.
- 디바이스가 엔터프라이즈에 가입되어 있습니다(Active Directory 도메인 가입, Microsoft Entra 도메인 가입 또는 하이브리드 Microsoft Entra 도메인 가입).
- 디바이스는 하이퍼바이저로 보호된 코드 무결성(HVCI)을 사용할 수 있습니다.
Windows 11 버전 22H2 이상에서 추가된 LSA 보호를 자동 활성화하더라도 기능에 대한 UEFI 변수가 설정되지 않습니다. UEFI 변수를 설정하려면 레지스트리 구성 또는 정책을 사용할 수 있습니다.
참고 항목
Windows RT 8.1을 실행하는 디바이스의 경우 추가된 LSA 보호가 항상 활성화되며 끌 수 없습니다.
단일 컴퓨터에서 LSA 보호 활성화
레지스트리를 사용하거나 로컬 그룹 정책을 사용하여 단일 컴퓨터에서 LSA 보호를 사용하도록 설정할 수 있습니다.
레지스트리를 사용하여 활성화
- 레지스트리 편집기 RegEdit.exe를 열고 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 레지스트리 키를 찾습니다.
- 레지스트리 키 값을 다음으로 설정합니다.
- UEFI 변수를 사용하여 기능을 구성하는 "RunAsPPL"=dword:00000001
- UEFI 변수 없이 기능을 구성하며 Windows 11 빌드 22H2 이상에서만 적용되는 "RunAsPPL"=dword:00000002
- 컴퓨터를 다시 시작합니다.
Windows 11 버전 22H2 이상에서 로컬 그룹 정책을 사용하여 활성화
- gpedit.msc를 입력하여 현지 그룹 정책 편집기를 엽니다.
- 컴퓨터 구성>관리 템플릿>시스템>현지 보안 기관을 확장합니다.
- 보호된 프로세스로 LSASS 실행 구성 정책을 엽니다.
- 정책을 활성화합니다.
- 옵션 아래에서 다음 옵션 중 하나를 선택합니다.
- UEFI 잠금이 있는 활성화를 사용하여 UEFI 변수로 기능을 구성
- UEFI 잠금이 없는 활성화를 사용하여 UEFI 변수 없이 기능을 구성
- 확인을 선택합니다.
- 컴퓨터를 다시 시작합니다.
그룹 정책을 사용하여 LSA 보호 활성화
- 실행 대화 상자에 gpmc.msc를 입력하거나 시작 메뉴에서 그룹 정책 관리 콘솔(GPMC)을 선택하여 GPMC를 엽니다.
- 도메인 수준에서 연결되거나 컴퓨터 계정을 포함하는 조직 구성 단위에 연결된 새 GPO를 만듭니다. 또는 이미 배포된 GPO를 선택합니다.
- 새 GPO를 마우스 오른쪽 단추로 클릭하고 편집을 선택하여 그룹 정책 관리 편집기를 엽니다.
- 컴퓨터 구성>기본 설정>Windows 설정을 확장합니다.
- 레지스트리를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 다음 레지스트리 항목을 선택합니다. 새 레지스트리 속성 대화 상자가 나타납니다.
- Hive 목록에서 HKEY_LOCAL_MACHINE을 선택합니다.
- 키 경로 목록에서 SYSTEM\CurrentControlSet\Control\Lsa를 찾습니다.
- 값 이름 상자에 RunAsPPL을 입력합니다.
- 값 형식 상자에서 REG_DWORD를 선택합니다.
- 값 데이터 상자에 다음을 입력합니다.
- UEFI 변수를 사용하여 LSA 보호를 활성화하는 00000001
- UEFI 변수 없이 LSA 보호를 활성화하며 Windows 11 버전 22H2 이상에서만 적용되는 00000002
- 확인을 선택합니다.
사용자 지정 디바이스 구성 프로필을 만들어 LSA 보호 활성화
Windows 11 버전 22H2 이상을 실행하는 디바이스의 경우 Microsoft Intune 관리 센터에서 사용자 지정 디바이스 구성 프로필을 만들어 LSA 보호를 활성화 및 구성할 수 있습니다.
- Intune 관리 센터에서 디바이스>Windows>설정 프로필로 이동한 다음 프로필 만들기를 선택합니다.
- 프로필 만들기 화면에서 다음 옵션을 선택합니다.
- 플랫폼: Windows 10 이상
- 프로필 유형: 템플릿을 선택한 다음 사용자 지정을 선택합니다.
- 만들기를 실행합니다.
- 기본 사항 화면에서 프로필에 대한 이름과 선택 사항인설명을 입력한 후 다음을 선택합니다.
- 구성 설정 화면에서 추가를 선택합니다.
- 행 추가 화면에서 다음 정보를 제공합니다.
- 이름: OMA-URI 설정에 대한 이름을 제공합니다.
- OMA-URI: ./Device/Vendor/MSFT/Policy/Config/LocalSecurityAuthority/ConfigureLsaProtectedProcess를 입력합니다.
- 데이터 유형: 정수를 선택합니다.
- 값: 1을 입력하여 UEFI 잠금을 통해 보호된 프로세스로 실행되도록 LSASS를 구성하거나 2를 입력하여 UEFI 잠금 없이 보호된 프로세스로 실행되도록 LSASS를 구성합니다.
- 저장을 선택하고 다음을 선택합니다.
- 할당 페이지에서 과제를 구성한 뒤 다음을 선택합니다.
- 적용 가능성 규칙 페이지에서 적용 가능성 규칙을 구성한 뒤 다음을 선택합니다.
- 검토 + 만들기 페이지에서 항목을 확인한 다음 만들기를 선택합니다.
- 컴퓨터를 다시 시작합니다.
이 정책 CSP에 대한 자세한 내용은 LocalSecurityAuthority - ConfigureLsaProtectedProcess를 참조하세요.
LSA 보호 사용 안 함
레지스트리를 사용하거나 현지 그룹 정책을 사용하여 LSA 보호를 비활성화할 수 있습니다. 디바이스가 보안 부팅을 사용하고 펌웨어에서 LSA 보호 UEFI 변수를 설정하는 경우 도구를 사용하여 UEFI 변수를 제거할 수 있습니다.
레지스트리를 사용하여 비활성화
- 레지스트리 편집기 RegEdit.exe를 열고 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa 레지스트리 키를 찾습니다.
- 레지스트리 키의 값을 "RunAsPPL"=dword:00000000으로 설정하거나 DWORD를 삭제합니다.
- UEFI 변수를 사용하여 PPL을 사용하도록 설정한 경우 현지 보안 기관 보호 프로세스 옵트아웃 도구를 사용하여 UEFI 변수를 제거합니다.
- 컴퓨터를 다시 시작합니다.
Windows 11 버전 22H2 이상에서 현지 그룹 정책을 사용하여 비활성화
- gpedit.msc를 입력하여 현지 그룹 정책 편집기를 엽니다.
- 컴퓨터 구성>관리 템플릿>시스템>현지 보안 기관을 확장합니다.
- 보호된 프로세스로 LSASS 실행 구성 정책을 엽니다.
- 정책을 활성화합니다.
- 옵션에서 비활성화를 선택합니다.
- 확인을 선택합니다.
- 컴퓨터를 다시 시작합니다.
참고 항목
이 정책을 미구성으로 설정합니다. 이전에 정책을 사용하도록 설정한 경우 이전 설정이 정리되지 않고 계속 적용됩니다. 기능을 비활성화하려면 옵션 드롭다운에서 정책을 비활성화로 설정해야 합니다.
LSA 보호 UEFI 변수 제거
디바이스가 보안 부팅을 사용하는 경우 Microsoft 다운로드 센터에서 현지 로컬 보안 기관(LSA) 보호된 프로세스 옵트아웃 도구(LSAPPLConfig)를 사용하여 UEFI 변수를 삭제할 수 있습니다.
참고 항목
다운로드 센터에서는 LsaPplConfig.efi라는 두 개의 파일을 제공합니다. 작은 파일은 x86 기반 시스템용이고 큰 파일은 x64 기반 시스템용입니다.
보안 부팅을 관리하는 방법에 대한 자세한 내용은 UEFI 펌웨어를 참조하세요.
주의
보안 부팅을 해제하면 모든 보안 부팅 및 UEFI 관련 구성이 다시 설정됩니다. 따라서 LSA 보호를 사용하지 않도록 설정하는 다른 모든 방법이 실패한 경우에만 보안 부팅을 해제해야 합니다.
LSA 보호 확인
Windows가 시작될 때 보호 모드에서 LSA가 시작되었는지 확인하려면 이벤트 뷰어에서 Windows 로그> 시스템에서 다음 WinInit 이벤트를 확인합니다:
- 12: LSASS.exe가 다음 수준의 보호된 프로세스로 시작되었습니다. 4
LSA 및 Credential Guard
LSA 보호는 신뢰할 수 없는 LSA 코드 주입 및 프로세스 메모리 덤프를 차단하여 자격 증명과 같은 중요한 정보를 도난으로부터 보호하는 보안 기능입니다. LSA 보호는 컨테이너에서 LSA 프로세스를 격리하고 악의적인 행위자 또는 앱과 같은 다른 프로세스가 기능에 액세스하지 못하도록 방지하여 백그라운드에서 실행됩니다. 이러한 격리 덕분에 LSA 보호는 중요한 보안 기능을 담당하며 Windows 11에서 기본적으로 활성화됩니다.
또한 Windows 10부터 Credential Guard는 NTLM 암호 해시, 티켓 부여 티켓(Kerberos TGT) 및 애플리케이션에서 도메인 자격 증명으로 저장한 자격 증명을 보호하여 자격 증명 도용 공격을 방지합니다. Kerberos, NTLM, Credential Manager는 가상화 기반 보안(VBS)을 사용하여 비밀을 격리합니다.
Credential Guard를 활성화하면 LSA 프로세스는 비밀을 저장하고 보호하는 격리된 LSA 프로세스 또는 LSAIso.exe라는 구성 요소와 통신합니다. 격리된 LSA 프로세스에 의해 저장된 데이터는 VBS를 사용하여 보호되며 나머지 운영 체제에서는 액세스할 수 없습니다. LSA는 원격 프로시저 호출을 사용하여 격리된 LSA 프로세스와 통신합니다.
Windows 11 버전 22H2부터 VBS 및 Credential Guard는 시스템 요구 사항을 충족하는 모든 디바이스에서 기본적으로 활성화됩니다. Credential Guard는 64비트 보안 부팅 디바이스에서만 지원됩니다. LSA 보호 및 Credential Guard는 보완적인 기능이며 Credential Guard를 지원하거나 기본적으로 사용하도록 설정하는 시스템에서도 LSA 보호를 활성화하여 이점을 얻을 수 있습니다. Credential Guard에 대한 자세한 내용은 Credential Guard 개요를 참조하세요.