3/27/2017 2:27 AM © Microsoft Corporation. All rights reserved.

Slides:



Advertisements
Presentazioni simili
Scrivere codice sicuro
Advertisements

EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Sicurezza in EGEE Vincenzo Ciaschini Roma.
Principali caratterisitche di sicurezza
Windows Server 2003 Active Directory Diagnostica, Troubleshooting e Ripristino PierGiorgio Malusardi IT Pro – Evangelist Microsoft.
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
ISA Server 2004 Configurazione di Accessi via VPN
Visual Studio Tools For Office 2005 Fabio Santini. NET Senior Developer Evangelist Microsoft Italy.
La riduzione dei privilegi in Windows
Windows Server 2003 SP1 Security Configuration Wizard PierGiorgio Malusardi IT Pro Evangelist Microsoft.
Introduzione ad Active Directory
Sviluppare applicazioni per utenti non-admin Fabio Santini Senior Developer Evangelist.
Consumare Web Service Andrea Saltarello
Fatti e misfatti dei protocolli di autenticazione LM, NTLM e Kerberos
Configuring Network Access
Sharepoint Gabriele Castellani
| | Microsoft Certificate Lifecycle Manager.
Strategie di migrazione da Windows NT4 a Windows Server 2003
Branch office update – SP2. Agenda Messa in esercizio degli uffici remoti Compressione HTTP Differentiated Services Cache di BITS.
Windows Server 2003 Service Pack 1 Anteprima Tecnica.
1 Smart Client distribuzione e aggiornamento Fabio Santini.
Installazione di Apache 2, PHP5, MySQL 5
Java Enterprise Edition (JEE)
Sicurezza II Prof. Dario Catalano Strong Password Protocols.
Sicurezza e Policy in Active Directory
Organizzazione di una rete Windows 2003
Sicurezza e Policy in Active Directory. Sommario Amministrazione della sicurezza in una rete Windows 2003 Amministrazione della sicurezza in una rete.
Amministrazione di una rete con Active Directory
Amministrazione di una rete con Active Directory.
Amministrazione di una rete con Active Directory
Active Directory.
Responsabile: Ing. Daniele Bocci CORSO INTEGRATO DI INFORMATICA Master in Management Infermieristico.
Organizzazione di una rete Windows Server Client Il ruolo dei computer I computer in una rete possono svolgere le funzioni di client e server dei.
17/12/02 1 Direzione Sviluppo Servizi su rete, Banche dati IRIDE Infrastruttura di Registrazione e IDEntificazione.
File System NTFS 5.0 Disco: unità fisica di memorizzazione
09/01/041Security Sicurezza del sistema di rete Non è necessaria per il funzionamento della rete, ma è auspicabile per semplificarne la gestione. Consente.
Security Enhanced Linux (Selinux) A cura di : De Pascale Filippo 1.
Organizzazione della Memoria (Unix) Text contiene le istruzioni in linguaggio macchina del codice eseguibile, può essere condiviso in caso di processi.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
CORSO OPERATORE AVANZATO
Sicurezza in Windows NT Fabrizio Inguglia. Tratteremo: Struttura generale di Windows NT 4 Gestione delle politiche di sicurezza.
Modulo 7 – reti informatiche u.d. 2 (syllabus – )
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
"Non-Admin" Developing "Non-Admin" Developing Fabio Santini.NET Senior Developer Evangelist Microsoft Italy.
Guida IIS 6 A cura di Nicola Del Re.
L’applicazione integrata per la gestione proattiva delle reti IT
1 Modello di utilizzo n° 1 Login al sistema. 2 Accedere al sistema con autenticazione debole: PASSWORD ? PASSWORD scaduta ? La password è adeguata alle.
BraDypUS è un sistema che risolve il sempre più urgente problema della corretta gestione e immagazzinamento dei dati archeologici di scavo e topografici.
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Fabrizio Grossi Verifica delle attività. L'operato degli amministratori di sistema deve essere oggetto, con cadenza almeno annuale, di un'attività
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Un problema importante
Visual Studio Tools per Office System 2003 Fabio Santini Developer Evangelist Developer And Platform Evangelism.
Configurazione di una rete Windows
Amministrazione della rete: web server Apache
Installazione Come tecnico, si potrebbe aver necessità di effettuare una installazione pulita di un sistema operativo. L'esecuzione di una installazione.
Active Directory e Gestione Utenti di Valerio Di Bacco.
ASP.NET – Autenticazione e Sicurezza basata sui ruoli
Sviluppo per Pocket PC con SQL Server CE 2.0 Fabio Santini Silvano Coriani.NET Developer Evangelist Microsoft Corporation.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Distribuzione controllata del software con Systems Management Server 2003 Fabrizio Grossi.
Certificati e VPN.
PiattaformePiattaformePiattaformePiattaforme Antonio Cisternino 28 Gennaio 2005 OpenSourceOpenSourceOpenSourceOpenSource e ProprietarieProprietarieProprietarieProprietarie.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Progettazione e realizzazione di un’applicazione J2EE Parte 2.
31 ottobre Security Assessment per Cassa Centrale Analisi delle modalità di deployment di server e di postazioni utente. Simulazione di consulente.
Active Directory. Cos’è Active Directory (AD)  Un “directory service”  Un contenitore di oggetti  Un insieme di servizi di accesso  Un “namespace”
"Non-Admin" Developing "Non-Admin" Developing Fabio Santini.NET Senior Developer Evangelist Microsoft Italy.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Framework di sicurezza della piattaforma OCP (Identity & Access Management) Smart Cities and Communities and Social Innovation Bando MIUR D.D. 391/Ric.
Transcript della presentazione:

3/27/2017 2:27 AM © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Windows Security Fabio Santini .NET Senior Developer Evangelist 3/27/2017 2:27 AM Windows Security Fabio Santini .NET Senior Developer Evangelist fsantini@microsoft.com Microsoft Italy © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Windows Security Raffaele Rialdi 3/27/2017 2:27 AM Windows Security Raffaele Rialdi Microsoft C# MVP http://mvp.support.microsoft.com MVP Profile http://snipurl.com/f0cv Blog http://blogs/ugidotnet.org/raffaele malta@vevy.com Vevy Europe SpA © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Agenda Termini base SID, Logon Session, ACL, Privilegi, LSA… 3/27/2017 2:27 AM Agenda Termini base SID, Logon Session, ACL, Privilegi, LSA… Protocolli di autenticazione Impersonation e Delegation Code Access Security del Framework.NET Auditing Q&A © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Termini base Autorizzazione != Autenticazione 3/27/2017 2:27 AM Termini base Autorizzazione != Autenticazione Autenticazione – Chi sei? Autorizzazione – Cosa puoi fare? Principal – un’entità che può essere autenticata Authority – un’entita che rappresenta un set specifico di principal Trust – è importante ‘fidarsi’ di alcune authority che sono in grado di verificare correttamente le identità Authorities (domini) possono fidarsi a vicenda (la fiducia è transitiva da win2k) © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Termini base User Accounts: Group account 3/27/2017 2:27 AM Termini base User Accounts: Gli user account sono identificati da uno user name e una password. Lo user name è l’etichetta e la password è la stringa di autenticazione per l’account. Group account Si utilizzano i group account per definire i permessi a utenti simili e per semplificare la gestione degli account. © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Trusted Computing Base (TCB) 3/27/2017 2:27 AM Trusted Computing Base (TCB) TCB – definita come Federal Standard 1037C Il Kernel mode è la parte principale del TCB, non ha limiti di accesso a nessuna risorsa di sistema Lo User mode può essere parte del TCB in relazione al tipo di processo e della impostazioni Il disegno di un sistema operativo deve dividere in maniera assoluta codice “fidato” da codice “non fidato” per definizione, kernel code è fidato tutto quello che scrivete è per default non fidato TCB Kernel mód parte non fidata parte fidata senza limiti TCB © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Utente administrator L’utente Administrator in Windows è considerato parte della TCB Il suo ruolo è quello di definire il TCB e di configurare i livelli di fiducia che il sistema operativo deve usare per ogni account Windows non può essere messo in sicurezza da un administrator “distratto”  © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Principal e account Il Principal è un’entità che può essere principalmente autenticata come: User Computer L’account rappresenta un set di dati riguardanti un principal Un account esiste in contesti differenti: Local account Network La differenza sta nel tipo di authority che gestisce l’account Local – TCB e l’authority Network – Domain è l’authority © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

I domini sono regni fidati 3/27/2017 2:27 AM I domini sono regni fidati I domini possono contenere Utenti Computer Gli account di dominio si estendono sui computer in rete MyDomain\MyAccount è riconosciuto su tutti i computer che fanno parte di un certo dominio La fiducia tra domini estende il regno Se YourDomain si fida di MyDomain, allora YourDomain riconosce MyDomain\MyAccount Un client in un dominio può autenticarsi su un qualunque server che è raggiungibile da un percorso di fiducia dal server verso il client © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Ogni computer è un isola  3/27/2017 2:27 AM Ogni computer è un isola  Un account su un computer è separato da un altro account su un computer differente Local account possono autenticarsi in rete se i propri user name e password corrispondono sugli altri computer (tipico nel workgroup) Altrimenti in generale questi sono account differenti: Computer1\User1 Computer2\User1 Domain\User1 © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Schema di autenticazione 3/27/2017 2:27 AM Schema di autenticazione Authentication Logon Session Principal Token SID Authorization NTLM/Kerberos LSA Lsass.exe .SAM .SAM/AD Domain Domain Controller / Backup Domain Controller © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Cos’è un SID? SID = Security Identifier 3/27/2017 2:27 AM Cos’è un SID? SID = Security Identifier Un valore univoco in tempo e in spazio che determina un oggetto di sicurezza del sistema L’unica eccezione è il SID legato alla Logon Session 999 (SYSTEM) Si basa su un identificatore di 96 bit creato quando si installa Windows Struttura del SID è: S-R-I-SA-SA-SA [- RID] RID (identificativo relativo), predefinito in winnt.h Administrátor: S-1-5-21-XXXX-XXXX-XXXX-500 Guest: S-1-5-21-XXXX-XXXX-XXXX-501 © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

(Network Logon Session) 3/27/2017 2:27 AM LSA LSA = Local Security Authority Una struttura flessibile che fornisce il servizio di autenticazione Eseguito in un processo privilegiato lsass.exe LSA è il processo principale che lavora con i local accounts => può lavorare come un DC in piccole reti .SAM COMP1\User1 – SID1 .SAM COMP2\User1 – SID2 Authomatic logon (Network Logon Session) LSA LSA © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Processo di autenticazione 3/27/2017 2:27 AM Processo di autenticazione Interactive Logon Session WINLOGON (Winlogon.exe) GINA (Msgina.dll) TOKEN Local Security Authority (LSA) LSA policy database Authentication Package NETLOGON (Local Computer) NETLOGON (Domain Computer) Local user database Authentication Package Security Account Manager © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Logon Session Un istanza di un principal che gira su un computer 3/27/2017 2:27 AM Logon Session Un istanza di un principal che gira su un computer Per ogni autenticazione locale o remota il kernel genera una nuova logon session La logon session viene distrutta non appena tutti i token che la referenziano vengono chiusi (reference count) Per gli utenti guest viene creata una logon session speciale chiamata null session Una sessione inizia da un’autenticazione del TCB Tre eccezioni: Al boot vengono create le logon session per Local System, Local Service, Network Service che quindi non necessitano di password Logon session mantiene dati importanti Alla logoff, l'OS cerca di chiudere tutti i processi collegati alla logon session associata all'utente loggato Usata per memorizzare le credenziali del client in cache (kerberos tickets…) © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Logon session Non è un termine astratto, una logon session è “fisicamente” un operazione del sistema operativo Logon session = Reception in Microsoft  I visitatori ottengono il loro badge che fornisce la loro identità e i loro diritti La Logon session può essere vista dagli sviluppatori attravero il token Honza Interactive Logon Session Honza Network Logon Session Honza Network Logon Session Computer A Computer B Computer C © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Tipi di Logon Session System Logon Session Network Logon Session 3/27/2017 2:27 AM Tipi di Logon Session System Logon Session Network Logon Session Deamon Logon Session Interactive Logon Session © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

System Logon Session Ogni computer ha una sola SLS 3/27/2017 2:27 AM System Logon Session Ogni computer ha una sola SLS Ha sempre lo stesso identificativo 999 (0x3E7) SID: S-1-5-18 © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Secondary Logon Sessions 3/27/2017 2:27 AM Secondary Logon Sessions Windows 2000 ha introdotto un nuovo servizio RunAs in Win2k, Secondary Logon in XP Esegue un processo in una secondary logon session Autentica l’utente, esegue il processo nella stessa windows session, ma in una nuova logon session Può o non può caricare i profili CreateProcessWithLogonW Disponibile nel menù di contesto degli eseguibili © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

RunAs RunAs User logon (interactive logon session) User’s profile 3/27/2017 2:27 AM RunAs RunAs User logon (interactive logon session) User’s profile Registry © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Token Token è un oggetto kernel che tiene i dati di una identity: 3/27/2017 2:27 AM Token Token è un oggetto kernel che tiene i dati di una identity: User’s SID Group SID Privilegi Ogni processo ha il suo token che rappresenta il principal Alcuni processi vengono eseguiti come SYSTEM account quando il computer si avvia Quando un utente esegue il log il processo di shell viene eseguito in user mode sotto uno specifico principal WinLogon.exe (SYSTEM) inizializza la shell dell’utente con il metodo CreateProcessAsUser => e il token dell’utente viene propagato a tutti i processi eseguiti © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Processi e token Ogni processo in Windows viene eseguito con la propria identity Ogni processo è inizializzato con il proprio token I nuovi processi ricevono una copia del token dal processo originario I token stabiliscono le restrizioni sul processo, i suoi privilegi per accedere alle risorse,etc. Dealer\Bob winword.exe explorer.exe © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Tokens di Processi e Thread 3/27/2017 2:27 AM Tokens di Processi e Thread Ogni processo viene eseguito con un token Tipicamente lo stesso del parent I thread di un processo possono avere un token Se si, il thread sta “impersonando” l’utente con il quale è stato creato il token Se no, il thread viene eseguito con lo stesso token del processo padre Quando un processo è partito il token non può essere cambiato Il token di un thread può essere cambiato in ogni momento Può essere “converito” al token del processo In questo caso il thread non ha più il suo token © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Tokens Process Explorer for Windows 9x/NT/2000/XP/S2K3 3/27/2017 2:27 AM Tokens Process Explorer for Windows 9x/NT/2000/XP/S2K3 www.sysinternals.com © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Privilegi Un meccanismo che permette di eseguire il tuning delle policy di sicurezza es., Invece di configurare ogni file per essere gestito dal backup operators group è sufficiente assegnare al gruppo i privilegi di backup Alcuni privilegi interessanti: Backup, restore Shutdown del sistema, cambio del clock di sistema Debug di un programma Eseguire come parte del sistema operativo (TCB) Una volta concesso, il privilegio diventa parte del token dell’utente Ma può essere abilitato o disabilitato © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Il token nei processi e nei thread 3/27/2017 2:27 AM Il token nei processi e nei thread Il token del thread è Usato per controllare l’accesso agli oggetti del kernel Usato come identità di rete in molti casi SQL Server integrated security Named pipes, etc Il token di processo è Copiato in un nuovo processo per default Usato per chiamate DCOM in uscita per default L’unico vero contesto di sicurezza sempre disponibile Potrebbe non esserci un token di thread © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Impersonation e delegation 3/27/2017 2:27 AM Impersonation e delegation Un nuovo token di security viene assegnato al thread (tipicamente quello dell'utente autenticato). Il token di processo rimane invariato. L'API RevertToSelf elimina il token del thread annullando l'impersonazione. Kerberos non consente la propagazione del token di thread. Questo significa che il processo che impersona può usare quel token solo sul PC locale e non in rete La soluzione (sbagliata) è delegation che è disabilitata by-default La soluzione migliore è il cambio di architettura, ma spesso non è la scelta più semplice Nella vita reale impersonation è la delega Nella vita reale delegation è la procura © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Delegation (default disabilitata) 3/27/2017 2:27 AM Delegation (default disabilitata) Utenti che hanno il privilegio di impostare delegation (default = administrators) Delegation per localsystem Delegation per un utente © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Dove siamo? Il modello di sicurezza classico Autenticazione utenti Applicazioni girano usando un account utente (token) Utenti e Gruppi possono essere organizzati in gruppi Ai gruppi o agli utenti possono essere assegnati o tolti permessi per accedere a risorse (NTFS, rete, device, etc.) Per il codice (Activex, VBA, ...) il sistema è quello di: firmare con un certificato X509 fidandosi ciecamente del programmatore che l'ha firmato chiedere all'utente finale la conferma ... risultato = disastro © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Il modello della CAS nel Framework.NET CAS = Code Access Security IE può ospitare all'interno della pagina HTML dei controlli Winform. La CAS può far girare questi controlli senza alcuna richiesta all'utente La stessa cosa vale per intere applicazioni o solo assembly scaricati da internet La CAS è fondamentale per chi scrive controlli ("Least Privilege Model") La CAS dà agli admin un potere che mai hanno avuto prima Limita ciò che può essere eseguito nel codice Protegge il PC da codice di provenienza incerta (spyware, adware, malaware, virus, worm, ...) Impedisce selettivamente che del codice possa accedere a certe funzionalità dell'OS © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM CAS: a cosa non serve Non è un sistema di protezione del software contro gli hacker Non è un sistema che autorizza l'uso del software sotto licenza Protegge l'utente che usa il software solo se vuole essere protetto (admin può disabilitare la CAS ...) © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Questione di punti di vista ... 3/27/2017 2:27 AM Questione di punti di vista ... NT Esecuzione User Autenticazione Token Autorizzazione Permission ACL Autorizzazione Evidence Autenticazione Codice Risorsa CAS © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

La difficoltà sta nel... glossario 3/27/2017 2:27 AM La difficoltà sta nel... glossario Evidence Prove di protezione Strong name Nome sicuro Code Group Gruppi di codice Full trust Attendibilità totale Partial trust Attendibilità parziale Security Policy ... Permission Autorizzazioni Permission Set Set di autorizzazioni Stack Walk ... Assert ... Demand ... ... ... © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Configurazione della CAS 3/27/2017 2:27 AM Configurazione della CAS Si esegue tramite CasPol (command line) oppure tramite il Framework Configuration Tool © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Permission: "cosa vuoi fare?" (autorizzazione) 3/27/2017 2:27 AM Permission: "cosa vuoi fare?" (autorizzazione) I permessi sono le autorizzazioni ad eseguire una certa operazione Il framework ne predefinisce un certo numero I permessi definiti nella CAS sono trasversali a quelli più noti come NTFS, SQL, etc. Per ciascun permesso è possibile definire dei valori molto dettagliati È possibile costruire dagli admin tool o programmaticamente un gruppo di permessi chiamato Permission Set © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Evidence: "chi sei?" (autenticazione) 3/27/2017 2:27 AM Evidence: "chi sei?" (autenticazione) Evidence è la prova oggettiva per sapere di chi è o da dove proviene il codice managed La CAS può identificare un assembly basandosi su: Cartella dove risiede Sito o Url da cui viene scaricato Zona in cui si trova Strong Name presente nel suo manifest Hash dell'assembly Firma digitale (Authenticode, stessa degli Activex) Al caricamento dell'assembly in memoria, viene subito ricavata l'evidence È possibile da codice associare una evidence ad un AppDomain in modo da isolare degli assembly © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Code Group e Security Policy 3/27/2017 2:27 AM Code Group e Security Policy I Code Group sono l'associazione di un evidence con un insieme di permessi Una Security Policy è una collection di Code Group Evidence Permission Set © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Al runtime viene fatto il calcolo dei permessi effettivi 3/27/2017 2:27 AM Al runtime viene fatto il calcolo dei permessi effettivi 1. 2. Unione Intersezione void SetAppDomainPolicy(PolicyLevel domainPolicy); © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM MA ... in configurazioni complesse non sempre l'unione è esaustiva di quello che vorremmo Exclusive Level Final © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Come gestire la CAS da codice? 3/27/2017 2:27 AM Come gestire la CAS da codice? Lo strumento principale sono: le classi xxxPermission e relativi attributi Queste classi permettono di chiedere alla CAS di: eseguire controlli e (se necessario) lanciare la SecurityException PermissionSet ISecurityEncodable IStackWalk CodeAccessPermission IPermission FileIOPermission UIPermission EnvironmentPermssion FileIOPermission Attribute UIPermission Attribute EnvironmentPermssion Attribute CodeAccessPermission Attribute © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Stack Walk La CAS effettua uno 'stack walk' per verificare che i chiamanti abbiano i permessi di eseguire una determinata operazione (file I/O, socket, ...) Metodo1 permission negata SecurityException Metodo2 Stack walk Metodo3 OK Stack walk Metodo4 Demand // Richiesta imperativa ... FileIOPermission perm = new FileIOPermission( FileIOPermissionAccess.AllAccess, @"c:\"); perm.Demand(); // ... oppure dichiarativa (sull'assembly) [assembly:FileIOPermission( SecurityAction.Demand, All = @"C:\") ] © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Strong Name Lo strong name dovrebbe essere "aziendale" e ben custodito Esegue una sorta di "firma" sull'assembly Le specifiche ECMA raccomandano l'uso dello strong name solo per il versioning e MAI per sicurezza Esistono sistemi per ingannare il CLR e far caricare un Assembly tampered anche se firmato con strong name. La registrazione in GAC richiede lo strong name Se un assembly partially trusted chiama un full trusted con strong name, questo necessita dell'attributo: [assembly:AllowPartiallyTrustedCallers] © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Tool: Exporting and deploying Security Policy 3/27/2017 2:27 AM Tool: Exporting and deploying Security Policy Create Deploy File.MSI © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Tool Adjusting Security 3/27/2017 2:27 AM Tool Adjusting Security © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Tool: Evaluating an assembly 3/27/2017 2:27 AM Tool: Evaluating an assembly © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Tool: Trusting an assembly 3/27/2017 2:27 AM Tool: Trusting an assembly © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Auditing Auditing di Windows permette agli eventi di audit di apparire dentro il Security Event Log. Vi avverte su potenziali problemi di sicurezza Potete fare audit di: Log on/Log off: Accesso a file: Gestione utenti e gruppi: Creazione, cambiamento o cancellazione di utenti o gruppi Security Policy Changes: Ogni modifica sui diritti degli utenti o sul cambiamento di policy. Restart, Shutdown, e System Process Tracking: Monitorizza l’attivazione dei programmi, la duplicazione degli handle, accesso indiretto agli oggetti e terminazione dei processi. © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Auditing © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Auditing Per abilitare l’auditing, devete avere una logon session come membro del gruppo Administrators group (Domain Admins sono membri). © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Auditing Quando fate auditing, potete avere: 3/27/2017 2:27 AM Auditing Quando fate auditing, potete avere: Success: Un successo indica che l’utente ha ottenuto correttamente l’accesso alla risorse. Failure: Un fallimento indica che l’utente ha tentato di accedere ad una risorsa per la quale non ha sufficienti permessi. Esempio – Cosa significa avere una serie di fallimenti e poi un successo ? Cosa ha fatto l’amministratore della macchina per interferire con tale processo ? © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM Domande? © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

3/27/2017 2:27 AM © 2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. © 2003-2004 Microsoft Corporation. All rights reserved. Some parts of this presentation are copyrighted by Skilldrive.com This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.