정보보안기사

[정보보안기사 요약 1] 윈도우 기본 학습

Hong's_Computer 2026. 4. 2. 08:44
반응형

윈도우 인증 과정

  • LSA(Local Security Authority): 윈도우 보안 서브시스템의 중심(핵심 프로세스), 로컬 로그인인지 도메인 로그인인지 판단하여 적절한 인증 패키지(NTLM, Kerberos 등) 호출, 인증 성공 시 사용자에게 접근 토큰(Access Token) 생성 및 부여, 로컬 보안 정책 관리 및 SRM이 전달한 감사 메시지를 기반으로 보안 이벤트 로그 기록
  • SAM(Security Account Manager): 로컬 사용자 및 그룹 계정 정보(패스워드 해시값 등)를 저장하는 데이터베이스, LSA의 인증 요청을 받아 사용자가 입력한 패스워드 정보와 DB 속 해시값을 비교하여 인증 타당성 검증, 시스템 내 물리적 파일(C:\Windows\System32\config\SAM)과 레지스트리에 존재하므로 접근통제 및 암호화(Syskey 등) 관리가 필수적
  • SRM(Security Reference Monitor): 시스템 자원(파일, 디렉터리 등 객체)에 대한 실제 접근 통제 수행, LSA가 부여한 사용자의 접근 토큰(Access Token)과 객체에 설정된 접근 제어 목록(DACL)을 비교하여 접근 허용/거부 결정, 자원 접근 시도에 대한 감사 메시지(Audit Message)를 생성하여 LSA로 전달
  • NTLM(NT Lan Manager): 윈도우 환경에서 사용되는 인증 프로토콜, Challenge/Response (질의/응답) 방식을 사용하여 네트워크상에 평문 패스워드를 노출하지 않고 인증 수행, 현재 AD 환경의 기본 인증은 Kerberos이지만 주로 이전 시스템과의 하위 호환성을 위해 사용됨

 

로컬 인증 과정

 

원격 도메인 인증

원격 도메인 인증 흐름: 사용자의 로그인 시도가 Winlogon → 로컬 LSA(Kerberos SSP) → 도메인 컨트롤러(DC)의 KDC 서비스 → Active Directory(AD) 순으로 전달되어 중앙 데이터베이스를 통해 검증받는 과정, 검증 성공 시 DC가 결과를 반환하고 로컬 LSA가 접근 토큰(Access Token)을 생성·발급하여 로그인을 완료함

  • 로컬 LSA(Local Security Authority): 도메인 로그인 시 내부 Kerberos SSP를 호출하여 도메인 컨트롤러(DC)와 Kerberos 프로토콜을 사용해 통신 수행, DC에서 수신한 최종 인증 결과와 PAC 정보를 기반으로 사용자에게 로컬 접근 토큰(Access Token)을 생성 및 부여
  • 도메인 컨트롤러 LSA(DC LSA): 도메인 컴퓨터에서 보낸 원격 인증 요청을 수신, 내부적으로 Active Directory와 Kerberos KDC 서비스를 활용하여 실제 인증 및 티켓 발급 처리 후 최종 결과를 로컬 LSA로 반환
  • Active Directory(AD): 도메인 환경의 모든 사용자 계정과 비밀번호 해시, 그룹 정보 등을 중앙 집중식으로 저장하는 디렉터리 데이터베이스, DC LSA의 요청에 따라 인증 시도자의 계정 유무와 정보를 제공
  • Kerberos KDC(Key Distribution Center): 도메인 컨트롤러 내부에서 Kerberos 프로토콜의 핵심 서비스(AS, TGS)를 수행, 사용자가 정당한지 확인하고 (AS 서비스) 보안 티켓(TGT, TGS)을 발급하여 안전한 네트워크 인증을 제공

 

SID(Security Identifier) 구조

윈도우 보안 식별자(SID, Security Identifier): 윈도우 시스템에서 각 사용자, 그룹, 컴퓨터 계정에 부여되는 고유한 식별 번호. 사용자가 로그인 성공 시 LSA에 의해 접근 토큰(Access Token)이 발급되며 해당 토큰 내에 SID 정보가 포함되어 객체(파일, 디렉터리 등) 접근 시 권한 제어 기준으로 사용됨.

  • S(SID): 해당 문자열 체계가 보안 식별자(SID) 구조임을 나타내는 선행 지시자.
  • 1(버전): SID 구조의 리비전(Revision) 레벨 또는 버전 정보. (현재 윈도우 시스템에서는 항상 1을 사용)
  • 5(기관 식별, Identifier Authority): SID를 발급한 최상위 기관. '5'는 윈도우 보안 기관(NT Authority)에서 발급하고 관리함을 의미함.
  • 21 및 고유 식별자(Subauthority): 시스템이 설치된 로컬 컴퓨터나 도메인을 고유하게 식별하는 고유 식별 대역. 21 뒤에 이어지는 3개의 난수 값 블록으로 구성되어 서로 다른 시스템 간의 SID 충돌을 방지함.
  • RID(Relative ID, 상대 식별자): SID 구조의 가장 마지막 블록으로 해당 도메인이나 로컬 시스템 내에서 특정 사용자나 그룹을 고유하게 구분 짓는 사용자 식별자.
    • RID 500: 시스템 최고 관리자(Administrator) 계정
    • RID 501: 게스트(Guest) 계정
    • RID 1000 이상: 일반 사용자 계정(운영체제 버전에 따라 다르나 일반적으로 새 계정 생성 시 1000번부터 순차적으로 부여됨)

 

윈도우 인증 구조(Challenge&Response 방식)

Challenge&Response 인증 방식: 네트워크상에 사용자의 패스워드를 평문으로 전송하지 않기 위해 고안된 안전한 인증 프로토콜(스니핑 및 재전송 공격 방어 목적)

  1. 인증 요청: 클라이언트(사용자)가 서버(윈도우 시스템)에 로그인을 요청
  2. Challenge 전달: 서버는 클라이언트에게 매번 바뀌는 임의의 난수 값인 'Challenge(도전)'를 생성하여 전송
  3. Response 전송: 클라이언트는 사용자가 입력한 패스워드의 해시값을 암호화 키로 사용하여 서버가 보낸 Challenge 값을 암호화한 후 이를 'Response(응답)'로 서버에 전송
  4. 인증 확인: 서버는 로컬 SAM 파일(또는 도메인 컨트롤러)에 저장된 사용자 패스워드 해시값으로 동일하게 Challenge 값을 암호화해 보고 클라이언트가 보낸 Response 값과 일치하는지 비교하여 인증을 승인

LM(LAN Manager) 해시: 윈도우 초기 버전에서 사용되던 패스워드 해시 알고리즘. 패스워드를 대소문자 구분 없이 최대 14자로 제한하고 7자리씩 두 블록으로 나눈 뒤 DES 알고리즘으로 암호화함. 구조적으로 매우 취약하여 무차별 대입 공격(Brute-force)에 쉽게 뚫리므로 현재는 사용이 권장되지 않음.

NTLM(NT LAN Manager) 해시: LM 해시의 보안 취약점을 해결하기 위해 등장한 알고리즘. 대소문자를 구분하고 길이에 제한이 없는 패스워드를 UTF-16LE(유니코드) 방식으로 인코딩한 후 MD4 알고리즘을 사용하여 해시값을 생성함.

NTLMv2 해시: 현재 윈도우 시스템에서 사용되는 향상된 기본 NTLM 인증 프로토콜. 사용자 패스워드의 NTLM 해시값에 서버와 클라이언트가 생성한 난수, 타임스탬프 등을 결합하고 HMAC-MD5 알고리즘을 적용하여 생성함. 기존 NTLM 방식보다 암호화 수준이 높아 재전송 공격(Replay Attack) 등에 대해 강력한 보안성을 제공함.

 

 

패스워드 크래킹(Password Cracking) 기법

  • 무차별 대입 공격(Brute-force Attack): 패스워드에 사용될 수 있는 문자, 숫자, 특수문자의 가능한 '모든 경우의 수'를 조합하여 일치할 때까지 무작위로 대입하는 공격. 이론상 시간과 자원만 충분하다면 100% 성공하지만 패스워드의 길이가 길고 복잡도가 높을수록 크래킹에 소요되는 시간이 기하급수적으로 증가함.
  • 레인보우 테이블 공격(Rainbow Table Attack): 평문 패스워드들을 해시(Hash) 함수와 R(Reduction) 함수를 수없이 반복 적용하여 가능한 모든 평문 패스워드와 그에 매칭되는 해시값들을 미리 계산해 놓은 거대한 데이터베이스인 '레인보우 테이블(해시 체인)'을 사용하여 탈취한 해시값과 일치하는 평문을 빠르게 역산하는 공격.
    • 이 공격을 무력화하기 위한 가장 대표적인 방어 기법은 패스워드를 해싱하기 전에 임의의 문자열을 추가하는 솔팅(Salting) 기법과 해시 함수를 여러 번 반복 수행하는 키 스트레칭(Key Stretching)임.
  • 혼합 공격(Hybrid Attack): 사전 공격 + 무차별 대입 공격. 일반적으로 사전 파일에 있는 의미 있는 단어의 앞뒤에 기호나 숫자를 무작위로 추가하여 대입함.(예: 사전에 있는 'apple'이라는 단어에 '123'이나 '!' 등을 덧붙여 'apple123!' 등으로 변형하여 공격)
  • 사전 대입 공격(Dictionary Attack): 사용자들이 자주 쓰는 단어, 이름, 생일 등이 저장된 '사전(Dictionary) 파일'을 만들어두고 이를 하나씩 대입하여 해시값을 비교하는 공격. 무차별 대입보다 속도는 빠르지만 사전 파일 목록에 없는 복잡한 패스워드는 알아낼 수 없다는 한계가 있음.
반응형