Sicurezza dei sistemi informatici Master di I livello

  • Slides: 92
Download presentation
Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la

Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Prima lezione 31/3/2007

Contenuto della lezione n n n n Motivazioni Dati sulla sicurezza I concetti di

Contenuto della lezione n n n n Motivazioni Dati sulla sicurezza I concetti di sicurezza Minacce e loro classificazione Politiche e meccanismi Modelli teorici di sicurezza Politiche per la confidenzialità

Sicurezza dell’informazione 20 anni fa n Sicurezza di tipo “fisico” n n L’informazione era

Sicurezza dell’informazione 20 anni fa n Sicurezza di tipo “fisico” n n L’informazione era principalmente su carta Chiusa a chiave (armadi, casseforti, . . . ) La trasmissione fisica abbastanza sicura Amministrazione della sicurezza n n n Controllo “fisico” degli accessi alle risorse Screening del personale Auditing

Sicurezza dell’informazione oggi n n n Utilizzo emergente di Internet e dei sistemi distribuiti

Sicurezza dell’informazione oggi n n n Utilizzo emergente di Internet e dei sistemi distribuiti L’informazione digitale deve mantenuta sicura I costi dell’insicurezza n n Stime dell’FBI indicano che un attacco insider può produrre in media un danno da 2. 8 milioni di $ Le perdite annue finanziarie dovute a falle nel sistema di sicurezza dell’informazione sono stimate tra i 5 e i 45 miliardi di $

Sicurezza dell’informazione oggi n Sicurezza a livello nazionale n Protezione of infrastrutture critiche Rete

Sicurezza dell’informazione oggi n Sicurezza a livello nazionale n Protezione of infrastrutture critiche Rete energetica n Trasporto aereo n agenzie governative e connesse con il governo n n n Molte agenzie non hanno livelli di sicurezza accettabili Soprattutto per quanto riguarda la gestione della sicurezza interna e le misure di controllo di accesso

Sicurezza di rete n n Ovviamente se ogni computer avesse un solo utente e

Sicurezza di rete n n Ovviamente se ogni computer avesse un solo utente e non fosse collegato ad altri computer, il problema della sicurezza non si porrebbe neppure Questa situazione di isolamento tra gli utenti dei computer non si è in realtà mai verificata

Sicurezza di rete n n Fino agli anni ‘ 70 i computer erano grandi

Sicurezza di rete n n Fino agli anni ‘ 70 i computer erano grandi e molto costosi main-frame usati da molti utenti che si connettevano da terminali (molto semplici) In questa situazione sono state sviluppate molte tecniche (HW e SW) per garantire la sicurezza di ciascun utente: n n distinguere utente normale dal sistema operativo autenticare gli utenti controllare gli accessi sviluppo di modelli generali di sicurezza

Sicurezza di rete n n dagli anni ‘ 70 ad oggi, i terminali sono

Sicurezza di rete n n dagli anni ‘ 70 ad oggi, i terminali sono diventati PC intelligenti ed autonomi ed i mainframe sono scomparsi i PC sono ora collegati in rete sulla rete ci sono server che offrono servizi commerciali delicati per la sicurezza (banche, e -commerce…) ma anche solo la posta elettronica nasconde insidie

Insidie nella sicurezza di rete 1) in un computer multi-utente, uno degli utenti può

Insidie nella sicurezza di rete 1) in un computer multi-utente, uno degli utenti può assumere l’identità di un altro utente per carpire informazioni di quest’ultimo o per spacciarsi per lui 1+) i servizi di rete sono potenzialmente aperti a tutti, quindi l’insieme degli utenti di un sistema aumenta arbitrariamente e quindi anche le interazioni tra utenti diversi e quindi i pericoli di tipo (1)

Insidie nella sicurezza di rete n n 2 nuovo) i servizi che usano la

Insidie nella sicurezza di rete n n 2 nuovo) i servizi che usano la rete internet si basano sulla trasmissione di informazioni che attraversano reti e router non sempre controllabili Per difendersi dai pericoli (1) e (1+) n n è fondamentale che ogni utente sia identificato e che le azioni che gli sono consentite siano decise in funzione di questa identità cioè è fondamentale che il SO attui una chiara politica di sicurezza

Ulteriori problemi n n n il fatto che i PC siano in rete (possibilmente

Ulteriori problemi n n n il fatto che i PC siano in rete (possibilmente insicura) rende più difficile autenticare gli utenti le password vanno protette e non devono passare in chiaro sulla rete Per evitare (2) si deve trasmettere in rete solo informazione criptata cioè incomprensibile da chi non abbia l’apposita chiave di decrittazione

Ridimensioniamo il ruolo della crittografia n n insomma la crittografia è una tecnica importante

Ridimensioniamo il ruolo della crittografia n n insomma la crittografia è una tecnica importante per risolvere questi problemi, ma non risolve tutto … anzi Se un utente riesce a diventare system manager di un PC o di una rete non c’è crittografia che tenga

Definizioni ufficiali di sicurezza Esistono diverse definizioni di sicurezza e diversi organismi di valutazione

Definizioni ufficiali di sicurezza Esistono diverse definizioni di sicurezza e diversi organismi di valutazione della sicurezza : • US Department of Defence Trusted Computer System Evaluation Criteria (Orange Book), 1985. radium. ncsc. mil/tpep/process/faq. html • European Information Technology Security Evaluation Criteria (ITSEC), 1991. cesg. gov. uk • Canadian Trusted Computer Product Evaluation Creteria (CTCPEC), 1993. ftp. cse-st. gc. ca/pub/criteria/CTCPEC

Qualche dato sulla (in)sicurezza n n L’impatto economico dei virus, worm e Trojan horse

Qualche dato sulla (in)sicurezza n n L’impatto economico dei virus, worm e Trojan horse è di 17. 1 miliardi di $ nel 2000 (8. 75 miliardi solo per il virus “I Love You”) In uno studio, una e-mail ogni 325 aveva un attachment maligno In un recente studio dell’EU, la metà di ogni messaggio di e-mail è posta non richiesta che alle imprese europee più di 2, 5 miliardi all’anno in produttività persa Nella prima metà del 2005 sono state scoperte 1862 nuove vulnerabilità del software, delle quali il 60% in programmi che girano su Internet

Problemi di sicurezza segnalati nei media n n n n “Computer Hacker Invades Web

Problemi di sicurezza segnalati nei media n n n n “Computer Hacker Invades Web Site of the Justice Department”, NYT, 18 August 1996 “Hacker Group Commandeers The New York Times Web Site”, NYT, 14 September 1998 “Yahoo Blames a Hacker Attack for a Lengthy Service Failure”, NYT, 8 February 2000 “A Hacker May Have Entered Egghead Site”, NYT, 23 December 2000 “Stung by Security Flaws, Microsoft Makes Software Safety a Top Goal”, NYT, 17 January 2002 “Millions of Cisco Devices Vulnerable To Attack”, Information Week, 18 July 2003 n “A method for shutting down networking devices circulates on the Internet” “New Doomjuice Worm Emerges, Targets Microsoft”, Reuters UK, 9 February 2004

Problemi di sicurezza segnalati dai media n n n E innumerevoli altri incidenti che

Problemi di sicurezza segnalati dai media n n n E innumerevoli altri incidenti che non sono stati pubblicizzati per paura di imbarazzo Ogni volta che viene pubblicizzato un incidente, gli esperti di sicurezza e i rivenditori di antivirus tendono ad esagerarne i costi Nel 2002, le compagnie americane hanno speso più di 4. 3 miliardi di dollari solo per gli antivirus

Cambiamento del tipo di attacchi n n Si passa da attacchi multiobbiettivo in grande

Cambiamento del tipo di attacchi n n Si passa da attacchi multiobbiettivo in grande scala su grandi sistemi ad attacchi mirati sui PC C’è inoltre il passaggio dall’ “hacking” malizioso ad attacchi criminali con motivi economici n n n Furto di identità Phishing Denial-of-service

Furto di identità n n Nell’aprile 2005, un’intrusione nel database della Lexis. Nexis ha

Furto di identità n n Nell’aprile 2005, un’intrusione nel database della Lexis. Nexis ha compromesso le informazioni personali di circa 310000 persone Nell’agosto 2004, un’intrusione aveva compromesso 1, 4 milioni di record di informazioni personali all’università di Berkeley

Phising n n n Durante la prima metà del 2005 il volume delle e-mail

Phising n n n Durante la prima metà del 2005 il volume delle e-mail “phishing” è cresciuto da circa 3 milioni al giorno a circa 5. 7 milioni Ogni 125 messaggi di e-mail di media uno è un tentativo di phishing L’ 1% of US households sono state vittime of successful phishing attacks in 2004

Ciber-estorsioni n n n Durante la prima metà del 2005 gli attacchi Denial-of-Service (Do.

Ciber-estorsioni n n n Durante la prima metà del 2005 gli attacchi Denial-of-Service (Do. S) sono aumentati da una media 119 a una media 927 al giorno Il 17% dei siti commerciali hanno ricevuto minacce di chiusure mediante attacchi Do. S Una compagnia che si rifiuta di pagare gli estortori spende 100, 000 $ all’anno per difendersi dagli attacchi Do. S

Botnets e Zombies n n n Security. Focus, 23 January 2006 " Bot herder

Botnets e Zombies n n n Security. Focus, 23 January 2006 " Bot herder pleads guilty to 'zombie' sales: A 20 year-old California man used automated software to infect Windows systems and to create botnets — centrally controlled networks of compromised PCs — to which he sold access. " In October 2005, Dutch authorities arrested three men in the Netherlands who allegedly controlled a network of more than 1. 5 million compromised computers.

Aggiornamenti n New York Times, 25 September 2006. n n n Choice. Point, Card.

Aggiornamenti n New York Times, 25 September 2006. n n n Choice. Point, Card. Systems Solutions, Time Warner and dozens of universities have collectively revealed 93, 754, 333 private records The Commerce Department announced that between 2001 and the present, 1, 137 laptops were lost, missing or had been stolen Symantec Internet Security Threat Report covering the first 6 months of 2006, 25 September 2006. n n The Symantec Probe Network detected 157, 477 unique phishing messages Botnets have become a major part of the underground economy An average of 6, 110 denial-of-service attacks per day Spam made up 54% of all monitored email traffic

Considerazioni finali n n n La sicurezza deve essere implementata secondo le esigenza personali

Considerazioni finali n n n La sicurezza deve essere implementata secondo le esigenza personali Non esiste una soluzione che va bene per tutti La sicurezza è un’area complessa ed estesa che permea n n tutti i livelli di un sistema informatico, compresi quelli fisici: Hardware-OS-Application-Network-Operator E come in altri contesti, la sicurezza informatica è per la sicurezza sia l’anello più forte che quello più debole

Una rassegna dei concetti di sicurezza n La sicurezza deve garantire le proprietà di

Una rassegna dei concetti di sicurezza n La sicurezza deve garantire le proprietà di n n n Confidenzialità Integrità Disponibilità La sicurezza studia le minacce e gli attacchi, in base ai quali stabilisce delle politiche e dei meccanismi Tali meccanismi sono poi implementati e verificati

Confidenzialità n n Si ottiene la confidenzialità nascondendo ai non autorizzati informazioni o risorse

Confidenzialità n n Si ottiene la confidenzialità nascondendo ai non autorizzati informazioni o risorse In molti ambiti esistono informazioni e risorse “sensibili” a cui non possono accedere tutti n n n Un modo per nascondere le informazioni è la crittografia Un altro modo è controllarne gli accessi Anche le risorse possono essere soggette a restrizioni

Integrità n L’integrità richiede che le informazioni o le risorse “sensibili” non subiscano alterazioni

Integrità n L’integrità richiede che le informazioni o le risorse “sensibili” non subiscano alterazioni non autorizzate n n Integrità dei dati Integrità della sorgente Differenza: si può intercettare un fax in modo completo che contiene informazioni false I meccanismi per garantire l’integrità si dividono in meccanismi di prevenzione e di scoperta

Integrità n Integrità: è difficile da esprimere in modo preciso: n n n è

Integrità n Integrità: è difficile da esprimere in modo preciso: n n n è la proprietà che tutto è come dovrebbe essere Spesso si riduce nel proibire la scrittura senza autorizzazione E’ collegata alla segretezza: n n modificare il SO è spesso prerequisito per avere accesso a documenti proibiti problema: violazione dell’integrità del SO

Disponibilità n n Per disponibilità si intende semplicemente la possibilità di usare una determinata

Disponibilità n n Per disponibilità si intende semplicemente la possibilità di usare una determinata risorsa o un’informazione nel tempo Alcuni attacchi, il già citato Do. S, tendono a diminuire e/o ad annullare la disponibilità di alcune risorse

Minacce n n Una minaccia è una possibile violazione della sicurezza La violazione non

Minacce n n Una minaccia è una possibile violazione della sicurezza La violazione non deve necessariamente accadere: è il fatto stesso che può accadere che la rende una minaccia E’ importante salvaguardarsi dalle minacce ed essere pronti ad eventuali violazioni La violazione effettiva è chiamata attacco e coloro che la commettono “attaccanti”

Classi di minacce n n Disclosure: accesso non autorizzato alle informazioni Deception: accettazione di

Classi di minacce n n Disclosure: accesso non autorizzato alle informazioni Deception: accettazione di dati falsi Disruption: interruzione o prevenzione di operazioni corrette Usurpation: controllo non autorizzato di alcune parti del sistema

Minacce più ricorrenti n n n Snooping: intercettazione non autorizzata di informazioni. Disclosure passiva

Minacce più ricorrenti n n n Snooping: intercettazione non autorizzata di informazioni. Disclosure passiva Modificazione o alterazione: cambiamento non autorizzato di informazioni. Deception attiva. Esempio: attacco “man-in-the-middle” Masquerading o spoofing: impersonificazione di un’entità da parte di un’altra. Deception/usurpation passiva o anche attiva. Esempio: siti “civetta”. Forme legali: delegazione

Minacce più ricorrenti (2) n n n Ripudiazione dell’origine: falso diniego che un’entità abbia

Minacce più ricorrenti (2) n n n Ripudiazione dell’origine: falso diniego che un’entità abbia inviato (o creato) qualcosa. Deception. Diniego di ricezione: falso diniego che un’entità abbia ricevuto qualcosa. Deception Ritardo: inibizione temporanea di un servizio. Usurpation.

Denial of service n n n Diniego di servizio: inibizione a lungo termine di

Denial of service n n n Diniego di servizio: inibizione a lungo termine di un servizio. Usurpation. Può essere svolta sul server, sul client o in mezzo Si verifica quando un server viene sepolto sotto un enorme numero di richieste di servizi che non può trattare e quindi non riesce più a fare il suo lavoro normale E’ difficile da evitare in generale

Politiche e meccanismi n n n Una politica di sicurezza è un’indicazione di cosa

Politiche e meccanismi n n n Una politica di sicurezza è un’indicazione di cosa è e cosa non è permesso Un meccanismo di sicurezza è un metodo (strumento/procedura) per garantire una politica di sicurezza Esempio: n n n il lab. di inf. di un università stabilisce come politica che non si possono copiare i file dei compiti di un altro studente. Il sistema ha un meccanismo per prevenire la copia di un file da parte di un altro utente Anna non usa tale meccanismo e il sistema è violato

Le politiche n Una politica di sicurezza stabilisce regole che possono riguardare: n n

Le politiche n Una politica di sicurezza stabilisce regole che possono riguardare: n n n le operazioni che si possono usare su certi dati e l’utente che può usarle gli utenti che possono accedere a certi dati. eventuali profili di utente con specifici diritti

Politiche di sicurezza n La politica di sicurezza si focalizza su: n n i

Politiche di sicurezza n La politica di sicurezza si focalizza su: n n i dati (proteggere) le operazioni (controllare) gli utenti/profili (controllare) Tradizionalmente i SO hanno meccanismi che proteggono i dati. Oggi diventa più importante controllare gli utenti

Meccanismi di sicurezza n n Data una politica, che distingue le azioni “sicure” da

Meccanismi di sicurezza n n Data una politica, che distingue le azioni “sicure” da quelle “non sicure”, i meccanismi di sicurezza devono prevenire, scoprire o recuperare da un attacco La prevenzione significa che il meccanismo deve rendere impossibile l’attacco Spesso sono pesanti ed interferiscono con il sistema al punto da renderlo scomodo da usare Esempio unanimanente accolto: richiesta di password come modo di autenticazione

Meccanismi di sicurezza (2) n n n La scoperta significa che il meccanismo è

Meccanismi di sicurezza (2) n n n La scoperta significa che il meccanismo è in grado di scoprire che un attacco è in corso E’ utile quando non è possibile prevenire l’attacco, ma può servire anche a valutare le misure preventive Si usa solitamente un monitoraggio delle risorse del sistema, cercando eventuali tracce di attacchi

Meccanismi di sicurezza (3) n Il recupero da un attacco si può fare in

Meccanismi di sicurezza (3) n Il recupero da un attacco si può fare in due modi n n Il primo è fermare l’attacco e recuperare/ricostruire la situazione pre-attacco, ad esempio attraverso copie di backup Il secondo è continuare a far funzionare il sistema correttamente durante l’attacco (fault-tolerant)

Assunzioni e fiducia n n n Come possiamo essere certi che la politica descrive

Assunzioni e fiducia n n n Come possiamo essere certi che la politica descrive correttamente il livello e il tipo richiesto di sicurezza ? Esempio: per aprire una porta occorre una chiave, l'assunzione ritenuta da molti valida è che il lucchetto sia a prova di ladri In un ambiente in cui ci sono abili scassinatori tale assunzione non è più valida e il sistema non si può più ritenere sicuro

Assunzioni e fiducia (2) n n n Un meccanismo M è sicuro (rispetto ad

Assunzioni e fiducia (2) n n n Un meccanismo M è sicuro (rispetto ad una politica P) se non può condurre a stati non ammessi da P M è liberale se può condurre anche a stati non ammessi da P M è preciso gli stati a cui può condurre coincidono con quelli ammessi da P

Come ottenere un sistema sicuro n Fasi n n Specificazione: descrizione del funzionamento desiderato

Come ottenere un sistema sicuro n Fasi n n Specificazione: descrizione del funzionamento desiderato del sistema Progetto: traduzione delle specifiche in componenti che le implementeranno Implementazione: creazione del sistema che soddisfa le specifiche E’ indispensabile verificare la correttezza dei programmi

Considerazioni implementative n n n Analisi costi-benefici della sicurezza Analisi dei rischi (valutare le

Considerazioni implementative n n n Analisi costi-benefici della sicurezza Analisi dei rischi (valutare le probabilità di subire attacchi e i danni che possono causare) Aspetti legali (ad esempio uso della crittografia negli USA) e morali Problemi organizzativi (ad esempio la sicurezza non “produce” nuova ricchezza, riduce solo le perdite) Aspetti comportamentali delle persone coinvolte

Aspetti psicologici n n La sicurezza viene difficilmente apprezzata La maggior parte degli utenti

Aspetti psicologici n n La sicurezza viene difficilmente apprezzata La maggior parte degli utenti di internet non sanno nulla di sicurezza, ma hanno bisogno di sicurezza Esiste un conflitto tra sicurezza e facilità d’uso del computer Sono necessarie maggiori risorse di calcolo, interagisce con le abitudini, la gestione della sicurezza costa

Aspetti psicologici (2) n D’altra parte la sicurezza è necessaria perché c’è una continua

Aspetti psicologici (2) n D’altra parte la sicurezza è necessaria perché c’è una continua crescita delle violazioni della sicurezza informatica n n n Esistono software d’attacco disponibili su rete Si riscontrano anche attacchi molto sofisticati che arrivano a cancellare le tracce Quindi in percentuale cresce il numero degli attacchi che hanno successo ed arrivano a compromettere il sistema attaccato

Rintracciabilità n Certe “garanzie” possono non bastare: n n anche azioni autorizzate possono causare

Rintracciabilità n Certe “garanzie” possono non bastare: n n anche azioni autorizzate possono causare violazioni di sicurezza ci può essere un “buco” nei controlli che abbiamo stabilito Impossibile la sicurezza al 100% E’ importante riuscire a tenere traccia di chi ha fatto le azioni che violano la sicurezza : Rintracciabilità (Auditing)

Rintracciabilità n L’auditing richiede: n n n selezione delle azioni pericolose protezione dei file

Rintracciabilità n L’auditing richiede: n n n selezione delle azioni pericolose protezione dei file di log Inoltre richiede l’autenticazione degli utenti in modo da poter collegare le azioni pericolose a chi le ha compiute

Sicurezza e livelli n in quale livello del computer conviene inserire un meccanismo di

Sicurezza e livelli n in quale livello del computer conviene inserire un meccanismo di controllo ? applicazioni servizi SO kernel del SO hardware

Sicurezza e livelli n n livelli bassi: meccanismi di sicurezza generali, semplici, grossolani, ma

Sicurezza e livelli n n livelli bassi: meccanismi di sicurezza generali, semplici, grossolani, ma dimostrabili corretti livelli alti: meccanismi ad hoc per gli utenti, sofisticati, difficili da dimostrare corretti

Sicurezza e livelli n n il livello sottostante: ogni meccanismo di controllo definisce un

Sicurezza e livelli n n il livello sottostante: ogni meccanismo di controllo definisce un perimetro di sicurezza al suo esterno ci sono le parti del sistema il cui malfunzionamento non compromette il meccanismo di controllo al suo interno ci sono invece le parti del sistema che possono essere usate per scardinare il meccanismo di protezione

Sicurezza e livelli n n ogni meccanismo di controllo si situa ad un certo

Sicurezza e livelli n n ogni meccanismo di controllo si situa ad un certo livello del computer, i livelli sottostanti sono sempre nel perimetro di sicurezza del meccanismo. come difendere i livelli sotto quello in cui si trova il meccanismo di controllo

Attacchi al livello sottostante § Strumenti di recupero che leggono direttamente il contenuto dei

Attacchi al livello sottostante § Strumenti di recupero che leggono direttamente il contenuto dei dischi o della RAM (byte per byte) ignorando l’organizzazione logica in files che questi bytes rappresentano e quindi evitando il controllo sull’accesso dei files stessi § I dispositivi di I/O in Unix sono trattati come files, se i permessi d’accesso ad un disco sono definiti male ed un utente ottiene accesso al disco, esso può avere accesso a tutti i files che vi risiedono indipendentemente dal permesso di accedere ad ogni singolo file

Attacchi al livello sottostante n Riuso degli oggetti: in sistemi a multiprogrammazione un processo

Attacchi al livello sottostante n Riuso degli oggetti: in sistemi a multiprogrammazione un processo ottiene la CPU a spese di un altro processo cui viene sottratta. Un context switch copia lo stato del vecchio processo su file ed inizializza il nuovo processo. Lo switch non deve lasciare residui in memoria, cioè il nuovo processo non deve poter conoscere lo stato del processo che lo precede

Attacchi al livello sottostante n Backups e core dumps basta che l’attaccante acceda ai

Attacchi al livello sottostante n Backups e core dumps basta che l’attaccante acceda ai files di backup o a dei core dumps (effettuati in caso di terminazione anomala dei programmi)

Visione finale computer risorse utente applic. specifico complesso ? ? ? generico, semplice semplicità

Visione finale computer risorse utente applic. specifico complesso ? ? ? generico, semplice semplicità e buona garanzia, oppure specificità e minore garanzia ?

Modello di Harrison-Ruzzo-Ullman n E’ uno dei modelli teorici più semplici per la sicurezza

Modello di Harrison-Ruzzo-Ullman n E’ uno dei modelli teorici più semplici per la sicurezza informatica Si basa sui semplici concetti di soggetto, diritto e matrice di controllo E’ alla base dei metodi di gestione della sicurezza nei sistemi operativi (capabilities, access control list, . . . )

Stati n Uno stato di un sistema è composto dai valori correnti n n

Stati n Uno stato di un sistema è composto dai valori correnti n n n di tutte le locazioni di memoria dei registri del contenuto delle memorie di massa del contenuto dei dispositivi Di altre componenti del sistema Insieme degli stati P n n Insieme degli stati sicuri Q Insieme degli stati insicuri P-Q Q P-Q

Entità n n Insieme di oggetti O Insieme di soggetti S, sottoinsieme di O

Entità n n Insieme di oggetti O Insieme di soggetti S, sottoinsieme di O Insieme di diritti R, operazioni che un soggetto s può compiere su un oggetto o Esempio n n n O={file 1, file 2, process 1, process 2}, S={process 1, process 2}, R={read, write, own, append, execute}

Matrice di controllo degli accessi n n n Matrice A[s, o] per ogni soggetto

Matrice di controllo degli accessi n n n Matrice A[s, o] per ogni soggetto s ed ogni oggetto o Il contenuto di A[s, o] è un sottoinsieme di R e specifica quali operazioni s può compiere su o L’operazione own assume di solito il significato di possesso totale dell’oggetto e quindi anche la possibilità di cambiare i diritti dei vari soggetti su tale oggetto

Esempio di matrice process 1 file 2 rd, wr, rd own process 1 rd,

Esempio di matrice process 1 file 2 rd, wr, rd own process 1 rd, wr, ex, own process 2 wr process 2 app rd rd, wr, ex own rd, own

Spiegazione n n E’ chiaro cosa vuole dire che un processo può svolgere le

Spiegazione n n E’ chiaro cosa vuole dire che un processo può svolgere le operazioni di read, write, execute e append su un file Verso un processo read vuol dire ricevere segnali, write spedire e execute eseguirlo come sottoprocesso

Hostnames Altro esempio Toadflax Telegraph ftp Nob ftp, nsf, mail, own ftp, nfs, mail

Hostnames Altro esempio Toadflax Telegraph ftp Nob ftp, nsf, mail, own ftp, nfs, mail Telegraph ftp, mail ftp, nsf, mail, own Toadflax own Nob

Stati e comandi n n Stato X=(S, O, A) Primitive di modifica dello stato

Stati e comandi n n Stato X=(S, O, A) Primitive di modifica dello stato n n n creare un nuovo soggetto creare un nuovo oggetto aggiungere un diritto r a A[s, o] eliminare un diritto r da A[s, o] eliminare un soggetto eliminare un oggetto

Transizioni di stato n n n Un comando incondizionato è una primitiva o una

Transizioni di stato n n n Un comando incondizionato è una primitiva o una sequenza di primitive Un comando C cambia lo stato corrente S in un nuovo stato S’ S |--C S’ Una sequenza di comandi C 1, . . . , Cn cambia lo stato corrente S in un nuovo stato Sn S |--C 1 S 1 |--C 2. . . Sn-1 |--Cn Sn

Comandi condizionali n n if r in A[s, o] then primitiva 1; . .

Comandi condizionali n n if r in A[s, o] then primitiva 1; . . . ; primitiva. N if r 1 in A[s 1, o 1] and. . . and rk in A[sk, ok] then primitiva 1; . . . ; primitiva. N

Esempio comando CREA(soggetto s, file f) crea nuovo oggetto f aggiungi own a A[s,

Esempio comando CREA(soggetto s, file f) crea nuovo oggetto f aggiungi own a A[s, f] comando CONFERISCI(soggetto s, soggetto s’, file f, diritto r) if own in A[s, f] and r in A[s, f] then aggiungi r a A[s’, f] comando RIMUOVI(soggetto s, soggetto s’, file f, diritto r) if own in A[s, f] and r in A[s’, f] then elimina r da A[s’, f]

Diritti di copia e di possesso n n n Il diritto di copia (o

Diritti di copia e di possesso n n n Il diritto di copia (o grant) consente al possessore di un oggetto o di concedere ad altri soggetti un diritto r su o Per il principio di attenuazione il possessore di o può concedere solo diritti che lui possiede su o Il diritto di possesso consente al possessore di o di auto-concedersi o sottrarsi diritti su o

La domanda fondamentale n n n Un sistema informatico è definito con un insieme

La domanda fondamentale n n n Un sistema informatico è definito con un insieme finito di comandi validi C e un insieme finito di diritti R Come possiamo stabilire se è sicuro ? Ad esempio se esiste una sequenza di comandi che conduce ad una violazione di sicurezza ?

La domanda fondamentale n n n Esiste un algoritmo in grado di determinare se

La domanda fondamentale n n n Esiste un algoritmo in grado di determinare se il sistema è sicuro ? In generale la risposta è NO, in quanto definendo in modo ragionevole quando un sistema è sicuro, si ottiene un problema indecidibile Ad esempio una violazione è quando un utente ottiene un diritto per cui non era autorizzato

Modello take-grant n n E’ però possibile costruire dei modelli vincolati di cui è

Modello take-grant n n E’ però possibile costruire dei modelli vincolati di cui è possibile dimostrare la sicurezza in modo algoritmico Un esempio abbastanza semplice è il modello take-grant in cui è possibile n n n definire se un utente può prendere (take) o concedere (grant) diritti da/a un altro utente che un utente crei un nuovo oggetto, autoconcedendosi diritti su di esso che un utente tolga a se stesso un diritto su un oggetto

Modello take-grant

Modello take-grant

Modello take-grant

Modello take-grant

Decidibilità del modello n n E’ possibile costruire un grafo che rappresenta i diritti

Decidibilità del modello n n E’ possibile costruire un grafo che rappresenta i diritti che i soggetti hanno sugli altri soggetti e sugli oggetti Ragionando su tale grafo e sull’insieme di comandi validi è possibile verificare in maniera efficiente se c’è la possibilità di “furti” di diritti da parte di non autorizzati e di “cospirazioni” tra utenti

Cenni al Schematic Protection Model n Si basa sui concetti di n n n

Cenni al Schematic Protection Model n Si basa sui concetti di n n n ticket X/r: indica il diritto r sull’entità X tipi di soggetti e di oggetti link di collegamento tra soggetti filtro sui link X/rc indica che il diritto su X può essere copiato ad altri I diritti sono suddivisi in n n inerziali: non cambiano lo stato di protezione del sistema di controllo: cambiano (come take o grant)

Cenni al SPM n Un diritto r può essere concesso da Y a Z

Cenni al SPM n Un diritto r può essere concesso da Y a Z sulla risorsa X se n n Y possiede il ticket X/rc Y è collegato a Z è ammesso dal filtro il trasferimento di r su X da oggetti del tipo di Y a quelli del tipo di Z Esiste un algoritmo in grado di decidere se un sistema SPM con un certo repertorio di comandi validi è sicuro

Politiche di sicurezza n Una politica partiziona l’insieme degli stati Q in due parti

Politiche di sicurezza n Una politica partiziona l’insieme degli stati Q in due parti n n P, stati sicuri Q-P, stati insicuri Un sistema sicuro è un sistema che partendo da uno stato sicuro non entra mai in uno stato insicuro Una falla nella sicurezza è quando un sistema entra in uno stato insicuro

Politiche per la sicurezza n Una politica P garantisce n n la confidenzialità di

Politiche per la sicurezza n Una politica P garantisce n n la confidenzialità di I rispetto a X se nessun membro di X può accedere a I l’integrita di I rispetto a X se ogni membro di X ha fiducia del contenuto di I la disponibilità di I rispetto a X se se ogni membro di X può accedere ad I Un meccanismo di sicurezza M è un entità o una procedura che rinforza una parte della politica P

Tipi di politiche n n n Politiche militari/governative: incentrate primariamente sulla confidenzialità Politiche commerciali:

Tipi di politiche n n n Politiche militari/governative: incentrate primariamente sulla confidenzialità Politiche commerciali: incentrate maggiormente sull’integrità Sono importanti anche ai fini commerciali le politiche di integrità orientate alle transazioni (consistenza delle transazioni)

Tipi di controllo sugli accessi n Controllo di accesso discrezionale (DAC), detto anche controllo

Tipi di controllo sugli accessi n Controllo di accesso discrezionale (DAC), detto anche controllo di accesso basato sull’identità (IBAC): n n n ogni utente può avere diritti diversi sugli oggetti è il possessore dell’oggetto che stabilisce i diritti per se e per gli altri soggetti in base all’identità dell’utente che tali diritti sono controllati

Tipi di controllo sugli accessi n Controllo di accesso mandatorio (MAC), detto anche rule-based

Tipi di controllo sugli accessi n Controllo di accesso mandatorio (MAC), detto anche rule-based access control n n n il sistema controlla gli accessi di un soggetto s ad oggetto o in base alle informazioni su s e su o il singolo individuo non può alterare i diritti il possessore non può assegnare i diritti in maniera arbitraria agli altri soggetti

Politiche per la confidenzialità n n Uno dei modelli più semplici è quello di

Politiche per la confidenzialità n n Uno dei modelli più semplici è quello di Bell. La Padula Ci sono n livelli di sicurezza, n n L 1 è il livello più basso, . . . , Ln è il livello più alto, quello per cui è maggiore la necessità di confidenzialità Ad esempio UC (non classificato) < C (confidenziale) < S (segreto) < TS (top secret)

Modello di Bell-La Padula n n n Ogni soggetto s ha un proprio livello

Modello di Bell-La Padula n n n Ogni soggetto s ha un proprio livello di sicurezza L(s) che rappresenta il livello massimo a cui può lavorare Ogni oggetto o ha un proprio livello di sicurezza L(o) che rappresenta il livello di confidenzialità che contiene Ogni soggetto s ha eventuali diritti discrezionali di lettura e/o scrittura sugli oggetti o

Esempio Livelli di sicurezza TOP SECRET Soggetti SECRET Sally, Samuel Oggetti Tamara, Thomas File

Esempio Livelli di sicurezza TOP SECRET Soggetti SECRET Sally, Samuel Oggetti Tamara, Thomas File personali File e-mail CONFIDENTIA Claire, Clarence File di log L UNCLASSIFIE Ursula, Urk Elenco telef. D

Regole di base di Bell-La Padula n n n Il soggetto s può leggere

Regole di base di Bell-La Padula n n n Il soggetto s può leggere l’oggetto o se L(o)<=L(s) e se ha diritto discrezionale di leggere o (proprietà di sicurezza semplice) Ad esempio Claire non può leggere i file personali, mentre Tamara può leggere i file di log Cosa succederebbe se Tamara copiasse una parte dei file personali sui file di log ?

Regole di base n n n Il soggetto s può scrivere l’oggetto o se

Regole di base n n n Il soggetto s può scrivere l’oggetto o se L(o)>=L(s) e se ha diritto discrezionale di scrivere o (proprietà *) Quindi tutto quello che può scrivere Tamara è Top Secret (file personali), che solo Thomas, oltre a lei può leggere Un sistema è sicuro se qualunque cosa accada (cioè in qualunque stato sia possibile transire attraverso i comandi validi) le due proprietà (semplice e *) continuano a valere

Categorie di oggetti n n Ogni oggetto è classificato in una o più categorie

Categorie di oggetti n n Ogni oggetto è classificato in una o più categorie a seconda del contenuto Ad esempio NUC, EUR e US {NUC, EUR, US} {NUC, EUR} {EUR, US} {NUC, US} {EUR} {NUC} {US} 0 0 { }

Categorie di oggetti n n n Ogni soggetto ha un livello e un insieme

Categorie di oggetti n n n Ogni soggetto ha un livello e un insieme di categorie a cui può accedere Ogni oggetto ha un livello e un insieme di categorie di cui tratta Principio del “need-to-know”: ogni soggetto deve sapere solo quello di cui ha strettamente bisogno

Esempio n n n George ha livello (Secret, {NUC, EUR}) Paul ha livello (Secret,

Esempio n n n George ha livello (Secret, {NUC, EUR}) Paul ha livello (Secret, {EUR, NUC, US}) Doc. A ha livello (Confid, {NUC}) Doc. B ha livello (Secret, {EUR, US}) Doc. C ha livello (Secret, {EUR})

Dominanza n n In una coppia (L, C), L è un livello di sicurezza

Dominanza n n In una coppia (L, C), L è un livello di sicurezza e C è un sottoinsieme di categorie La coppia (L, C) domina la coppia (L’, C’) se n n L’<=L e C’ è un sottoinsieme di C Ad esempio George domina Doc. A in quanto Conf < Secret e {NUC} è un sottoinsieme di {NUC, EUR} George non domina Doc. B

Regole n n s può leggere o se (L(s), C(s)) domina (L(o), C(o)) e

Regole n n s può leggere o se (L(s), C(s)) domina (L(o), C(o)) e s ha il diritto discrezionale di lettura su o Ad esempio George potrebbe leggere Doc. A e Doc. C, ma non Doc. B s può scrivere o se (L(o), C(o)) domina (L(s), C(s)) e s ha il diritto discrezionale di scrittura su o Paul non può scrivere Doc. A

Sicurezza n n Se ogni comando valido preserva la condizione di semplice sicurezza e

Sicurezza n n Se ogni comando valido preserva la condizione di semplice sicurezza e la proprietà * allora il sistema è sicuro e non si possono avere intrusioni Un problema grave è che un soggetto S non può mai comunicare con soggetti S’ di livello di sicurezza inferiore

Principio di tranquillità n n Bisognerebbe cambiare i livelli di sicurezza di un oggetto

Principio di tranquillità n n Bisognerebbe cambiare i livelli di sicurezza di un oggetto Ma si può ? Principio di tranquillità forte: NO ! Principio di tranquillità debole: n n n Se ciò non viola le regole delle politiche di sicurezza, ad esempio Alzare il livello di un oggetto Abbassare (dopo declassificazione) il livello di un oggetto