วินล็อคออน

วินล็อคออน  เป็นองค์ประกอบของระบบปฏิบัติการ ไมโครซอฟท์ วินโดวส์ โดยทำหน้าที่จัดการ ปุ่มเข้าสู่ระบบปลอดภัย, โหลดโปรไฟล์ผู้ใช้เมื่อล็อกอิน, สร้างเดสก์ท็อปสำหรับสถานีวินโดวส์, และสามารถล็อกคอมพิวเตอร์เมื่อมีการใช้โปรแกรมรักษาจอภาพ (ซึ่งต้องยืนยันตัวตนอีกครั้ง) โดยบทบาทและหน้าที่ของวินล็อคออนเปลี่ยนแปลงไปอย่างมากตั้งแต่ วินโดวส์วิสตา และรุ่นที่ใหม่กว่า
ภาพรวม.
วินล็อคออน ถูกเปิดใช้งานโดย ระบบตัวจัดการเซสชั่นย่อย ในกระบวนการบูตของวินโดวส์เอ็นที
ก่อนวินโดวส์วิสตา วินล็อคออนมีหน้าที่เริ่มต้น ตัวจัดการควบคุมบริการ และ บริการระบบย่อยของหน่วยรักษาความปลอดภัยภายในระบบ และตั้งแต่ วิสตา เป็นต้นมา กระบวนการเหล่านี้ถูกเปิดใช้งานโดย Windows Startup Application (wininit.exe)
กระบวนการล็อกอินส่วนแรกที่ วินล็อคออน ดำเนินการคือการเริ่มต้นกระบวนการที่จะแสดงหน้าจอเข้าสู่ระบบให้ผู้ใช้เห็น ซึ่งตอน วินโดวส์วิสตา หน้าที่นี้ถูกจัดการโดย จีน่า แต่ตั้งแต่ วิสตา เป็นต้นมา หน้าที่นี้ถูกดำเนินการโดย ล็อคออนยูไอ โปรแกรมเหล่านี้มีไว้เพื่อรับรองตัวตนของผู้ใช้และส่งต่อไปยัง บริการระบบย่อยของหน่วยรักษาความปลอดภัยภายในระบบ เพื่อทำการตรวจสอบและยืนยันตัวตนของผู้ใช้
เมื่อ วินล็อคออน ได้รับการควบคุมกลับมา มันจะสร้างและเปิด Interactive Window Station ที่ชื่อ WinSta0 และสร้างเดสก์ท็อปสามตัว ได้แก่ วินล็อคออน, ค่าเริ่มต้น และโปรแกรมรักษาจอภาพ วินล็อคออนจะสลับจากเดสก์ท็อป วินล็อคออน ไปยัง ค่าเริ่มต้น เมื่อเชลล์ส่งสัญญาณว่าพร้อมแสดงเนื้อหาให้ผู้ใช้ หรือหลังจากผ่านไป 30 วินาที แล้วแต่ว่าเงื่อนไขใดจะเกิดขึ้นก่อน
ระบบจะสลับกลับไปยังเดสก์ท็อป วินล็อคออน หากผู้ใช้กด Ctrl-Alt-Delete หรือเมื่อมีการแสดงพรอมต์ การควบคุมบัญชีผู้ใช้ (UAC) จากนั้น วินล็อคออน จะเริ่มต้นโปรแกรมที่ระบุในค่า Userinit ซึ่งโดยค่าเริ่มต้นจะเป็น userinit.exe ซึ่งค่า Userinit นี้รองรับการเรียกใช้หลายโปรแกรมพร้อมกัน
 วินล็อคออน ตั้งค่าการป้องกันของสถานีวินโดวส์และเดสก์ท็อปเพื่อให้แน่ใจว่าแต่ละเดสก์ท็อปสามารถเข้าถึงได้อย่างเหมาะสม โดยทั่วไป หมายความว่าระบบภายในเครื่องจะมีสิทธิ์เข้าถึงอ็อบเจ็กต์เหล่านี้ได้อย่างสมบูรณ์ และผู้ใช้ที่ล็อกอินจะมีสิทธิ์อ่านอ็อบเจ็กต์ของสถานีวินโดวส์และสิทธิ์เข้าถึงอ็อบเจ็กต์เดสก์ท็อปของแอปพลิเคชันได้อย่างสมบูรณ์
 วินล็อคออน มีฟังก์ชันพิเศษที่เชื่อมต่อกับเซิร์ฟเวอร์ User32 ซึ่งช่วยให้มันสามารถตรวจจับการกด ปุ่มเข้าสู่ระบบปลอดภัย (SAK) หรือ Control-Alt-Delete และทำให้ข้อมูลนี้สามารถใช้กับ จีน่า หรือ ผู้ให้บริการข้อมูลประจำตัว เพื่อการยืนยันตัวตนได้ แต่โดยปกติแล้ว จีน่า จะต้องตรวจจับการกดเอง แต่ถ้า จีน่า รองรับการใช้ Ctrl-Alt-Del ก็จะต้องใช้การสนับสนุนจาก วินล็อคออน ในการตรวจจับการกดนี้
 เมื่อ วินล็อคออน ตรวจพบการกดปุ่มเข้าสู่ระบบปลอดภัย จาก จีน่า, วินล็อคออนจะตั้งสถานะตามนั้นและเปลี่ยนไปที่เดสก์ท็อป วินล็อคออน, และเรียกฟังก์ชันการประมวลผล SAK จาก จีน่า เพื่อจัดการต่อไป
 เมื่อผู้ใช้เข้าสู่ระบบ โปรไฟล์ผู้ใช้จะถูกโหลดเข้าสู่รีจิสทรี ซึ่งทำให้กระบวนการของผู้ใช้สามารถใช้คีย์พิเศษใน HKEY_CURRENT_USER ได้ โดยวินล็อคออนจะทำการโหลดโปรไฟล์นี้โดยอัตโนมัติหลังจากการเข้าสู่ระบบสำเร็จ แต่ก่อนที่จะเปิดใช้งานเชลล์สำหรับผู้ใช้ที่เพิ่งเข้าสู่ระบบ
 เมื่อผู้ใช้เข้าสู่ระบบ จีน่าจะรับผิดชอบในการสร้างกระบวนการเริ่มต้นสำหรับผู้ใช้คนนั้น วินล็อคออนจะให้ฟังก์ชันการสนับสนุนแก่ จีน่า เพื่อใช้สิทธิ์ของผู้ใช้ที่เพิ่งเข้าสู่ระบบกับกระบวนการเหล่านี้ แต่วิธีที่แนะนำคือให้ จีน่า เรียกฟังก์ชัน CreateProcessAsUser ของ วินโดวส์ และให้ระบบจัดการบริการนี้
 วินล็อคออนจะตรวจสอบการใช้งานจากคีย์บอร์ดและเมาส์เพื่อกำหนดเวลาที่จะเปิดโปรแกรมรักษาจอภาพ หลังจากที่โปรแกรมรักษาจอภาพถูกเปิดใช้งานแล้ว วินล็อคออนจะยังคงตรวจสอบการใช้งานจากคีย์บอร์ดและเมาส์เพื่อตัดสินใจว่าจะปิดโปรแกรมนั้นเมื่อไหร่ หากโปรแกรมรักษาจอภาพของจอภาพถูกตั้งค่าเป็น secure, วินล็อคออนจะถือว่าสถานีงานถูกล็อก และเมื่อมีการใช้งานคีย์บอร์ดหรือเมาส์ Winlogon จะเรียกฟังก์ชัน WlxDisplayLockedNotice ของ จีน่า และการล็อกคอมพิวเตอร์จะกลับมาเหมือนเดิม หากโปรแกรมรักษาจอภาพไม่ถูกตั้งค่าเป็น secure, การใช้งานคีย์บอร์ดหรือเมาส์ใดๆ จะทำให้โปรแกรมหยุดทำงานโดยไม่มีการแจ้งเตือนจาก จีน่า
 ตัวบริการเครือข่ายหลายรายการที่ติดตั้งบนระบบวินโดวส์ สามารถรวมอยู่ในกระบวนการตรวจสอบความถูกต้องและในการดำเนินการอัปเดตรหัสผ่านได้ การรวมนี้ช่วยให้เครือข่ายอื่นฯ สามารถรวบรวมข้อมูลการระบุตัวตนและการยืนยันความถูกต้องทั้งหมดในคราวเดียวระหว่างการเข้าสู่ระบบ โดยใช้เดสก์ท็อปที่ปลอดภัยของวินล็อคออน
ช่องโหว่.
วินล็อคออนเป็นเป้าหมายที่พบบ่อยสำหรับภัยคุกคามหลายประเภทที่อาจเปลี่ยนแปลงฟังก์ชันและการใช้หน่วยความจำของวินล็อคออน วินล็อคออนมีการรองรับปลั๊กอินที่ถูกโหลดและแจ้งเตือนเกี่ยวกับเหตุการณ์เฉพาะ รูทคิทบางตัวรวมปลั๊กอินวินล็อคออนเข้าไว้ด้วยกัน เพราะพวกมันจะถูกโหลดก่อนที่ผู้ใช้จะเข้าสู่ระบบ คีย์รีจิสทรีบางคีย์อนุญาตให้ใส่ค่าหลายค่าซึ่งทำให้โปรแกรมที่เป็นอันตรายสามารถถูกประมวลผลในเวลาเดียวกันกับไฟล์ระบบที่ถูกต้อง