Winlogon, LogonUI și Userinit

Procesul de Log on Windows (Winlogon,% SystemRoot% \ System32 \ Winlogon.exe) se ocupă de datele de conectare ale utilizatorilor interactive si iesirile de ea.

Dar dezvoltatorii pot oferi propriile lor furnizorii de acreditare să pună în aplicare în locul numelui celorlalte mecanisme de identificare a parolei de utilizator și Metoda de autentificare Windows standard (de exemplu, pe baza recunoașterii vocii și a dispozitivelor biometrice, cum ar fi scanner de amprente digitale).

Deoarece Winlogon este un proces de sistem critic, de care depinde funcționarea sistemului, furnizorii de acreditări și interfața cu utilizatorul pentru a afișa o fereastră de dialog de autentificare rula în interiorul proces Winlogon copil numit LogonUI. Când Winlogon detectează SAS, începe procesul care inițiază furnizorii de acreditare. Odată ce utilizatorul introduce acreditările lor sau refuză interfața de intrare în sistem, procesul LogonUI este finalizat.

Mai mult decât atât, Winlogon poate descărca furnizorii suplimentare-Biblioteca DLL de rețea (furnizori de rețea), necesare pentru autentificare suplimentară.

Această caracteristică permite mai multor furnizori de rețea la un moment dat în timpul logon normale pentru a colecta informații referitoare la identificarea și autentificarea.

De îndată ce contul de utilizator și parola, acestea vor fi trimise la procesul de autentificare de securitate locală Autoritatea Subsystem Serviciului (% SystemRoot% \ System32 \ Lsass.exe). LSASS solicită pachetul de autentificare corespunzătoare (implementate ca DLL-bibliotecă) pentru a efectua testul real - de exemplu, pentru a verifica conformitatea cu parola care este stocată în Active Directory sau în SAM (o parte din registru, care conține definiții ale utilizatorilor locali și grupuri).

După succes LSASS de autentificare solicită monitorul de securitate (de exemplu, NtCreateToken) pentru generarea simbol de securitate obiect care conține profilul de securitate al utilizatorului. Dacă utilizați de Control cont utilizator (User Account Control, UAC) și incluse în ghidul aparține grupului de administratori sau administrator, atunci LSASS creează oa doua versiune, restrânsă jeton.

Apoi, token-ul de acces este utilizat pentru a crea procesul Winlogon original (ES) în sesiunea de utilizator. Procesul original (procese) sunt stocate în registrul de parametri Userinit, care se află sub HKLM \ SOFTWARE \ Microsoft \ WindowsNT \ CurrentVersion \ Winlogon. (În mod implicit, acest userinit.exe, dar lista poate fi mai mult de un fel.)

Userinit efectuează acțiuni asupra mediului utilizator de inițializare a mediului (de exemplu, se execută un script de conectare și se aplică politica de grup), și apoi se uită în registru pentru valoarea parametrului Shell (în secțiunea Winlogon) și creează un proces pentru a rula un shell definit de sistem (implicit Explorer.exe ). Apoi Userinit se termină.

Acesta este motivul pentru procesul Explorer.exe, procesul părinte nu este prezentat - procesul părinte a fost finalizat, iar tlist înseamnă aliniază numele proceselor al căror proces părinte nu a alerga la stânga.

(Conform unei alte, se pare că procesul Explorer este nepotul procesului Winlogon.)

Winlogon este activă nu numai în timpul conectarea și deconectarea utilizatorilor, dar, de asemenea, în interceptarea SAS de la tastatură. De exemplu, în cazul în care conectarea apăsați combinația de taste Ctrl + Alt + Delete. Apare ecranul de securitate Windows, care oferă posibilitatea obținerii logoff, începe Task Manager, încuietorile de calculator, și așa mai departe. d. Aceste procese de interacțiune implicate în Winlogon și LogonUI.

Detalii despre apeluri de funcții care stabilesc o legătură cu LSASS (funcții ale căror nume încep cu prefixul Lsa), sunt prezentate în documentația pentru Windows SDK.