Académique Documents
Professionnel Documents
Culture Documents
Dati Sensibili
Molti DB contengono quelli che si definiscono Dati Sensibili Come definizione pratica diciamo che i dati sensibili sono quelli che non dovrebbero essere resi pubblici
Determinare quali dati siano sensibili dipende dal singolo DB e dalla specifica applicazione
Dati Sensibili
Due casi estremi:
Nessun dato sensibile (p.es. catalogo di una biblioteca) Tutti i dati sensibili (p.es. database militari)
Dati Sensibili
Il caso pi interessante quello in cui alcuni dati sono sensibili mentre altri non lo sono
Inoltre possibile che dati diversi abbiano livelli di sensibilit diversi
Studente
Cognome Sesso
Esempio
Razza Aiuto Multe Droghe Dormitorio
M M F
M F F M F F F M
C B A
B C C C B C A C
5000 0 3000
1000 2000 1000 4000 5000 0 0 2000
45 0 20
35 95 15 0 10 0 10 0
1 0 0
3 1 0 3 2 1 2 2
Esempio
Campi non sensibili: Nome, Dormitorio Campi sensibili: Aiuto, Multe, Droghe
Campi parzialmente sensibili: Sesso, Razza
Dati sensibili
Sensibili per Contenuto: Il valore dellattributo sensibile
es. localit di postazioni missilistiche
Dati sensibili
Parti sensibili: attributo o record.
Un intero record o solo un certo attributo possono risultare sensibili es. campo stipendio, record che descrive una missione segreta
Studente
Cognome Sesso
Esempio
Razza Aiuto Multe Droghe Dormitorio
La seguente query non mostra il valore dellattributo droghe ma tutti coloro presenti nel risultato fanno uso di droghe Pu essere necessario proteggere un valore sensibile anche se questo non viene mostrato in modo esplicito
Tipi di divulgazione
Dati esatti:
Divulgazione del valore esatto di un dato sensibile La divulgazione potrebbe avvenire per una richiesta esplicita Oppure i dati sensibili potrebbero essere restituiti insieme ad altri dati non sensibili Oppure il sistema potrebbe restituire i dati sensibili per errore
Tipi di divulgazione
Limiti:
Indicazione che un valore sensibile compreso tra due valori L e H In questo caso con una ricerca dicotomica si potrebbe ottenere un valore molto prossimo a quello esatto In alcuni casi semplicemente sapere che un valore al di sopra (o al di sotto) di un certo limite rappresenta una violazione della sicurezza
Tipi di divulgazione
Risultato negativo:
A volte si pu ottenere un informazione sapendo che il valore cercato non pari ad un certo valore Ad es. se sappiamo che il numero di condanne penali di una certa persona non zero sappiamo che la persona in questione stata condannata (non sappiamo quante volte, ma )
Tipi di divulgazione
Esistenza:
A volte la sola esistenza di un attributo sensibile Ad es. un responsabile del personale potrebbe desiderare che non si sappia che la durata delle interurbane dei dipendenti viene monitorata Quindi la scoperta del campo interurbane in una tabella con i dati del personale rivelerebbe dati sensibili
Tipi di divulgazione
Valore probabile:
A volte si pu determinare la probabilit di un certo evento Vogliamo sapere se Tizio iscritto al partito X Facciamo due query:
Quante persone risiedono allindirizzo ABC (indirizzo di Tizio)? Risposta: 4 Quante persone risiedono allindirizzo ABC e sono iscritte al partito X? Risposta: 1 Abbiamo il 25% di probabilit che Tizio sia iscritto al partito X
Inferenza
Inferenza
Linferenza un metodo per dedurre o derivare dati sensibili da dati non sensibili
Riconsideriamo lesempio del database sugli studenti e consideriamo sensibili i campi Aiuto, Multe e Droghe
Studente
Cognome Sesso
Esempio
Razza Aiuto Multe Droghe Dormitorio
M M F
M F F M F F F M
C B A
B C C C B C A C
5000 0 3000
1000 2000 1000 4000 5000 0 0 2000
45 0 20
35 95 15 0 10 0 10 0
1 0 0
3 1 0 3 2 1 2 2
Attacco diretto
La seguente query rappresenta un tentativo diretto di accedere ad un dato sensibile
SELECT Cognome FROM Studente WHERE Sesso=M AND Droghe=1
Tale query potrebbe essere rifiutata dal DB perch le tuple del risultato sono quelle con uno specifico valore su un attributo sensibile
Attacco diretto
La seguente query meno ovvia:
SELECT Cognome FROM Studente WHERE (Sesso=M AND Droghe=1) OR (SessoM AND SessoF) OR (Dormitorio = Ayres)
Apparentemente la query non seleziona solo tuple con uno specifico valore su un campo sensibile In realt la seconda e la terza condizione non sono mai soddisfatte
Attacco diretto
La seguente query meno ovvia:
SELECT Cognome FROM Studente WHERE (Sesso=M AND Droghe=1) OR (SessoM AND SessoF) OR (Dormitorio = Ayres)
Per capirlo il DBMS dovrebbe capire che ci sono due soli possibili valori per Sesso E che non c alcuna tupla con valore di Dormitorio pari Ayres
Attacco diretto
Una regola a volte utilizzata per decidere se riportare i dati di una query quella di n elementi sul k percento:
I risultati non vanno divulgati se un piccolo numero di elementi costituisce pi del k% del risultato Nellesempio precedente una sola persona costituiva il 100% del risultato
Attacco indiretto
Alcune organizzazioni che detengono dati sensibili, divulgano soltanto dati statistici
Dati ottenuti come somme medie e conteggi Lattacco indiretto cerca di dedurre un dato sensibile sulla base di uno o pi dati statistici intermedi
Il risultato ci rivela che nessuna donna nel dormitorio Grey riceve aiuti finanziari Divulgazione di tipo risultato negativo
Questo risultato combinato con il precedente ci dice che i due uomini nei dormitori Holmes e West ricevono un aiuto finanziario rispettivamente di 5000 e 4000
a1 a2 a3 4000 3
a1 a2 3500 2
a3 5000
Aiuto finanziario dellunico uomo nel dormitorio Holmes
Attacchi di Tracker
Abbiamo visto che uno delle tecniche di protezione dallinferenza consiste nel non divulgare i dati se un piccolo numero di elementi fornisce molta informazione
possibile aggirare questa limitazione effettuando pi query lecite La combinazione dei risultati delle query ci d linformazione sensibile
M M F
M F F M F F F M
C B A
B C C C B C A C
5000 0 3000
1000 2000 1000 4000 5000 0 0 2000
45 0 20
35 95 15 0 10 0 10 0
1 0 0
3 1 0 3 2 1 2 2
COUNT(*) 6
Nessuna delle query rivela apertamente uno dei valori ci Risolvendo il sistema possiamo per conoscerli tutti
Protezione dallinferenza
Esistono alcune tecniche per combattere linferenza:
Analisi delle query Soppressione: valori sensibili non forniti Occultamento: la risposta vicina ma non corrisponde esattamente al valore effettivo
Soppressione e occultamento
Un esempio di soppressione la gi citata regola n elementi sul k percento Alcune considerazioni:
Pu essere necessario sopprimere altri dati per evitare che quelli sensibili siano ottenibili per differenza
Esempio
Holmes M F Totale 1 2 3 Grey 3 1 4 West 1 3 4 Totale 5 6 11
Esempio
Holmes M F Totale 1 2 3 Grey 3 1 4 West 1 3 4 Totale 5 6 11
Esempio
Holmes M F Totale 2 3 Grey 3 4 West 3 4 Totale 5 6 11
Risultati combinati
Per evitare di divulgare dati sensibili possibile combinare pi righe o colonne
Uso di droghe 0 M F 1 2 1 1 2 2 1 2 3 2 0
Risultati combinati
Per evitare di divulgare dati sensibili possibile combinare pi righe o colonne
Uso di droghe 0o1 M F 2 4 2o3 3 2
Risultati combinati
Analogamente risultati relativi agli aiuti finanziari potrebbero essere mostrati per intervalli: 0-1999, 2000-3999, 4000 e oltre
Campione casuale
La query viene effettuata su un campione casuale dei dati
Il campione deve essere abbastanza ampio da rappresentare lintera popolazione In questo modo i dati sono rappresentativi dellintera popolazione ma riducono la possibilit di attacchi statistici
Inferenza: commenti
Le varie soluzioni che abbiamo visto tendono a proteggere un DB dal problema dellinferenza Al tempo stesso per limitano anche le informazioni fornite agli utenti che intendano fare un uso legittimo dei dati
Aggregazione
Un particolare tipo di inferenza e quello dellaggregazione Per aggregazione si intende lindividuazione di dati sensibili mettendo insieme dati non sensibili
Es: il nome di un impiegato ed il suo stipendio
nessuno dei due dati sensibile di per s, ma lo sono se messi insieme
Aggregazione
Evitare laggregazione difficile perch bisogna tenere conto delle informazioni gi in possesso dellutente Se un utente conosce il nome di un dipendente non devo comunicargli il salario e viceversa Tenere traccia delle informazioni in possesso di ciascun utente pu essere proibitivo Inoltre utenti diversi potrebbero condividere le informazioni in loro possesso
ESERCITAZIONE SULLINFERENZA
Esercizio
Con riferimento alla tabella dipendenti, in allegato, trovare lo stipendio di Mister X con un attacco indiretto di tipo media. Si hanno a disposizione le seguenti informazioni:
a) Mister X un uomo con pi di 30 anni e non di Roma; b) i rimanenti dipendenti maschi con pi di 30 anni sono tutti romani; c) nessun dipendente donna di Roma.
Esercizio
Si tenga conto, inoltre, che viene applicata la seguente politica di protezione dei dati sensibili:
1. il campo stipendio non pu essere divulgato direttamente e non pu essere utilizzato come criterio di filtraggio; 2. i criteri di filtraggio possono essere eta, sesso, e citta; 3. non possono essere utilizzati pi di due criteri di filtraggio in una singola interrogazione; 4. consentita la divulgazione di medie e conteggi a patto che si riferiscano ad almeno tre tuple.
Tabella dipendenti
cf cognome nome eta citta sesso ruolo stipendio
36 39 35
36 38 31 37 33 32 32
M M M
F F F M F F F
si ottiene che
stipendioMister X = mU cU mV cV
Svolgimento individuazione di U e V
Si considerino i seguenti insiemi:
A: insieme dei dipendenti di sesso maschile (sesso = M); B: insieme dei dipendenti con pi di 30 anni (eta > 30); C: insieme dei dipendenti romani (citta = Roma);
Svolgimento individuazione di U e V
pertanto risulta che
{Mister X} = (A B) \ (B C), e (B C) (A B)
Individuazione di mV e cV:
SELECT avg(stipendi), count(stipendi) FROM dipendenti WHERE eta > 30 AND citta = Roma;
Bibliografia
[PFL08] C. P. Pfleeger, S. L. Pfleeger. Sicurezza in Informatica. Pearson, Prentice Hall. [STA07] W. Stallings. Sicurezza delle reti. Pearson, Prentice Hall. [Wiki-it] http://it.wikipedia.org/wiki/ [Wiki-en] http://en.wikipedia.org/wiki/ [ISECOM] Institute for Security and Open Methodologies