ข้ามไปเนื้อหา

วินล็อคออน

จากวิกิพีเดีย สารานุกรมเสรี
หน้าจอล็อกของ วินโดวส์ 11 โดยผู้ใช้ต้องกด Ctrl+Alt+Delete

วินล็อคออน (อังกฤษ: Winlogon (Windows Logon)) เป็นองค์ประกอบของระบบปฏิบัติการ ไมโครซอฟท์ วินโดวส์ โดยทำหน้าที่จัดการ ปุ่มเข้าสู่ระบบปลอดภัย, โหลดโปรไฟล์ผู้ใช้เมื่อล็อกอิน, สร้างเดสก์ท็อปสำหรับสถานีวินโดวส์, และสามารถล็อกคอมพิวเตอร์เมื่อมีการใช้โปรแกรมรักษาจอภาพ (ซึ่งต้องยืนยันตัวตนอีกครั้ง) โดยบทบาทและหน้าที่ของวินล็อคออนเปลี่ยนแปลงไปอย่างมากตั้งแต่ วินโดวส์วิสตา และรุ่นที่ใหม่กว่า

ภาพรวม

[แก้]

วินล็อคออน ถูกเปิดใช้งานโดย ระบบตัวจัดการเซสชั่นย่อย ในกระบวนการบูตของวินโดวส์เอ็นที

ก่อนวินโดวส์วิสตา วินล็อคออนมีหน้าที่เริ่มต้น ตัวจัดการควบคุมบริการ และ บริการระบบย่อยของหน่วยรักษาความปลอดภัยภายในระบบ และตั้งแต่ วิสตา เป็นต้นมา กระบวนการเหล่านี้ถูกเปิดใช้งานโดย Windows Startup Application (wininit.exe)[1]

กระบวนการล็อกอินส่วนแรกที่ วินล็อคออน ดำเนินการคือการเริ่มต้นกระบวนการที่จะแสดงหน้าจอเข้าสู่ระบบให้ผู้ใช้เห็น ซึ่งตอน วินโดวส์วิสตา หน้าที่นี้ถูกจัดการโดย จีน่า[2] แต่ตั้งแต่ วิสตา เป็นต้นมา หน้าที่นี้ถูกดำเนินการโดย ล็อคออนยูไอ โปรแกรมเหล่านี้มีไว้เพื่อรับรองตัวตนของผู้ใช้และส่งต่อไปยัง บริการระบบย่อยของหน่วยรักษาความปลอดภัยภายในระบบ เพื่อทำการตรวจสอบและยืนยันตัวตนของผู้ใช้

เมื่อ วินล็อคออน ได้รับการควบคุมกลับมา มันจะสร้างและเปิด Interactive Window Station ที่ชื่อ WinSta0[3] และสร้างเดสก์ท็อปสามตัว ได้แก่ วินล็อคออน, ค่าเริ่มต้น และโปรแกรมรักษาจอภาพ วินล็อคออนจะสลับจากเดสก์ท็อป วินล็อคออน ไปยัง ค่าเริ่มต้น เมื่อเชลล์ส่งสัญญาณว่าพร้อมแสดงเนื้อหาให้ผู้ใช้ หรือหลังจากผ่านไป 30 วินาที แล้วแต่ว่าเงื่อนไขใดจะเกิดขึ้นก่อน

ระบบจะสลับกลับไปยังเดสก์ท็อป วินล็อคออน หากผู้ใช้กด Ctrl-Alt-Delete หรือเมื่อมีการแสดงพรอมต์ การควบคุมบัญชีผู้ใช้ (UAC)[4] จากนั้น วินล็อคออน จะเริ่มต้นโปรแกรมที่ระบุในค่า Userinit ซึ่งโดยค่าเริ่มต้นจะเป็น userinit.exe ซึ่งค่า Userinit นี้รองรับการเรียกใช้หลายโปรแกรมพร้อมกัน[5]

ความรับผิดชอบ

[แก้]
การป้องกันสถานีวินโดวส์และเดสก์ท็อป
วินล็อคออน ตั้งค่าการป้องกันของสถานีวินโดวส์และเดสก์ท็อปเพื่อให้แน่ใจว่าแต่ละเดสก์ท็อปสามารถเข้าถึงได้อย่างเหมาะสม โดยทั่วไป หมายความว่าระบบภายในเครื่องจะมีสิทธิ์เข้าถึงอ็อบเจ็กต์เหล่านี้ได้อย่างสมบูรณ์ และผู้ใช้ที่ล็อกอินจะมีสิทธิ์อ่านอ็อบเจ็กต์ของสถานีวินโดวส์และสิทธิ์เข้าถึงอ็อบเจ็กต์เดสก์ท็อปของแอปพลิเคชันได้อย่างสมบูรณ์
การตรวจสอบมาตรฐาน SAS
วินล็อคออน มีฟังก์ชันพิเศษที่เชื่อมต่อกับเซิร์ฟเวอร์ User32 ซึ่งช่วยให้มันสามารถตรวจจับการกด ปุ่มเข้าสู่ระบบปลอดภัย (SAK) หรือ Control-Alt-Delete และทำให้ข้อมูลนี้สามารถใช้กับ จีน่า หรือ ผู้ให้บริการข้อมูลประจำตัว เพื่อการยืนยันตัวตนได้ แต่โดยปกติแล้ว จีน่า จะต้องตรวจจับการกดเอง แต่ถ้า จีน่า รองรับการใช้ Ctrl-Alt-Del ก็จะต้องใช้การสนับสนุนจาก วินล็อคออน ในการตรวจจับการกดนี้
การจัดการ SAS
เมื่อ วินล็อคออน ตรวจพบการกดปุ่มเข้าสู่ระบบปลอดภัย จาก จีน่า, วินล็อคออนจะตั้งสถานะตามนั้นและเปลี่ยนไปที่เดสก์ท็อป วินล็อคออน, และเรียกฟังก์ชันการประมวลผล SAK จาก จีน่า เพื่อจัดการต่อไป
การโหลดโปรไฟล์ผู้ใช้
เมื่อผู้ใช้เข้าสู่ระบบ โปรไฟล์ผู้ใช้จะถูกโหลดเข้าสู่รีจิสทรี ซึ่งทำให้กระบวนการของผู้ใช้สามารถใช้คีย์พิเศษใน HKEY_CURRENT_USER ได้ โดยวินล็อคออนจะทำการโหลดโปรไฟล์นี้โดยอัตโนมัติหลังจากการเข้าสู่ระบบสำเร็จ แต่ก่อนที่จะเปิดใช้งานเชลล์สำหรับผู้ใช้ที่เพิ่งเข้าสู่ระบบ
การกำหนดสิทธิ์ความปลอดภัยให้กับเชลล์ของผู้ใช้
เมื่อผู้ใช้เข้าสู่ระบบ จีน่าจะรับผิดชอบในการสร้างกระบวนการเริ่มต้นสำหรับผู้ใช้คนนั้น วินล็อคออนจะให้ฟังก์ชันการสนับสนุนแก่ จีน่า เพื่อใช้สิทธิ์ของผู้ใช้ที่เพิ่งเข้าสู่ระบบกับกระบวนการเหล่านี้ แต่วิธีที่แนะนำคือให้ จีน่า เรียกฟังก์ชัน CreateProcessAsUser ของ วินโดวส์ และให้ระบบจัดการบริการนี้
การควบคุมโปรแกรมรักษาจอภาพ
วินล็อคออนจะตรวจสอบการใช้งานจากคีย์บอร์ดและเมาส์เพื่อกำหนดเวลาที่จะเปิดโปรแกรมรักษาจอภาพ หลังจากที่โปรแกรมรักษาจอภาพถูกเปิดใช้งานแล้ว วินล็อคออนจะยังคงตรวจสอบการใช้งานจากคีย์บอร์ดและเมาส์เพื่อตัดสินใจว่าจะปิดโปรแกรมนั้นเมื่อไหร่ หากโปรแกรมรักษาจอภาพของจอภาพถูกตั้งค่าเป็น secure, วินล็อคออนจะถือว่าสถานีงานถูกล็อก และเมื่อมีการใช้งานคีย์บอร์ดหรือเมาส์ Winlogon จะเรียกฟังก์ชัน WlxDisplayLockedNotice ของ จีน่า และการล็อกคอมพิวเตอร์จะกลับมาเหมือนเดิม หากโปรแกรมรักษาจอภาพไม่ถูกตั้งค่าเป็น secure, การใช้งานคีย์บอร์ดหรือเมาส์ใดๆ จะทำให้โปรแกรมหยุดทำงานโดยไม่มีการแจ้งเตือนจาก จีน่า
รองรับตัวบริการเครือข่ายหลายรายการ
ตัวบริการเครือข่ายหลายรายการที่ติดตั้งบนระบบวินโดวส์ สามารถรวมอยู่ในกระบวนการตรวจสอบความถูกต้องและในการดำเนินการอัปเดตรหัสผ่านได้ การรวมนี้ช่วยให้เครือข่ายอื่นฯ สามารถรวบรวมข้อมูลการระบุตัวตนและการยืนยันความถูกต้องทั้งหมดในคราวเดียวระหว่างการเข้าสู่ระบบ โดยใช้เดสก์ท็อปที่ปลอดภัยของวินล็อคออน

ช่องโหว่

[แก้]

วินล็อคออนเป็นเป้าหมายที่พบบ่อยสำหรับภัยคุกคามหลายประเภทที่อาจเปลี่ยนแปลงฟังก์ชันและการใช้หน่วยความจำของวินล็อคออน วินล็อคออนมีการรองรับปลั๊กอินที่ถูกโหลดและแจ้งเตือนเกี่ยวกับเหตุการณ์เฉพาะ[6] รูทคิทบางตัวรวมปลั๊กอินวินล็อคออนเข้าไว้ด้วยกัน เพราะพวกมันจะถูกโหลดก่อนที่ผู้ใช้จะเข้าสู่ระบบ คีย์รีจิสทรีบางคีย์อนุญาตให้ใส่ค่าหลายค่าซึ่งทำให้โปรแกรมที่เป็นอันตรายสามารถถูกประมวลผลในเวลาเดียวกันกับไฟล์ระบบที่ถูกต้อง[7]

อ้างอิง

[แก้]
  1. ↑ Archiveddocs. "Windows Administration: Inside the Windows Vista Kernel: Part 2". learn.microsoft.com (ภาษาอังกฤษแบบอเมริกัน). สืบค้นเมื่อ 2023-05-14.
  2. ↑ Russinvoich, Mark E.; Solomon, David (2005). Microsoft Windows Internals (ภาษาอังกฤษ) (พิมพ์ครั้งที่ 4th). Redmond, Washington: Microsoft Press. น. 81. ISBN 978-0735619173.
  3. ↑ "Window Stations". MSDN. Microsoft Corporation. สืบค้นเมื่อ 19 เมษายน 2014.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  4. ↑ "Desktops". MSDN. Microsoft Corporation. สืบค้นเมื่อ 19 เมษายน 2014.{{cite web}}: CS1 maint: date auto-translated (ลิงก์)
  5. ↑ Ionescu, Alex; Russinovich, Mark; Solomon, David A. (2012). Windows internals, Part 1 (พิมพ์ครั้งที่ 6th). Redmond, Wash.: Microsoft Press. น. 77. ISBN 978-0735648739.
  6. ↑ alvinashcraft. "Winlogon Notification Events - Win32 apps". learn.microsoft.com (ภาษาอังกฤษแบบอเมริกัน). สืบค้นเมื่อ 2023-05-14.
  7. ↑ "Boot or Logon Autostart Execution: Winlogon Helper DLL, Sub-technique T1547.004 - Enterprise | MITRE ATT&CK®". attack.mitre.org. สืบค้นเมื่อ 2023-05-14.

แหล่งข้อมูลอื่น

[แก้]

แม่แบบ:Windows Components