인증 동작 원리
- 사용자가 ID/PW 입력
- GINA에서 입력받은 ID/PW를 LSA에 전달
- LSA가 내부에서 NTLM을 실행시켜 검증 시작
- NTLM이 SAM에 저장된 기존 사용자 정보와 동일한지 비교
- 비교 결과가 맞으면 SRM에서 사용자에게 고유 SID 부여
- 부여된 SID가 사용자에게 전달되면서 실행 권한 획득
인증 프로세스 역할
Winlogon
- Windows 로그인 프로세스의 한 부분
GINA(Graphical Identification and Authentication)
- Winlogon 내에서 msGINA.dll을 로딩시켜 사용자가 입력한 계정과 패스워드를 LSA에 전달
LSA(Local Security Authority)
- 전달받은 계정과 패스워드를 검증하기 위해 NTLM(NT Lan Manager) 모듈을 로딩하고 모든 계정의 로그인에 대한 검증
- 시스템 자원 및 파일 등에 대한 접근 권한을 검사(로컬, 원격 모두 해당)
- SRM이 작성한 감사 로그를 기록하는 역할 수행
- NT 보안의 중심 요소이며 보안 서브 시스템(Security Subsystem)이라고도 함
SAM(Security Account Manager)
- 사용자, 그룹 계정 보호(암호화된 해시값)에 대한 데이터베이스를 관리(사용자 계정 정보 저장)
- 사용자의 로그인 입력 정보와 SAM 데이터베이스 정보를 비교하여 인증 여부 결정
- 리눅스의 /etc/shadow와 같은 역할, 중요하므로 복사본 존재
- SAM 위치 : %systemroot%\system32\config\sam
SRM(Security Reference Monitor)
- SAM이 사용자의 계정과 패스워드가 일치하는지를 확인하여 SRM에 알려주면 사용자에게 고유 SID 부여
- SID에 기반하여 파일이나 디렉터리 접근제어를 하게 되고 이에 대한 감사 메시지 생성
패스워드 구조
패스워드 블록구조
- SAM에서 관리
- 패스워드 길이와 관계없이 8byte가 하나의 블록
- 7byte(문자열 저장) + 1byte(패스워드 블록 정보)
- 예 : 패스워드 ‘secure12’는 8개 문자이므로, 2개의 패스워드 블록으로 나누어짐
패스워드 블록구조 취약점
- 하나의 패스워드 블록은 독립적으로 운영됨
- secure12는 2개의 패스워드 블록 secure1, 2로 나누어짐. 블록1의 secure1의 경우는 7개 문자로 쉽게 크래킹 되지 않을 수도 있지만, 블록2의 2는 패스워드를 1개 문자로 설정한 것과 같아서 쉽게 크래킹 할 수 있음
- 14개 문자 길이의 패스워드를 크래킹 하는 것은 7개 문자 길이의 패스워드를 2개 크래킹 하는 것과 같음
- Unix/Linux의 경우 패스워드 블록이 없으므로, 1개 문자가 늘어남에 따라 패스워드 강도는 약 100배 정도 높아짐
'정보보안 > 시스템보안' 카테고리의 다른 글
윈도우 보안 시스템 최적화 (0) | 2025.02.04 |
---|---|
윈도우 보안 공유자료 관리 (0) | 2025.02.03 |
윈도우 보안 계정과 권한 (0) | 2025.02.01 |
윈도우 보안 시스템 관리 (0) | 2025.01.31 |
윈도우 보안 레지스트리 (0) | 2025.01.30 |