티스토리 뷰

Windows 인증 과정2 (로컬) : http://tribal1012.tistory.com/222

Windows 인증 과정3 (원격) : http://tribal1012.tistory.com/223

-------------------------------------------------------------------------------------------------------------------------------------------

Windows 인증 과정(좀 더 세세하게 수정 필요)

  1. 로컬 또는 원격으로 Windows에 로그인
  2. LSA에 접근
  3. LSA에서 인증 패키지를 결정하고, 로그인에 필요한 자격 정보를 인증 패키지에 전달
  4. 인증 패키지가 인증 여부 확인
  5. LSA에 인증 여부 전달
  6. 성공적으로 인증되었다면, Logon


LSA(Local Security Authority) : https://msdn.microsoft.com/en-us/library/windows/desktop/aa378326(v=vs.85).aspx


  Windows의 인증에 대해서는 LSA가 전부 관리하고 있다.

  • 접속 가능한 계정, 도메인
  • 접속하는 방법
  • 계정에 할당되는 권한
  • 보안 감사 정책(로그인 시도 횟수, 계정 잠금 기간, 암호 길이 등)
  • Authentication Package(인증 패키지) 지원
  • SSPI(Security Service Provider Interface) 지원

  LSA 인증 방법에는 2가지 방법이 있는데 하나는 대화형 인증 방법이고, 또 하나는 비대화형 인증 방법이다. 대화형 인증 방법은 로그인 정보를 입력할 수 있는 인터페이스가 표시되고, 비대화형 인증 방법은 기존에 대화형 인증 방법에서 사용했던 자격 증명 정보를 재사용하여 대화형 인터페이스가 별도로 필요없이 인증하는 방법이다. 대화형 인증 방법으로는 일반적인 Windows 로그인이 있겠고, 비대화형 인증 방법으로는 Outlook 등이 있겠다. 인증 방법에 따라 전달 받은 자격 증명 정보는 인증 패키지에 그대로 전달하여 로그인 여부를 검증하고 그 결과를 LSA가 전달 받는다.


  최종적으로 LSA 세션(Logon 세션)이 생성되면 사용자는 시스템에 Logon한 것이다. LSA 세션에는 reference counter가 있어서 사용자가 Logon 성공할 때마다 1씩 증가하고, 0이 되는 경우에 세션이 제거된다. LSA 세션이 생성되고 나면 LSA는 해당 사용자에게 Access Token을 발행해주고, 사용자는 Access Token을 통해 자원 등에 접근하게 된다.

※ Access Token : http://tribal1012.tistory.com/215



Authentication Package(인증 패키지)


  LSA가 인증을 어떻게 할지를 결정하기 때문에 인증 패키지는 LSA가 가지고 있다. 인증 패키지 목록은 regedit을 들어가서 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa에서 Lsa 하부 키로 확인할 수 있다.


  인증 패키지는 실제로 인증을 검증하는 작업을 수행한다. LSA가 선택한 인증 방법에 의해 자격 증명 정보는 인증 패키지에 그대로 전달되어 인증 패키지 내부의 인증 과정을 거쳐 인증을 검사하게 된다. 그런 다음 인증 여부를 다시 LSA에 전달하여 결과 여부에 따른 처리가 결정난다.



SAM(Security Account Manager)


  사용자와 그룹에 대한 계정 정보(사용자 이름, 사용자 암호 해시)를 담고 있는 DB를 관리한다. DB는 SAM 파일(Windows\system32\config\sam)이라고 하고 암호화되어 있기 때문에 그냥 볼 수 없으며, 일반적인 프로그램은 해당 DB의 암호키에 접근할 수 없고 LSA 프로세스 내에서만 암호키에 접근 가능하다. Logon에 성공했을 때, 메모리 내부의 자격 증명 캐시라는 곳에 암호키를 저장한다는데 더 확인이 필요한거 같다.



SRM(Security Reference Monitor)


  사용자 계정이 Logon되게 되면, 사용자는 Access Token을 가지고 내부의 자원에 접근할 수 있게 된다. 자원에 접근할 수 있는지 지속적으로 모니터링할 필요가 있는데 그 역할을 하는 것이 SRM이다.



참고


'System > Windows' 카테고리의 다른 글

[Objects] Job 객체  (0) 2019.03.27
Windows 인증 과정3 (원격)  (0) 2018.04.12
Windows LUID 값과 Token을 이용한 Privilege 변경  (0) 2018.03.28
Windows Access Token  (0) 2018.03.27
JavaScript using frida  (0) 2017.12.14
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31