Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione...

29
Sicurezza in Windows NT Fabrizio Inguglia

Transcript of Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione...

Page 1: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Sicurezza in Windows NT

Fabrizio Inguglia

Page 2: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Tratteremo:

Struttura generale di Windows NT 4

Gestione delle politiche di sicurezza

Page 3: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Com’e Strutturato NT?

NT e’ Object Oriented, in pratica:– Ogni risorsa, servizio, entità e’ un oggetto.– Vantaggi:

Livelli di protezione definiti logicamente: campi e metodi dell’oggetto sono invocati solo da chi ne ha i permessi coerentemente con la nozione di oggetto.

Accesso coerente ad ogni tipo di componente del sistema: non vi è differenza logica tra le varie risorse dai file alle stampanti.

Fornisce nomi leggibili alle risorse del sistema, vedremo

NT e’ multiutente e multithread.– Gestione di più utenti e processi distinti tramite un’ architettura

distribuita.

Page 4: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Oggetti in NT

Il Kernel di NT e’ detto executive, a questo livello abbiamo due tipi di oggetti:– Oggetti executive:sono oggetti visibili ai processi

utente– Oggetti Kernel: oggetti più primitivi, visibili solo

dall’executive

Page 5: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Struttura di un oggetto in NT

Object Name: unico per l’oggetto. Object Directory:Struttura logica di cui

l’oggetto e’ componente. Security Descriptor: implementa

l’auditing dell’oggetto. Quota charges: campo necessario per

il resource accounting. Open Handle counter: numero di

processi che utilizzano l’oggetto. Open Handle Database: quali

processi utilizzano l’oggetto. Type Object pointer: contiene i campi

comuni a tutte le istanze. Reference Count: Indica il numero di

processi kernel che usano l’oggetto.

Page 6: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Object Manager

E la componente che si occupa della gestione degli oggetti, caratteristiche:– Centralizzato: tramite il security descriptor viene

gestito l’auditing da una sola componente.– Riferimento delle risorse ai processi in modo

indiretto tramite l’handling, così i processi utente non hanno accesso diretto alla memoria.

– Gestisce il resource accounting: la contabilità delle risorse in modo che singoli processi utente non monopolizzino il sistema.

Page 7: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Object Manager

Object manager si occupa, su richiesta di un processo utente di:

Allocare memoria per l’oggettoSpecificare il dominio di protezione dell’oggetto

Attaccare all’oggtto un descrtittore di sicurezza e gestire gli accessi dei vari processi utente.

Creare un handle e restituirlo al chiamante

Page 8: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Handling

Ai processi Object Manager fornisce dei riferimenti agli oggetti:

I processi utente non possono interferire con le strutture dati del sistema

Facile monitorare chi e quale oggetto sta utilizzando

Una volta assegnato un handle ad un processo non e’ più necessario conoscerne il nome, riferendosi ad una tabella OM sa per ogni processo quali operazioni gli sono permesse

Page 9: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Handling: esempio

Handling Table del processo A

Page 10: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Handling: algoritmo

Il processo che effettua la richiesta specifica un insieme di diritti desiderati, cioè quello che intende fare con quel oggetto.

Object Manager chiama il monitor dei riferimenti della sicurezza, RSM, spedendo l’insieme dei diritti desiderati dal processo.

RSM, reference sicurity monitor, controlla se il descrittore di sicurezza del processo prevede quei diritti. Se e’ così, viene ritornata a Object Manager la lista dei diritti.

Viene aggiunta un Handle nella handle table del processo dove specifichiamo anche i diritti. In questo modo object Manager li controllerà velocemente.

Page 11: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Resource Accounting

Nell’intestazione degli oggetti esiste un campo che definisce il suo numero di handle aperti → Object Monitor sa in ogni istante qual e’ la disponiblilita’ delle risorse.

Sempre nell’intestazione degli oggetti vi e’ una quota, da sottrarre alla quota totale di memoria che e’ riservata ad un processo di un utente . Questa operazione serve a limitare gli accessi degli utenti alle risorse del sistema.

Page 12: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Domini di protezione:

Un dominio di protezione e’ una coppia:

<nome oggetto,insieme di diritti>.

Specificano quali diritti abbia un processo su un oggetto, in analogia con Unix.

Non necessariamente i domini sono disgiunti.

Page 13: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Domini di Protezione: Esempio

Ogni processo fa parte di un dominio.

Tipicamente i domini sono rappresentati tramite matrici.

Page 14: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

La Sicurezza in NT

L’idea che sta dietro la sicurezza in NT:– Creare una porta attraverso la quale ogni utente

delle risorse del sistema deve passare– Le risorse sono gli oggetti– La porta è quindi Object Manager– Le operazioni critiche relative alla sicurezza sono

oggetti kernel

Page 15: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Controllo dell’Accesso

Queste le funzionalità principali che controllano e limitano l’accesso.

– Gli account utente.– Lista di controllo degli accessi.– Descrittore di sicurezza e permessi.

Page 16: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Account Utente

Gli account utente comprendono informazioni su:– Informazioni sull’utente– Appartenenza ai gruppi– Informazioni sulla politica di sicurezza

In questo modo si specificano i “limiti” in cui ad un utente e’ permesso di operare, definendo i diritti dell’utente nel sistema

Page 17: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Account Utenti

Al momento della creazione di un account vengono specificati i diritti di quell’ utente sulle risorse del sistema.

Ad ogni account del sistema è associato un SID (identificatore di sicurezza) univoco.

Quando un utente si collega ogni suo processo ha allegato un Access token che è una sorta di carta di identità dell’utente.

Page 18: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Access Token

Privileges: indica se l’utente può accedere a servizi di sistema particolari, uno di essi potrebbe essere, ad esempio il debug delle applicazioni.

Primary Group: mantiene il SID del gruppo

Default ACL: se l’utente crea un oggetto il campo contiene la lista di utenti e gruppi con i rispettivi diritti di accesso. Collegamento con access control list degli oggetti.

Page 19: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Descrittore di sicurezza e permessi

E’ possibile rendere sicuri tutti gli oggetti denominati in NT. Esiste un descrittore di sicurezza che descrive gli attributi di sicurezza di un oggetto comprende:– Un identificatore di sicurezza (SID) dell’utente o del

proprietario dell’oggetto– Una ACL discrezionale che identifica i diritti di altri

utenti sull’oggetto.– Una ACL di sistema che gestisce i messaggi di

controllo che vengono generati dal sistema.

Page 20: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Descrittore di Sicurezza

E’ proprio grazie all’esistenza dei descrittori di sicurezza che NT implementa l’auditing,cioè tutta quella serie di politiche e soluzioni che permettono di determinare in ogni istante, chi è in possesso di ogni risorsa e che utilizzo ne sta facendo, in modo da impedire abusi o utilizzi non autorizzati.

Questo importante controllo è demandato all’Object Manager e all’ Reference Security Monitor come visto in precedenza.

Page 21: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Lista di controllo degli accessi

Componente principale del security descriptor è gestita dall’utente a sua discrezione.

Abbiamo una Access Control Entry per ogni utente o gruppo che ha diritti sul nostro oggetto. Se l’utente al momento della creazione non la specifica viene utilizzata quella contenuta nel suo token di accesso.

Page 22: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Domini

Dominio di rete è un raggruppamento logico di server di rete e altri computer che condividono informazioni comuni sulla sicurezza e sugli account per ogni utente.

All’interno dei domini gli amministratori creano un account per ogni utente.

Gli utenti si collegano poi al dominio e non ai server singoli del dominio.

Esiste un database che mantiene le informazioni sulla sicurezza e sugli account per ogni dominio.

Al momento del logon questo database viene utilizzato per controllare l’esattezza i dati inseriti.

Tutti gli utenti accedono a una serie di risorse condivise.

Page 23: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Gestire più domini

Un’esigenza importante può essere quella di avere più domini per una singola organizzazione.

In tal caso NT propone soluzioni diverse:– Modello a dominio singolo: ogni dominio è isolato dagli altri,

anche se un utente ha accesso ad un altro dominio non può entrare.

– Modello a Dominio principale: progettato per grosse organizzazioni, ha una struttura gerarchica con un dominio principale.Un utente può appartenere a più domini.

– Modello su fiducia:non vi è alcun dominio principale, ogni dominio gestisce i propri utenti, ma si fida anche degli altri domini, un utente che vi ha accesso e’ autorizzato ad entrare.

Page 24: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Componenti dei domini

Ogni dominio ha delle componenti in modo indipendente dal modello scelto:– Domain Controller– Relazioni di fiducia– Servizio di NetLogon

Page 25: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

I Domain Controller

I domain controller sono computer con Windows NT Server, la loro funzione è molteplice:

– Mantengono le informazioni di sicurezza sui domini utilizzando una directory condivisa detta Database Directory

– Gestiscono tutte le relazioni utente/dominio come ad esempio l’autenticazione di un utente che si collega ad un account di dominio.

– Sono Previsti due tipi di domain controller: Primary Domain Controller: tiene traccia dei cambiamenti

effettuati agli account e memorizza le informazioni nella DBdirectory; è unico per ogni dominio

Backup Domain Controller: mantiene un backup del Dbdirectory è sincronizzato regolarmente.

Page 26: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Relazioni di fiducia

Una relazione di fiducia è la politica adottata da due domini in un’unità amministrativa per autorizzare o meno l’accesso alle risorse presenti su entrambi i domini. Possono essere di due tipi:

– Monodirezionale: un dominio concede fiducia agli utenti dell’altro dominio per l’utilizzo delle risorse. Le risorse che si rendono disponibili sono nel dominio che concede fiducia (trusting) e i gli account che possono utilizzarli sono nel dominio che riceve fiducia (trusted).

– Bidirezionale:è costituita da due relazioni di fiducia monodirezionale ogni dominio concede fiducia agli utenti dell’altro dominio.

Page 27: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Il servizio di NetLogon

Le funzionalità offerte dal servizio NetLogon sono:– Autenticazione dell’utente, cioè fornire agli utenti un

singolo punto d’accesso al PDC.– Sincronizzazione dei cambiamenti nel database

directory tra il PDC e il vari domain controller

Se un utente tenta il logon su un computer che non e’ PDC o BDC allora il computer utilizzato elabora le richieste di logon e le passa ad un domain controller..

Page 28: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Autenticazione dell’utente

Il servizio NetLogon autentica la richiesta in tre passaggi:

1. Scoperta: quando il computer viene avviato, deve determinare la posizione di un domain controller all’interno del dominio ad esso si farà riferimento per ogni richiesta di logon. La localizzazione del domain controller e’ detta scoperta.

2. Impostazione del canale di sicurezza: viene utilizzato un account di sicurezza che rende il canale di comunicazione sicuro.

3. Pass-through autentication che viene verificata quando l’utente intende collegarsi ad un dominio che non e’ quello locale, come ad esempio il log di ogni studente al dominio EDUC.

Page 29: Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.

Autenticazione: Pass-through autentication

Pass-through autenticaion: la richiesta perviene al domain controller che controlla che il dominio corrisponda il proprio, se lo e’ convalida il logon altrimenti controlla per i domini trusted. Se esiste un domain controlled trusted che riconosce l’account utente il logon viene accettato.