Windows XP 登入驗證比 Windows 98 嚴格許多,理解其機制有助於強化系統安全、預防駭客與病毒入侵。
一、Windows XP 四種登入類型
1. 互動式登入
最常見類型,使用者透過帳號密碼在本機登入。包含「本地帳號登入」與「網域帳號登入」。透過終端服務/遠端桌面登入主機亦屬此類。
- 本地使用者帳號:透過本機 SAM 資料庫驗證。Windows 2000 可刪除 SAM 檔破解密碼,但 XP 為安全考量已無效。登入後僅能存取有權限的本地資源(圖1)。
- 網域使用者帳號:透過網域控制器 Active Directory 驗證,登入後可存取整個網域內有權限的資源。加入網域後登入對話框會出現「登入到:」選項可選網域或本機。
圖1
2. 網路登入
需存取其他電腦資源時觸發。輸入的帳號必須是目標主機上的帳號,驗證由受訪主機控制(圖2)。
圖2
3. 服務登入
系統啟動服務/程式時以特定帳號(網域、本地、SYSTEM)登入。不同帳號權限不同。SYSTEM 擁有絕對控制權,許多病毒/木馬企圖加入此體系。任務管理員可見各進程使用帳號(圖3)。建議日常使用 Users 群組帳號,即使中毒也只能破壞使用者自身資源,保護系統核心。
圖3
4. 批次登入
執行批次作業的程式使用,帳號需具備批次工作權利。
二、互動式登入核心組件
- Winlogon.exe:安全程序,負責載入其他登入組件、提供安全相關圖形介面、與 GINA 交換資訊。
- GINA (Graphical Identification and Authentication):動態連結庫,提供識別驗證函數,回饋帳號密碼給 Winlogon。「歡迎畫面」與「登入對話框」由 GINA 顯示。主題軟體(如 StyleXP)可指定自訂 GINA,但也衍生出竊取帳號密碼的 GINA 木馬(模擬歡迎畫面或攔截登入對話框)。解決方案:下載 GINA 木馬工具執行
InstGina -view 檢查,InstGina -Remove 移除。
- LSA (Local Security Authority):本地安全授權服務,所有安全認證處理皆經由此。從 Winlogon 取得帳號密碼經金鑰機制處理後與資料庫比對。震盪波蠕蟲即利用 LSA 遠端緩衝區溢出取得 SYSTEM 權限。
- SAM 資料庫:安全帳號管理器,儲存帳號資訊。非網域電腦存本機,網域電腦存網域控制器。
- Net Logon 服務:配合 NTLM 協定驗證網域控制器 SAM 資料。
- KDC (Kerberos Key Distribution Center):配合 Kerberos 協定在整個 Active Directory 範圍驗證登入。
- Active Directory 服務:加入 Windows 2000/2003 網域時需啟用以支援 AD 功能。
三、登入前後 Winlogon 做了什麼
啟用「安全登入」後,Winlogon 初始化會註冊 SAS (Secure Attention Sequence,預設 Ctrl+Alt+Del),確保輸入資訊被系統接收而非被其他程式竊取。啟用方法:執行 control userpasswords2 →「進階」→勾選「要求使用者按 Ctrl+Alt+Del」(圖4)。GINA 木馬會屏蔽此提示,若無故消失可能中毒。
圖4
Winlogon 註冊 SAS 後調用 GINA 產生三個桌面:Winlogon 桌面(登入介面)、預設桌面(使用者桌面)、螢幕保護裝置桌面。登入成功後切換至預設桌面;鎖定工作站/螢幕保護啟動時切回 Winlogon 桌面重新驗證。