Dall`ultima lezione (1)
Transcript
Dall`ultima lezione (1)
Elementi di Sicurezza e Privatezza Lezione 3 Chiara Braghin Dall’ultima lezione (1) • Come difendersi? Come proteggere i dati/le risorse? Prevention + detection + reaction Prevenire = controllo 1. Verificare che il sistema funzioni come previsto 2. Definire delle regole di accesso e controllare che chi vi accede soddisfi tali regole politiche e meccanismi CONTROLLO DEGLI ACCESSI 3. Trasmettere i dati non in chiaro crittografia e protocolli crittografici 1 1 Dall’ultima lezione (2) • In un qualsiasi sistema: Specifica • In sicurezza: Cosa deve fare? Policy Implementazione Specifica Implementazione Come lo deve fare? Correttezza Mechanism Correttezza Funziona? Assurance 1. Definire una politica di sicurezza 2. Scegliere un meccanismo per far rispettare la politica 3. Verificare che sia la politica che il meccanismo siano valide e coerenti. 2 Dall’ultima lezione (3) • Politiche vs Mecanismi Livelli di astrazione diversi Analisi dei requisiti di accesso indipendente dall’implementazione Diversi meccanismi possono implementare una stessa politica Un singolo meccanismo puo’ implementare diverse politiche 3 2 Controllo degli Accessi • Gli elementi sono: Oggetti, risorse e/o dati Richieste di operazioni (o modalità di accesso) su oggetti Soggetti, i richiedenti • I soggetti possono venire classificati in: utenti -- singoli individui gruppi -- insiemi di utenti ruoli -- entità funzionali all’interno dell’organizzazione processi -- programmi in esecuzione 4 Controllo degli accessi- Modalità di accesso • Permesso (o Privilegio) = possibilità di accedere ad una risorsa secondo una certa modalità • A seconda del tipo di oggetto, ci possono essere diverse modalità di accesso: Read/write: vedere/cambiare i contenuti di un oggetto execute select, insert, update, delete, … 5 3 Modalità di Accesso - Esempio • Nel sistema operativo Unix: Modalità di accesso ai file read: lettura di file write: scrittura di file execute: execuzione di un (program) file Modalità di accesso alle directory read: elenca gli elementi della directory write: crea o cambia nome a un file in una directory execute: ricerca in una directory 6 Politiche 4 Modello Bell-La Padula • Risorse e soggetti vengono classificati in livelli di sicurezza Livello del soggetto: autorizzazione/livello di fiducia associato all’utente Livello dell’oggetto: sensibilità dell’informazione • Chiamata anche politica multi-livello I livelli possono formare un reticolo Es. di livelli: Trusted/untrusted Public/Secret/Top Secret Previene cavalli di Troia • Le regole sono: No write-down No read-up Garantisce la segretezza • Usato per garantire segretezza 8 Biba Model • Le classi rappresentano livelli di integrità Livello del soggetto: indica quanto fidato sia il soggetto Livello dell’oggetto: fiducia nella validità dell’informazione Dati integri potrebbero venire corrotti • Le regole sono: No write-up No read-down I dati potrebbero non essere validi • Usato per garantire integrità 9 5 Meccanismi Controllo degli Accessi • Un sistema di controllo degli accessi regola le operazioni che possono venire eseguite sui dati e sulle risorse che devono essere protette • L’obiettivo è di controllare le operazioni eseguite dai soggetti per prevenire azioni che potrebbero danneggiare i dati o le risorse • Il controllo in genere viene fatto dal sistema operativo o all’interno del database management system (Trusted Computing Base) Un reference monitor che decide come rispondere alle richieste provenienti dai soggetti 11 6 Reference Monitor NO Soggetto Richiesta Reference monitor OK Oggetto Politica • • Un soggetto attivo chiede accesso ad un oggetto passivo per eseguire una specifica operazione di accesso Il monitor concede o meno l’accesso B. Lampson. Protection. ACM Operating System Reviews, 8, 1974. Correttezza del controllo dell’accesso implica: • Corretta identificazione/autenticazione • Corretta definizione (e implementazione) delle regole di controllo 12 Matrice degli accessi A:SxO→P Soggetto Oggetto Subjects (Come memorizzare una politica) Privilegio o Permesso A(s,o) s Objects o La matrice in generale è grande e sparsa: Memorizzata per colonne: access control list (ACL) Lista di soggetti che possono accedere ad un dato file Memorizzata per righe: capability list Lista di risorse a cui puo’ accedere un utente Memorizzate triple non-nulle: tabelle di autorizzazione DBMSs 13 7 Access Control List • Implementa la matrice degli accessi per colonne • Elenca i soggetti s che possono accedere all’oggetto o e con quale privilegio compatta facile sommario per-oggetto difficile revocare un soggetto richiede l’autenticazione degli oggetti Utile: s o in caso di molti oggetti in caso di pochi soggetti 14 Capability List • Implementa la matrice degli accessi per righe • Elenca gli oggetti o che ai quali il soggetto s può accedere e come facile delegare a qc difficile revocare una capability • Utile: In caso di delegazione s o 15 8 Controllo degli accessi 3 meccanismi principali: • Discretionary Access Control (DAC) Il proprietario della risorsa decide gli accessi (chi può accedere e in quale modalità) In genere i permessi possono venire modificati e delegati • Mandatory Access Control (MAC) Una politica a livello di sistema stabilisce gli accessi Gli accessi sono gestiti in modo centralizzato e a priori • Role-Based Access Control (RBAC) I soggetti sono raggruppati in classi che corrispondono ad un ruolo specifico 16 Discretionaty Access Control - DAC • Gli utenti possono avere l’autorita’ di passare i propri privilegi ad altri utenti Delegation of duty 17 9 Limiti di DAC • Vulnerabile ad attacchi di tipo Trojan Horse Code malfidato acquisisce i permessi tramite: L’ignoranza dell’utente Il meccanismo di delegazione Il fatto che sono regolati solo gli accessi diretti Assume che codice eseguito da un utente fidato sia fidato causa di tutti i virus attack • Nessun controllo sull’informazione rilasciata La modalità di accesso è un attributo del soggetto 18 Cavallo di Troia s1 invoca la funzione read file1 write file2 file1: proprietario s1 permessi: <s1 ,r,file1> file2: • s2 ottiene accesso ai dati di s1 proprietario s2 Permessi: <s2,r,file2> <s1,w,file2 > s1 non se ne accorge Il meccanismo DAC è rispettato Computer virus downloaded from the net? Network worm that exploited vulnerability? 19 10 Mandatory Access Control -MAC • La modalità di accesso è un attributo dell’oggetto • Assegna levelli di sicurezza a soggetti e oggetti • Il sistema impone una politica multilivello gli utenti non hanno controllo sul livello di sicurezza non sono possibili attacchi di tipo Trojan horse • 2 tipi: Secrecy based → confidenzialità Integrity based → integrità 20 Role-Based Access Control • Basato sull’idea che uno stesso soggetto può aver bisogno di permessi diversi a seconda dell’attività (ruolo) che svolge Tom Tom Tom Tom come come come come system administrator (root) utente tommy consulente della banca A consulente della compagnia B Ruoli • L’accesso agli oggetti è mediato dai ruoli s con ruolo r ha tutti i permessi di r soggetti ruoli s1 r1 s2 r2 s3 r3 oggetti 21 11 Vantaggi di RBAC Supporta: Least privilege Facile revocation di un permesso Separation of duty Gerarchie di ruoli Anonymity (parziale) NB: Gruppo: insieme di utenti Ruolo: insieme di permessi/privilegi 22 AC in Unix • Utilizza il meccanismo DAC Soggetti = utenti (o root) • Un file ha un proprietario e un gruppo Le modalità di accesso sono: read, write, execute I file sono protetti da ACLs indicano le modalità di accesso per user, group, world indicati mediante 9 bit: e.g., rwxr--r-- • Lista di capability elementare: /etc/passwd, /etc/group, /etc/host.deny, /etc/host.allow • I programmi: vengono eseguiti in area di memoria protetta vengono eseguiti con i provilegi del chiamante (tranne suid/sgid) 23 12 AC in Microsoft • DOS: Nessun controllo degli accessi Sistema con un singolo utente • Windows 95, 98 Controllo degli accessi di base Memoria non protetta!! • Windows NT A parte l’interfaccia, simile a Unix Più ricco: Gli utenti sono organizzati in domini Principio del least privilege • Windows 2000, ME, XP, … Più evoluti ancora 24 Crittografia e Protocolli Crittografici 13 Comunicazione sicura? canale insicuro messaggi Alice Bob • E’ possibile che Alice e Bob comunichino in modo sicuro attraverso un canale insicuro? • E’ possibile implementare un canale sicuro virtuale su di un mezzo insicuro? 26 CIA over Internet communication canale insicuro messaggi Alice Bob Confidenzialità: solo Alice e Bob devono “capire” il contenuto dei messaggi. Integrità: i messaggi non devono venire modificati. Autenticazione: Alice e Bob vogliono essere sicuri che il loro interlocutore sia effettivamente chi loro si aspettano. Non-repudiation: Alice non può negare di aver 27 spedito un messaggio a Bob (e viceversa). 14 Cosa può fare un attaccante? (1) canale insicuro messaggi Alice Bob Trudy • L’attaccante può intercettare il messaggio ascoltando il canale: minaccia alla confidenzialità. solo leggere il messaggio (passivo) cancellare il messaggio senza inoltrarlo a Bob (attivo) 28 Cosa può fare un attaccante? (2) canale insicuro messaggi Alice Bob Trudy • L’attaccante può modificare i messaggi in transito: minaccia all’integrità. Come può Bob distinguere tra un messaggio legittimo e uno contraffatto? 29 15 Cosa può fare un attaccante? (3) canale insicuro messaggi Alice Bob Trudy • L’attaccante può spedire messaggi arbitrari fingendo di essere Alice: minaccia all’autenticazione. 30 Cosa può fare un attaccante? (4) canale insicuro messaggi Alice Bob Trudy • L’attaccante può riutilizzare vecchi messaggi salvati (replay attack): minaccia all’autenticazione. 31 16 Perché tanto interesse? • Chi possono essere Alice e Bob? browser/server Web per transazioni elettroniche (e.g., acquisti on-line) on-line banking client e server router che si scambiano gli aggiornamenti delle tabelle di routing … beh, Bob e Alice in carne e ossa, che si scambiano messaggi privati! altri esempi? • In tutti i casi: L’informazione deve venire protetta dalla divulgazione e modifica lungo la rete L’autenticazione dell’utente è necessaria: quando uno fa login ci deve essere un modo per verificarne l’identità. 32 Come risolvere il problema? • Utilizzando primitive crittografiche crittare un messaggio (va bene per la segretezza, ma è sufficiente per garantire autenticazione e integrità?) • Utilizzando protocolli crittografici WEP, SSL, SSH, S-HTTP, PGP 33 17 Crittografia Crittografia (1) • Dal greco kryptós (=nascosto), e gráphein (=scrivere), tratta dei metodi per rendere un messaggio "offuscato” (crittogramma) in modo da non essere comprensibile a persone non autorizzate a leggerlo. non mira a nascondere il messaggio, ma il suo significato codificare (testo in chiaro → testo codificato) e decodificare (testo codificato → testo in chiaro) informazione 35 18 Crittografia (2) - Storia • Più di 2000 anni fa: comunicazione segreta basata su steganografia (occultamento del messaggio) 23/9/480 a.C. battaglia di Salamina - Serse vs Atene: tavoletta da scrittura con doppio strato di cera Stessi anni: Istieo manda messaggio a Aristagora di Mileto scritto sulla cute. • ~2000 anni fa: Cifrari per sostituzione Sostituire una lettera con un’altra Cifratura di Cesare (a->D, b->E, c->F, …) 36 Crittografia (3) - Storia • Alcuni secoli dopo: Cifrari per permutazione • Cifrari del rinascimento: utilizzano il messaggio e le lettere di una chiave per cifrare il messaggio la base della crittografia moderna • 1976: Crittografia a chiave pubblica 37 19 Crittografia (4) - Storia • Maria Stuarda, 8/12/1542 – 24/7/1567 regina di Scozia, cugina di Elisabetta I d’Inghilterra • Ernesto “Che” Guevara, 14/6/1928 – 9/10/1967 38 20