Windows จะมี process พื้นฐานอยู่หลายตัวด้วยกัน วันนี้เราจะมาดูว่า Process ที่ว่ามีอะไรบ้าง แล้วทำหน้าที่อะไรครับ
1. Session Manager Subsystem/SMSS.EXE
SMSS เป็น component หนึ่งของ Windows NT เป็นต้นมา มีหน้าที่ในการสร้างค่า environment variable, DOS Device Mapping, สร้าง page ที่เป็น Virtual Memory, Run Winlogon.exe
เป็นตัวที่ถูกรันขณะที่ OS กำลังจะทำงาน และเป็น process แรกที่ถูกรันในรูปแบบที่เป็น user-mode มี Parent process เป็น System และจะถูกรันด้วย user “NT AUTHORITY\SYSTEM” เสมอ และ path ที่รันคือ \%systemroot%\system32\
2. Windows Logon Process/WINLOGON.EXE
Winlogon เป็น component หนึ่งของ Windows NT หน้าที่คือการ load user profile และดูแลการ logon ของ user
ตัว Winlogon นั้นไม่มี Parent Process และถูกรันด้วย user “NT AUTHORITY\SYSTEM” เสมอ และ path ที่รันคือ \Windows\System32 หากมีการใช้งานพวก card/biometric authen ก็จะมี process ลูกคือพวก device เหล่านั้น
หาก user ทำการ logon สำเร็จ ตัว Winlogon ก็จะไปรัน Userinit.exe อีกที โดย Userinint.exe ก็จะไปโหลด logon user script ต่อ network และจะเริ่มการทำงาน Explorer.exe ต่ออีกที
3. Explorer.exe / Windows Explorer
ตัว Explorer.exe นั้นจะคอยดูแล Process ต่างๆของ User โดย Explorer.exe นั้นไม่มี Parent Process เพราะเมื่อ userinit.exe run Explorer.exe เสร็จก็จะจบตัวเองไป และมี path เป็น \%Systemroot%\Explorer.exe
4. CSRSS.EXE / Client-Server Run
CSRSS.EXE เป็น component หนึ่งของ Windows NT หน้าที่คือจัดการเกี่ยวกับ Win32 console
ตัว Process จะถูกรันด้วย “NT AUTHORITY\SYSTEM” เสมอ และ Process จะอยู่ที่ \%SystemRoot%\system32\csrss.exe
5. WININIT.EXE / Windows Initialisation Process
ตัว process Wininit.exe เป็น 1 ใน startup process โดยมันจะทำการรัน Services.exe, LSASS.exe, Lsm.exe และจะเป็น Process ลูกของ SMSS.exe (แต่พอดูปกติจะไม่มี Parent Process เพราะ SMSS.exe จะตายไปหลังจาก boot ทุกอย่างเสร็จ)
ตัว Process จะถูกรันด้วย “NT AUTHORITY\SYSTEM” เสมอ และ Process จะอยู่ที่ \%SystemRoot%\system32\wininit.exe
6. SERVICES.EXE — Service Control Manager
Services.exe จะเป็นตัวที่ใช้ในการจัดการ service ต่างๆภายใน Windows
ตัว Process จะถูกรันด้วย “NT AUTHORITY\SYSTEM” เสมอ และ Process จะอยู่ที่ \%SystemRoot%\system32\services.exe และมี Parent Process เป็น wininit.exe
จะมี process ลูกคือ svchost.exe มากมาย
7. SVCHOST.EXE / Service Hosting Process
svchost.exe นั้นเป็น Process ของการรัน Windows services ทั้งหลายใน Windows NT โดย svchost จำเป็นต้องการใช้งาน shared service process โดย shared service process คือจำนวน service ที่มีการใช้งาน process ร่วมกันเพื่อลดการใช้งาน resource ที่ไม่จำเป็น การที่เอา service หลายๆ service มารวมเข้าด้วยกันแล้วรันด้วย process เดียว นั้นทำให้การหาว่ามี service อะไรบ้างนั้นทำได้ยากลำบากขึ้น
ตัว svchost นั้นถูกรันได้ด้วยหลาย user ไม่ว่าจะเป็น NT AUTHORITY\SYSTEM, LOCAL SERVICE, หรือ NETWORK SERVICE และ svchost จะเป็น process ลูกของ services.exe เสมอ โดยลักษณะ command line ของ svchost จะเป็น
1 |
svchost.exe -k [name] |
ซึ่ง [name] ที่ว่าจะเป็นไปตามที่มีใน Software\Microsoft\Windows NT\CurrentVersion\Svchost
และ path ที่รันคือ %SystemRoot%\System32\svchost.exe หากไม่เป็นไปตามลักษณะนี้ แสดงว่า malicious process แน่นอนครับ
8. LSASS.EXE / Local Security Authority
LSASS เป็น process สำคัญในการตรวจสอบการ authentication ใน Windows NT ,บังคับใช้ security policy ใน Windows , การจัดการ token และการเปลี่ยน password อย่างที่เห็นว่า LSASS นั้นเป็น process ที่สำคัญมาก
ตัว process ถูกรันโดย NT AUTHORITY\SYSTEM รันจาก path %SystemRoot%\System32\lsass.exe , มี Parent Process เป็น WININIT.EXE และตัว LSASS.exe นั้นจะมีแค่ตัวเดียวเท่านั้น
9. LSM.EXE / Load Session Manager Service
ตัวควบคุม session ของ user ทั่วไป ตัว LSM.exe จะถูกรันโดย NT AUTHORITY\SYSTEM และมี path คือ %systemroot%\System32\lsm.exe มี Parent Process คือ Wininit.exe