본문 바로가기
반응형

WebBook/윈도우 구조13

윈도우 - 서비스 계정 실무를 시작하면서 가장 많이 헷갈려 하는 부분이 바로 서비스들이 사용하는 계정이였다. 대부분의 사용자들이 서비스 계정 부분을 잘 이해하지 못하고 그저 서비스 문제가 생길 수 있겠다 생각하며 관리자 권한을 주거나 로컬 시스템 계정을 주게 된다. 하지만 이는 보안적으로 봤을 때, 해당 서비스에 과도한 권한을 주어, 해당 서비스로 인해 서버가 노출되거나 백도어가 심어지는 등의 공격을 당할 수 있는 문제를 야기할 수 있다. 그럼 서비스에서 사용하는 계정들이 무엇이 있고, 어떠한 권한들이 있는지 알아보도록 하자. 일반적으로 서비스에 계정을 등록하지 않는다면, 대부분의 서비스는 로컬 시스템 계정(SYSTEM 혹은 LocalSystem으로 표시)으로 실행되게 된다. 그 외에는 네트워크 서비스(Network Servi.. 2022. 3. 23.
시스템 프로세스(Windows Startup Process) - 서비스 관리자 Services.exe Service Control Manager로 SCM(이하 SCM)이라고도 불리며, 부팅시 Winlogon에 의해(윈도우 7/8/10/11은 Wininit) %Systemroot%\System32\Services.exe를 실행하게 된다. 이 프로세스는 서비스의 시작, 중지와 같은 서비스들과 상호 작용을 담당하고 상태 정보를 서비스 관리도구에게 전달하는등의 단순 서비스 제어 역활을 수행하게 된다.. 서비스는 대화식 로그온이 없이도 시스템 부팅 중 자동으로 실행되게 구성이 가능한 프로세스를 의미하며, 로그온 이후 수동으로 서비스를 시작하거나, 중지할 수 있다. 이 프로세스는 서비스 관리 도구와 상호 작용을 위해 단순히 윈도우 함수만을 호출한다.그리고 서비스는 HKLM\SYSTEM\CurrentControlSe.. 2022. 3. 14.
시스템 프로세스(Windows Startup Process) - 보안 관리자 Lsass.exe Lsass.exe(이하 Lsass)는 Local Security Authority Subsystem Service의 약자로, 줄여서 LSA(Local Security Authority)라고도 하며, 사용 인증과 관련하여 밀접한 관련이 있다. %Systemroot%\System32\Lsass.exe에서 실행되는 유저 모드 프로세스로서, 시스템의 보안 정책, 사용자 인증, 이벤트 로그에 보안 감사 메시지 전달 등, 윈도우의 전반적인 보안 처리를 담당하며, 이러한 서비스 관리는 Lsasrv.dll(%Systemroot%\System32\lsasrv.dll)을 이용해 구현된다. 그리고 LSA 관련 설정은 아래 레지스트리(HKLM\SYSTEM\CurrentControlSet\Control\Lsa)에서 확인할 수 .. 2022. 3. 5.
시스템 프로세스(Windows Startup Process) - 로그인 관리자 Winlogon.exe 비스타 이전에는 부팅시 보안 인증을 담당하는 Lsass.exe(Local Security Authority Subsystem Service, LSA라고도 함)와 서비스를 관리하는 Services.exe(Service Control Manager, SCM)를 실행 하고(앞서 얘기했듯 비스타 이후부터는 Wininit.exe가 SCM과 LSA을 실행한다), 유저 로그인 동작을 위해 GINA(Graphical Identification and Authentication)를 호출하는 등 로그온, 로그오프 관련 기능을 수행한다. Winlogon은 대기시 항시 SAS(Secure attention sequence: Alt+Ctrl+Del)키 입력를 감시하다가, SAS키 입력 발생시 GINA를 불러와 사용자가 로그온 .. 2022. 3. 3.
시스템 프로세스(Windows Startup Process) - 서브시스템(Subsystem) 시스템 프로세스(시스템 지원 프로세스라고도 함)는 윈도우 시작 프로세스임과 동시에 사용자가 시스템을 사용하는 데 필요한 핵심 부분을 담당하는 프로세스들을 뜻한다. 이는 커널과 연결되는 서브시스템(Subsystem)을 구동하거나, 관리하는 역할을 한다. 한마디로 운영체제를 사용하는 사용자를 위해 유저 모드에서 동작하는 중요한 프로세스라 할 수 있다. 따라서 이는 윈도우 구조를 이해하기 위해 반드시 알아두어야 할 프로세스들이라 할 수 있다. 이 프로세스들은 Process explorer에서 아래와 같이 확인할 수 있다. 위 그림에 표시한 프로세스들이 우리가 4장에서 배울 주요 시스템 프로세스인 Smss.exe, Csrss.exe, Winlogon.exe, Lsass.exe, Services.exe 이며 이외.. 2022. 2. 21.
시스템 시작, 커널 생성 MBR과 부트 섹터를 지나 부트 로더인 Ntldr(비스타 이후 Winload.exe로 변경되었다)를 통해 BCD(Windows Boot Manager)의 실행까지 알아보았다. 이후 BCD는 지정된 시간 동안 입력이 없으면, 기본적으로 지정된 운영제체를 실행하여 부팅을 위한 윈도우 커널 초기화 작업을 진행하게 된다. 이때 부트 파티션에서 커널 초기화에 필요한 적절한 커널(Ntoskrnl.exe외 3가지) 파일과 HAL(Hardware Abstraction Layer) 이미지 등을 로드하고, 레지스트리 %SystemRoot%\System32\Config\System을 HIVE(연결) 하여 디바이스 드라이버를 로드하는 작업을 진행하게 된다(레지스트리에 대해서는 추후 커널과 유저의 소통에서 다룬다). 커널 초기.. 2022. 2. 13.
반응형