La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il processo di Logon e la sicurezza per lutente interattivo e per i servizi Marco Russo

Presentazioni simili


Presentazione sul tema: "Il processo di Logon e la sicurezza per lutente interattivo e per i servizi Marco Russo"— Transcript della presentazione:

1 Il processo di Logon e la sicurezza per lutente interattivo e per i servizi Marco Russo

2 Agenda Processo di Logon Lsass Winlogon Sessioni, Windows Station e Desktop Differenze e ruoli

3 Processo di logon

4 Perché è importante il processo di logon Garantisce sicurezza dellaccesso al sistema Consente di comprendere le cause di eventuali problemi e le fonti di possibili attacchi

5 Cosa succede al Boot Avviamento Kernel (MBR, Boot, Ntldr, NtDetect, Ntbootdd, Ntoskrnl, Hal) Avviamento servizi di sistema Processo System – contiene tutti i driver Gestito da Local Security Authority (LSA) Avviamento SMSS Session manager, avvia Winlogon e CSRSS Avviamento CSRSS Sottosistema Win32 – processo user-mode controparte di Win32.sys che è la parte kernel Avviamento WINLOGON Avvia SCM (Service Control Manager) e LSASS (Local Security Authority Sub-System)

6 Cosa succede al Logon CTRL-ALT-CANC Gestito da Local Security Authority (LSA) Richiesta utente e password (o PIN smartcard) Creazione access token Operazione fisicamente a carico di SMSS, processo user-mode che accede a API native, non accessibili da altri processi Avviamento processo shell (explorer.exe) con access token così ottenuto HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell Un processo per default eredita access token da processo padre Explorer è il processo che crea altri processi

7 Elementi principali della security di Windows Local Security Authority (LSA) – processo locale eseguito in modalità utente Autentica utenti locali Local Security Authority (LSA) – processo eseguito su Domain Controller Autentica utenti su macchine in rete Security Reference Monitor – componente kernel Gestione del controllo sullaccesso agli oggetti kernel

8 Componenti security (kernel + user) hardware interfaces (buses, I/O devices, interrupts, interval timers, DMA, memory cache control, etc., etc.) System Service Dispatcher System Threads User Mode Kernel Mode NtosKrnl.Exe Object Mgr. Windows USER, GDI File System Cache I/O Mgr Device & File Sys. Drivers Plug and Play Mgr. Power Mgr. Security Reference Monitor Virtual Memory Processes & Threads Local Procedure Call Graphics Drivers Kernel Hardware Abstraction Layer (HAL) (kernel mode callable interfaces) Configura- tion Mgr (registry) WinLogon MSGINA LSASS Active Directory LSA Server SAM Server MSVC1_0.dl Kerberos.dll LSA Policy Event Logger Active Directory SAM

9 Componenti security LSA – Local Security Authority Processo modalità utente (\Windows\System32\Lsass.exe) che implementa policy (password, logon), autenticazione e invio informazioni audit al security event log LSASS policy database: registry HKLM\SECURITY WinLogon MSGINA LSASS NetLogon Active Directory LSA Server SAM Server MSVC1_0.dl Kerberos.dll LSA Policy Event Logger Active Directory SAM

10 Componenti LSASS SAM Service Insieme di funzioni (\Windows\System32\Samsrv.dll ) responsabili del database contenente utenti e gruppi definiti sulla macchina locale Database SAM database: Contiene utenti e gruppi locali, con rispettivi password e attributi. Memorizzato nel registry: HKLM\SAM. Password cracker: attaccano lhash della password dellutente locale memorizzato nel SAM

11 SAM Service Process Explorer

12 Componenti LSASS Active Directory Servizio di directory che gestisce un database con le informazioni sugli oggetti di un dominio Un dominio è un insieme di computer e dei gruppi associati, gestiti come una singola entità Il server di Active Directory è implementato come servizio (\Windows\System32\Ntdsa.dll) eseguito nel processo Lsass Package autenticazione DLL eseguite nel processo Lsass cge implementano la policy di autenticazione di Windows: LanMan: \Windows\System32\Msvc1_0.dll Kerberos: \Windows\System32\Kerberos.dll Negoziazione: usa LanMan o Kerberos (il più appropriato)

13 Componenti LSASS Net Logon service (Netlogon) Servizio Windows (\Windows\System32\Netlogon.dll) eseguito in Lsass che risponde alle richieste di logon provenienti dal protocollo Microsoft LAN Manager 2 Windows NT (pre-Windows 2000) Autenticazione gestita come logon locali Netlogon individua anche I domain controller WinLogon MSGINA LSASS NetLogon Active Directory LSA Server SAM Server MSVC1_0.dl Kerberos.dll LSA Policy Event Logger Active Directory SAM

14 Componenti security Processo Logon (Winlogon) Processo \Windows\System32\Winlogon.exe responsabile per logon interattivo e risposta a SAS (CTRL-ALT-CANC) Graphical Identification and Authentication (GINA) DLL eseguita in Winlogon usata per richiedere nome utente e password o PIN smartcard Default: \Windows\System32\Msgina.dll Registry: HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon\GinaDLL WinLogon MSGINA LSASS NetLogon Active Directory LSA Server SAM Server MSVC1_0.dl Kerberos.dll LSA Policy Event Logger Active Directory SAM

15 Security Reference Monitor Controlla accesso a oggetti, manipola privilegi e genera messaggi audit Funzioni in Ntoskrnl.exe Alcune sono documentate nel DDK Esposte in modalità utente come Windows API

16 SAM Service Depends (Platform SDK)

17 Comunicazione tra SRM e LSA Comunicazione via local procedure call (LPC) SeLsaCommandPort/SeRmCommand porte per inizializzazione Uso di porte private e shared memory una volta che linizializzazione è completa Local security authority (LSA) server SeLsaCommandPortPrivate comm. port SeRmCommandPortPrivate comm. port Security reference monitor (SRM Shared section User mode Kernel mode Set audit event Create logon session Delete logon session Write audit message Delete logon session

18 Cosa rende il logon sicuro? Prima che chiunque faccia logon, il desktop visibile è quello di Winlogon Winlogon registra CTRL+ALT+DEL (Secure Attention Sequence = SAS) SAS passa al desktop Winlogon Nessuna applicazione può deregistrarlo, perché solo il thread che registra un hotkey può deregistrarlo Se la gestione dellinput di Windows riceve un codice SAS, disabilita eventuali keyboard hook per evitare che sia intercettato

19 Logon Dopo aver ricevuto nome utente e password, GINA li invia al Local Security Authority Sub System (LSASS) LSASS chiama un package di autenticazione per verificare il logon Logon locale o dominio legacy: usa MSV1_0. Utente e password sono criptati e confrontati con il database Security Accounts Manager (SAM) Se il logon è a un dominio Active Directory (AD), usa Kerberos che comunica con un domani controller AD Se trova corrispondenza, recupera account utente, gruppi a cui appartiene e privilegi

20 Logon LSASS crea un token per la sessione di logon e Winlogon lo associa al primo processo della sessione Token creati con API NtCreateToken API Ogni processo riceve una copia del token del processo padre Non si possono aggiungere SID e privilegi a un token Una sessione di logon è attiva solo fino a che cè almeno un token associato alla sessione

21 Sessioni Logon LogonSessionshttp://www.sysinternals.com/Utilities/LogonSessions.html

22 Logon locale MSGINA MSV1_0 LSASS LPC Winlogon SAMSRV

23 Winlogon MSGINA Kerberos LSASS NTDSA LSASS LPC UDP Domain Controller Local Machine Logon remoto - Active Directory Se il logon è per un utente di dominio, le credenziali criptate sono inviate a LSASS sul domain controller Active Directory

24 Sessioni, Windows Station, Destkop

25 Sessioni Una sessione è un oggetto kernel Rappresenta una sessione di lavoro Ogni processo è associato a una sessione Definisce un namespace per gli oggetti kernel Evita condivisioni indesiderate di oggetti tra sessioni diverse Il namespace degli oggetti kernel per default è locale alla sessione La sessione locale è la 0 (detta Console) Tutti i servizi e lutente interattivo sono in sessione 0 Terminal Server fornisce sessioni da 1 in avanti

26 Windows Station Una Windows Station è una stazione logica di Windows Ogni sessione ha le sue Windows Station Ogni Windows Station ha: Una clipboard Una atom table Tabella ID-Stringa, usata per le finestre di Windows Uno o più Desktop

27 Windows Station La sessione 0 ha più Windows Station WinSta0 – usata per tutti i processi interattivi Service-0x0-3e7$ - servizi non interattivi [LogonSession] – servizi eseguiti con user account Una per ogni utente diverso associato ai servizi I servizi interattivi sono associati a WinSta0 Altrimenti non visualizzano interfaccia utente Eccezione: dialog box conflag MB_SERVICE_NOTIFICATIOn e MB_DEFAULT_DESKTOP_ONLY

28 Desktop Ogni Windows Station può avere più desktop Di solito serve solo per WinSta0 della sessione Solo un desktop attivo per Windows Station Ogni desktop può avere più finestre Una finestra appartiene sempre a un solo desktop Esistono tool per passare da un desktop allaltro Virtual Desktop Manager (XP Power Toys), shareware Per default esistono due desktop \Windows\WinSta0\Default Associato a tutte le applicazioni \Windows\WinSta0\Winlogon Usato esclusivamente da Winlogon per il Logon utente

29 Sessioni, Windows Station e Desktop Legame tra Sessioni, Windows Station e Desktop Le Windows Station di sessioni non interattive hanno un desktop in più Disconnect Desktop, in pratica è un desktop vuoto Usato quando utente remoto si sconnette lasciando sessione aperta Riduce trasferimento di dati sulla rete

30 Windows Station Desktop Process Explorer

31 Conclusioni Il logon è unattività eseguita da processi eseguiti in user-mode ma strettamente controllati dal kernel Utenti locali e remoti hanno lo stesso punto di ingresso, anche se lautenticazione può avvenire con metodi differenti Lisolamento tra utenti diversi avviene tramite isolamento tra le sessioni Lisolamemento tra servizi e applicazioni avviene con le Windows Station Lisolamento tra applicazioni e finestra logon avviene tramite desktop diversi

32 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.


Scaricare ppt "Il processo di Logon e la sicurezza per lutente interattivo e per i servizi Marco Russo"

Presentazioni simili


Annunci Google