주요 System Process들
Windows 운영체제를 구성하는 여러 구성요소들 중에 Windows System과 관련된 Process들이 있습니다. 이들 System Process는 부팅 이후 초기 과정에서 생성되어 사용자가 컴퓨터를 사용하는데 필요한 여러 주요 기능들을 수행합니다.
대부분의 System Process들은 컴퓨터가 시작되어 종료될 때까지 계속 실행되면서 여러 작업들을 수행합니다. 이러한 이유 때문에 일부 악성 프로그램들은 실행되고 있다는 사실을 눈에 띄지 않기 위해서 System process와 동일한 이름이나 유사한 이름을 이용하는 경우가 많습니다. 이 때문에 정상적으로 실행중인 System Process가 바이러스나 웜과 같은 악성 프로그램으로 오해 받는 경우도 있습니다.
이 글에서 알아보고자 하는 System Process 들은 아래 Windows 운영체제의 전체 구조를 도식화한 그림에서 좌측 상단에 위치한 ‘System Support Processes’에 해당합니다.
[그림] Windows Architecture (Windows Internal 4th Ed. p52)
Idle Process
CPU는 일정 시간단위로 계속 clock을 발생시키도록 되어 있는데, 아무런 동작을 하지 않고 있는 상태를 표현하는 프로세스입니다. 실제로 물리적으로 존재하는 실행 파일이 않는 가상의 프로세스입니다. 작업 관리자에서는 ‘System Idle Process’라는 이름을 가지고 있으며, Process ID는 0번을 가집니다.
System Process
이 프로세스는 Kernel에서만 실행되는 system thread들을 호스팅하는 프로세스입니다. 위 그림에서 좌측 중간에 보면 ‘System threads’라고 표시된 구성요소가 있습니다. Windows 운영체제의 시작을 위해서 최초로 생성되는 system thread 뿐만 아니라 Dirty page writer, balance set manager 등 운영체제를 구성하는 여러 executive components 들의 기능 수행을 위해 여러 system thread 들이 존재합니다. Windows XP 이후 운영체제에서는 Process ID 4번 값을 가집니다. Windows 2000에서는 PID 값이 8이었습니다.
Session Manager(SMSS)
이는 부팅 이후 최초로 생성되는 user mode 프로세스입니다. 운영체제 초기화에 필요한 여러 중요한 역할을 담당하며, csrss.exe나 winlogon.exe과 같은 주요 프로세스들을 실행시키는 역할을 담당합니다.
Winlogon
Windows Logon Process로서 사용자로부터 로그온에 필요한 계정 정보를 입력 받고 로그온, 로그오프 기능을 수행하는 프로세스 입니다.로컬 로그온, 네트워크 로그온, 지문인식 로그온 등 다양한 로그온 방법이 존재하는데 이에 따라 로그온 과정에 연동되는 모듈이 더 많아지고 그 과정도 복잡해 집니다. 특히 사용자 로그온 과정에서 UI 부분을 담당하는 모듈을 GINA(graphical Identification and Authentication)이라고 합니다. 우리가 일반적으로 부팅 후 만나게 되는 로그온 화면은 msgina.dll이라는 기본 GINA 모듈에 의해서 보여지는 화면인데, custom GINA 모듈을 개발해서 별도의 로그온 UI나 로직을 가지는 모듈을 개발할 수 있습니다.
LSASS(Local Security Authentication Server Service)
Winlogon 프로세스에 의해서 전달받은 사용자 계정 정보를 이용해서 실제로 사용자 인증을 처리해주는 프로세스입니다. 로그온 과정이 정상적으로 수행되면 해당 사용자에 대한 access token을 리턴합니다.
UserInit
로그온한 사용자를 위한 개인화된 환경을 제공할 수 있도록 초기화 과정을 진행하는 프로세스 입니다. 이 프로세스는 일련의 초기화 과정을 진행하고 그 일을 마친 후에는 종료됩니다. 따라서 사용자가 로그온 한 이후 사용 중일 때에는 이 프로세스를 찾아 볼 수가 없습니다. 로그온 스크립트를 실행하거나 그룹 정책 등을 적용하고 shell 기능을 담당하는 탐색기(explore.exe) 프로세스를 실행시킵니다.
SCM(Service Control Manager)
Services.exe 라는 이미지 파일로 실행되며 시스템에서 실행되는 모든 서비스 프로그램의 실행, 정지, 관리하는 중앙 창구 역할을 수행합니다. 부팅 이후 Winlogon 프로세스에 의해서 SCM이 실행되며 레지스트리에서 시스템에 등록된 서비스 중에서 AutoStart 속성을 가진 서비스들을 실행시키는 역할을 담당합니다.
Comments
- Anonymous
May 27, 2009
The comment has been removed