윈도우 인증
1. 윈도우 인증과정
1) 윈도우 인증 구성요소
(1) LSA(Local Security Authority) 서비스 기능
- 모든 계정 로그인 검증, 시스템 자원에 대한 접근 권한 검사
- 계정명과 SID를 매칭하여 SRM이 생성한 감사 로그 기록
- NT 보안의 중심 서비스, 보안 서브시스템이라 불림
(2) SAM(Security Account Manager) 서비스 기능
- 사용자/그룹 계정 정보에 대한 데이터베이스 관리
- 사용자 로그인 정보, SAM 파일의 사용자 패스워드 정보를 비교하여 인증 여부 결정
- SAM 파일은 사용자, 그룹 계정 및 암호화된 패스워드를 저장한 데이터베이스, C:\\Windows에 위치
(3) SRM(Service Reference Monitor) 서비스 기능
- 인증된 사용자에게 SID 부여
- SID를 기반으로 파일, 디렉터리에 대한 접근 허용 여부 결정, 감사 메세지 생성
2) 로컬 인증
윈도우 부팅 -> 로그인 창(Winlogon 화면) id, pw 입력 -> 인증정보 LSA 서브시스템로 이동 -> NTLM 모듈로 이동 -> SAM으로 이동 -> 접근 토큰 생성 -> 로그인 처리
3) 원격(도메인) 인증
윈도우 부팅 -> 로그인 창(Winlogon 화면) id, pw 입력 -> 인증정보 LSA 서브시스템로 이동 -> 로컬 인증용, 도메인 인증용 확인 -> 커버로스(Kerberos) 프로토콜을 이용하여 도메인 컨트롤러(DC)에 인증 요청 -> 접근 토큰 생성 -> 로그인 처리
4) SAM 파일 접근 통제 설정(시스템 취약점 분석·평가 항목)
- Administrators 및 System 그룹 외에는 SAM 파일에 대한 접근 제한
- 불필요한 그룹 및 계정에 대해 권한 제거
2. 윈도우 보안 식별자(SID:Security Identifier)
1) SID
- 윈도우 각 상용자나 그룹에 부여되는 고유한 식별번호
- 로그인을 수행하면 접근 토큰이 생성, 해당 토큰에 로그인한 사용자, 사용자가 속한 모든 작업 그룹들에 관한 보안 식별자 정보 포함
- 접근 토큰의 사본은 그 사용자에 의해 시작된 모든 프로세스에게 할당
- SAM 파일에 SID 정보 저장
2) SID 구조
S-1 : 윈도우 시스템 의미
5-21 : 시스템이 도메인 컨트롤러 이거나 단독 시스템임을 의미
xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx : 해당 시스템만의 고유한 식별자
500 or 501 or 1001 : 사용자 식별자, 500(관리자), 501(게스트), 1000 이상(일반 사용자)
SID 확인
-윈도우 관리명령 콘솔(WMIC) 사용
- useraccount list brief 명령 실행
3. 윈도우 인증 구조
1) 윈도우 인증 구조
Challenge & Response 방식 인증구조 사용
- 인증 요청 : 인증하고자 하는 사용자가 윈도우 시스템에 인증 요청
- Challenge 값 생성 및 전송 : 인증 요청을 받은 서버는 특정 규칙 또는 랜덤한 Challenge 값 생성, 사용자에게 전달
- Response 값 생성 및 전송 : 사용자는 전달받은 Challenge 값과 사용자 패스워드 정보를 이용해 Response 값을 생성, 서버에 전달
- Response 값 확인 및 인증 성공 : 전달 받은 Response 값을 확인하여 인증 성공 여부 전달
2) 인증 암호 알고리즘
- LM(Lan Manager) 해시 : 윈도우 2000, XP의 기본 알고리즘으로 구조적으로 취약한 알고리즘
- NTLM 해시 : LM 해시에 MD4 해시가 추가된 형태
- NTLMv2 해시 : 윈도우 비스타 이후 윈도우 시스템의 기본 인증 프로토콜, 기존과는 전혀 다른 알고리즘으로 해시값을 생성하며 현재까지 복잡도가 충분, 크래킹 어려움
- Lan Manager는 네트워크를 통한 파일 및 프린터 공유 등과 같은 작업 시 인증을 담당하는 서비스
- 안전한 인증을 위해 LM 해시 보다는 NTLMv2 해시 사용을 권장
4. 패스워드 크래킹
1) 사전 공격/ 사전 대입 공격(Dictionary Attack)
- 패스워드에 자주 사용되는 사전에 있는 단어, 키보드 자판의 순서, 주민등록번호, 이름 등을 사전 파일로 만들어 이를 하나씩 대입하여 패스워드 일치 여부를 확인
2) 무차별 공격/ 무작위 대입 공격(Brute Force Attack)
- 가능한 범위 내의 패스워드를 모두 일치 여부를 확인하는 방법, 일반적으로 사전공격 실패 후 진행
3) 혼합 공격(Hybrid Attack)
- 사전 공격과 무차별 공격을 혼합한 방식으로 사전 파일의 문자열에 문자, 숫자를 추가로 무작위 대입하여 패스워드 일치 여부 확인
4) 레인보우 테이블(Rainbow Table)을 이용한 공격
- 레인보우 테이블은 하나의 패스워드에서 시작해 특정한 변이 함수를 이용해 여러 변이된 형태의 패스워드를 생성, 각 변이된 패스워드의 해시를 고리처럼 연결하여 일정 수의 패스워드와 해시로 이루어진 체인을 무수히 만들어 놓은 테이블
- 해시 테이블과 Reduction 함수의 반복 수행을 통해 일치하는 해시값을 통해 패스워드를 찾는 방식
'자격증 > 정보보안기사' 카테고리의 다른 글
UNIX/Linux(파일시스템 응용) (0) | 2020.06.30 |
---|---|
UNIX/Linux 기본(시스템 기본) (0) | 2020.06.29 |