LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof....

42
LOGO Seminario Sicurezza Informatica: Windows NT Security UNIVERSITA’ DEGLI STUDI DI PERUGIA Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Specialistica in Informatica

Transcript of LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof....

Page 1: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

LOGO

Seminario Sicurezza Informatica:Windows NT Security

Seminario Sicurezza Informatica:Windows NT Security

UNIVERSITA’ DEGLI STUDI DI PERUGIAFacoltà di Scienze Matematiche, Fisiche e Naturali

Corso di Laurea Specialistica in Informatica

UNIVERSITA’ DEGLI STUDI DI PERUGIAFacoltà di Scienze Matematiche, Fisiche e Naturali

Corso di Laurea Specialistica in Informatica

Page 2: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Palazzetti Emanuele

Argomenti trattati

Introduzione1

Architettura2

Registro di Windows33

Active Directory44

Windows Server Domain5

Controllo degli accessi6

Security Descriptor37

Algoritmo di decisione48

Audit in Windows49

Page 3: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Introduzione

Palazzetti Emanuele

Windows NT E’ una famiglia di sistemi operativi pensata per utenze aziendali sia in

ambito server che workstation In quanto parente dei sistemi operativi UNIX, l'impostazione è

multiutente, multiprocesso, multiprocessore; il file system NTFS gestisce adeguatamente la multiutenza, assegnando a ciascun file diritti di accesso specifici per ogni utente

Si basa su una tipologia di kernel ibrido in quanto nel kernel risiedono diversi servizi oltre a quelli essenziali come ad esempio il file system, la gestione della memoria e anche la gestione della grafica

A livello di prestazioni e di sicurezza questo equivale ai kernel monolitici (ad esempio UNIX e Linux), ma consente una flessibilità maggiore

Il controllo sugli accessi viene gestito in base a singoli tipi di oggetto mentre in UNIX gli oggetti sono uniformemente trattati come risorse

Page 4: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Architettura

Palazzetti Emanuele

E’ presente una separazione tra la modalita’ Utente (protection ring 3) e quella Kernel (protection ring 0) come nei sistemi operativi Unix

Stabiliscono dei meccanismi per la protezione dei dati e

delle funzionalita’ del sistema dai fallimenti di

sistema (fault tolerance) e dai comportamenti malevoli

del codice eseguito (computer security)

Tramite questa suddivisione e’ possibile creare dei livelli

di privilegi

L’Hardware Abstraction Layer (HAL) fornisce un’interfaccia di astrazione dell’hardwareI servizi di sistema, compresa la parte Windows Executive, funzionano in modalita’ Kernel (supervisore)I programmi utente, effetuano delle chiamate alle API (Application program interface) per poter invocare i servizi del sistema operativo

CALLCALL • Local Procedure Call facility• Si occupa di effettuare lo scambio

e la transazione delle chiamate dal ring 3 al ring 0

LPC

• Remote Procedure Call facility• Si occupa di gestire le chiamate a

procedure remote, presenti nei servizi del sistema operativo

RPC

I driver delle periferiche (spesso driver di terze parti), sono anch’essi collocati nel ring 0.

Rappresenta una vulnerabilita’ poiche’ e’ consentito a del codice esterno di operare in modalita’ kernel, consentendo ad un attaccante di sfruttare dei buffer overruns per danneggiare il sistema

La parte Windows Executive, include anche il Security Reference Monitor (SRM) che si incarica del controllo degli accessi da parte degli applicativiI sottosistemi di sicurezza (Security Subsystem), operano in modalita’ utente e sono caratterizzati dalla presenza di diverse componenti

Page 5: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Architettura (2)

Palazzetti Emanuele

Log-on Process

Local Security Authority

Security Account Manager

SecuritySecuritySubsystemSubsystem

SecuritySecuritySubsystemSubsystem

(winlogon.exe) E’ responsabile della procedura di accesso anche se non si occupa direttamente della verifica delle credenziali. Le funzioni principali includono l’invocazione di GINA (Graphical identification and Authentication) per permettere l’inserimento delle credenziali in modo sicuro evitando alcuni attacchi di login spoofing.

Solitamente e’ esposto a molte minacce che ne alterano la funzionalita’ e l’utilizzo di memoria. L’aumento di quest’ultimo, indica che winlogon ha subito un hijacking (dirottamento).

(lsass.exe) E’ un processo utilizzato alla fase di logon quando viene richiesta la verifica dell’account utente e della sua password. Al momento dell’accesso, si occupa di rilasciare un access token che include tutte le informazioni di sicurezza riguardanti l’utente, i gruppi ai quali appartiene ed i privilegi disponibili.Altra funzione assegnata a questo sottosistema, e’ quella di scrivere i log per effettuare l’auditing del sistema.

Login Spoofing: Tecnica utilizzata per ottenere le password degli utenti.

Viene proposta una normale interfaccia di accesso, che in realta’ e’ creata dal

programma malevolo solitamente introdotto come Trojan Horse.

I dati vengono inviati all’attaccante o loggati in una particolare area

facilmente reperibile.

E’ un database memorizzato come un file di registro. Contiene tutte le password degli utenti salvate in formato hash. In quanto una funzione hash e’ unidirezionale, sono garantiti i meccanismi base di sicurezza per la tenuta delle password. Per aumentare il livello di sicurezza di SAM contro gli attacchi offline (furto del database), e’ stata introdotta la SYSKEY ovvero una chiave lunga 128-bit utilizzata per cifrare le password contenute. Tuttavia, sono state individuate alcune forme di crittanalisi capaci di fornire metodi per decifrare SAM.

Page 6: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Caratteristiche di Windows

Palazzetti Emanuele

• Registro

• Windows Server Domain

• Active Directory

Page 7: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Registro di Windows

Palazzetti Emanuele

Registro Viene identificato come il database centrale di tutta la configurazione

di Windows e dei suoi applicativi Ogni voce del registro viene chiamata key E’ disponibile un programma (regedit.exe) per poter modificare le

varie chiavi presenti sul registro o semplicemente per visualizzarlo nella sua struttura

Un punto di forza e’ la possibilita’ di creare criteri di gruppo che permettono all'amministratore di una rete di computer basati su Windows di gestire impostazioni di protezione e dei programmi in maniera centralizzata. In particolare, la possibilità di specificare chiavi nel registro che saranno applicate a tutti i computer della rete.

Tramite l'API, è possibile accedere al registro indifferentemente da locale o da remoto consentendo anche l’esecuzione di script per automatizzare le operazioni sul registro.

Page 8: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Registro di Windows (2)

Palazzetti Emanuele

Struttura del registro HKEY_CLASSES_ROOT: contiene tutte le estensioni associate ai file HKEY_CURRENT_USER: contiene le informazioni di configurazione

dell’utente correntemente loggato HKEY_LOCAL_MACHINE: contiene le informazioni di configurazione

riferite all’intera macchina locale HKEY_USERS: contiene tutte le informazioni dei profili attualmente

caricati nel sistema HKEY_CURRENT_CONFIG: contiene le informazioni riferite ai profili

hardware utilizzati dal computer locale al momento dell’avvio

Page 9: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Registro di Windows (3)

Palazzetti Emanuele

Struttura del registro – Hive utilizzati per la sicurezza

HKEY_LOCAL_MACHINE\SAM HKEY_LOCAL_MACHINE\Security HKEY_LOCAL_MACHINE\Software HKEY_CURRENT_CONFIG\ HKEY_USERS\.DEFAULT

Page 10: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Registro di Windows (4)

Palazzetti Emanuele

Registro – Vulnerabilita’ Modificando le chiavi di registro si modifica il comportamento del

sistema operativo; questa e’ una vulnerabilita’ elevata se si considera la possibilita’ di cambiare la path dove il sistema va a ricercare alcuni eseguibili importanti (incluso lo stesso explorer.exe).

E’ importante impostare correttamente i permessi di modifica delle chiavi evitando di consentire il privilegio a tutti ma solo agli amministratori.

Si deve sempre proteggere l’integrita’ del registro anche da manipolazioni da parte di computer nella stessa rete. Bisogna eliminare, pertanto, il regedit e le sue API dai computer che non detengono di una funzione di gestione del sistema.

Talvolta e’ meglio una semplicita’ ridotta a favore di una sicurezza maggiore. Disattivare o limitare strettamente l’uso dell’accesso remoto al registro.

Page 11: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Registro di Windows (5)

Palazzetti Emanuele

Registro – Vulnerabilita’ Verificare sempre la chiave di registro

HKEY_LOCAL_MACHINE_\SYSTEM\CurrentControlSet\Control\SecurePipeServers\Winreg

in quanto stabilisce i criteri di accesso da parte di gruppi o di utenti al registro in modalita’ remota.

Se questa chiave non esiste, l’accesso viene fatto senza alcun controllo!

Un utente remoto puo’ agire sul registro come se fosse un utente locale

Page 12: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Active Directory

Palazzetti Emanuele

Active Directory E’ una tecnologia che introduce le Directory Service utilizzate per

immagazzinare informazioni riguardanti le risorse distribuite nella rete di un dominio e per centralizzare la gestione della rete

Tutti gli elementi vengono definiti oggetti organizzati in Active Directory; si possono individuare tre grandi gruppi di oggetti: risorse (stampanti), servizi (smtp server) ed utenti (account utenti e gruppi)

Organizza gli oggetti e registra tutte le informazioni, incluse le politiche di sicurezza e di accesso agli oggetti, in un database centralizzato

Ciascun oggetto detiene delle proprieta’ specifiche e di un GUID (Global Unique Identifier) utilizzato per distinguerlo in modo univoco; anche alle singole proprieta’ viene associato un GUID

Le Active Directory possono essere dinamicamente estese aggiungendo nuovi tipi di oggetti o applicando nuove proprieta’ agli oggetti esistenti

Page 13: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Active Directory (2)

Palazzetti Emanuele

Active Directory – Directory tree

Compagnia ACompagnia A

Divisione ADivisione A Divisione BDivisione B RicercaRicerca

Oggetto: StampanteModello: A colori

Stanza: 123

Oggetto: UtenteNome: Diego

Indirizzo: PerugiaStanza: 125

Page 14: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Active Directory (3)

Palazzetti Emanuele

Active Directory – Directory tree Se e’ presente una connessione logica tra i vari oggetti, anche se sono

di tipo differente, possono essere disposti nello stesso contenitore Questa funzionalita’ e’ fondamentale per gestire risorse in

organizzazioni molto estese dove, l’implementazione di strutture di oggetti raggruppate per tipo, comporterebbe una gestione centralizzata troppo complessa

Tutte le policy e le politiche di accesso all’intera directory del servizio vengono applicate a tutte le directory o servizi sottostanti grazie a dei meccanismi di ereditarieta’

Page 15: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Windows Server Domain

Palazzetti Emanuele

Windows Server Domain E’ un insieme logico di computer che condividono il database degli

account utente e tutte le policy di sicurezza Permette la creazione di strutture gerarchiche rappresentabili come

foreste di domini. In questo modo e’ possibile collegare i domini in modo da ereditare il database degli account o le policy di sicurezza da domini a livelli superiori

E’ facilitata l’amministrazione della rete in quanto un amministratore puo’ gestire qualsiasi computer interconnesso nel suo dominio o in domini di gerarchia inferiore

In quanto sono condivisi i database di sistema, gli utenti non vengono autenticati con la macchina locale bensi’ con il dominio di appartenenza

Viene realizzato un meccanismo di single sign-on per tutti i servizi e le risorse presenti nel dominio

Page 16: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Windows Server Domain (2)

Palazzetti Emanuele

Domain Controller E’ un server che processa e garantisce un livello di sicurezza a tutte le

richieste di autenticazione gestendo, quindi, le fasi di log-on, di controllo dei permessi e di distribuzione delle policy ai computer registrati in un Windows Server Domain.

Include un database LDAP (Lightweight Directory Access Protocol) impiegato per consentire l’accesso agli oggetti presenti nel dominio

Prevede il meccanismo KDC (Key distribution center) utilizzato per lo scambio sicuro delle chiavi crittografiche quando esse vengono utilizzate per garantire che particolari servizi siano accessibili a determinati soggetti in determinati istanti temporali

Implementa un meccanismo cross-platform chiamato CIFS (Common Internet File System) che viene impiegato per gestire le richieste di file e di servizi di stampa da parte dei client verso server collocati nella rete. E’ basato sul protocollo SMB (Server Message Block)

Page 17: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Windows Server Domain (3)

Palazzetti Emanuele

Accesso ad un Windows Server Domain (Kerberos V5) A partire da Windows 2003 Server, e’ implementata un’estensione

del protocollo per permettere l’autenticazione iniziale tramite certificati registrati su smart cards

Il KDC di Kerberos utilizza Active Directory come database degli account utente; questo rende Kerberos scalabile all’aumentare della dimensione della rete e dei domini

La versione 5 del protocollo prevede che la transazione iniziale tra client e server, venga stabilita in un ambiente non sicuro (Internet) pertanto e’ richiesta la mutua identificazione

Se gli utenti accedono ad un dominio che include dei servizi sensibili, la mutua identificazione e’ garantita dalla creazione di VPN (Virtual Private Network)

Page 18: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi

Palazzetti Emanuele

Entita’ attive delle Policy di SicurezzaEntita’ attive delle Policy di SicurezzaEntita’ attive delle Policy di SicurezzaEntita’ attive delle Policy di Sicurezza

Utentilocali

Utentidominio

Gruppi Macchine

Page 19: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi (2)

Palazzetti Emanuele

Entita’ Sono le figure attive delle policy di sicurezza dotati di un username e di un

SID (Security Identifier) Possono essere create localmente; in tal caso sono amministrabili e

visibili solo sulla macchina locale e vengono identificate con il seguente nome:entity = MACHINE\entity (TUHH-68842\Administrator)

Possono essere create in un dominio; in tal caso possono essere amministrate da un amministratore di dominio o dal domain controller. La visibilita’ e’ nota in tutto il dominio e nei domini figli con il nome:entity@domain = DOMAIN\entity ([email protected] = EUROPE\

Diego) Esistono delle entita’ universali (Everyone) Account locali sono salvati nella chiave di registro HKEY_USERS

Page 20: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi (3)

Palazzetti Emanuele

Gruppi ed Alias Un gruppo e’ una collezione di Security Identifier gestiti dal Domain

Controller; a sua volta il gruppo detiene un proprio SID Un membro di un gruppo, oltre ai privilegi personali, puo’ far uso dei

privilegi e dei permessi assegnati ad un gruppo Costituiscono un livello intermedio di controllo in quanto i permessi

riferiti ad un oggetto sono assegnati ad un gruppo e gli utenti ereditano l’accesso all’oggetto diventando membri di quel gruppo

Un alias e’ una collezione di SID riferiti ad utenti e gruppi e solitamente sono utilizzati per implementare dei ruoli a livello logico anche se, realmente, non sono dei ruoli

Page 21: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi (4)

Palazzetti Emanuele

Security Identifier E’ una sequenza alfanumerica utilizzata per identificare in modo univoco

un soggetto visto come utente o gruppo E’ il domain controller che utilizza il SID per confermare l’accesso al

sistema o a servizi presenti nel dominio Viene generato al momento della creazione dell’utente o del gruppo e

resta invariato per tutta la durata di vita dell’account; la generazione e’ pseudo-random pertanto non e’ possibile che, una volta cancellato un account, sia possibile crearne un altro con lo stesso SID

Come conseguenza, la creazione di un nuovo account non eredita accessi o permessi dell’account precedente

Vengono associati SID anche ai domini e, non appena una workstation o un server si unisce al dominio, un SID viene generato per la nuova macchina includendo il SID del dominio stesso

Page 22: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi (5)

Palazzetti Emanuele

Security IdentifierUn SID risponde a questo formato:

S – R – I – SA – SA – SA – NS: letteraR: numero di revisione (attualmente e’ 1)I: identificatore dell’autorita’ (5 indica una NT Authority)SA: identificatore del dominio o del computer localeN: identificatore relativo per garantire unicita’ al SID

Page 23: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi (6)

Palazzetti Emanuele

Security Identifier

Everyone: S-1-1-0SYSTEM: S-1-5-18Administrator: S-1-5-21-<Autorita’ locale>-500Administrators: S-1-5-32-544Domain Admins: S-1-5-21-<Autorita’ di dominio>-512Guest: S-1-5-21-<Autorita’ locale>-501

Page 24: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi (7)

Palazzetti Emanuele

Access Token Quando un utente viene autenticato con successo al sistema tramite le

sue credenziali, viene assegnato un Access token E’ un oggetto, contenente il descrittore di sicurezza, che include tutte le

informazioni per identificare l’utente, il suo gruppo ed i suoi privilegi Il descrittore di sicurezza viene allegato ad ogni processo o thread

istanziato durante la sessione dell’utente e, quando il processo accede ad un oggetto, Windows verifica con il descrittore di sicurezza se l’utente detiene i diritti per accedere alla risorsa

Quando un processo genera un altro processo, il suo access token viene copiato nell’area riservata all’altro processo

I token possono essere dei Primary token o dei Impersonation token

Page 25: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi (8)

Palazzetti Emanuele

Access Token – Struttura

SID Utente

SID Gruppo e Alias

Lista dei privilegi

Default per i nuovi oggetti

Altri elementi

Page 26: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Controllo degli accessi (9)

Palazzetti Emanuele

Privilegi I privilegi sono DIVERSI dai diritti di accesso che, invece, controllano la

possibilita’ da parte di utenti di accedere ad oggetti protetti Esempi di privilegi:

Backup dei file e delle directoryGestire gli applicativi di audit ed i logCambiare permessi a files o altri oggetti (mutare Active Directory)Spengere il sistema

Page 27: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor

Palazzetti Emanuele

Security Descriptor E’ incapsulato all’interno dell’Access token quando l’oggetto e’ un

processo Viene assegnato a qualsiasi oggetto di tipo executive (processi),

filesystem (files) o service (stampanti) Permette la creazione di securable objects cioe’ di oggetti protetti sui

quali e’ possibile imporre una politica di controllo degli accessi granulare

Page 28: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (2)

Palazzetti Emanuele

SID Proprietario

Gruppo primario

DACL

SACL

Security Descriptor – Struttura

Page 29: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (3)

Palazzetti Emanuele

Discretionary Access Control List E’ una lista di controllo degli accessi (ACL) che consente di decidere al

sistema se consentire o negare l’accesso dell’utente ad un particolare oggetto

E’ composto da una serie di Access Control Entries (ACE) dotati della seguente struttura:

Tipo ACE

Tipo oggetto

Oggetto che puo’ ereditare l’ACE

Diritti di accesso

SID Utente

Accesso consentito o negato:

ACCESS_ALLOWED_ACEACCESS_DENIED_ACEGUID utilizzato per identificare in

modo univoco l’oggetto cui l’ACE e’ riferitoGUID degli oggetti che

erediteranno le policy di accesso definite in questo ACEDiritti di accesso consentiti

qualora l’ACE corrisponda alla richiesta fatta

SID dell’Utente cui l’ACE e’ riferito

Page 30: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (4)

Palazzetti Emanuele

Discretionary Access Control List – Struttura ACE

ACE1

Type: ACCESS_ALLOWED_ACE

ObjectType: GUID di una home page web

InheritedObjectType: GUID degli oggetti riferiti agli account utente

Access rights: Scrittura

Principal SID: S-1-1-0 (Everyone)

Page 31: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (5)

Palazzetti Emanuele

Ereditarieta’ degli ACE

\Research Container typeACE1 InheritedObjectType nullACE2 InheritedObjectType UserACE3 InheritedObjectType Printer

\Research\Diego User typeACE1 InheritedObjectType nullACE2 InheritedObjectType User

\Research\HPPrinter Printer typeACE1 InheritedObjectType nullACE3 InheritedObjectType Printer

Page 32: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (6)

Palazzetti Emanuele

Ereditarieta’ degli ACE – Eccezioni alle regole\Documenti Container Type

ACE1

Type: ACCESS_DENIED_ACE

Access right: read, write

Principal: Diego

InheritedObject: Lettera

\Documenti\Foto_A Foto Type \Documenti\Lettera_A Lettera Type

ACE2

Type: ACCESS_ALLOWED_ACE

Access right: read, write

Principal: Diego

ACE1

Type: ACCESS_DENIED_ACE

Access right: read, write

Principal: Diego

\Documenti\Lettera_A Lettera Type

ACE1

Type: ACCESS_DENIED_ACE

Access right: read, write

Principal: Diego

Page 33: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (6)

Palazzetti Emanuele

Ereditarieta’ degli ACE – Eccezioni alle regole\Documenti Container Type

ACE1

Type: ACCESS_DENIED_ACE

Access right: read, write

Principal: Diego

InheritedObject: Lettera

\Documenti\Foto_A Foto Type

\Documenti\Lettera_A Lettera Type

ACE2

Type: ACCESS_ALLOWED_ACE

Access right: read, write

Principal: Diego

SE_DACL_PROTECTEDSE_DACL_PROTECTED

Page 34: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (7)

Palazzetti Emanuele

Contesto limitato degli ACE Quando un Access Token viene assegnato ad un processo, esso eredita

l’Access Token fornito all’utente al momento del log-on; eredita pertanto tutti i diritti e privilegi associati

La caratteristica di molti programmi, e’ che talvolta il codice scritto non e’ sicuro e particolari operazioni possono danneggiare gravemente il sistema

Una soluzione e’ quella di implementare un meccanismo per garantire al processo solo i permessi di cui ha strettamente bisogno per portare a termine il suo lavoro

Windows implementa un code-based access control tramite l’utilizzo di restricted token (token limitati)

Page 35: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (8)

Palazzetti Emanuele

Code-based Access Control Nell’Access Token, vengono inseriti dei flag e dei marcatori, per negare

al processo l’utilizzo di particolari diritti associati a gruppi Viene specificato anche un SID limitato per garantire che il processo

possa agire solo su particolari oggetti indipendentemente dai diritti che detiene

In questo modo un processo con un token ristretto, puo’ accedere ad un oggetto solo se sia al SID dell’user che a quello limitato e’ garantito l’accesso

Page 36: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Security Descriptor (9)

Palazzetti Emanuele

Code-based Access Control – Esempio

User SID: Diego

Group SIDs: Administrator

USE_FOR_DENY_ONLY

Users

Restricted SIDs: MyApp

ACE1:Access Rights: read, writeUser SID: Diego

ACE2:Access Rights: readUser SID: MyApp

ACE3:Access Rights: readUser SID: Administrator

ACE2:Access Rights: readUser SID: MyApp

ACE1:Access Rights: read, writeUser SID: Diego

Page 37: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Riepilogo Algoritmo Decisione

Palazzetti Emanuele

Algoritmo decisione per permettere l’accesso ad oggetti Quando un soggetto (utente o gruppo) richiede l’accesso ad un

oggetto, l’SRM esegue un confronto tra l’access token del soggetto, l’ACL dell’oggetto e la maschera di accesso all’oggetto per determinare se l’accesso puo’ essere permesso

Viene subito verificato che esista il DACL nel Security Descriptor dell’oggetto: se non e’ presente (NULL DACL) l’accesso e’ permesso

Altrimenti viene verificato, tramite il SID, se il soggetto e’ il proprietario dell’oggetto ed in tal caso l’accesso e’ consentito

Se l’utente non e’ proprietario, per ogni ACE viene fatto il confronto tra il SID dell’utente e quello descritto nell’ACE

Page 38: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Riepilogo Algoritmo Decisione (2)

Palazzetti Emanuele

Algoritmo decisione per garantire accessi agli oggetti1. Nessun ACE dell’oggetto contiene il SID dell’user; la richiesta viene

negata2. Viene trovato il SID dell’user all’interno di un ACE di tipo

ACCESS_DENIED_ACE; la richiesta viene negata e l’algoritmo si interrompe

3. Viene trovato il SID dell’user all’interno di un ACE di tipo ACCESS_ALLOWED_ACE; Se la maschera di accesso richiesta dal processo utente, combacia con quella definita all’interno dell’ACE, la richiesta e’ permessa ed il processo puo’ ottenere l’handle sull’oggetto. Altrimenti l’algoritmo prosegue nella sua ricerca fino ad un caso terminale

Page 39: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Audit in Windows

Palazzetti Emanuele

Audit e logging Consiste nell’utilizzare servizi di Windows per registrare particolari

eventi legati alla sicurezza del sistema e all’utilizzo di oggetti all’interno dell’Active Directory

Quando un utente accede ad un oggetto per il quale sia impostata una politica di auditing nel suo SACL, il sistema effettua le scritture nei log in base alle policy stabilite

Tutte le operazioni di scrittura dei log sono effettuate dal Security Reference Monitor

I log sono solitamente vincolati in dimensione al raggiungimento della quale, viene applicata una delle seguenti politiche: Sovrascrittura degli eventi quando richiesta Sovrascrittura degli eventi piu’ vecchi di X giorni Non sovrascrivere eventi

Page 40: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Audit in Windows (2)

Palazzetti Emanuele

Audit e logging – Blocco del meccanismo di logging Nel caso in cui, a causa di una delle scelte prese nella definizione delle

policy di registrazione o di pulizia dei log, l’SRM non puo’ piu’ effettuare registrazione di eventi, il sistema viene arrestato secondo quanto definito nella chiave di registro:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LsaName: CrashOnAuditFailType: REG_DWORDValue: 1

Questa scelta “distruttiva”, e’ tuttavia necessaria per rispettare i requisiti stabiliti nell’Orange Book livello C2

Page 41: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

Conclusioni

Palazzetti Emanuele

Windows NT Security Dispone di buoni meccanismi di sicurezza a livello architetturale

nonostante la vulnerabilita’ sull’esecuzione del codice dei driver Tramite l’uso di Windows Server Domain, e’ possibile creare reti

gerarchiche o paritarie capaci di condividere, tramite le Active Directory, tutti i database degli utenti, le policy di sicurezza, i diritti di accesso agli oggetti e l’ereditarieta’ degli stessi

L’utilizzo di Kerberos e di VPN, consentono di creare reti globali suddivise per domini

L’uso degli Access Token e dei Security Descriptor consentono di gestire in modo granulare i permessi di accesso a tutti gli oggetti facenti parte del dominio; la definizione di Restricted Token, consente anche di limitare il codice “untrusted” degli utenti

Page 42: LOGO Seminario Sicurezza Informatica: Windows NT Security Studente Palazzetti Emanuele Docente Prof. Stefano Bistarelli UNIVERSITA DEGLI STUDI DI PERUGIA.

LOGO UNIVERSITA’ DEGLI STUDI DI PERUGIAFacoltà di Scienze Matematiche, Fisiche e Naturali

Corso di Laurea Specialistica in Informatica

UNIVERSITA’ DEGLI STUDI DI PERUGIAFacoltà di Scienze Matematiche, Fisiche e Naturali

Corso di Laurea Specialistica in Informatica