122
Sicurezza dei Sicurezza dei sistemi sistemi informatici informatici Master di I° livello in Master di I° livello in Sistemi e Tecnologie per la sicurezza Sistemi e Tecnologie per la sicurezza dell'Informazione e della dell'Informazione e della Comunicazione Comunicazione Seconda lezione Seconda lezione 27/4/2007 27/4/2007

Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Embed Size (px)

Citation preview

Page 1: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Sicurezza dei sistemi Sicurezza dei sistemi informaticiinformatici

Master di I° livello inMaster di I° livello in

Sistemi e Tecnologie per la sicurezza Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazionedell'Informazione e della Comunicazione

Seconda lezioneSeconda lezione27/4/200727/4/2007

Page 2: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Contenuto della lezioneContenuto della lezione Politiche per l’integritàPolitiche per l’integrità Politiche ibridePolitiche ibride AutenticazioneAutenticazione

Page 3: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Politiche per l’integritàPolitiche per l’integrità

Requisiti di LipnerRequisiti di Lipner Modelli di BibaModelli di Biba Matrice di LipnerMatrice di Lipner Cenni al modello di Clark-WilsonCenni al modello di Clark-Wilson

Page 4: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

I requisiti di integrità di LipnerI requisiti di integrità di Lipner1.1. Gli utenti non devono scrivere programmi ma usare solo Gli utenti non devono scrivere programmi ma usare solo

programmi e database di produzioneprogrammi e database di produzione2.2. I programmatori sviluppano e testano di programmi non sui I programmatori sviluppano e testano di programmi non sui

sistemi di produzione, se hanno bisogno di usare dati veri, sistemi di produzione, se hanno bisogno di usare dati veri, riceveranno dati di produzione filtrati attraverso un processo riceveranno dati di produzione filtrati attraverso un processo speciale e useranno solo quellispeciale e useranno solo quelli

3.3. Un processo speciale deve essere eseguito per installare un Un processo speciale deve essere eseguito per installare un programma dal sistema di sviluppo a quello di produzione.programma dal sistema di sviluppo a quello di produzione.

4.4. Il processo speciale del requisito 3 deve essere controllato e Il processo speciale del requisito 3 deve essere controllato e sottoposto ad audit.sottoposto ad audit.

5.5. Gli amministratori devono accedere allo stato del sistema e Gli amministratori devono accedere allo stato del sistema e ai log generatiai log generati

Page 5: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Modelli per l’integritàModelli per l’integrità I requisiti suggeriscono i seguenti principiI requisiti suggeriscono i seguenti principi

Separazione dei compiti. Separazione dei compiti. Se due o più passi sono richiesti Se due o più passi sono richiesti per compiere una funzione critica, devono essere impiegati per compiere una funzione critica, devono essere impiegati almeno due soggetti differenti. Muovere un’applicazione almeno due soggetti differenti. Muovere un’applicazione dal sistema di sviluppo a quello della produzione è un dal sistema di sviluppo a quello della produzione è un esempio di funzione critica.esempio di funzione critica.

Separazione delle funzioni. Separazione delle funzioni. Funzioni differenti devono Funzioni differenti devono usare dati differenti. Per esempio, gli sviluppatori non usare dati differenti. Per esempio, gli sviluppatori non devono sviluppare nuovi programmi nell’ambiente di devono sviluppare nuovi programmi nell’ambiente di produzione e non possono processare dati di produzione produzione e non possono processare dati di produzione nell’ambiente di sviluppo. Si può dar loro dati “sanitized”.nell’ambiente di sviluppo. Si può dar loro dati “sanitized”.

AuditingAuditing. E’ il processo di analisi del sistema per . E’ il processo di analisi del sistema per determinare quali azioni sono state compiute e da chideterminare quali azioni sono state compiute e da chi

Page 6: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Modelli per l’integritàModelli per l’integrità Modello di BibaModello di Biba

insieme di soggetti Sinsieme di soggetti S insieme di oggetti Oinsieme di oggetti O insieme di livelli di integrità Iinsieme di livelli di integrità I relazione di ordine <= su Irelazione di ordine <= su I i(s) rappresenta il livello di integrità di s, per un i(s) rappresenta il livello di integrità di s, per un

programma indica quanto è corretta la sua programma indica quanto è corretta la sua esecuzioneesecuzione

i(o) rappresenta il livello di integrità di o, indica i(o) rappresenta il livello di integrità di o, indica quanto è affidabile il contenutoquanto è affidabile il contenuto

Page 7: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Modello Low-Water-Mark di BibaModello Low-Water-Mark di Biba

s può scrivere o se e solo se i(o)<=i(s): un s può scrivere o se e solo se i(o)<=i(s): un soggetto non può scrivere qualcosa di più soggetto non può scrivere qualcosa di più affidabileaffidabile

se s legge o, allora i(s) diventa pari a se s legge o, allora i(s) diventa pari a min{i(s),i(o)}: l’integrità del soggetto si può min{i(s),i(o)}: l’integrità del soggetto si può “contaminare”“contaminare”

s può eseguire s’ se e solo se i(s’)<=i(s): non si s può eseguire s’ se e solo se i(s’)<=i(s): non si può eseguire qualcosa di più affidabilepuò eseguire qualcosa di più affidabile

Page 8: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Modello di Biba di integrità strettaModello di Biba di integrità stretta

s può leggere o se e solo se i(s)<=i(o)s può leggere o se e solo se i(s)<=i(o) s può scrivere o se e solo se i(o)<=i(s)s può scrivere o se e solo se i(o)<=i(s) s può eseguire s’ se e solo se i(s’)<=i(s)s può eseguire s’ se e solo se i(s’)<=i(s) E’ il duale di Bell-La PadulaE’ il duale di Bell-La Padula Vale il seguente teorema: in un trasferimento Vale il seguente teorema: in un trasferimento

di informazionidi informazioni o o00 →→ s s1 1 →→ o o1 1 → → ss22 → → oo2 2 →...→.....→ → ssnn → → o onn

l’integrità dell’oggetto finale è minore o l’integrità dell’oggetto finale è minore o uguale di quello di partenzauguale di quello di partenza

Page 9: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

LOCUS e BibaLOCUS e Biba

Scopo: prevenire che un programma non fidati alteri Scopo: prevenire che un programma non fidati alteri dati o altri programmidati o altri programmi

Approccio: usare livelli di fiduciaApproccio: usare livelli di fiducia un livello di credibilità basato sulla stima di affidabilità del un livello di credibilità basato sulla stima di affidabilità del

programma (0 non fidato, programma (0 non fidato, nn altamente fidato) altamente fidato) I trusted file systemsI trusted file systems contengono programmi con un solo contengono programmi con un solo

livello di credibilitàlivello di credibilità Un programma può essere eseguito solo se ha credibilità Un programma può essere eseguito solo se ha credibilità

maggiore del processo che lo lanciamaggiore del processo che lo lancia Si deve usare il comando Si deve usare il comando run-untrustedrun-untrusted per eseguire un per eseguire un

programma con minor livello di credibilitàprogramma con minor livello di credibilità

Page 10: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Matrice di integrità di LipnerMatrice di integrità di Lipner Lipner è riuscito a coniugare Bell-La Padula Lipner è riuscito a coniugare Bell-La Padula

(confidenzialità) e Biba (integrità)(confidenzialità) e Biba (integrità) Un soggetto s può leggere un oggetto o seUn soggetto s può leggere un oggetto o se

s ha un livello di sicurezza maggiore o uguale a s ha un livello di sicurezza maggiore o uguale a quello di oquello di o

o ha un livello di integrità maggiore o uguale a o ha un livello di integrità maggiore o uguale a quello di squello di s

In modo inverso per la scritturaIn modo inverso per la scrittura

Page 11: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Livelli/categorie di integritàLivelli/categorie di integrità

Tre livelli di integrità: Tre livelli di integrità: ISP(System Program): per programmi di sistemaISP(System Program): per programmi di sistema IO (Operazioneal): programmi di produzione, tool IO (Operazioneal): programmi di produzione, tool

di sviluppodi sviluppo ISL (System Low): per tutti gli utentiISL (System Low): per tutti gli utenti

Due categorie di integritàDue categorie di integrità ID (Development): entità in sviluppoID (Development): entità in sviluppo IP (Produczione): entità di produzioneIP (Produczione): entità di produzione

Page 12: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Livelli/categorie di sicurezzaLivelli/categorie di sicurezza

Due Livelli di sicurezzaDue Livelli di sicurezza AM (Audit Manager): system audit, funzioni di AM (Audit Manager): system audit, funzioni di

amministrazioneamministrazione SL (System Low): ogni processo può leggere tali datiSL (System Low): ogni processo può leggere tali dati

Tre Categorie di sicurezzaTre Categorie di sicurezza SP (Production): codice e dati di produzioneSP (Production): codice e dati di produzione SD (Development): programmi per la produzione in SD (Development): programmi per la produzione in

sviluppo ma non in usosviluppo ma non in uso SSD (System Development): programmi di sistema in SSD (System Development): programmi di sistema in

sviluppo ma non in usosviluppo ma non in uso

Page 13: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Livelli di sicurezza degli utentiLivelli di sicurezza degli utenti

SoggettiSoggetti Livelli di sicurezzaLivelli di sicurezza Livelli di integritàLivelli di integrità

Ordinary usersOrdinary users (SL, { SP })(SL, { SP }) (ISL, { IP })(ISL, { IP })

Applicaction Applicaction developersdevelopers

(SL, { SD })(SL, { SD }) (ISL, { ID })(ISL, { ID })

System programmersSystem programmers (SL, { SSD })(SL, { SSD }) (ISL, { ID })(ISL, { ID })

System managers and System managers and auditorsauditors

(AM, { SP, SD, SSD })(AM, { SP, SD, SSD }) (ISL, { IP, ID})(ISL, { IP, ID})

System controllersSystem controllers (SL, { SP, SD }) and (SL, { SP, SD }) and downgrade privilegedowngrade privilege

(ISP, { IP, ID})(ISP, { IP, ID})

RepairRepair (SL, { SP })(SL, { SP }) (ISL, { IP })(ISL, { IP })

Page 14: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Livello di sicurezza degli oggettiLivello di sicurezza degli oggetti

OggettiOggetti Livelli di sicurezzaLivelli di sicurezza Livelli di Livelli di integritàintegrità

Development code/test dataDevelopment code/test data (SL, { SD })(SL, { SD }) (ISL, { IP} )(ISL, { IP} )

Production codeProduction code (SL, { SP })(SL, { SP }) (IO, { IP })(IO, { IP })

Production dataProduction data (SL, { SP })(SL, { SP }) (ISL, { IP })(ISL, { IP })

Software toolsSoftware tools (SL, (SL, ) ) (IO, { ID })(IO, { ID })

System programsSystem programs (SL, (SL, ) ) (ISP, { IP, ID })(ISP, { IP, ID })

System programs in System programs in modificationmodification

(SL, { SSD })(SL, { SSD }) (ISL, { ID })(ISL, { ID })

System and application logsSystem and application logs (AM, { (AM, { appropriateappropriate }) }) (ISL, (ISL, ) )

RepairRepair (SL, {SP})(SL, {SP}) (ISL, { IP })(ISL, { IP })

Page 15: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Utenti ordinariUtenti ordinari Un utente ordinario ha i livelli:

sicurezza (SL, { SP }) integrità (ISL, { IP })

Quindi può svolgere le seguenti operazioni Leggere e scrivere dati di produzione :stessi livelli di

sicurezza e integrità Leggere codice di produzione: stessa classificazione e (IO,

{IP}) dom (ISL, {IP}) System program (SL, {SP}) dom (SL, {}) & (ISP, {IP,ID})

dom {ISL, {IP}) Repair oggetti (stessi livelli) Scrivere (ma non leggere) i log di sistema e di applicazione

(AM, {SP}) dom (SL, {SP}) & (ISL, {IP}) dom {ISL, {})

Page 16: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

I cinque requisitiI cinque requisiti

E’ facile verificare che i cinque requisiti di E’ facile verificare che i cinque requisiti di Lipner sono soddisfattiLipner sono soddisfatti

Ad esempio un utente non può scrivere un Ad esempio un utente non può scrivere un programma perchè creerebbe un oggetto con programma perchè creerebbe un oggetto con un livello di integrità maggiore del proprioun livello di integrità maggiore del proprio

Page 17: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Modello di Integrità di Clark-WilsonModello di Integrità di Clark-Wilson Adatto all’integrità dei databaseAdatto all’integrità dei database L’integrità definita mediante vincoli che i dati devono L’integrità definita mediante vincoli che i dati devono

rispettarerispettare Esempio: in una bancaEsempio: in una banca

DD depositi odierni, depositi odierni, WW prelievi odierni, prelievi odierni, YBYB bilancio di ieri, bilancio di ieri, TBTB bilancio di oggi bilancio di oggi

Vincolo di integrità: Vincolo di integrità: DD + + YBYB – –W=TBW=TB Le transazioni ben formateLe transazioni ben formate portano uno stato portano uno stato

consistente ad uno stato consistenteconsistente ad uno stato consistente Chi certifica che i vincoli siano sempre rispettati ?Chi certifica che i vincoli siano sempre rispettati ?

Page 18: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

EntitàEntità

CDI: entità/dati soggetti a vincoli di integritàCDI: entità/dati soggetti a vincoli di integrità UDI: entità/dati non soggetti a vincoli di UDI: entità/dati non soggetti a vincoli di

integritàintegrità IVP: procedure che controllano i vincoli di IVP: procedure che controllano i vincoli di

integritàintegrità TP: procedure di trasformazione, che portano TP: procedure di trasformazione, che portano

il sistema da uno stato valido ad un altro stato il sistema da uno stato valido ad un altro stato validovalido

Page 19: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Regole di certificazioneRegole di certificazione

CR1CR1 Se un IVP è eseguito, deve assicurarsi che tutti i Se un IVP è eseguito, deve assicurarsi che tutti i CDI siano in uno stato validoCDI siano in uno stato valido

CR2CR2 Una TP deve trasformare un insieme di CDI da uno Una TP deve trasformare un insieme di CDI da uno stato valido ad uno stato validostato valido ad uno stato valido

CR2 definisce come CR2 definisce come certificatacertificata una relazione che associa una relazione che associa un insieme di CDI ad una TPun insieme di CDI ad una TP

CR2 implica che una TP può corrompere un CDI se non CR2 implica che una TP può corrompere un CDI se non è certificata per lavorare con quel CDIè certificata per lavorare con quel CDI

TP “balance”, CDI conti correnti. Sia C una relazione TP “balance”, CDI conti correnti. Sia C una relazione certificata, alloracertificata, allora(balance, account(balance, account11), (balance, account), (balance, account22),…., (balance, account),…., (balance, accountnn) ) C C

Page 20: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Regole di rinforzoRegole di rinforzo

CR2 implica che una TP può corrompere un CDI se CR2 implica che una TP può corrompere un CDI se non è certificato a lavorarvinon è certificato a lavorarvi

Esempio: La TP che investe denaro nel portafoglio Esempio: La TP che investe denaro nel portafoglio azionario della banca corromperebbe i bilanci anche azionario della banca corromperebbe i bilanci anche se la TP fosse certificata a lavorare sul portafoglio, se la TP fosse certificata a lavorare sul portafoglio, perchè le azioni della TP potrebbero non avere senso perchè le azioni della TP potrebbero non avere senso sui conti bancarisui conti bancari

Da ciò nasce la prima regola di rinforzoDa ciò nasce la prima regola di rinforzo

Page 21: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Regole di rinforzoRegole di rinforzo

ER1ER1 Il sistema deve garantire che solo le TP certificate Il sistema deve garantire che solo le TP certificate ad operare su determinati CDI svolgano ad operare su determinati CDI svolgano operazioni su di essi.operazioni su di essi.

ER2ER2 Il sistema associare a ciascun TP e insieme di Il sistema associare a ciascun TP e insieme di CDI un utente. Il TP può accedere a quei CDI per CDI un utente. Il TP può accedere a quei CDI per conto dell’utente, ma non può accedere per conto conto dell’utente, ma non può accedere per conto di utenti non autorizzati.di utenti non autorizzati.

Il sistema deve mantenere le relazioni certificateIl sistema deve mantenere le relazioni certificate Il sistema deve restringere l’accesso degli utenti alle Il sistema deve restringere l’accesso degli utenti alle

TP mediante una relazione di permesso TP mediante una relazione di permesso A, che A, che specifica quali utenti possono eseguire quali TP su specifica quali utenti possono eseguire quali TP su quali CDIquali CDI

Page 22: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Utenti e regoleUtenti e regole

CR3CR3 Le relazioni di permesso devono essere basate Le relazioni di permesso devono essere basate sulla separazione dei compiti.sulla separazione dei compiti.

ER3ER3 Il sistema deve autenticare ogni utente che vuole Il sistema deve autenticare ogni utente che vuole utilizzare una TPutilizzare una TP

Page 23: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Uso dei LogUso dei Log

CR4CR4 Tutte le TP devono scrivere in CDI di solo Tutte le TP devono scrivere in CDI di solo accodamento (append) tutte le accodamento (append) tutte le informazioni sufficienti a ricostruire le informazioni sufficienti a ricostruire le operazioni svolte.operazioni svolte. Questo CDI è il logQuesto CDI è il log Gli amministratori devono essere in grado di Gli amministratori devono essere in grado di

capire cosa ha fatto una determinata capire cosa ha fatto una determinata transazionetransazione

Page 24: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Trattamento di Input non fidatoTrattamento di Input non fidato

CR5CR5 Ogni TP che prende in input un UDI può Ogni TP che prende in input un UDI può eseguire solo transformazioni valide, oppure eseguire solo transformazioni valide, oppure nessuna transformazione, per ogni possibile nessuna transformazione, per ogni possibile valore dell’UDI. La trasformazione può quindi valore dell’UDI. La trasformazione può quindi rifiutare il UDI o trasformarlo in un CDI.rifiutare il UDI o trasformarlo in un CDI. In una banca, i numeri inseriti da tastiera sono UDI, In una banca, i numeri inseriti da tastiera sono UDI,

che non possono essere dati in input ad una TP. che non possono essere dati in input ad una TP. Un’apposita TP deve validare tali numeri (rendendoli Un’apposita TP deve validare tali numeri (rendendoli un CDI) prima di usarli; se la validazione fallisce, la un CDI) prima di usarli; se la validazione fallisce, la TP rigetta il UDI TP rigetta il UDI

Page 25: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Separazione dei compitiSeparazione dei compiti

ER4ER4 Solo il certificatore di un TP può cambiare Solo il certificatore di un TP può cambiare la lista di entità associate al TP. Nessun la lista di entità associate al TP. Nessun certificatore di un TP, o di un entità certificatore di un TP, o di un entità associata al TP, potranno mai farlo.associata al TP, potranno mai farlo.

Page 26: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

I cinque requisitiI cinque requisiti

Anche in questo caso è relativamente semplice Anche in questo caso è relativamente semplice far vedere che i cinque requisiti di Lipner sono far vedere che i cinque requisiti di Lipner sono soddisfattisoddisfatti

Page 27: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Politiche ibridePolitiche ibride

Molte organizzazioni hanno bisogno di Molte organizzazioni hanno bisogno di politiche di rinforzo sia per la confidenzialità, politiche di rinforzo sia per la confidenzialità, che per l’integritàche per l’integrità

Modello della Chinese WallModello della Chinese Wall Cenni al modello della Clinical Information Cenni al modello della Clinical Information

Systems Systems Modello ORGCONModello ORGCON Modelli RBAC e TRBACModelli RBAC e TRBAC

Page 28: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Politica della Chinese WallPolitica della Chinese Wall

Si stabiliscono dinamicamente i diritti di accesso di Si stabiliscono dinamicamente i diritti di accesso di utente in base a quello a cui l’utente ha già avuto utente in base a quello a cui l’utente ha già avuto accessoaccesso

Introdotto da Brewer and Nash nel 1989Introdotto da Brewer and Nash nel 1989

Il motivo per questo lavoro è stato quello di Il motivo per questo lavoro è stato quello di evitare che informazioni sensibili concernenti una evitare che informazioni sensibili concernenti una compagnia siano passate a compagnie rivali per compagnia siano passate a compagnie rivali per mezzo di consulenti finanziarimezzo di consulenti finanziari

Page 29: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Concetti della Chinese WallConcetti della Chinese Wall SoggettiSoggetti: Entità attive che accedono a oggetti : Entità attive che accedono a oggetti

protettiprotetti OggettiOggetti: Informazioni legate ad una : Informazioni legate ad una

compagniacompagnia DatasetDataset: insieme di informazioni di una data : insieme di informazioni di una data

compagniacompagnia Classe di Conflict-of-Interest (CoI):Classe di Conflict-of-Interest (CoI):

compagnie rivali di una data compagniacompagnie rivali di una data compagnia

Page 30: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

DefinizioniDefinizioni

Indicheremo con Indicheremo con CDCD((OO) il dataset a cui ) il dataset a cui appartiene l’informazione Oappartiene l’informazione O

IndicheremoIndicheremo con con COICOI((OO) la classe di conflitto ) la classe di conflitto di interesse a cui appartiene l’informazione Odi interesse a cui appartiene l’informazione O

Assumiamo che ciascun oggetto appartenga ad Assumiamo che ciascun oggetto appartenga ad un unico dataset e ad un’unica classe un unico dataset e ad un’unica classe COICOI

Page 31: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Classificazione dei datiClassificazione dei dati

InfoInfoInfo InfoInfo Info InfoInfoInfo

Bank ABank A Bank BBank B Gas AGas A Oil AOil A Oil BOil B

CoI 1CoI 1 CoI 2CoI 2 CoI 3CoI 3

Insieme di tutti gli oggettiInsieme di tutti gli oggetti

Page 32: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Evoluzione dei dirittiEvoluzione dei diritti

Se un consulente legge un oggetto Se un consulente legge un oggetto appartenente ad un CD in una data COI, non appartenente ad un CD in una data COI, non può più leggere oggetti di altri CD in quella può più leggere oggetti di altri CD in quella COICOI E’ possibile che le informazioni apprese prima E’ possibile che le informazioni apprese prima

possano consentirgli di prendere decisioni possano consentirgli di prendere decisioni “migliori” dopo (ovviamente in modo sleale) “migliori” dopo (ovviamente in modo sleale)

Indichiamo con Indichiamo con PRPR((SS) l’insieme degli oggetti che ) l’insieme degli oggetti che SS ha già lettoha già letto

Page 33: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Condizione di semplice sicurezza Condizione di semplice sicurezza delle CWdelle CW

Un soggettoUn soggetto s s può leggere un oggetto può leggere un oggetto oo se e solo se: se e solo se:1.1. Esiste un oggetto Esiste un oggetto oo a cui a cui ss ha avuto accesso e ha avuto accesso e

CDCD((oo ) = ) = CDCD((oo), oppure), oppure2.2. Per ogni Per ogni oo OO, , oo PRPR((ss) ) COICOI((oo) ≠ ) ≠ COICOI((oo))

Ignoriamo per ora i dati “sanitized”Ignoriamo per ora i dati “sanitized” Inizialmente, Inizialmente, PRPR((ss) = ) = , quindi qualunque cosa può , quindi qualunque cosa può

essere letta all’inizioessere letta all’inizio

Page 34: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

In altri terminiIn altri termini

Un soggetto può leggere un oggetto se:Un soggetto può leggere un oggetto se: l’oggetto è in un dataset di cui il soggetto ha l’oggetto è in un dataset di cui il soggetto ha

già letto qualcosa già letto qualcosa oppureoppure l’oggetto appartiene a una COI di cui il l’oggetto appartiene a una COI di cui il

soggetto non ha letto ancora nientesoggetto non ha letto ancora niente

Bank ABank AC

on

sulta

nt

Co

nsu

ltan

tBank BBank B

Gas AGas A Oil BOil B

RR

RR

RR

RR

XX RR

Page 35: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Regola di letturaRegola di lettura

InfoInfoInfo Info Info

Bank ABank A Gas AGas A Oil AOil A

InfoInfo

Bank BBank B

Info Info

Oil BOil B

COI 1COI 1 CoI 2CoI 2 COI 3COI 3

Insieme di tutti gli oggettiInsieme di tutti gli oggetti= John= John

Info

Oil AOil A

CoI 3CoI 3

Info

Bank ABank A

CoI 1CoI 1

Page 36: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Confronto con Bell-LaPadulaConfronto con Bell-LaPadula

La politica Chinese Wall è una combinazione di La politica Chinese Wall è una combinazione di libera scelta e di controllo obbligatorio (mandatory)libera scelta e di controllo obbligatorio (mandatory)

Inizialmente un soggetto è libero di accedere a ciò Inizialmente un soggetto è libero di accedere a ciò che vuoleche vuole

Una volta fatta la scelta, per quell’utente è creata una Una volta fatta la scelta, per quell’utente è creata una Muraglia Cinese attorno al dataset a cui l’oggetto attorno al dataset a cui l’oggetto appartieneappartiene

Si noti che la Chinese Wall può essere combinata Si noti che la Chinese Wall può essere combinata con le politiche DACcon le politiche DAC

Page 37: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

ScritturaScrittura Anthony e Susan lavorano per la stessa azienda di Anthony e Susan lavorano per la stessa azienda di

consulenzaconsulenza Anthony può leggere i CD di Bank A e di Gas AAnthony può leggere i CD di Bank A e di Gas A Susan può leggere i CD di Bank B e di Gas ASusan può leggere i CD di Bank B e di Gas A Se Anthony potesse scrivere sul CD di Gas A, Susan Se Anthony potesse scrivere sul CD di Gas A, Susan

potrebbe leggerlopotrebbe leggerlo Perciò, indirettamente, potrebbe acquisire informazioni su Perciò, indirettamente, potrebbe acquisire informazioni su

Bank B, un chiaro conflitto di interesseBank B, un chiaro conflitto di interesse La regola per la lettura non è in grado di prevenire La regola per la lettura non è in grado di prevenire

“fughe di notizie” “fughe di notizie”

Page 38: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Proprietà * delle CWProprietà * delle CW

Un soggettoUn soggetto s s può scrivere un oggetto può scrivere un oggetto oo se e se e solo se entrambe le condizioni valgonosolo se entrambe le condizioni valgono

1.1. La condizione di sicurezza semplice consente a La condizione di sicurezza semplice consente a ss di leggere di leggere oo

2.2. Per ogni oggetto non “sPer ogni oggetto non “sanitized”anitized” oo, se , se ss può può leggere leggere oo, allora , allora CDCD((oo) = ) = CDCD((oo))

In pratica s può scrivere un oggetto se tutti gli In pratica s può scrivere un oggetto se tutti gli oggetti (non “sanitized”) che può leggere oggetti (non “sanitized”) che può leggere sono nello stesso datasetsono nello stesso dataset

Page 39: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

In altri terminiIn altri termini

Un soggetto può scrivere un oggetto se Un soggetto può scrivere un oggetto se lo può anche leggere Elo può anche leggere E non può leggere dati di altre compagnienon può leggere dati di altre compagnie

ConsultantConsultantAA

ConsultantConsultantBB

WW

WW

RR

RR

XXOil BOil B

Bank BBank B

Bank ABank A XX

Page 40: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Conclusioni e criticheConclusioni e critiche

Perciò secondo questa regola:Perciò secondo questa regola:

Il flusso di informazioni è confinato all’interno Il flusso di informazioni è confinato all’interno della compagniadella compagnia

Però un utente che ha letto da più dataset non può Però un utente che ha letto da più dataset non può scrivere nessuno oggettoscrivere nessuno oggetto

Inoltre, una volta che ha scritto in un dataset, può Inoltre, una volta che ha scritto in un dataset, può scrivere solo lìscrivere solo lì

Page 41: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Regola di scrittura Regola di scrittura

InfoInfoInfo Info Info

Bank ABank A Gas AGas A Oil AOil A

COI 1COI 1 CoI 2CoI 2 COI 3COI 3

Insieme di tutti gli oggettiInsieme di tutti gli oggetti= John= John

Info

Oil AOil A

CoI 3CoI 3

InfoInfo

Bank ABank A

CoI 1CoI 1

ABCABCABCABC

Page 42: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Regola di scritturaRegola di scrittura

Info Info

Gas AGas A Oil AOil A

InfoInfo

Bank BBank B

COI 1COI 1 COI 2COI 2 COI 3COI 3

Insieme di tutti gli oggettiInsieme di tutti gli oggetti= Jane= Jane

Info

Oil AOil A

COI 3COI 3

Info

Bank BBank B

COI 1COI 1

ABCABCABCABC

Page 43: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Informazioni “Sanitized”Informazioni “Sanitized”

Alcune informazioni pubbliche possono appartenere Alcune informazioni pubbliche possono appartenere ad un CDad un CD

Essendo pubbliche, non generano conflitti di interesseEssendo pubbliche, non generano conflitti di interesse Tipicamente, tutti i dati sensibili sono rimossi prima Tipicamente, tutti i dati sensibili sono rimossi prima

che tale informazione sia resa pubblica (l’informazione che tale informazione sia resa pubblica (l’informazione è “sanitized”)è “sanitized”)

Una terza opzione per la Condizione di sicurezza Una terza opzione per la Condizione di sicurezza semplice è quindi:semplice è quindi:

3.3. oo è un oggetto “sanitized” è un oggetto “sanitized”

Page 44: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Confronto con Bell-LaPadulaConfronto con Bell-LaPadula

Sono fondamentalmente differentiSono fondamentalmente differenti CW non ha etichette di sicurezza, B-LP sìCW non ha etichette di sicurezza, B-LP sì CW si basa sugli accessi passati, B-LP noCW si basa sugli accessi passati, B-LP no

Bell-LaPadula può simulare CW istante per istanteBell-LaPadula può simulare CW istante per istante Ogni coppia di (COI, CD) è una categoriaOgni coppia di (COI, CD) è una categoria Due livelli di sicurezza, Due livelli di sicurezza, SS (sanitized) and (sanitized) and UU (non sanitized) (non sanitized)

S dom US dom U I livelli di sicurezza dei soggetti comprendono al massimo I livelli di sicurezza dei soggetti comprendono al massimo

una sola categoria per ogni classe COIuna sola categoria per ogni classe COI Ma B-LP non è in grado di modellare i cambiamenti Ma B-LP non è in grado di modellare i cambiamenti

nel temponel tempo

Page 45: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Confronto con Clark-WilsonConfronto con Clark-Wilson

Il modello di Clark-Wilson si occupa dell’integritàIl modello di Clark-Wilson si occupa dell’integrità Se i “soggetti” e i “processi” sono la stessa cosa, Se i “soggetti” e i “processi” sono la stessa cosa,

una singola persona potrebbe usare più processi e una singola persona potrebbe usare più processi e violare la condizione di semplice sicurezza in CWviolare la condizione di semplice sicurezza in CW Ma rispetterebbe il modello di Clark-WilsonMa rispetterebbe il modello di Clark-Wilson

Se il “soggetto” è una specifica persona che Se il “soggetto” è una specifica persona che comprende anche tutti i processi eseguiti, allora comprende anche tutti i processi eseguiti, allora CW è consistente con Clark-Wilson ModelCW è consistente con Clark-Wilson Model

Page 46: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Clinical Informazione Systems Clinical Informazione Systems Securità PolicySecurità Policy

Pensato per dati mediciPensato per dati medici Il conflitto di interesse non è un problema criticoIl conflitto di interesse non è un problema critico La confidenzialità del paziente, l’autenticazione dei dati e La confidenzialità del paziente, l’autenticazione dei dati e

di chi li scrive, e l’integrità lo sonodi chi li scrive, e l’integrità lo sono Entità:Entità:

Paziente: soggetto dei dati mediciPaziente: soggetto dei dati medici Informazioni mediche del paziente: dati sullo stato di salute Informazioni mediche del paziente: dati sullo stato di salute

del paziente o sulle cure mediche che possono consentire l’ del paziente o sulle cure mediche che possono consentire l’ identificazione del pazienteidentificazione del paziente

Medici: personale che può entrare in contatto con le Medici: personale che può entrare in contatto con le informazioni mediche del pazienteinformazioni mediche del paziente

Page 47: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

AccessoAccesso

Principio 1: Ciascuna cartella clinica ha una Principio 1: Ciascuna cartella clinica ha una lista di controllo degli accessi che determina lista di controllo degli accessi che determina gli individui o i gruppi che possono leggere e gli individui o i gruppi che possono leggere e aggiungere dati alla cartella. Il sistema deve aggiungere dati alla cartella. Il sistema deve restringere l’accesso solo alle persone restringere l’accesso solo alle persone identificate dalla lista.identificate dalla lista. L’idea è che solo i medici hanno diritto L’idea è che solo i medici hanno diritto

all’accesso, ma nessun altro. Gli auditor possono all’accesso, ma nessun altro. Gli auditor possono avere diritto ad una copia, ma non possono fare avere diritto ad una copia, ma non possono fare modifichemodifiche

Page 48: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

AccessoAccesso

Principio 2: Uno dei medici sulla lista dei Principio 2: Uno dei medici sulla lista dei controlli di accesso ha il diritto di aggiungere controlli di accesso ha il diritto di aggiungere persone a tale lista.persone a tale lista. E’ chiamato il medico responsabileE’ chiamato il medico responsabile

Page 49: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

AccessoAccesso

Principio 3: Il medico responsabile deve Principio 3: Il medico responsabile deve notificare al paziente i nomi sulla lista di notificare al paziente i nomi sulla lista di controllo quando il record è aperto. Tranne in controllo quando il record è aperto. Tranne in particolari occasioni, o in casi di emergenza, il particolari occasioni, o in casi di emergenza, il medico responsabile deve ottenere il consenso medico responsabile deve ottenere il consenso del paziente.del paziente.

Principio 4: Il nome del medico, la data e l’ora Principio 4: Il nome del medico, la data e l’ora di accesso alla cartella clinica deve essere di accesso alla cartella clinica deve essere registrato.registrato.

Page 50: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

CreazioneCreazione

Principio: Un medico può aprire una cartella Principio: Un medico può aprire una cartella clinica, con il medico e il paziente nella lista di clinica, con il medico e il paziente nella lista di controllo accessi. In caso di un referto medico, controllo accessi. In caso di un referto medico, anche il medico che ha fatto il referto deve anche il medico che ha fatto il referto deve stare nella lista.stare nella lista.

Page 51: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

CancellazioneCancellazione

Principio: Le informazioni mediche non Principio: Le informazioni mediche non possono essere cancellate prima che sia possono essere cancellate prima che sia passato un determinato lasso di tempo.passato un determinato lasso di tempo.

Page 52: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

ConfinamentoConfinamento

Principio: Le informazioni provenienti da una Principio: Le informazioni provenienti da una cartella clinica possono essere aggiunte ad cartella clinica possono essere aggiunte ad un’altra cartella se e solo se la lista di accesso un’altra cartella se e solo se la lista di accesso della seconda cartella è un sottoinsieme della della seconda cartella è un sottoinsieme della lista della prima.lista della prima.

In altri termini chi può accedere alla prima può In altri termini chi può accedere alla prima può accedere anche alla secondaaccedere anche alla seconda

Page 53: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

AggregazioneAggregazione

Principio: Un paziente deve essere messo al corrente Principio: Un paziente deve essere messo al corrente se qualcuno è stato aggiunto alla lista di controllo e se se qualcuno è stato aggiunto alla lista di controllo e se questi ha accesso ad un grande numero di cartelle questi ha accesso ad un grande numero di cartelle cliniche.cliniche. Si evita che un investigatore acceda a molte cartelle, le Si evita che un investigatore acceda a molte cartelle, le

correli e scopra informazioni private informazione sui correli e scopra informazioni private informazione sui singoli individuisingoli individui

Page 54: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RinforzoRinforzo

Principio: Tutti i sistemi informatici che Principio: Tutti i sistemi informatici che trattano dati di cartelle cliniche devono avere trattano dati di cartelle cliniche devono avere un sottosistema che garantisca i precedenti un sottosistema che garantisca i precedenti principi. L’effettivo funzionamento di tale principi. L’effettivo funzionamento di tale sistema deve essere controllato da terze sistema deve essere controllato da terze persone.persone.

Page 55: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Confronto con Bell-LaPadulaConfronto con Bell-LaPadula

Il principio di confinamento impone una Il principio di confinamento impone una struttura a “reticolo” sulle entità del modellostruttura a “reticolo” sulle entità del modello Simile a Bell-LaPadulaSimile a Bell-LaPadula

CISS si concentra sugli oggetti a cui si accede; CISS si concentra sugli oggetti a cui si accede; B-LP sui soggetti che vi accedonoB-LP sui soggetti che vi accedono

Page 56: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

ORCONORCON

Problema: un’organizzazione vuole controllare Problema: un’organizzazione vuole controllare la diffusione dei propri documentila diffusione dei propri documenti

Esempio: Il Ministro delle politiche agricole Esempio: Il Ministro delle politiche agricole scrive documento da distribuire per i propri scrive documento da distribuire per i propri impiegati e concede il permesso un’ulteriore impiegati e concede il permesso un’ulteriore ridistribuzione. Ciò si indica con il nome di ridistribuzione. Ciò si indica con il nome di “originator controlled” (in questo caso, l’ “originator controlled” (in questo caso, l’ “originator” è una persona).“originator” è una persona).

Page 57: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RequisitiRequisiti Il soggetto Il soggetto ss SS marca l’oggetto marca l’oggetto oo OO come come

ORCON per conto dell’organizzazione ORCON per conto dell’organizzazione XX. . XX permette che permette che oo sia diffuso ai soggetti che lavorano sia diffuso ai soggetti che lavorano

per conto dell’organizzazione per conto dell’organizzazione YY con le seguenti con le seguenti restrizioni:restrizioni:

1.1. oo non può essere rilasciato a soggetti che lavorano per non può essere rilasciato a soggetti che lavorano per conto di altre organizzazioni senza il permesso di conto di altre organizzazioni senza il permesso di X X ee

2.2. Ogni copia di Ogni copia di oo deve avere le stesse restrizioni. deve avere le stesse restrizioni.

Page 58: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

DAC non va beneDAC non va bene

Il possessore può concedere qualsiasi dirittoIl possessore può concedere qualsiasi diritto La proprietà 2 non sarebbe soddisfattaLa proprietà 2 non sarebbe soddisfatta

Page 59: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

MAC non va beneMAC non va bene

Primo problema: esplosione del numero delle categoriePrimo problema: esplosione del numero delle categorie Ogni categoria Ogni categoria CC contiene contiene oo, , XX, , YY. Se un soggetto . Se un soggetto yy YY vuole vuole

leggere leggere o o ne fa una copia ne fa una copia oo. Nota che . Nota che oo ha categoria ha categoria CC. Se . Se yy vuole dare a vuole dare a zz ZZ una copia, una copia, zz deve essere in Y deve essere in Y ma per ma per definizione non vi èdefinizione non vi è. Se . Se xx vuole concedere a vuole concedere a ww WW di vedere di vedere il documento, deve creare una nuova categoria il documento, deve creare una nuova categoria CC contenente contenente oo, , XX, , WW..

Secondo problema: astrazioneSecondo problema: astrazione In MAC la classificazione e le categorie sono controllate In MAC la classificazione e le categorie sono controllate

centralmente e l’accesso è controllato da una politica centralmente e l’accesso è controllato da una politica centralizzatacentralizzata

ORCON è controllato localmenteORCON è controllato localmente

Page 60: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Combinare DAC e MACCombinare DAC e MAC

Il possessore dell’oggetto non ne può cambiare i Il possessore dell’oggetto non ne può cambiare i controlli di accesso.controlli di accesso.

Quando l’oggetto è copiato, le restrizioni di accesso Quando l’oggetto è copiato, le restrizioni di accesso sono copiate dalla sorgente e legate alla copia.sono copiate dalla sorgente e legate alla copia. Ciò è MAC (il possessore non può controllarlo)Ciò è MAC (il possessore non può controllarlo)

Il creatore del documento (originator) può alterare le Il creatore del documento (originator) può alterare le restrizioni di accesso in base al soggetto e all’oggetto.restrizioni di accesso in base al soggetto e all’oggetto. Ciò è DAC (l’originator può controllarlo)Ciò è DAC (l’originator può controllarlo)

Page 61: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC: MotivazioniRBAC: Motivazioni

Un problema importante nell’organizzazione di Un problema importante nell’organizzazione di grandi sistemi è la complessità dell’amministrazione grandi sistemi è la complessità dell’amministrazione della sicurezzadella sicurezza

Quando il numero dei soggetti e degli oggetti è alto, il Quando il numero dei soggetti e degli oggetti è alto, il numero di autorizzazioni può diventare molto grandenumero di autorizzazioni può diventare molto grande

InoltreInoltre, , se lase la popolazione di utenti è molto dinamica, popolazione di utenti è molto dinamica, il numero di concessioni e di revoche di permessi il numero di concessioni e di revoche di permessi diventa eccessivamente elevatodiventa eccessivamente elevato

Page 62: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC: MotivazioniRBAC: Motivazioni

Gli utenti finali spesso non “possiedono” le Gli utenti finali spesso non “possiedono” le informazioni a cui hanno accesso. Le aziende o gli informazioni a cui hanno accesso. Le aziende o gli enti sono i reali possessori degli oggetti enti sono i reali possessori degli oggetti

Il controllo di accesso è quindi basato sulle mansioni Il controllo di accesso è quindi basato sulle mansioni delle persone e non sul semplice possessodelle persone e non sul semplice possesso

RBAC è stato quindi proposto come RBAC è stato quindi proposto come alternativa alternativa al al DAC e al MAC per semplificare la gestione degli DAC e al MAC per semplificare la gestione degli accessi e per supportare direttamente il controllo accessi e per supportare direttamente il controllo basato sulle mansioni (ruoli)basato sulle mansioni (ruoli)

Page 63: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBACRBAC

I diritti di accesso dipendono dal ruolo, non I diritti di accesso dipendono dal ruolo, non dall’identitàdall’identità Esempio:Esempio:

Anna, segreteria del dipartimento, ha accesso ai dati Anna, segreteria del dipartimento, ha accesso ai dati finanziari.finanziari.

Anna cambia impiego e non ha più diritti di accesso.Anna cambia impiego e non ha più diritti di accesso. Barbara prende il suo posto e adesso è lei che può Barbara prende il suo posto e adesso è lei che può

accedere a quei datiaccedere a quei dati E’ il ruolo che stabilisce i diritti e non l’identità del E’ il ruolo che stabilisce i diritti e non l’identità del

singolo individuo.singolo individuo.

Page 64: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC e ruoliRBAC e ruoli

I ruoli rappresentano le mansioni all’interno di I ruoli rappresentano le mansioni all’interno di un’organizzazioneun’organizzazione

Le autorizzazioni sono concesse ai ruoli anzichè ai Le autorizzazioni sono concesse ai ruoli anzichè ai singoli utentisingoli utenti

Gli utenti sono perciò autorizzati semplicemente ad Gli utenti sono perciò autorizzati semplicemente ad assumere ruoli appropriati, acquisendo le assumere ruoli appropriati, acquisendo le autorizzazioni assegnate a quei ruoliautorizzazioni assegnate a quei ruoli

Page 65: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Vantaggi del RBACVantaggi del RBAC

Poichè i ruoli rappresentano le funzioni Poichè i ruoli rappresentano le funzioni dell’organizzazione, un modello RBAC può dell’organizzazione, un modello RBAC può direttamente supportare le politiche di sicurezza direttamente supportare le politiche di sicurezza proprie dell’organizzazioneproprie dell’organizzazione

Concedere e revocare autorizzazioni alle categorie di Concedere e revocare autorizzazioni alle categorie di utenti è grandemente semplificatoutenti è grandemente semplificato

I modelli RBAC sono perciò “policy-neutral”I modelli RBAC sono perciò “policy-neutral”

Page 66: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBACRBAC I produttori di DBMS hanno visto l’importanza e i I produttori di DBMS hanno visto l’importanza e i

vantaggi di RBAC, e oggi molti DBMS commerciali vantaggi di RBAC, e oggi molti DBMS commerciali supportano in vario modo RBACsupportano in vario modo RBAC

Esiste un certo consenso su un modello standard di Esiste un certo consenso su un modello standard di RBACRBAC

Il modello NIST [Sandhu,Ferraiolo,KuhnIl modello NIST [Sandhu,Ferraiolo,Kuhn 00 00] è stato ] è stato il primo passo verso la definizione di uno standardil primo passo verso la definizione di uno standard

Una recente definizione è data dall’ ANSI: Role Una recente definizione è data dall’ ANSI: Role based access control. ANSI INCITS 359-2004, based access control. ANSI INCITS 359-2004, February 2004February 2004

Page 67: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Modello NISTModello NIST

Tre livelli con capacità funzionali crescentiTre livelli con capacità funzionali crescenti Core RBAC – anche chiamato Flat RBACCore RBAC – anche chiamato Flat RBAC RBAC gerarchicoRBAC gerarchico RBAC vincolatoRBAC vincolato

Page 68: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC- Concetti di baseRBAC- Concetti di base

Utente Utente – un essere umano, una macchina, un – un essere umano, una macchina, un processo, o un agente intelligente autonomo, ecc.processo, o un agente intelligente autonomo, ecc.

RuoloRuolo – una funzione nel contesto di – una funzione nel contesto di un’organizzazione con una semantica associata un’organizzazione con una semantica associata secondo l’autorità e la responsibilità del ruolosecondo l’autorità e la responsibilità del ruolo

Page 69: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC- Concetti di baseRBAC- Concetti di base

Permesso Permesso – Modo di accesso che può essere – Modo di accesso che può essere esercitato sugli oggetti nel sistema. esercitato sugli oggetti nel sistema.

Sia gli oggetti e i modi di accesso sono Sia gli oggetti e i modi di accesso sono dipendenti dal dominio. dipendenti dal dominio.

Per esempio, nel caso dei database, tra gli Per esempio, nel caso dei database, tra gli oggetti si trovano tabelle, colonne e righe e tra oggetti si trovano tabelle, colonne e righe e tra i modi di accesso le operazioni di insert, i modi di accesso le operazioni di insert, delete e update.delete e update.

Page 70: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC- Concetti di baseRBAC- Concetti di base

Sessione Sessione – E’ una particolare istanza di una – E’ una particolare istanza di una connessione di un utente al sistema e definisce un connessione di un utente al sistema e definisce un sottoinsieme di ruoli attivati. sottoinsieme di ruoli attivati.

Ad ogni istante, possono essere attive più sessioni Ad ogni istante, possono essere attive più sessioni differenti per ciascun utente. differenti per ciascun utente.

Quando un utente entra nel sistema, stablisce una Quando un utente entra nel sistema, stablisce una sessione e durante tale sessione può attivare un sessione e durante tale sessione può attivare un sottoinsieme dei ruoli che è autorizzato ad assumere. sottoinsieme dei ruoli che è autorizzato ad assumere.

L’utente ottiene i permessi associati al ruolo che ha L’utente ottiene i permessi associati al ruolo che ha attivato nella sessione.attivato nella sessione.

Page 71: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Role-Based ACRole-Based AC

Individui Ruoli Risorse

ruolo 1

ruolo 2

ruolo 3

Server 1

Server 3

Server 2

Gli utenti cambiano frequentemente, i ruoli no

Page 72: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Core RBACCore RBAC

S essions

Users Roles Permissions

UA RSA

RA PA

Page 73: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Core RBAC - PermissionsCore RBAC - Permissions

Sessioni

Utenti Ruoli

UA RSA

RA PA

Operazioni

Oggetti

Permessi

Page 74: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Core RBAC Core RBAC insiemi, funzioni e relazioniinsiemi, funzioni e relazioni

USERSUSERS, , ROLESROLES, , OPSOPS, , OBSOBS UA UA USERS USERS ROLESROLES, relazione molti-a-molti tra utenti e , relazione molti-a-molti tra utenti e

ruoli ruoli assigned_usersassigned_users: (: (rr: : ROLESROLES) ) 22USERS USERS , ad ogni ruolo , ad ogni ruolo r r

l’insieme degli utenti. Formalmente: l’insieme degli utenti. Formalmente:

assigned_usersassigned_users((rr) = {) = {u u USERSUSERS | ( | (uu, , rr) ) UAUA}} PRMS PRMS = 2= 2((OPS OPS OBS OBS) ) , tutti i sottoinsiemi di permessi, tutti i sottoinsiemi di permessi PA PA PRMS PRMS ROLESROLES, relazione molti-a-molti tra ruoli e , relazione molti-a-molti tra ruoli e

permessipermessi assigned_permissionsassigned_permissions: (: (rr: : ROLESROLES) ) 22PRMS PRMS , ad ogni ruolo , ad ogni ruolo

l’insieme dei permessi. Formalmente: l’insieme dei permessi. Formalmente:

assigned_permissionsassigned_permissions((rr) = {) = {p p PRMSPRMS | ( | (pp, , rr) ) PAPA}}

Page 75: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Core RBAC Core RBAC insiemi, funzioni e relazioniinsiemi, funzioni e relazioni

Op Op ((p p :: PRMS PRMS) ) {{op op OPSOPS}, le operazioni associate ad un }, le operazioni associate ad un insieme di permess insieme di permess pp

Ob Ob ((p p :: PRMS PRMS) ) {{op op OBSOBS}, gli oggetti su cui opera un }, gli oggetti su cui opera un insieme di permessi insieme di permessi pp

SESSIONS SESSIONS = l’insieme delle sessioni= l’insieme delle sessioni session_users session_users ((s s :: SESSIONS SESSIONS) ) USERSUSERS, gli utenti della sessione , gli utenti della sessione

ss session_roles session_roles ((s s :: SESSIONS SESSIONS) ) 22ROLESROLES, i ruoli degli utenti di una , i ruoli degli utenti di una

sessione. Formalmente:sessione. Formalmente: session_roles session_roles ((ss) = {) = {r r ROLESROLES | ( | (session_users (ssession_users (s)),, rr) ) UAUA}}

avail_session_perms avail_session_perms ((s s :: SESSIONS SESSIONS) ) 22PRMSPRMS, i permessi , i permessi disponibili per gli utenti di una sessiona. Formally:disponibili per gli utenti di una sessiona. Formally:

avail_session_perms avail_session_perms ((ss) = ) = r r session_roles session_roles( ( r r ) ) assigned_permissions assigned_permissions ((rr))

Page 76: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Core RBAC - Core RBAC - SessioniSessioni

La nozione di sessione è astratta – è definita La nozione di sessione è astratta – è definita ““a mapping between a user and an activated a mapping between a user and an activated subset of roles that are assigned to the user”subset of roles that are assigned to the user”

Distinzioni:Distinzioni: Attivazione a singolo ruolo (SRA)Attivazione a singolo ruolo (SRA) Solo un ruolo Solo un ruolo

può essere attivopuò essere attivo Attivazione a ruoli multipli (MRA)Attivazione a ruoli multipli (MRA) Più ruoli Più ruoli

possono essere attivi in una sessione, è possibile possono essere attivi in una sessione, è possibile vincolare la concorrente presenza di alcuni ruolivincolare la concorrente presenza di alcuni ruoli

Page 77: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC gerarchico - MotivazioniRBAC gerarchico - Motivazioni

Le gerarchia tra ruoli sono un modo naturale Le gerarchia tra ruoli sono un modo naturale per strutturare i ruoli in modo da riflettere le per strutturare i ruoli in modo da riflettere le linee di autorità e responsibilità di linee di autorità e responsibilità di un’organizzazioneun’organizzazione

Page 78: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Modello gerarchico RBACModello gerarchico RBAC

- RH RH ROLES ROLES ROLES ROLES è una relazione binaria è una relazione binaria non riflessiva e aciclica sull’insieme of ruoli nel non riflessiva e aciclica sull’insieme of ruoli nel sistemasistema

- E’ una E’ una relazionerelazione di di dominanza; sedominanza; se ( (rrii,,rrjj) ) RH RH diremo che diremo che rri i domina domina rrj j

- La relazione La relazione è la chiusura riflessiva e transitiva di è la chiusura riflessiva e transitiva di RHRH. .

- Un sistema RBAC può scegliere se memorizzare Un sistema RBAC può scegliere se memorizzare o o se calcolarlo ogni voltase calcolarlo ogni volta

Page 79: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Esempio di RHEsempio di RH

ProduczioneEngineer 1

Engineer 1

Qualità Engineer 1

Engineering Dept

ProduczioneEngineer 2

Engineer 2

Qualità Engineer 2

Project Lead 1

Director

Project Lead 2

Page 80: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Semantica del RBAC gerarchicoSemantica del RBAC gerarchico

Ereditarietà di utente (Ereditarietà di utente (UIUI): Tutti gli utenti autorizzati ): Tutti gli utenti autorizzati ad un ruolo ad un ruolo r r sono anche autorizzati ad un ruolo sono anche autorizzati ad un ruolo r’, r’, oveove r r r’ r’

Eredità di permessi (Eredità di permessi (PIPI): Un ruolo ): Un ruolo r r è autorizzato a è autorizzato a tutti i permessi per i quali ogni ruolo tutti i permessi per i quali ogni ruolo r’r’,, tale che tale che r r r’r’,, è autorizzatoè autorizzato

Eredità di attivazione (Eredità di attivazione (AIAI): Attivando un ruolo ): Attivando un ruolo rr automaticamente si attivano tutti i ruoli automaticamente si attivano tutti i ruoli r’r’,, tali che tali che r r r’. r’. Da usare solo con sessioni MRADa usare solo con sessioni MRA

Page 81: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC RBAC vincolatovincolato

Il RBAC vincolato è un modello RBAC con la Il RBAC vincolato è un modello RBAC con la capacità di supportare le politiche di capacità di supportare le politiche di Separazione dei compiti (Separation of Duty)Separazione dei compiti (Separation of Duty)

Evita conflitti di interesse e collisioni tra Evita conflitti di interesse e collisioni tra mansionimansioni

Due categorie principali:Due categorie principali: SoD staticiSoD statici SoD dinamiciSoD dinamici

Page 82: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC –SoD staticiRBAC –SoD statici

SoD statici restringono l’insieme dei ruoli SoD statici restringono l’insieme dei ruoli and in particolare la possobilità ad entrare and in particolare la possobilità ad entrare nella relazione nella relazione RARA

Nessun utente può assumere più di Nessun utente può assumere più di tt ruoli ruoli in un insieme di in un insieme di m m ruoliruoli

Evita che una persona sia autorizzata a Evita che una persona sia autorizzata a usare troppi ruoli usare troppi ruoli

Page 83: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

RBAC –SoD DinamiciRBAC –SoD Dinamici

Questi vincoli limitano il numero di ruoli che un Questi vincoli limitano il numero di ruoli che un utente può attivare in una singola sessioneutente può attivare in una singola sessione

Esempi di vincoli:Esempi di vincoli: Nessun utente può attivare più di Nessun utente può attivare più di tt ruoli nel corso di una ruoli nel corso di una

sessione.sessione. se l’utente ha usato il ruolo se l’utente ha usato il ruolo rr1 in una sessione, non può 1 in una sessione, non può

usare il ruolo usare il ruolo rr2 nella stessa sessione2 nella stessa sessione E’ necessario mantenere una storia dei ruoli attivati E’ necessario mantenere una storia dei ruoli attivati

da ciascun utenteda ciascun utente

Page 84: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Constraint RBACConstraint RBAC

Preparecheck

Approve/Disapprove

check

Approve/Disapprove

check

Summarizedecisions

Issue/voidcheck

Static SOD

Dynamic SOD

Page 85: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

AutenticazioneAutenticazione

Autenticazione: collegamento soggetto-Autenticazione: collegamento soggetto-identitàidentità L’identità si riferisce ad un’entità esterna (Marco L’identità si riferisce ad un’entità esterna (Marco

Baioletti, ...)Baioletti, ...) Il soggetto è un entità del sistema (utente, Il soggetto è un entità del sistema (utente,

processo, processo, ......))

Page 86: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Stabilire un’identitàStabilire un’identità

Mediante uno o più traMediante uno o più tra Un’informazione che l’entità possiede (ad es. Un’informazione che l’entità possiede (ad es.

password)password) Un’oggetto fisico che l’entità ha (ad esUn’oggetto fisico che l’entità ha (ad es.. badge, badge,

smart card)smart card) Una caratteristica che l’entità possiede (Una caratteristica che l’entità possiede (ad es.ad es.

impronte digitali, caratteristiche della retina)impronte digitali, caratteristiche della retina) Una situazione/luogo in cui l’entità si trova (Una situazione/luogo in cui l’entità si trova (ad es. ad es.

di fronte ad un determinato terminaledi fronte ad un determinato terminale))

Page 87: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Sistema di autenticazione Sistema di autenticazione

((AA, , CC, , FF, , LL, , SS)) AA informazione riguardante l’identità informazione riguardante l’identità CC informazione memorizzata e usata per validare informazione memorizzata e usata per validare

l’informazione di autenticazionel’informazione di autenticazione FF funzioni complementari; funzioni complementari; f f : : AA CC LL funzioni che comprovano l’identità funzioni che comprovano l’identità SS funzioni che permettono alle entità di creare e funzioni che permettono alle entità di creare e

alterare informazioni in alterare informazioni in AA o o CC

Page 88: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

(Cattivo) esempio(Cattivo) esempio

Sistema di password in cui le password sono Sistema di password in cui le password sono memorizzate in chiaromemorizzate in chiaro AA insieme di stringhe (password) insieme di stringhe (password) CC = = AA FF = { = { identitàidentità } } LL = { = { uguaglianzauguaglianza } } SS funzioni tipo funzioni tipo passwdpasswd

Page 89: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

PasswordPassword

Una password è un’informazione testuale associata ad Una password è un’informazione testuale associata ad un’entità che ne conferma l’identitàun’entità che ne conferma l’identità

Sequenze di caratteriSequenze di caratteri Esempi: 10 cifre, una stringa di lettere, Esempi: 10 cifre, una stringa di lettere, eccecc.. Generata a caso, dall’utente, dal computer su input Generata a caso, dall’utente, dal computer su input

dell’utentedell’utente Sequenze di paroleSequenze di parole

Esempi: pass-phrasesEsempi: pass-phrases AlgoritmiAlgoritmi

Esempi: challenge-response, one-time passwordsEsempi: challenge-response, one-time passwords

Page 90: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Memorizzazione di passwordMemorizzazione di password

Memorizzate in chiaroMemorizzate in chiaro Se il file delle password è compromesso, tutte le password Se il file delle password è compromesso, tutte le password

sono rivelatesono rivelate File cifratoFile cifrato

Deve essere decifrato, la chiave di cifratura è in memoriaDeve essere decifrato, la chiave di cifratura è in memoria Alla fine si riconduce al problema precedente !Alla fine si riconduce al problema precedente !

Memorizzate con funzioni hash one-way Memorizzate con funzioni hash one-way Se il file viene letto, l’attaccante deve comunque Se il file viene letto, l’attaccante deve comunque

indovinare le password o invertire la funzione hashindovinare le password o invertire la funzione hash

Page 91: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

EsempioEsempio

UNIX usa delle funzioni hashUNIX usa delle funzioni hash Comprime le password in una stringa di 11 carattery (88 Comprime le password in una stringa di 11 carattery (88

byte) usando una tra 4096 funzioni hash byte) usando una tra 4096 funzioni hash Come sistema di autenticazione:Come sistema di autenticazione:

AA = { stringhe di <= 8 caratteri } = { stringhe di <= 8 caratteri } CC = { 2 car. hash id || 11 car. hash } = { 2 car. hash id || 11 car. hash } FF = { 4096 versioni di DES } = { 4096 versioni di DES } LL = { = { loginlogin, , susu, … }, … } SS = { = { passwdpasswd,, nispasswd nispasswd, , passwd+passwd+, … }, … }

Page 92: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Anatomia dell’attaccoAnatomia dell’attacco

Scopo: trovare Scopo: trovare aa AA tale che: tale che: Per qualche Per qualche ff FF, , ff((aa) = ) = cc CC cc è associata ad un’entità particolare (o a qualsiasi entità) è associata ad un’entità particolare (o a qualsiasi entità)

Due modi per vedere se Due modi per vedere se aa soddisfa questi requisiti: soddisfa questi requisiti: Approccio diretto: calcolare Approccio diretto: calcolare ff((aa) ) Approccio indiretto: vedere il risultato di Approccio indiretto: vedere il risultato di l(a)l(a)

Altro tipo di attacco: mediante il Altro tipo di attacco: mediante il social engineering social engineering acquisire informazioni sull’utente e da queste trovare acquisire informazioni sull’utente e da queste trovare buoni candidati come passwordbuoni candidati come password

Page 93: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Prevenire gli attacchiPrevenire gli attacchi

Come prevenire questo:Come prevenire questo: Nascondere Nascondere aa, , ff, o , o cc

Previente gli attacchi direttiPreviente gli attacchi diretti Esempio: UNIX/Linux shadow password filesEsempio: UNIX/Linux shadow password files

Nascondono Nascondono cc

Bloccare l’accesso a tutte le Bloccare l’accesso a tutte le ll LL o al risultato di o al risultato di ll((aa))

L’attaccante non sa se ha indovinatoL’attaccante non sa se ha indovinato Esempio: disabilitare l’accesso dalla rete, oppure Esempio: disabilitare l’accesso dalla rete, oppure

rallentare la rispostarallentare la risposta

Page 94: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Attacchi mediante dizionarioAttacchi mediante dizionario

Tentativi mediante una lista D di parole note Tentativi mediante una lista D di parole note (dizionario)(dizionario) Off-lineOff-line: Sapendo : Sapendo f f e e cc, si provano tutti i tentativi , si provano tutti i tentativi gg

DD finchè la lista non è finita o non si è trovata la finchè la lista non è finita o non si è trovata la passwordpassword

Esempi: Esempi: crackcrack, , john-the-ripperjohn-the-ripper On-lineOn-line: avere accesso alle funzioni in : avere accesso alle funzioni in LL e fare i e fare i

tentativi tentativi gg fino a che fino a che ll((gg) è vera) è vera Esampi: prova a fare login indovinando la passwordEsampi: prova a fare login indovinando la password

Page 95: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Quanto tempo ?Quanto tempo ?

Formula di Anderson:Formula di Anderson: PP probabilità di indovinare una password in probabilità di indovinare una password in

uno specificato periodo di tempouno specificato periodo di tempo GG numero di tentativi nell’unità di tempo numero di tentativi nell’unità di tempo TT numero di unità di tempo numero di unità di tempo NN numero di password possibili (| numero di password possibili (|AA|)|) Allora Allora PP ≥ ≥ TGTG//NN

Page 96: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

EsempioEsempio

ScopoScopo Password composte da un insieme di 96 caratteriPassword composte da un insieme di 96 caratteri 101044 tentativi al secondo tentativi al secondo Probabilità di successo pari a 0.5 su 365 giorniProbabilità di successo pari a 0.5 su 365 giorni Qual è la lunghezza minima Qual è la lunghezza minima ss della password? della password?

SoluzioneSoluzione NN ≥ ≥ TGTG//PP = (365 = (3652424606060)60)101044/0.5 = 6.31/0.5 = 6.3110101111

Scegliere Scegliere ss tale che tale che ss

jj=0=0 96 96jj ≥ ≥ NN Perciò Perciò ss ≥ 6 ≥ 6

Page 97: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Modi di selezionare le passwordModi di selezionare le password

Password generate completamente a casoPassword generate completamente a caso Vantaggio: ogni password ha la stessa probabilità Vantaggio: ogni password ha la stessa probabilità

di essere generatadi essere generata Svantaggio: non sono ricordabiliSvantaggio: non sono ricordabili

Password “pronunciabili”Password “pronunciabili” Password selezionate dall’utentePassword selezionate dall’utente

Page 98: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Password PronunciabiliPassword Pronunciabili

Generare fonemi a casoGenerare fonemi a caso Il fonema è un’unità fonetica, per esempio Il fonema è un’unità fonetica, per esempio

consonante+vocaleconsonante+vocale, , v+cv+c, , c+v+cc+v+c, , v+c+vv+c+v Esempi: Esempi:

helgoret, juttelon SIhelgoret, juttelon SI przbqxdfl, zxrptglfn NOprzbqxdfl, zxrptglfn NO

Problema: sono troppo pocheProblema: sono troppo poche

Page 99: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Selezione da parte dell’utenteSelezione da parte dell’utente Problema: si è portati a scegliere password semplici (da Problema: si è portati a scegliere password semplici (da

ricordare)ricordare) Basati sul nomi di account, sul proprio nome e cognome, sul nome del Basati sul nomi di account, sul proprio nome e cognome, sul nome del

computer, sui luoghicomputer, sui luoghi Parole di dizionario (anche al contrario, con maiuscole/minuscole Parole di dizionario (anche al contrario, con maiuscole/minuscole

invertite, caratteri di controllo, “elite-speak”, coniugazioni o invertite, caratteri di controllo, “elite-speak”, coniugazioni o declinazioni di parole, parolacce, Torah/Bibbia/Corano/… )declinazioni di parole, parolacce, Torah/Bibbia/Corano/… )

Troppo corte, solo cifre, solo lettereTroppo corte, solo cifre, solo lettere Targhe di macchine, acronimi, social security numbersTarghe di macchine, acronimi, social security numbers Caratteristiche personali (nomi di animali, soprannomi, caratteristiche Caratteristiche personali (nomi di animali, soprannomi, caratteristiche

di lavoro, ecc.)di lavoro, ecc.)

Page 100: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Buone passwordBuone password ““LlMm*2^Ap”LlMm*2^Ap”

Names of members of 2 familiesNames of members of 2 families ““OoHeO/FSK”OoHeO/FSK”

Second letter of each word of length 4 or more in third line of third Second letter of each word of length 4 or more in third line of third verse of Star-Spangled Banner, followed by “/”, followed by author’s verse of Star-Spangled Banner, followed by “/”, followed by author’s initials initials

Non sempre sono buoneNon sempre sono buone ““DMC/MHmh” non va bene a Dartmouth (“DMC/MHmh” non va bene a Dartmouth (“DDartmouth artmouth MMedical edical

CCenter/enter/MMary ary HHitchcock itchcock mmemorial emorial hhospital”), in altri posti è OKospital”), in altri posti è OK Adesso sono cattive password ? Adesso sono cattive password ?

Page 101: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Controllo proattivo delle passwordControllo proattivo delle password

Analizza le password Analizza le password Da invocare sempreDa invocare sempre Può scoprire e rifiutare password cattivePuò scoprire e rifiutare password cattive Discrimina in base all’utente e al sitoDiscrimina in base all’utente e al sito Fa pattern matching sulle paroleFa pattern matching sulle parole Deve eseguire sottoprogrammi e usare i risultatiDeve eseguire sottoprogrammi e usare i risultati

Spell checkerSpell checker Facile da integrare con i sistemi di modifica passwordFacile da integrare con i sistemi di modifica password

Page 102: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Esempio: OPUSEsempio: OPUS

Scopo: controllare le password in modo veloce su un Scopo: controllare le password in modo veloce su un dizionario di grandi dimensionidizionario di grandi dimensioni Calcolare per ogni parola del dizionario Calcolare per ogni parola del dizionario kk funzioni hash differenti funzioni hash differenti hh11, ,

…, …, hhk, k, ognuna delle quali un valore minore di ognuna delle quali un valore minore di nn

calcolare calcolare hh11, …, , …, hhkk per tutte le parole del dizionario e da questo per tutte le parole del dizionario e da questo

generare un vettore di n bit Dgenerare un vettore di n bit D Per controllare una parola, generare il vettore di bit e vedere se Per controllare una parola, generare il vettore di bit e vedere se tutti tutti i i

bit 1 della parola corrispondono ai bit 1 di Dbit 1 della parola corrispondono ai bit 1 di D in caso positivo, c’è una certa probabilità che la parola appartiene al in caso positivo, c’è una certa probabilità che la parola appartiene al

dizionariodizionario in caso negativo, non appartiene al dizionarioin caso negativo, non appartiene al dizionario

Page 103: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Esempio: Esempio: passwd+passwd+

Fornisce un linguaggio per descrivere i controlli proattiviFornisce un linguaggio per descrivere i controlli proattivi test length(“$p”) < 6test length(“$p”) < 6

se la password ha meno di 6 caratteri, rifiutalase la password ha meno di 6 caratteri, rifiutala test infile(“/usr/dict/words”, “$p”)test infile(“/usr/dict/words”, “$p”)

se la password fa parte del file /usr/dict/words, rifiutalase la password fa parte del file /usr/dict/words, rifiutala test !inprog(“spell”, “$p”, “$p”)test !inprog(“spell”, “$p”, “$p”)

se la password non viene corretta dal correttore ortografico, rifiutala se la password non viene corretta dal correttore ortografico, rifiutala (perché è una parola scritta correttamente)(perché è una parola scritta correttamente)

Page 104: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

SaltingSalting

Scopo: rallentare gli attacchi basati sul Scopo: rallentare gli attacchi basati sul dizionariodizionario

Metodo: perturbare le funzioni hash con un Metodo: perturbare le funzioni hash con un parametro “salt”parametro “salt” Il “salt” controlla quale funzione hash è usataIl “salt” controlla quale funzione hash è usata Il “salt” è diverso per ogni passwordIl “salt” è diverso per ogni password Con Con nn possibili password hashes, e quindi possibili password hashes, e quindi nn valori valori

di “salt”, l’attaccante deve provare di “salt”, l’attaccante deve provare n valori hash n valori hash per ogni tentativo di passwordper ogni tentativo di password

Page 105: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

EsempiEsempi

Metodo di base in UNIXMetodo di base in UNIX Usare DES per cifrare il messaggio nullo con la Usare DES per cifrare il messaggio nullo con la

password come chiavepassword come chiave Perturbare la tabella E di DES in uno tra 4096 Perturbare la tabella E di DES in uno tra 4096

modi possibilimodi possibili i 12 bit del salt invertono le entrate 1–11 con le entrate i 12 bit del salt invertono le entrate 1–11 con le entrate

25–3625–36 Metodi alternativeMetodi alternative

Usare il salt come prima parte dell’input della Usare il salt come prima parte dell’input della funzione hashfunzione hash

Page 106: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Tentativi attraverso Tentativi attraverso LL

Non si possono prevenire del tuttoNon si possono prevenire del tutto Altrimenti nemmeno gli utenti legittimi potrebbero Altrimenti nemmeno gli utenti legittimi potrebbero

log inlog in Però si possono rallentarePerò si possono rallentare

Backoff esponenzialeBackoff esponenziale Disconnessione dopo n tentativi fallitiDisconnessione dopo n tentativi falliti Disabilitazione dopo n tentativi fallitiDisabilitazione dopo n tentativi falliti

Attenzione agli account di amministratore!Attenzione agli account di amministratore! Jailing Jailing

Farlo entrare, ma in un ambiente ristretto e così Farlo entrare, ma in un ambiente ristretto e così magari viene identificatomagari viene identificato

Page 107: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Password AgingPassword Aging

Forzare gli utenti a cambiare la password dopo un Forzare gli utenti a cambiare la password dopo un certo periodocerto periodo

Dopo un certo lasso di tempo la password potrebbe Dopo un certo lasso di tempo la password potrebbe essere stata violataessere stata violata Come si forzano gli utenti a non riutilizzare le password?Come si forzano gli utenti a non riutilizzare le password?

Memorizzare le password precedentiMemorizzare le password precedenti Bloccare i cambiamenti per un tempo minimoBloccare i cambiamenti per un tempo minimo

Dare agli utenti tempo sufficiente a trovare buone Dare agli utenti tempo sufficiente a trovare buone passwordpassword

Non forzarli a cambiarla prima del loginNon forzarli a cambiarla prima del login Avvisarli prima della scadenzaAvvisarli prima della scadenza

Page 108: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Challenge-ResponseChallenge-Response

• L’utente e il sistema condividono una funzione segreta f (in pratica, f è una funzione nota con parametri incogniticome una chiave crittografica)

user systemrequest to authenticate

user systemrandom message r(the challenge)

user systemf(r)(the response)

Page 109: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Pass AlgorithmsPass Algorithms

Challenge-response con una funzione segreta Challenge-response con una funzione segreta ff Esempio:Esempio:

La Challenge è una stringa casuale: “abcdefg”, “ageksido”La Challenge è una stringa casuale: “abcdefg”, “ageksido” La Response è una funzione della stringa: ad esempio una lettera La Response è una funzione della stringa: ad esempio una lettera

sì, una no a partire dalla seconda: “bdf”, “gkio”sì, una no a partire dalla seconda: “bdf”, “gkio” Si possono usare modi diversi a seconda della sicurezzaSi possono usare modi diversi a seconda della sicurezza

ad esempio in un’area poco sicura la risposta potrebbe aggiungere ad esempio in un’area poco sicura la risposta potrebbe aggiungere (in posizioni concordate) caratteri a caso: “xbydmfg”(in posizioni concordate) caratteri a caso: “xbydmfg”

Page 110: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

One-Time PasswordOne-Time Password

Password che possono essere usate solo una voltaPassword che possono essere usate solo una volta Dopo l’uso sono immediatamente invalidateDopo l’uso sono immediatamente invalidate

Meccanismo Challenge-responseMeccanismo Challenge-response Challenge è il numero progressivo di Challenge è il numero progressivo di

autenticazioni; response è la password per quel autenticazioni; response è la password per quel particolare numeroparticolare numero

ProblemiProblemi Sincronizzazione tra l’utente e il sistemaSincronizzazione tra l’utente e il sistema Generazione di buone password casualiGenerazione di buone password casuali Distribuzione delle passwordDistribuzione delle password

Page 111: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

S/KeyS/Key

Schema di One-time password basato sull’idea di Schema di One-time password basato sull’idea di LamportLamport

hh funzione hash one-way (ad esempio MD5 o SHA-1) funzione hash one-way (ad esempio MD5 o SHA-1) L’utente sceglie un valore iniziale L’utente sceglie un valore iniziale kk Il sistema calcola:Il sistema calcola:

hh((kk) = ) = kk11, , hh((kk11) = ) = kk22, …, , …, hh((kknn–1–1) = ) = kknn

Le password sono in ordine inverso:Le password sono in ordine inverso:pp11 = = kknn, , pp22 = = kknn–1–1, …, , …, ppnn–1–1 = = kk22, , ppnn = = kk11

Page 112: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Protocollo S/KeyProtocollo S/Key

user system{ name }

user system{ i }

user system{ pi }

Il sistema si memorizza • il massimo numero di autenticazioni n, • il numero della prossima autenticazione i, • l’ultima password correttamente fornita pi–1.

Il sistema calcola h(pi) = h(kn–i+1) = kn–i = pi–1. Se corrisponde con quello che è memorizzato, sostituisce pi–1 con pi e incrementa i.

Page 113: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Supporto HardwareSupporto Hardware

Basato sui TokenBasato sui Token Un dispositivo fisico usato per calcolare la risposta Un dispositivo fisico usato per calcolare la risposta

al challengeal challenge Può cifrare o calcolare una funzione hash della Può cifrare o calcolare una funzione hash della

challengechallenge Può richiedere un PIN all’utentePuò richiedere un PIN all’utente

Basato sul tempoBasato sul tempo Ogni tot di tempo mostra un numero diversoOgni tot di tempo mostra un numero diverso

Il sistema quale numero sarà mostratoIl sistema quale numero sarà mostrato L’utente immette il numero e la passwordL’utente immette il numero e la password

Page 114: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

BiometriaBiometria

Misure automatiche di caratteristiche biologiche o di Misure automatiche di caratteristiche biologiche o di comportamento che identificano una personacomportamento che identificano una persona Impronte digitali: tecniche ottiche o elettricheImpronte digitali: tecniche ottiche o elettriche

L’impronta è tradotta in un grafo, che poi è ricercato in un databaseL’impronta è tradotta in un grafo, che poi è ricercato in un database Le misure sono imprecise, perciò sono necessari algoritmi di Le misure sono imprecise, perciò sono necessari algoritmi di

matching approssimatimatching approssimati Voce: verifica/riconoscimento del parlanteVoce: verifica/riconoscimento del parlante

Verifica: si usano tecniche statistiche per verificare se il parlante è Verifica: si usano tecniche statistiche per verificare se il parlante è veramente lui (dipendono dall’utente)veramente lui (dipendono dall’utente)

Riconoscimento: riconosce una parola o una frase particolari, tipo Riconoscimento: riconosce una parola o una frase particolari, tipo password vocale (indipendenti dall’utente)password vocale (indipendenti dall’utente)

Page 115: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Altre caratteristicheAltre caratteristiche

Si possono usare altre caratteristicheSi possono usare altre caratteristiche Occhi: pattern unici nell’irideOcchi: pattern unici nell’iride

trova il pattern e lo confronta con quelle memorizzate, trova il pattern e lo confronta con quelle memorizzate, determinando se le differenze sono casualideterminando se le differenze sono casuali

un’alternativa è usare test statistici di correlazioneun’alternativa è usare test statistici di correlazione Faccia: immagine o caratteristiche specifiche come la Faccia: immagine o caratteristiche specifiche come la

distanza dal naso al mentodistanza dal naso al mento difficoltà possono sorgere dai capelli, luce, posizione, ecc.difficoltà possono sorgere dai capelli, luce, posizione, ecc.

Dinamica di digitazione (forse è univoca)Dinamica di digitazione (forse è univoca) Intervallo di battitura tasti, pressione, durata del colpoIntervallo di battitura tasti, pressione, durata del colpo Si usano test statisticiSi usano test statistici

Page 116: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Attenzione, peròAttenzione, però

Ci sono molti modi per frodare questi sistemi !Ci sono molti modi per frodare questi sistemi ! Verificare che gli strumenti biometrici siano accurati Verificare che gli strumenti biometrici siano accurati

nell’ambiente in cui sono usati!nell’ambiente in cui sono usati! Accertarsi che la trasmissione dei dati al sistema sia Accertarsi che la trasmissione dei dati al sistema sia

corretta e a prova di manomissionecorretta e a prova di manomissione

Page 117: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Luogo/situazioneLuogo/situazione

Se si sa dove si dovrebbe trovare un utente, Se si sa dove si dovrebbe trovare un utente, l’identità può essere verificata controllando se l’identità può essere verificata controllando se la persona è realmente lìla persona è realmente lì E’ richiesto un hardware speciale per localizzare E’ richiesto un hardware speciale per localizzare

gli utentigli utenti Il GPS fornisce una “location signature” della posizione Il GPS fornisce una “location signature” della posizione

dell’entitàdell’entità Gli host usano gli LSS (location signature sensor) per Gli host usano gli LSS (location signature sensor) per

localizzare il punto di accessolocalizzare il punto di accesso

Page 118: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Metodi multipliMetodi multipli

Esempio: il “dove sei” richiede all’utente di avere un Esempio: il “dove sei” richiede all’utente di avere un dispositivo GPS, perciò è anche un metodo “cosa hai”dispositivo GPS, perciò è anche un metodo “cosa hai”

Si possono assegnare più modi di autenticazioneSi possono assegnare più modi di autenticazione Se un utente deve compiere un’azione più importante si deve Se un utente deve compiere un’azione più importante si deve

autenticare in modo più stringenteautenticare in modo più stringente

Page 119: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

PAMPAM Idea: se un programma ha bisogno di far autenticare un utente, Idea: se un programma ha bisogno di far autenticare un utente,

chiama la routine chiama la routine pam_authenticatepam_authenticate Accede ad un file di configurazione nella cartella Accede ad un file di configurazione nella cartella /etc/pam_d /etc/pam_d avente lo avente lo

stesso nome del programmastesso nome del programma Il file contiene i moduli di autenticazione che devono essere Il file contiene i moduli di autenticazione che devono essere

chiamati e come usare i risultati che restituisconochiamati e come usare i risultati che restituiscono sufficientsufficient: ha successo se il modulo ha esito positivo: ha successo se il modulo ha esito positivo requiredrequired: fallisce se il metodo ha esito negativo, ma tutti i metodi : fallisce se il metodo ha esito negativo, ma tutti i metodi

precedenti sono comunque chiamatiprecedenti sono comunque chiamati requisiterequisite: come : come requiredrequired, ma non controlla gli altri moduli, ma non controlla gli altri moduli optionaloptional: invocato solo se tutti gli altri falliscono: invocato solo se tutti gli altri falliscono

Page 120: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Esempio di file PAMEsempio di file PAMauthauth sufficientsufficient /usr/lib/pam_ftp.so/usr/lib/pam_ftp.soauthauth requiredrequired /usr/lib/pam_unix_auth.so use_first_pass/usr/lib/pam_unix_auth.so use_first_passauthauth requiredrequired /usr/lib/pam_listfile.so onerr=succeed \ /usr/lib/pam_listfile.so onerr=succeed \

item=user sense=deny item=user sense=deny file=/etc/ftpusersfile=/etc/ftpusers

Quando si lancia ftp:Quando si lancia ftp:1.1. Se l’utente è “anonymous”, è accettate; altrimenti poni Se l’utente è “anonymous”, è accettate; altrimenti poni

PAM_AUTHTOK = password, PAM_RUSER = nome e PAM_AUTHTOK = password, PAM_RUSER = nome e falliscifallisci

2.2. Ora controlla che la password in PAM_AUTHTOK Ora controlla che la password in PAM_AUTHTOK appartiene a quella dell’utente in PAM_RUSER; in caso appartiene a quella dell’utente in PAM_RUSER; in caso contrario falliscicontrario fallisci

3.3. Infine se l’utente in PAM_RUSER è presente in /etc/ftpusers Infine se l’utente in PAM_RUSER è presente in /etc/ftpusers ((utenti che non si possono usare per ftputenti che non si possono usare per ftp) fallisci altrimenti ) fallisci altrimenti accettaaccetta

Page 121: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione

Studio sulle password (Stallings, Studio sulle password (Stallings, 2003)2003)

Collected nearly 14,000 encrypted passwords Strategia:

● Try user info variants

● Try words from 60,000 entry dictionary

● Try permutations of above (0-O, 1-L, etc.)

● Try various capitalization of above

● Table Next slide

Page 122: Sicurezza dei sistemi informatici Master di I° livello in Sistemi e Tecnologie per la sicurezza dell'Informazione e della Comunicazione Seconda lezione