윈도우 LSA
IT 위키
- Local Security Authority; LSA
- 윈도우 운영체제에서 로그온 검증, 보안 정책 적용, 감사 로그 기록을 담당하는 보안 서브시스템
- NT 보안의 중심 서비스로, 윈도우 인증의 세 구성요소(LSA·SAM·SRM) 가운데 인증 전반을 총괄한다.
- 로컬 로그온과 원격 로그온 모두에 대해 모든 계정의 로그인을 검증한다.
- 계정명과 SID(Security Identifier)를 매칭하고, SRM이 생성한 감사 로그를 기록한다.
- 사용자 모드 프로세스 lsass.exe(Local Security Authority Subsystem Service)로 동작한다.
- 사용자 로그온 검증 및 인증 패키지 호출
- 액세스 토큰(Access Token) 생성 — 사용자의 SID와 권한 목록을 담는다
- 로컬 보안 정책 관리 — 계정 정책, 사용자 권한 할당, 감사 정책
- 감사(Audit) 로그 기록 — SRM이 생성한 감사 메시지를 이벤트 로그에 남긴다
- 신뢰 관계(Trust) 및 도메인 인증 처리
- 사용자가 계정과 패스워드를 입력한다(winlogon).
- LSA가 입력값을 받아 인증 패키지에 전달한다.
- 로컬 계정이면 SAM에 저장된 해시와 비교하고, 도메인 계정이면 도메인 컨트롤러에 질의한다.
- 인증에 성공하면 LSA가 사용자의 SID와 그룹 SID, 권한을 담은 액세스 토큰을 만든다.
- SRM이 이 토큰의 SID를 기준으로 파일·디렉터리 접근을 허용하거나 거부하고 감사 메시지를 생성한다.
LSA는 인증 방식을 모듈(SSP, Security Support Provider)로 분리해 호출한다.
| 패키지 | 용도 |
|---|---|
| MSV1_0 | 로컬 계정 인증, NTLM 방식 |
| Kerberos SSP | 도메인 환경의 기본 인증. 액티브 디렉터리와 함께 동작한다. 커버로스 참고 |
| Negotiate | 커버로스와 NTLM 중 사용할 방식을 협상 |
| Schannel | SSL/TLS 기반 인증 |
- 프로세스 : `%SystemRoot%\System32\lsass.exe`
- LSA 정책 정보 : 레지스트리 `HKLM\SECURITY\Policy`
- 설정 : `HKLM\SYSTEM\CurrentControlSet\Control\Lsa`
- lsass.exe 프로세스 메모리에는 로그온 세션의 자격 증명(NTLM 해시, 커버로스 티켓 등)이 남아 있어, 관리자 권한을 얻은 공격자가 이를 덤프해 재사용할 수 있다. 해시를 그대로 재사용해 다른 시스템에 로그인하는 기법을 Pass the Hash라고 한다.
- lsass.exe는 시스템 필수 프로세스여서 강제 종료하면 시스템이 재시작된다. 이 점을 이용해 정상 프로세스로 위장하는 악성코드(예: `lsass.exe`와 이름이 비슷한 `1sass.exe`)도 있다.
- 대응 방법
- LSA 보호(RunAsPPL) 활성화 — lsass.exe를 보호된 프로세스로 실행해 메모리 접근을 차단
- Credential Guard — 가상화 기반 보안으로 자격 증명을 LSA와 분리된 영역에 보관
- 로컬 관리자 권한 최소화, 관리자 계정 공유 금지
